2024年1月10日 (水)

Yash 2 その 295: テストの汎用性

結合テストを書くときはコードベースを分離しているといふ記事を見掛けた。Yash も、テスト対象が C で書かれてゐるのに対してテストはシェルスクリプトで書かれてゐるので、実質的にコードベースが分離されてゐると言へる。結果的に、yash のテストは再利用が可能となった。

続きを読む "Yash 2 その 295: テストの汎用性"

| | コメント (0)

2024年1月 3日 (水)

Yash-rs 今後の方向性

3 年位前から yash を Rust で再実装してゐる (yash-rs)。基本的な部分はかなり出来上がってきつつあるのでここで今後の方向性を整理しておく。

続きを読む "Yash-rs 今後の方向性"

| | コメント (0)

2023年6月 4日 (日)

Yash 2 その 294: トラップ内での return 結果

POSIX の return 組込みの規定には昔から When return is executed in a trap action, the last command is considered to be the command that executed immediately preceding the trap action. と書いてあって、exit 組込みと同様に、トラップ内で無引数で return 組込みを呼んだらトラップに入る直前の終了ステータスが return の終了ステータスになることになってゐる。が、果たしてこれは合理的な挙動なのだらうか?

続きを読む "Yash 2 その 294: トラップ内での return 結果"

| | コメント (3)

2022年9月26日 (月)

Yash 2 その 293: 組込みコマンドの分類

Yash はこれまで組込みコマンドを特殊・準特殊・通常の三つに分類してゐた。これを変へようと思ふ。

続きを読む "Yash 2 その 293: 組込みコマンドの分類"

| | コメント (0)

2022年7月10日 (日)

数式展開の実装方式

Yash-rs で数式展開を実装するにあたって、設計を検討してゐる。

続きを読む "数式展開の実装方式"

| | コメント (0)

2022年4月17日 (日)

シェルが覚えるべきプロセス ID

ほとんどの POSIX シェルは、パイプラインを構成するそれぞれのコマンドをシェルの直接の子プロセスとして実行する。Yash 2 もさうなってゐる。が、実は必ずしもさうしなくてよい。

続きを読む "シェルが覚えるべきプロセス ID"

| | コメント (1)

2022年4月13日 (水)

シェルのジョブ番号の選び方

今の yash 2 は大方の外のシェルと同様に、新しいジョブを起動するときにジョブ番号として使はれてゐない最も小さい数字を選ぶ。が、bash は異なってゐる。

続きを読む "シェルのジョブ番号の選び方"

| | コメント (0)

2021年11月21日 (日)

Yash 2 その 292: トラップの実行タイミング

今更だが、コマンド入力待機中にトラップを実行するシェルとしないシェルとがあることに気付いた。

続きを読む "Yash 2 その 292: トラップの実行タイミング"

| | コメント (0)

2021年10月11日 (月)

Yash 2 その 291: バージョン 2.52 リリース

久々のリリースとなる 2.52 をリリースした。最近は yash-rs の開発に注力してゐるので今後 yash に手を入れることはどんどん減るだらう。

| | コメント (0)

2020年12月13日 (日)

Yash 2 その 290: バージョン 2.51 リリース

昨日 yash 2.51 をリリースした。

今回、シグナルハンドラーに関する多量の自動テストを追加したので、自動テストにかかる時間が従来よりかなり長くなってゐる。また、シグナルが絡む部分は OS 環境によってこちらが意図しない動作になることがあり、テストが正常に動作しないこともあるかと思はれる。ただし、何が原因なのかをそれぞれの環境でいちいち調べるのは骨が折れるので、特にこちらから個別の調査はしないつもり。

| | コメント (0)

より以前の記事一覧