Commit graph

7 commits

Author SHA1 Message Date
4f4e97475b
[ruby] Modernize Ruby shell parsing and expansion, add C compat test mode (#4)
Replace Ruby's old wordexp-like command splitting with a tokenizer and
parser that understands ; and && while honoring quotes and nesting.

Implement richer expansions for command substitution, arithmetic,
parameter defaults (${var:-...}), brace expansion, and escaped
dollar/backtick behavior via shared quote-state handling.

Expand the test suite with parser/expansion edge cases, escaping
parity checks, builtin usage validation, and job-control refresh tests.

Keep C green by adding a compat test profile for c/Makefile test and
by returning nonzero on builtin failures in -c mode, including clearer
`bg` usage output.
2026-02-07 15:18:41 -08:00
6cf858fbfc
[c] Make tests pass and get rid of queue_message 2022-01-22 17:08:13 -08:00
32a4f6b894
[c] Make wordexp fail on undefined variables 2022-01-22 16:29:37 -08:00
cd864989ce
[c] Remove debugging output 2022-01-22 16:28:54 -08:00
62b2bd19e2
[c] Add support for -c <command> for testing 2022-01-22 16:27:41 -08:00
5a9cf1a0ab
[c] Format code 2022-01-22 16:08:32 -08:00
88339bdf37
Move C implementation into its own subdirectory 2022-01-16 15:03:44 -08:00