aboutsummaryrefslogtreecommitdiff
path: root/toys/pending/sh.c
AgeCommit message (Collapse)Author
2021-05-11Add $BASHPID to show current process in () and such. ($$ is top level shell)Rob Landley
2021-05-06Fix nohang wait.Rob Landley
2021-05-02More job control plumbing.Rob Landley
2021-04-30Make && and || work on function calls.Rob Landley
2021-04-28Toysh don't free function arguments before function returns.Rob Landley
2021-04-27Make toysh function return properly and run next statement.Rob Landley
2021-04-27Make toysh actually run a shell function.Rob Landley
2021-04-26More toysh function work.Rob Landley
Of course "x() { echo hello; } | tr e f; x" allows the pipe but not the call. Ok, take out the union so you can && after a function declaration.
2021-04-25First pass at toysh function() definition plumbing.Rob Landley
2021-04-14Fix $IFS: skip trailing whitespace after first non-whitespace separator.Rob Landley
2021-04-11toysh: save _resolved_ variable contents in $IFS cache.Rob Landley
2021-04-10Fix more toysh tests.Rob Landley
2021-04-10Fix next couple of sh tests.Rob Landley
Cached $IFS value has to be per function context because local vars.
2021-04-03Fix the next test.Rob Landley
2021-04-03Add a missing pop_block().Rob Landley
2021-03-31Toysh: adding function logic screwed up pipe/block logic. Fix it.Rob Landley
Remove cached blk/pout/urd and make TT.ff->blk always be populated instead (like TT.ff, list is never empty), have current pipe (and block trailing) redirections live in current TT.ff->blk. Left in a bunch of commented debug printfs and a filehandle dump function.
2021-03-19Fix another sh regression.Rob Landley
2021-03-19Fix some more sh regressions.Rob Landley
2021-03-18Fix first few testsuite regressions from function/local plumbing.Rob Landley
2021-03-17Tighten up parse_word() a bit and and teach it to read empty ${}Rob Landley
(fixes up some test suite tests).
2021-03-17Add local variables and basic function() support plumbing.Rob Landley
Not fully wired up yet, probably a bunch of regressions.
2021-01-30Fix a couple of test regressions from last commit adding function() plumbing.Rob Landley
2021-01-28toysh: start of function call logic.Rob Landley
2021-01-28Shut gcc's "is not actually used uninitialized" false positive warnings up.Rob Landley
2020-12-26toysh: fix break/continueRob Landley
2020-12-25toysh fixes and testsRob Landley
2020-12-19Fix (( )) quote termination.Rob Landley
2020-12-15Implement set, trace support, and function call context stack.Rob Landley
2020-11-27toysh: Adjust $0 for scripts.Rob Landley
2020-11-16Factor out do_source(), fpathopen(), and prompt_getline().Rob Landley
Use 0 optstr prefix, fix bug initializing toys.envc one too low.
2020-10-23Fix endless recursion bug on nommu for sh -c 'echo $(echo)'Rob Landley
2020-10-19More tests, and a workaround to pass one of them.Rob Landley
(The bug is that "echo hello \" followed by just enter should end the $PS2 state but it persists when the line is empty because resulting collated line still ends with \ so it wants another line.)
2020-10-19Implement source, fix empty ${x-alt}, use %zu as suggested by e5ten.Rob Landley
2020-10-14Fix && || traversing loops, and typecast past size_t being stupidly typed.Rob Landley
2020-10-14Implement ${var/search/replace}Rob Landley
2020-10-13Fix up ${x%y} ${x^y} ${x,y} and add tests.Rob Landley
2020-10-11toysh: more variable/wildcard plumbing and tests.Rob Landley
2020-10-06toysh: Yank debug scaffolding.Rob Landley
2020-10-06toysh file wildcards: echo toys/*/*.c works now.Rob Landley
2020-10-04Implement ${x#y} and ${x##y}Rob Landley
Debug wildcard * match, teach skipslash() to fill out a wildcard deck, make collect_wildcards() flush remove the parsing-only 0th entry.
2020-10-01Debug wildcard plumbing.Rob Landley
2020-09-27Implement wildcard match plumbing. (Not yet fully debugged.)Rob Landley
2020-09-14Fix multiline case/esac parsing, make syntax_err() exit non-interactveRob Landley
contexts like scripts, and tweak debug scaffolding.
2020-09-05Fix segfault for sh -c 'echo {a..Z}'Rob Landley
Bash produces different output for that test, but I'm not sure I care? http://lists.landley.net/pipermail/toybox-landley.net/2020-September/011990.html The problem is parse_word() guarantees its output's quotes/escapes are completed, but brace expansion happens after parse_word() and thus violating assumptions later code depends on to not do redundant error checking. The easy fix is to escape punctuation produced by parse_word (which in bash can only happen when you span upper and lower case ranges so "\" is the only interesting character). I could special case this to match bash exactly, but I'm waiting for someone to complain instead.
2020-09-03Implement brace sequence expressions ala {a..z} and {1..37..2}Rob Landley
2020-08-31Implement select.Rob Landley
2020-08-31Implement case/esac, add more wildcard tests.Rob Landley
2020-08-05toysh: next round of wildcard plumbingRob Landley
2020-07-28toysh: more wildcard plumbingRob Landley
2020-07-22toysh: Start of wildcard plumbing.Rob Landley