Commit Graph

8 Commits

Author SHA1 Message Date
Timothy Sample ca3b6d354c built-ins: utils: Import SRFI 14 for Mes.
* gash/built-ins/utils.scm: Import '(srfi srfi-14)'.
2023-02-08 14:29:13 -06:00
Timothy Sample 6990d656bc Make 'trap' handle a numerical action.
* gash/built-ins/utils.scm (string->nonnegative-integer): New procedure.
* gash/built-ins/trap.scm (main): If the first argument is a number,
treat it as if the action were '-'.
2019-12-08 12:18:31 -05:00
Timothy Sample 38001cb76d Fix 'string->positive-integer' docstring typo.
* gash/built-ins/utils.scm (string->positive-integer): Fix a typo in
the docstring.
2019-12-08 12:18:31 -05:00
Timothy Sample 3c7693ece6 Use '(gash compat)' in '(gash built-ins utils)'.
This was omitted from ffe9fc1f47.

* gash/built-ins/utils.scm: Use the '(gash compat)' module.
2019-11-24 17:13:54 -05:00
Timothy Sample 150c6eac53 Handle 'return' errors.
* gash/built-ins/utils.scm (string->exit-status): New procedure.
* gash/built-ins/return.scm (main): Use it to simplify argument
checking; check for too many arguments; and print messages on
errors.
* tests/functions.org (Too many arguments to return): New test.
2019-06-14 20:58:23 -04:00
Timothy Sample ffe9fc1f47 Handle 'break' and 'continue' errors.
* gash/built-ins/utils.scm (string->positive-integer): New function.
* gash/built-ins/break.scm (main): Use it to simplify argument
checking; check for too many arguments; and print messages on errors.
* gash/built-ins/continue.scm (main): Ditto.
* gash/shell.scm (sh:exec-let): Throw an error if a special built-in
fails.
* tests/spec/oil.scm: Enable and adjust previously failing tests.
2019-06-14 20:46:57 -04:00
Timothy Sample 50473ac9d4 Add copyright sign to headers.
* gash/built-ins/*, gash/environment.scm, gash/eval.scm,
gash/lexer.scm, gash/parser.scm, gash/repl.scm, gash/word.scm,
tests/unit/*, tools/coverage.in: Add copyright sign to headers.
2019-05-20 01:18:22 -04:00
Timothy Sample 1bd92e2893 Remove (almost) all references to Geesh.
gash/environment.scm: Remove file.
geesh/*: Move these files into the 'gash' folder and replace all
instances of the word 'geesh'.
scripts/geesh.in: Remove file.
HACKING, INSTALL, Makefile.am, configure.ac, guix.scm,
tests/bootstrap/bash-without-bash.scm, tests/spec/Makefile.am,
tests/spec/check-spec, tests/spec/oil.scm, tests/unit/*,
tools/coverage.in: Replace all instances of the word 'geesh'.

Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2019-05-20 01:17:40 -04:00