Jan Nieuwenhuizen
73ecccef1e
fix 01-script-$@.
2018-12-02 09:03:02 +01:00
Jan Nieuwenhuizen
6cf9cf7d0f
test: 10-if-test, 10-if-test-false, 10-if-bracket, 10-if-bracket-false.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
ddc0f58896
test: 01-script-$#, 60-function-at.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
6852e24dc4
test: 00-exit-error, 00-exit-var.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
932339a5eb
test: 30-substitution-word.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
d2d799a2f9
test: 20-exec.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
8b925dd5e8
test: 03-echo-brace.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
157bd5162d
test: 10-if-line.sh.
...
Adding a newline to this file will no longer reproduce this bug.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
380562c0b3
test: 100-test-file, 100-bracket-file.
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
8f12c6a562
test: 50-redirect-sed.sh
2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen
1162f37d19
test: 07-variable-or-empty.
2018-11-25 11:53:29 +01:00
Jan Nieuwenhuizen
7f6b88c43b
implement shift.
2018-11-25 08:46:10 +01:00
Jan Nieuwenhuizen
2f5de56cfd
test: add 50-redirect-merge.sh
2018-11-24 21:57:34 +01:00
Jan Nieuwenhuizen
f3fc92c266
test: add failing redirect/pipe test.
2018-11-24 21:05:59 +01:00
Jan Nieuwenhuizen
29ae8bc570
test: add substitution tests.
2018-11-24 20:48:21 +01:00
Jan Nieuwenhuizen
3c7b22febf
test: add 42-sh.sh
2018-11-24 13:17:21 +01:00
Jan Nieuwenhuizen
9ac8140cf4
test: 07-variable-or-doublequete.sh: New failing parse test.
2018-11-24 12:57:07 +01:00
Jan Nieuwenhuizen
b2f5004eb6
01-script-$0.sh, 01-script-$@.sh: add test and fix.
2018-11-24 12:25:24 +01:00
Jan Nieuwenhuizen
f81b526bd0
fix and test cd builtin.
2018-11-24 11:32:33 +01:00
Jan Nieuwenhuizen
2df901d337
50-redirect-append.sh: New failing parse test.
2018-11-24 11:05:46 +01:00
Jan Nieuwenhuizen
b9013153f2
test: 07-variable-or-variable.sh: New failing parse test.
2018-11-18 15:36:35 +01:00
Jan Nieuwenhuizen
992479b0a3
11-for-subshell: new failing parse test.
2018-11-17 20:08:01 +01:00
Jan Nieuwenhuizen
303746a4bc
io-here.
2018-11-14 22:49:06 +01:00
Jan Nieuwenhuizen
b6340bd612
io-redirect: some progress, some new tests.
2018-11-14 22:41:24 +01:00
Rutger van Beusekom
d667922bbd
narrow escape
2018-11-13 09:04:56 +01:00
Jan Nieuwenhuizen
1e81a66926
test: 10-if-redirect.
2018-11-10 12:07:07 +01:00
Jan Nieuwenhuizen
5f2bcb9528
test: add failing 07-variable-or-slash.sh.
2018-11-10 11:55:50 +01:00
Jan Nieuwenhuizen
9a96816b5d
Support elif.
2018-11-10 11:30:55 +01:00
Jan Nieuwenhuizen
90325b22a2
Support . script, source script.
2018-11-10 11:30:55 +01:00
Jan Nieuwenhuizen
726ca052a9
Support ${ / / }, ${ / }.
2018-11-10 11:30:55 +01:00
Jan Nieuwenhuizen
8ca428c7f2
Support ${ # ## % %% }.
2018-11-05 22:47:34 +01:00
Jan Nieuwenhuizen
8d0d50240b
Support functions.
2018-11-05 20:16:39 +01:00
Jan Nieuwenhuizen
6250b22951
Support && and ||.
...
* gash/script.scm (and-terms, or-terms): New macros.
* gash/peg.scm (transform): Transform to use them.
(parse-): Parse && and || as binary term operator.
* test/20-and.sh: Test it.
* test/20-or.sh: Test it.
* check.sh (tests): Run it.
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen
2a4e3ec71b
Support escaped newline.
...
* gash/peg.scm (parse-): Support escaped newline.
* test/01-script-backslash.sh: Test it.
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen
bca65e807b
Support ${foob-bar} and ${foo+bar}.
...
* gash/environment.scm (variable): Add default parameter.
(variable-or, variable-and): New function.
* test/07-variable-or.sh: Test it.
* test/07-variable-or-not.sh:
* test/08-variable-and.sh:
* test/08-variable-and-not.sh:
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen
418652bee1
test: Refactor.
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen
6224bbeefc
test: tar.
2018-11-05 19:59:53 +01:00
Jan Nieuwenhuizen
6203f8cf07
test: Update test suite.
2018-11-05 19:59:53 +01:00
Jan Nieuwenhuizen
f27cb9a192
sed: New builtin.
...
* gash/commands/sed.scm: New file.
* build-aux/build-guile.sh: Compile it.
* configure: Create script.
* gash/shell-utils.scm (with-atomic-file-replacement,
substitute*): New function, Import from Guix.
(substitute-port): New function.
2018-11-05 19:59:53 +01:00
Jan Nieuwenhuizen
9d1d2be6a6
test: Add expectations.
...
* check.sh: New file, from test.sh.
* test.sh: Run single test with expectations.
2018-11-03 08:02:49 +01:00
Jan Nieuwenhuizen
13cb50af60
gash: resurrect.
2018-10-21 15:24:24 +02:00
Jan Nieuwenhuizen
0f5b538c3a
geesh: initial integration.
...
GUILE_LOAD_PATH=$HOME/src/geesh:$GUILE_LOAD_PATH
GUILE_LOAD_COMPILED_PATH=$HOME/src/geesh:$GUILE_LOAD_COMPILED_PATH
bin/gash --parse -c 'echo boo | sed s,o,O, | grep .'
bin/gash --geesh --parse -c 'echo boo | sed s,o,O, | grep .'
2018-10-21 12:45:51 +02:00
Jan Nieuwenhuizen
292fbc5ecb
test/if.sh, test/if2.sh -- weird
2018-07-15 23:27:58 +02:00
Jan Nieuwenhuizen
6468b04791
refactor WORD...bummer: word-for-test-assign-sh word-for-test-if-sh
2018-07-15 23:01:52 +02:00
Jan Nieuwenhuizen
1f5c82ecae
word! test/if.sh, test/assign.sh
2018-07-15 21:35:42 +02:00
Jan Nieuwenhuizen
83f20d1ff8
flatten-fu
2018-07-15 20:06:19 +02:00
Rutger van Beusekom
f5339a09f5
WIP: marginal
2018-07-14 12:34:42 +02:00
Jan Nieuwenhuizen
9f8daa3d3c
guix: resurrect package build.
2018-07-10 00:11:24 +02:00
Jan Nieuwenhuizen
0bc6de34d1
bugfix: test/22-semi-pipe-exit-0.sh
2018-07-04 19:17:52 +02:00
Jan Nieuwenhuizen
795b059373
Add -e, -x options. Use -x for running tests.
2018-07-04 06:58:01 +02:00