2019-05-22 03:00:54 +01:00
|
|
|
All The Latest Gash News
|
|
|
|
************************
|
|
|
|
|
2022-02-11 15:45:50 +00:00
|
|
|
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.
|
|
|
|
|
2019-12-15 22:43:02 +00:00
|
|
|
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.
|
|
|
|
|
2019-06-01 17:38:59 +01:00
|
|
|
Noteworthy features of release 0.1 (2019-06-01)
|
2019-05-22 03:00:54 +01:00
|
|
|
===============================================
|
2019-05-17 18:27:48 +01:00
|
|
|
|
|
|
|
Features of the shell
|
|
|
|
|
|
|
|
- Sophisticated enough to be used to build Bash.
|
|
|
|
- Has a nice colorized prompt.
|
2019-06-04 02:56:52 +01:00
|
|
|
- Includes all of the POSIX-specified "special" built-ins except for
|
2019-05-17 18:27:48 +01:00
|
|
|
'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.
|
2019-05-22 03:00:54 +01:00
|
|
|
|
|
|
|
Copying this file
|
|
|
|
=================
|
|
|
|
|
|
|
|
This file was written by Timothy Sample <samplet@ngyro.com>.
|
|
|
|
|
|
|
|
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 <http://creativecommons.org/publicdomain/zero/1.0/>.
|