
mac, freebsd tcsetgprp aで時々落ちる

readline 括弧のハイライト機能

内部コマンドをファイルに分類。マニュアルも分類する。文字列関係、数字計算関係など。
parentnameとかディレクトリのパス関係の処理は内部コマンドじゃなくてsaphire.saでやる。

オプション, パーサーでマッチしなければ、そのままargvに追加

ソースを構造化する
saphire_commandsの各内部コマンドを関数化
object終了
オプションの処理を関数化、できるか？

saphire_vmをもっと細かく関数化
正規表現のコードを共通化

オプションはargvからとってoptionsにいれる。処理できなければエラーとする
(少し早くなる）

>ls | object a
> object a
> ls | object a
> object a
がおかしい
varも

-shift, -Laが正しく動くかを確認する

-inheritを作って-overrideは止める
デフォルトは上書きにする

shelp
shelp 内部コマンド
kIndexから

-の説明文表示補完
（内部コマンド）

yashから各種コマンドのオプションの説明補完を頂いて
和訳する。（和訳はyash作者様に渡す)

コメントのバイリンガル化

カーソル

yumの補完
CTRL-c
オプションがマッチしない場合エラーにする

netwalkerのreadlineでCTRL-L

is_all_asciiのeuc, sjisの定義

saphire_commands.cを見直し。パイプの出力は無限大であることがある。出力結果を使った処理をする場合はgKitutukiSigintを全てチェック。
string_put, string_push_back, strncpy, strncat, strcpy, strcat, memcpyのチェック
cancelableにするかどうか
runの後のパイプの出力をstring_push_back, string_put, string_new, str*している部分を見る
RFD_NEW2もブロックしうる。 memcpy, strcpy, strcat, string_new
saphrie_main.c終了
saphrie_parser.c終了
saphire_vm.c終了。
saphire_commandsをチェック

string_toupper kitutuki_sigintに対応
string_chompも
addのstr_kanjipos2pointerも
saphire_commands.cをread_nextin(で検索 kAddから
読み込んだバッファの大きさは無限大だから

パイプに大量のデータが流れたときにCTRL-Cが効くかどうかsaphire_mainのsRfd,sRWFdのループをチェック
パイプから受けたデータをstring_obj*などにためてはいけない
大量のデータの場合string_push_back, string_putがブロックする
ためずに、そのまま加工してwrite_nextoutしないといけない
saphire_commands.cの全コマンドでnextinから読み込んでいるものをチェック
saphire_main.cのstring_putをチェック
パイプを受け取るstring_new, string_push_backをCTRL-cできるようにする

saphire_main canclellable

リファクタリング
コマンドを一つ一つ確認
マニュアルを同期させる
saphire_commands.cの上のコマンドからずっと試していく。
object確認終了。
ref確認終了。
var確認終了。
global確認終了。
export確認終了。
ary確認終了。
ary_add確認終了。
hash確認終了。
hash_add確認終了。
hash_erase確認終了。
def確認終了。
class確認終了。
inherit確認終了。
self確認終了。
sweep確認終了。

substrまで確認終了。

call_completionのマニュアル
マニュアルの整備
ユーザーカスタマイズ補完

文字列処理に一文字単位じゃなくてバイト単位のオプション。処理速度がぜんぜん違う。というか、それがデフォルトで、-wとかでUTF8の一文字単位対応？

正規表現ライブラリにpcre対応。

glob内部コマンド

セグフォのときメッセージを書く
メッセージの日本語化

大規模スクリプトは実用的な速度が出るか

変数名で同名の定義があるのはまずい。

変数の参照は、ローカル変数、属性、グローバルの順にするかどうか？
（リファレンス、オブジェクトはそうなので）

0xの名前でデリファレンスしないとリファレンスのリファレンスが使えない

インクリメンタルGCで循環参照した場合に対応

tr
snkf
brace
onigsed
onigrep

エラー分岐時のメモリリーク、２重FREEのチェック

promt { } でプロンプト設定 ブロックを保存

ディレクトリのパスの正規化コマンド。
ファイル選択コマンドの出力を正規化
ディレクトリ移動のディレクトリヒストリメニュー

cd -
cd +

-------------------------------------------------------------------------
