summaryrefslogtreecommitdiff
path: root/guix/build/bournish.scm
Commit message (Collapse)AuthorAge
* bournish: Prevent inlining of run-time support procedures.Ludovic Courtès2020-04-02
| | | | | | | | | | | | | | | | | | | On Guile 3, those procedures could be inlined, leading to unbound-variable errors: scheme@(guile-user)> ,bournish Welcome to Bournish, a minimal Bourne-like shell! To switch back, type `,L scheme'. bournish@(guile-user)> ls ice-9/boot-9.scm:1669:16: In procedure raise-exception: Unbound variable: ls-command-implementation Reported by Ricardo Wurmus. * guix/build/bournish.scm (define-command-runtime): New macro. (ls-command-implementation, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): Use it instead of 'define'.
* bournish: 'ls' adjusts the column width depending on the entries.Ludovic Courtès2017-05-13
| | | | | | * guix/build/bournish.scm (display-tabulated): Remove #:columns and #:column-width parameters. Add #:terminal-width and #:column-gap. Compute COLUMN-WIDTH and COLUMNS.
* bournish: 'ls' lists directory contents.Ludovic Courtès2017-05-13
| | | | | | | Suggested by Ricardo Wurmus. * guix/build/bournish.scm (ls-command-implementation): When FILE is a directory, list its contents rather than FILE itself.
* bournish: Extend 'rm' command.Ricardo Wurmus2017-01-26
| | | | | | * guix/build/bournish.scm (rm-command): New procedure. (%commands): Use it. * tests/bournish.scm: Add tests for "rm" and "rm -r".
* bournish: Add 'reboot' command.Ludovic Courtès2016-10-10
| | | | | | | Suggested by Ricardo Wurmus. * guix/build/bournish.scm (reboot-command): New procedure. (%commands): Add it.
* bournish: Add 'wc' command.Efraim Flashner2016-06-23
| | | | | | | | | * guix/build/bournish.scm (lines+chars, file-exists?*, wc-print) (wc-l-print, wc-c-print, wc-command, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): New procedures. (%commands): Add 'wc'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* bournish: Allow compilation of multiple expressions.Ludovic Courtès2016-06-06
| | | | | | | * guix/build/bournish.scm (%bournish-language): Add a joiner to SCHEME. Compile only to Scheme. * tests/bournish.scm: New file. * Makefile.am (SCM_TESTS): Add it.
* bournish: Handle EOF in the reader.Ludovic Courtès2016-06-06
| | | | * guix/build/bournish.scm (read-bournish): Add case for EOF.
* Add (guix build bournish) and use it in the initrd.Ludovic Courtès2016-02-08
* guix/build/bournish.scm: New file. * Makefile.am (MODULES): Add it. * gnu/system/linux-initrd.scm (base-initrd): Add (guix build bournish) and use it.