2024年11月 2日 (土)

Yash 2 その 297: POSIX.1-2024 のジョブ制禦

これまで POSIX ではジョブ制禦のやり方は大雑把にしか規定されてゐなかったが、2024 年版でかなり細かく仕様が指定された。XCU に 2.11 Job Control といふ新しい節が追加されてゐる。ただし、規定の内容は既存のシェルの動作とは異なる部分もある。

続きを読む "Yash 2 その 297: POSIX.1-2024 のジョブ制禦"

| | コメント (1)

2024年10月27日 (日)

Yash 2 その 296: 文字列ではないバイト列

The Open Group Base Specifications Issue 8 (POSIX.1-2024) が先日公開された。その中に以下の記載が追加されてゐる (XCU 2.5)。

Parameters can contain arbitrary byte sequences, except for the null byte. The shell shall process their values as characters only when performing operations that are described in this standard in terms of characters.

続きを読む "Yash 2 その 296: 文字列ではないバイト列"

| | コメント (1)

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)

より以前の記事一覧