Yash 2 その 122
Autocd オプションを廃止してより汎用的な command-not-found ハンドラを導入する準備としてコマンド検索と実行のしかたを変更した。
その 54 に書いたとおり、これまでの yash のコマンド検索・実行のしかたは厳密には POSIX の規定と異なっていた。これを、POSIX 規定に従うように修正した。
一時変数 (当該コマンドに対してだけ export され後には残らない変数の代入) の扱い方をより柔軟なものに変更するなどしていたお蔭でそれほど大きな変更をせずに修正できた。最初にコマンド検索・実行を実装した時は一時変数の扱いが甘かったので POSIX 規定と異なる従来の方式で実装せざるを得なかったのだ。
実装速度低下が心配されたが、ベンチマークを取ってみたところ修正前とほぼ同じか僅かに速いという結果になった。ソースコードも 30 行短くなり、特に目立った退歩点はないようだ。
| 固定リンク
コメント