Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-01-03 | TextEditor+Meta+Ports+Shell: Remove blank lines at the end of some files | Emanuele Torre | |
2021-01-02 | Shell: Stop running the backgrounding test | AnotherTest | |
This test is breaking the build all the time, let's just turn it off for now. we can enable it again once we know it won't fail. | |||
2020-12-29 | Shell: Add runtime errors and implement break/continue | AnotherTest | |
Such errors are raised when SyntaxError nodes are executed, and are also used for internal control flow. The 'break' and 'continue' commands are currently only allowed inside for loops, and outside function bodies. This also adds a 'loop' keyword for infinite loops. | |||
2020-12-29 | Shell: Make for/match/functions put their variables only in the new scope | AnotherTest | |
Otherwise, a function would, for example, overwrite its parent scope: ```sh foo(x) { } x=1 foo 2 # would make x=2 otherwise ``` | |||
2020-11-01 | Shell: Do not leak the value of ARGV in nested function calls | AnotherTest | |
2020-10-29 | Shell: Allow parts of globs to be named in match expressions | AnotherTest | |
This patchset allows a match expression to have a list of names for its glob parts, which are assigned to the matched values in the body of the match. For example, ```sh stuff=foobarblahblah/target_{1..30} for $stuff { match $it { */* as (dir sub) { echo "doing things with $sub in $dir" make -C $dir $sub # or whatever... } } } ``` With this, match expressions are now significantly more powerful! | |||
2020-10-29 | Shell: Add some basic tests for backgrounding | AnotherTest | |
2020-10-25 | Shell: Add some tests for brace expansions | AnotherTest | |
2020-09-26 | Shell: Fix a FIXME in the a test about using functions | AnotherTest | |
2020-09-15 | Shell: Add some tests for 'match' | AnotherTest | |
2020-09-14 | Shell: Add some tests for functions | AnotherTest | |
2020-09-14 | Shell: Use a subshell instead of explicitly calling a shell binary in a test | AnotherTest | |
This commit fixes a FIXME in a test, as we have subshells now. | |||
2020-09-09 | Shell: Add some tests for subshells | AnotherTest | |
2020-09-09 | Shell: Add a test for control structures as commands | AnotherTest | |
2020-09-09 | Shell: Fix job control and backgrounding | AnotherTest | |
This patchset makes the shell capable of lazily resolving and executing sequences of commands, to allow for putting logical sequences in the background. In particular, it enables And/Or/Sequence nodes to be run in the background, and consequently unmarks them as `would_execute`. Doing so also fixes job control to an extent, as jobs are now capable of having 'tails', so sequences can be put in the background while preserving their following sequences. | |||
2020-08-22 | Shell: Add tests for 'if' | AnotherTest | |
2020-08-15 | Shell: Add some tests for builtin redirection | AnotherTest | |
2020-08-13 | Shell: Add test for 37d5e3e0df6 / #3073 | Nico Weber | |
2020-08-04 | Shell: Add support for ARGV (and $*, $#) | AnotherTest | |
This patchset also adds the 'shift' builtin, as well as the usual tests. closes #2948. | |||
2020-07-30 | Shell: Tweak tests to use 'echo -n' when newlines are significant | AnotherTest | |
2020-07-30 | Shell: Add tests for '&&' and '||' parsing and evaluation | AnotherTest | |
2020-07-16 | Shell: Add a test for loops | AnotherTest | |
2020-07-05 | Shell: Add some tests | AnotherTest | |