All The Latest Gash News ************************ Noteworthy changes in release 0.3.0 (2022-02-11) ================================================ New features - Arithmetic expansion. - Simple asynchronous commands. - A language specification is now provided, allowing you to use the evaluator from the Guile REPL by typing ",L sh". - Redirects now honor the 'noclobber' option. - The 'wait' built-in. - The 'umask' built-in can now display the current umask. Bug fixes - An empty command will now reset the status. - The 'read-sh' procedure now reads from 'current-input-port' by default (before it used 'current-output-port'). Miscellaneous improvements - Various performance improvements. - Word expansion has been split into two steps, paving the way for a compiler. - Guile 3.0 is now explicitly supported. Noteworthy changes in release 0.2.0 (2019-12-15) ================================================ New features - Pattern-based and asserting variable operators ('#', '##', '%', '%%', and '?') are now supported. - Errors are now handled in the 'break', 'continue', and 'return' special built-ins. - Temporary variable assignments are now passed into function calls and invocations of regular built-ins. - The 'read' special built-in now supports field splitting and logical lines. - The IFS variable is now initialized with a value. - The 'trap' special built-in now uses '-' if no action is given. - The 'noglob' option can be used to turn off globbing. Bug fixes - Subshells no longer continue executing code from the parent shell. - The 'exit' special built-in now runs the exit handler. - Patterns can now contain malformed, unterminated bracket expressions (e.g., '[-foo'). - Nested variable references that are interpreted as strings now work (e.g., 'x=${y+${z+foo}}'). - Backtick command substitutions in double quotes are now parsed "correctly" (i.e., in the same bizarre way as other shells). - Case statements that have unbalanced parentheses and are nested inside of command substitutions are now parsed correctly. - The behavior of the '+' and ':+' variable operators are no longer reversed. - Pathname expansion now works for absolute paths, paths with quoted slashes, paths with repeated slashes, and paths with dot and dot-dot components. - Files opened for redirect are now closed immediately after they are used. - Processes spawned for pipelines are now reaped. Miscellaneous improvements - Gash is now installed into Guile's 'site' directories. - The source tarball can now be generated reproducibly from a Git checkout. Noteworthy features of release 0.1 (2019-06-01) =============================================== Features of the shell - Sophisticated enough to be used to build Bash. - Has a nice colorized prompt. - Includes all of the POSIX-specified "special" built-ins except for 'times'. - Includes about half of the POSIX-specified "regular" built-ins (see 'gash/built-ins.scm' for details). Features of the programming interface - Parses Shell scripts into an AST. - Provides a rudimentary interface for writing Shell-like Scheme scripts. Copying this file ================= This file was written by Timothy Sample . To the extent possible under law, the author(s) have waived all copyright and related or neighboring rights to this file. You should have received a copy of the CC0 legalcode along with this work. If not, see .