summaryrefslogtreecommitdiff
path: root/shells
AgeCommit message (Collapse)AuthorFilesLines
2022-10-06shells/eltclsh: Sprinkle MAKE_JOB_SAFE=norin1-1/+3
2022-10-05The first two (upstream) patches for bash 5.2, producing bash 5.2.2kre2-8/+12
Patch 1: Expanding unset arrays in an arithmetic context can cause a segmentation fault. Patch 2: Starting bash with an invalid locale specification for LC_ALL/LANG/LC_CTYPE can cause the shell to crash.
2022-10-05Revbump all Go packages after go119 security updatebsiegert1-2/+2
2022-10-04bash: Handle _SC_RTSIG_MAX not being definedkim2-1/+18
2022-10-03bash: update to 5.2.wiz5-83/+27
This is a terse description of the new features added to bash-5.2 since the release of bash-5.1. As always, the manual page (doc/bash.1) is the place to look for complete descriptions. 1. New Features in Bash a. The bash malloc returns memory that is aligned on 16-byte boundaries. b. There is a new internal timer framework used for read builtin timeouts. c. Rewrote the command substitution parsing code to call the parser recursively and rebuild the command string from the parsed command. This allows better syntax checking and catches errors much earlier. Along with this, if command substitution parsing completes with here-documents remaining to be read, the shell prints a warning message and reads the here-document bodies from the current input stream. d. The `ulimit' builtin now treats an operand remaining after all of the options and arguments are parsed as an argument to the last command specified by an option. This is for POSIX compatibility. e. Here-document parsing now handles $'...' and $"..." quoting when reading the here-document body. f. The `shell-expand-line' and `history-and-alias-expand-line' bindable readline commands now understand $'...' and $"..." quoting. g. There is a new `spell-correct-word' bindable readline command to perform spelling correction on the current word. h. The `unset' builtin now attempts to treat arguments as array subscripts without parsing or expanding the subscript, even when `assoc_expand_once' is not set. i. There is a default value for $BASH_LOADABLES_PATH in config-top.h. j. Associative array assignment and certain instances of referencing (e.g., `test -v' now allow `@' and `*' to be used as keys. k. Bash attempts to expand indexed array subscripts only once when executing shell constructs and word expansions. l. The `unset' builtin allows a subscript of `@' or `*' to unset a key with that value for associative arrays instead of unsetting the entire array (which you can still do with `unset arrayname'). For indexed arrays, it removes all elements of the array without unsetting it (like `A=()'). m. Additional builtins (printf/test/read/wait) do a better job of not parsing array subscripts if array_expand_once is set. n. New READLINE_ARGUMENT variable set to numeric argument for readline commands defined using `bind -x'. o. The new `varredir_close' shell option causes bash to automatically close file descriptors opened with {var}<fn and other styles of varassign redirection unless they're arguments to the `exec' builtin. p. The `$0' special parameter is now set to the name of the script when running any (non-interactive) startup files such as $BASH_ENV. q. The `enable' builtin tries to load a loadable builtin using the default search path if `enable name' (without any options) attempts to enable a non-existent builtin. r. The `printf' builtin has a new format specifier: %Q. This acts like %q but applies any specified precision to the original unquoted argument, then quotes and outputs the result. s. The new `noexpand_translations' option controls whether or not the translated output of $"..." is single-quoted. t. There is a new parameter transformation operator: @k. This is like @K, but expands the result to separate words after word splitting. u. There is an alternate array implementation, selectable at `configure' time, that optimizes access speed over memory use (use the new configure --enable-alt-array-implementation option). v. If an [N]<&WORD- or [N]>&WORD- redirection has WORD expand to the empty string, treat the redirection as [N]<&- or [N]>&- and close file descriptor N (default 0). w. Invalid parameter transformation operators are now invalid word expansions, and so cause fatal errors in non-interactive shells. x. New shell option: patsub_replacement. When enabled, a `&' in the replacement string of the pattern substitution expansion is replaced by the portion of the string that matched the pattern. Backslash will escape the `&' and insert a literal `&'. y. `command -p' no longer looks in the hash table for the specified command. z. The new `--enable-translatable-strings' option to `configure' allows $"..." support to be compiled in or out. aa. The new `globskipdots' shell option forces pathname expansion never to return `.' or `..' unless explicitly matched. It is enabled by default. bb. Array references using `@' and `*' that are the value of nameref variables (declare -n ref='v[@]' ; echo $ref) no longer cause the shell to exit if set -u is enabled and the array (v) is unset. cc. There is a new bindable readline command name: `vi-edit-and-execute-command'. dd. In posix mode, the `printf' builtin checks for the `L' length modifier and uses long double for floating point conversion specifiers if it's present, double otherwise. ee. The `globbing' completion code now takes the `globstar' option into account. ff. `suspend -f' now forces the shell to suspend even if job control is not currently enabled. gg. Since there is no `declare -' equivalent of `local -', make sure to use `local -' in the output of `local -p'.
2022-09-30shells/pbosh: Update to 20220918micha2-13/+11
Changelog from AN-2022-09-18: With great sadness we report the death of schilytools main author and long time maintainer Jörg Schilling (1955-03-27--2021-10-10). Jörg, we miss you! After his passing, development has been picked up by a group of volunteers who would like to keep the project alive and well. Our goal is to carefully preserve the portability and compatibility of this project while extending it to new platforms and implementing new tools and features that fit the tool set. As a part of the change in management, the schilytools project has moved from Sourceforge to Codeberg. - general: Explain how to contribute and update README - general: Add list of contributors - all: Misc spelling fixes Submitted by Friedhelm Mehnert. - all: Update E-Mail address and project URL in many places. Jörg's old joerg@schily.net address is defunct and so is his postal address. As a part of an ongoing documentation cleanup, these addresses have been replaced by our new project pages in many locations. Submitted by Nico Sonack. - man pages: work around buggy syntax highlighting by adding \" " comments into various places. Submitted by Nico Sonack. - RULES: Fix build on macOS 12.4 - RULES: add i386-openbsd-clang.rul This should permit compilation on modern OpenBSD using clang as the system compiler. - autoconf: Work around clang bug in #pragma weak detection. A clang compiler bug causing a crash in the configure test for #pragma weak has been worked around, permitting use of weak symbols when compiling with clang. - tests: fix arm64/aarch64 architecture confusion on OpenBSD Submitted by Nico Sonack.
2022-09-30shells/bosh: Update to 20220918micha2-13/+11
Changelog from AN-2022-09-18: With great sadness we report the death of schilytools main author and long time maintainer Jörg Schilling (1955-03-27--2021-10-10). Jörg, we miss you! After his passing, development has been picked up by a group of volunteers who would like to keep the project alive and well. Our goal is to carefully preserve the portability and compatibility of this project while extending it to new platforms and implementing new tools and features that fit the tool set. As a part of the change in management, the schilytools project has moved from Sourceforge to Codeberg. - general: Explain how to contribute and update README - general: Add list of contributors - all: Misc spelling fixes Submitted by Friedhelm Mehnert. - all: Update E-Mail address and project URL in many places. Jörg's old joerg@schily.net address is defunct and so is his postal address. As a part of an ongoing documentation cleanup, these addresses have been replaced by our new project pages in many locations. Submitted by Nico Sonack. - man pages: work around buggy syntax highlighting by adding \" " comments into various places. Submitted by Nico Sonack. - RULES: Fix build on macOS 12.4 - RULES: add i386-openbsd-clang.rul This should permit compilation on modern OpenBSD using clang as the system compiler. - autoconf: Work around clang bug in #pragma weak detection. A clang compiler bug causing a crash in the configure test for #pragma weak has been worked around, permitting use of weak symbols when compiling with clang. - tests: fix arm64/aarch64 architecture confusion on OpenBSD Submitted by Nico Sonack.
2022-09-28shells/nushell: update to 0.69.1pin3-23/+23
Today, we're releasing version 0.69 of Nu. Note: this release is officially 0.69.1 because of a last-minute issue that was found and fixed. As part of this release, we also publish a set of optional plugins you can install and use with Nu. Themes of this release Finishing the rework of modules and environment (WindSoilder, kubouch) If you followed the development since the last release, you might have noticed we successfully applied "the method of dead ends" pioneered by Jára Cimrman "Somebody had to probe this dead end of human knowledge and announce to the world: Not this way, friends!" In short, the source-env experiment did not work out as planned. We hoped to allow to call source-env with dynamic paths which, however, proved unfeasible. Therefore, in this release, we remove all notions of source-env from Nushell and instead use will be used activate the module's environment. Any call to use will run the module's export-env { ... } block (if there is one) and keep its environment. A positive side of it is that one call of use is enough to import both commands/aliases and the environment, there is no need to call two separate commands as we planned for source-env. We're also keeping the source command for now, as well as the current config file format. One reason is that we want to first investigate whether it is possible to export also regular variables from modules and whether we can use the module keyword inside modules. However, the use of modules is still preferred over source as it will become the default way in the future. Upcoming virtualenv activation changes (kubouch) To reflect the recent changes to the module environment, we are changing the virtualenv integration to use overlays. This will come in effect as soon as this PR gets merged. In practice, this means that instead of source activate.nu, you'll use overlay use activate.nu, deactivate will work the same. Under the hood, calling overlay use activate.nu will activate the activate overlay and deactivate is just an alias for calling overlay hide activate. If you wish, you can manually name the overlay, for example overlay use activate.nu as spam, but then you'd need to remove it with overlay hide spam instead of deactivate. Grammar Experiments (JT) We've recently also started working on some improvements to Nushell's syntax. While these aren't part of Nushell 0.69, you can try this experimental syntax in our new grammar repo. Some experiments we're looking into: Traditional function definition syntax def foo(x: int) { ... } Traditional function call syntax foo(3) And much more. We're hoping to talk more about these experiments as they mature. Breaking changes We found a regression in the correctness of the -d and -t flags of touch. To get the release out, we've removed these flags, but hope to replace them with correct implementations in the future. We also removed support for duration literals above weeks, including month, year, and decade literals. These were found to be confusing as it's unclear what a duration of a month is (30 days? 31 days?) The str collect command is now str join. Next Steps We've been progressing with our design towards 0.80 as outlined in this Notion page. Some time was spent trying out possible new syntax directions but we were not confident to release them yet. In the next release we'll see a removal of features deprecated in this release and we'll continue to push ahead for the 0.80.
2022-09-26Revbump all Go packages after 1.19 became defaultbsiegert1-2/+2
2022-09-18shells/starship: fix broken buildpin1-1/+2
Add cmake build dep, reported by wiz@
2022-09-10shells/starship: update to 1.10.3pin3-491/+767
v1.10.3 Performance Improvements - git_commit: only use exact match for tag by default v1.10.2 Bug Fixes - git: upgrade gitoxide to v0.21 v1.10.1 Bug Fixes - Disable multithreading in jwalk (via gitoxide) as workaround for #4251 v1.10.0 Features - add bun module - Add starship preset command - Add support for blink, hidden, and strikethrough styles - Add the ability to have some file extensions prevent a module from triggering #4043 - Enable transience for Cmd and PowerShell - replace git2 with git-repository - Add folder detection to the k8s module - support cargo workspace versions - Add pipestatus_segment_format option to status module Bug Fixes - support official AWS_SHARED_CREDENTIALS_FILE variable - count time spent on custom on 'when' command failure Performance Improvements - pulumi: allow disabling upwards discovery #4159 - rust: avoid calling rustup in more conditions #4174 v1.9.1 Bug Fixes - regenerate changelog v1.9.0 Features - add Raku module - winget: Add support for winget package manager Bug Fixes - character: Standadise Vim config names - install: Have fixed a spacing issue in output v1.8.0 Features - Add support for Daml - kubernetes: add user alias - release: add windows msi installers Bug Fixes - escape text segments in meta variables - fish: add proper vi mode detection for fish shell - install: ignore tarfile ownership values when installing as root - nu: don't use cygpath for starship binary path in init - some typos
2022-09-09shells/nushell: update to 0.68.1pin2-9/+13
This is the 0.68.1 release of Nushell. It is a bugfix release of 0.68. This addresses a bug with blocks and source-env. For convenience, we are providing full builds for Windows, Linux, and macOS. These are the "all extra features" builds, so be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.html#dependencies With this release, we have also statically linked OpenSSL into the binary to make it easier to use across a larger range of platforms. If you encounter any issue with this, please let us know.
2022-09-07Revbump all Go packages after go118 security updatebsiegert1-2/+2
2022-09-06shells/nushell: update to 0.68.0pin4-1277/+1625
This is a huge jump over several releases and it's impossible to list changes. Please visit https://www.nushell.sh/blog/ for the details of every release. Be aware that there are lots of changes across all aspects of Nushell. - There's a new engine, new line editor, and new commands. - Configuration files will not work and have to be re-written. - Previous scripts will need to be updated, and you'll need to learn some of the new ways of doing things in Nushell to get back to the same level of comfort. - Several shell improvements and behavior changes. - There's also a new plugin architecture and quite a number of breaking changes after fixing design flaws, cleaned-up the design, and rethought how commands should work. - New additional startup file (env.nu) which, sets up the environment that you'll run Nushell in. As a result, you're able to set up important environment variables like $env.NU_LIB_DIRS before 'config.nu' begins to run. - Deeper integration with SQLite, new completion logic, introduction of overlays, hooks, lazy dataframes, input overloading, input/output type, new variable naming convention ... So, please do read about the changes before.
2022-09-04shells/ksh93: update to ksh93-1.0.3.pin2-6/+6
Submmited by Paolo Vincenzo Olivo through private e-mail. This a stability update incorporating crucial bug fixes. Changes since version 1.0.1: # Release 1.0.3 This point release mainly fixes the following: - A bug in history expansion (set -H) where any use of the history comment character caused processing to be aborted as if it were an invalid history expansion. Affected e.g. 'echo ${#v}'. - A bug in command line options processing that caused short-form option equivalents on some built-in commands to be ignored after one use, e.g., the new read -a equivalent of read -A. - Ksh freezing or using excessive memory if HISTSIZE is assigned a pathologically large value. - A bug that caused ksh in the vi editor mode to crash or produce invalid completions if ESC = was used at the beginning of a line. # Release 1.0.2 This release fixes the interactive shell crashing when one of the predefined aliases (currently 'history' and 'r') is redefined, whether from a profile/kshrc script or manually. This crash occurred in two scenarios: 1. when redefining and then unsetting a predefined alias; 2. when redefining a predefined alias and then executing a shell script that does not begin with a #! path.
2022-08-22fish: update to 3.5.1.wiz3-7/+12
fish 3.5.1 (released July 20, 2022) =================================== This release of fish introduces the following small enhancements: - Cursor shaping for Vi mode is enabled by default in tmux, and will be used if the outer terminal is capable (:issue:`8981`). - ``printf`` returns a better error when used with arguments interpreted as octal numbers (:issue:`9035`). - ``history merge`` when in private mode is now an error, rather than wiping out other sessions' history (:issue:`9050`). - The error message when launching a command that is built for the wrong architecture on macOS is more helpful (:issue:`9052`). - Added completions for: - ``choose`` (:issue:`9065`) - ``expect`` (:issue:`9060`) - ``navi`` (:issue:`9064`) - ``qdbus`` (:issue:`9031`) - ``reflector`` (:issue:`9027`) - Improvements to some completions. This release also fixes a number of problems identified in fish 3.5.0. - Completing ``git blame`` or ``git -C`` works correctly (:issue:`9053`). - On terminals that emit a ``CSI u`` sequence for :kbd:`Shift-Space`, fish inserts a space instead of printing an error. (:issue:`9054`). - ``status fish-path`` on Linux-based platforms could print the path with a " (deleted)" suffix (such as ``/usr/bin/fish (deleted)``), which is now removed (:issue:`9019`). - Cancelling an initial command (from fish's ``--init-command`` option) with :kbd:`Control-C` no longer prevents configuration scripts from running (:issue:`9024`). - The job summary contained extra blank lines if the prompt used multiple lines, which is now fixed (:issue:`9044`). - Using special input functions in bindings, in combination with ``and``/``or`` conditionals, no longer crashes (:issue:`9051`).
2022-08-20hs*: recursive bump for new dependencies neededwiz1-2/+2
for hs-aeson, hs-vector
2022-08-18fish: update to 3.5.0.wiz4-17/+29
fish 3.5.0 (released June 16, 2022) =================================== Notable improvements and fixes ------------------------------ - A new ``path`` builtin command to filter and transform paths (:issue:`7659`, :issue:`8958`). For example, to list all the separate extensions used on files in /usr/share/man (after removing one extension, commonly a ".gz"):: path filter -f /usr/share/man/** | path change-extension '' | path extension | path sort -u - Tab (or any key bound to ``complete``) now expands wildcards instead of invoking completions, if there is a wildcard in the path component under the cursor (:issue:`954`, :issue:`8593`). - Scripts can now catch and handle the SIGINT and SIGTERM signals, either via ``function --on-signal`` or with ``trap`` (:issue:`6649`). Deprecations and removed features --------------------------------- - The ``stderr-nocaret`` feature flag, introduced in fish 3.0 and enabled by default in fish 3.1, has been made read-only. That means it is no longer possible to disable it, and code supporting the ``^`` redirection has been removed (:issue:`8857`, :issue:`8865`). To recap: fish used to support ``^`` to redirect stderr, so you could use commands like:: test "$foo" -gt 8 ^/dev/null to ignore error messages. This made the ``^`` symbol require escaping and quoting, and was a bit of a weird shortcut considering ``2>`` already worked, which is only one character longer. So the above can simply become:: test "$foo" -gt 8 2>/dev/null - The following feature flags have been enabled by default: - ``regex-easyesc``, which makes ``string replace -r`` not do a superfluous round of unescaping in the replacement expression. That means e.g. to escape any "a" or "b" in an argument you can use ``string replace -ra '([ab])' '\\\\$1' foobar`` instead of needing 8 backslashes. This only affects the *replacement* expression, not the *match* expression (the ``'([ab])'`` part in the example). A survey of plugins on GitHub did not turn up any affected code, so we do not expect this to affect many users. This flag was introduced in fish 3.1. - ``ampersand-nobg-in-token``, which means that ``&`` will not create a background job if it occurs in the middle of a word. For example, ``echo foo&bar`` will print "foo&bar" instead of running ``echo foo`` in the background and then starting ``bar`` as a second job. Reformatting with ``fish_indent`` would already introduce spaces, turning ``echo foo&bar`` into ``echo foo & bar``. This flag was introduced in fish 3.4. To turn off these flags, add ``no-regex-easyesc`` or ``no-ampersand-nobg-in-token`` to :envvar:`fish_features`` and restart fish:: set -Ua fish_features no-regex-easyesc Like ``stderr-nocaret``, they will eventually be made read-only. - Most ``string`` subcommands no longer append a newline to their input if the input didn't have one (:issue:`8473`, :issue:`3847`) - Fish's escape sequence removal (like for ``string length --visible`` or to figure out how wide the prompt is) no longer has special support for non-standard color sequences like from Data General terminals, e.g. the Data General Dasher D220 from 1984. This removes a bunch of work in the common case, allowing ``string length --visible`` to be much faster with unknown escape sequences. We don't expect anyone to have ever used fish with such a terminal (:issue:`8769`). - Code to upgrade universal variables from fish before 3.0 has been removed. Users who upgrade directly from fish versions 2.7.1 or before will have to set their universal variables & abbreviations again. (:issue:`8781`) - The meaning of an empty color variable has changed (:issue:`8793`). Previously, when a variable was set but empty, it would be interpreted as the "normal" color. Now, empty color variables cause the same effect as unset variables - the general highlighting variable for that type is used instead. For example:: set -g fish_color_command blue set -g fish_color_keyword would previously make keywords "normal" (usually white in a dark terminal). Now it'll make them blue. To achieve the previous behavior, use the normal color explicitly: ``set -g fish_color_keyword normal``. This makes it easier to make self-contained color schemes that don't accidentally use color that was set before. ``fish_config`` has been adjusted to set known color variables that a theme doesn't explicitly set to empty. - ``eval`` is now a reserved keyword, so it can't be used as a function name. This follows ``set`` and ``read``, and is necessary because it can't be cleanly shadowed by a function - at the very least ``eval set -l argv foo`` breaks. Fish will ignore autoload files for it, so left over ``eval.fish`` from previous fish versions won't be loaded. - The git prompt in informative mode now defaults to skipping counting untracked files, as this was extremely slow. To turn it on, set :envvar:`__fish_git_prompt_showuntrackedfiles` or set the git config value "bash.showuntrackedfiles" to ``true`` explicitly (which can be done for individual repositories). The "informative+vcs" sample prompt already skipped display of untracked files, but didn't do so in a way that skipped the computation, so it should be quite a bit faster in many cases (:issue:`8980`). - The ``__terlar_git_prompt`` function, used by the "Terlar" sample prompt, has been rebuilt as a configuration of the normal ``fish_git_prompt`` to ease maintenance, improve performance and add features (like reading per-repo git configuration). Some slight changes remain; users who absolutely must have the same behavior are encouraged to copy the old function (:issue:`9011`, :issue:`7918`, :issue:`8979`). Scripting improvements ---------------------- - Quoted command substitution that directly follow a variable expansion (like ``echo "$var$(echo x)"``) no longer affect the variable expansion (:issue:`8849`). - Fish now correctly expands command substitutions that are preceded by an escaped dollar (like ``echo \$(echo)``). This regressed in version 3.4.0. - ``math`` can now handle underscores (``_``) as visual separators in numbers (:issue:`8611`, :issue:`8496`):: math 5 + 2_123_252 - ``math``'s ``min`` and ``max`` functions now take a variable number of arguments instead of always requiring 2 (:issue:`8644`, :issue:`8646`):: > math min 8,2,4 2 - ``read`` is now faster as the last process in a pipeline (:issue:`8552`). - ``string join`` gained a new ``--no-empty`` flag to skip empty arguments (:issue:`8774`, :issue:`8351`). - ``read`` now only triggers the ``fish_read`` event, not the ``fish_prompt`` event (:issue:`8797`). It was supposed to work this way in fish 3.2.0 and later, but both events were emitted. - The TTY modes are no longer restored when non-interactive shells exit. This fixes wrong tty modes in pipelines with interactive commands. (:issue:`8705`). - Some functions shipped with fish printed error messages to standard output, but they now they rightly go to standard error (:issue:`8855`). - ``jobs`` now correctly reports CPU usage as a percentage, instead of as a number of clock ticks (:issue:`8919`). - ``process-exit`` events now fire when the process exits even if the job has not yet exited, fixing a regression in 3.4.1 (:issue:`8914`). Interactive improvements ------------------------ - Fish now reports a special error if a command wasn't found and there is a non-executable file by that name in :envvar:`PATH` (:issue:`8804`). - ``less`` and other interactive commands would occasionally be stopped when run in a pipeline with fish functions; this has been fixed (:issue:`8699`). - Case-changing autosuggestions generated mid-token now correctly append only the suffix, instead of duplicating the token (:issue:`8820`). - ``ulimit`` learned a number of new options for the resource limits available on Linux, FreeBSD ande NetBSD, and returns a specific warning if the limit specified is not available on the active operating system (:issue:`8823`, :issue:`8786`). - The ``vared`` command can now successfully edit variables named "tmp" or "prompt" (:issue:`8836`, :issue:`8837`). - ``time`` now emits an error if used after the first command in a pipeline (:issue:`8841`). - ``fish_add_path`` now prints a message for skipped non-existent paths when using the ``-v`` flag (:issue:`8884`). - Since fish 3.2.0, pressing :kbd:`Control-D` while a command is running would end up inserting a space into the next commandline, which has been fixed (:issue:`8871`). - A bug that caused multi-line prompts to be moved down a line when pasting or switching modes has been fixed (:issue:`3481`). - The Web-based configuration system no longer strips too many quotes in the abbreviation display (:issue:`8917`, :issue:`8918`). - Fish started with ``--no-config`` will now use the default keybindings (:issue:`8493`) - When fish inherits a :envvar:`USER` environment variable value that doesn't correspond to the current effective user ID, it will now correct it in all cases (:issue:`8879`, :issue:`8583`). - Fish sets a new :envvar:`EUID`` variable containing the current effective user id (:issue:`8866`). - ``history search`` no longer interprets the search term as an option (:issue:`8853`) - The status message when a job terminates should no longer be erased by a multiline prompt (:issue:`8817`) New or improved bindings ^^^^^^^^^^^^^^^^^^^^^^^^ - The :kbd:`Alt-S` binding will now insert ``doas`` instead of ``sudo`` if necessary (:issue:`8942`). - The ``kill-whole-line`` special input function now kills the newline preceeding the last line. This makes ``dd`` in vi-mode clear the last line properly. - The new ``kill-inner-line`` special input function kills the line without any newlines, allowing ``cc`` in vi-mode to clear the line while preserving newlines (:issue:`8983`). - On terminals that emit special sequences for these combinations, :kbd:`Shift-Space` is bound like :kbd:`Space`, and :kbd:`Ctrl-Return` is bound like :kbd:`Return` (:issue:`8874`). Improved prompts ^^^^^^^^^^^^^^^^ - A new ``Astronaut`` prompt (:issue:`8775`), a multi-line prompt using plain text reminiscent of the Starship.rs prompt. Completions ^^^^^^^^^^^ - Added completions for: - ``archlinux-java`` (:issue:`8911`) - ``apk`` (:issue:`8951`) - ``brightnessctl`` (:issue:`8758`) - ``efibootmgr`` (:issue:`9010`) - ``fastboot`` (:issue:`8904`) - ``optimus-manager`` (:issue:`8913`) - ``rclone`` (:issue:`8819`) - ``sops`` (:issue:`8821`) - ``tuned-adm`` (:issue:`8760`) - ``wg-quick`` (:issue:`8687`) - ``complete`` can now be given multiple ``--condition`` options. They will be attempted in the order they were given, and only if all succeed will the completion be made available (as if they were connected with ``&&``). This helps with caching - fish's complete system stores the return value of each condition as long as the commandline doesn't change, so this can reduce the number of conditions that need to be evaluated (:issue:`8536`, :issue:`8967`). Improved terminal support ^^^^^^^^^^^^^^^^^^^^^^^^^ - Working directory reporting is enabled for kitty (:issue:`8806`). - Changing the cursor shape is now enabled by default in iTerm2 (:issue:`3696`). For distributors ---------------- - libatomic is now correctly detected as necessary when building on RISC-V (:issue:`8850`, :issue:`8851`). - In some cases, the build process found the wrong libintl on macOS. This has been corrected (:issue:`5244`). - The paths for completions, functions, and configuration snippets now include subdirectories ``fish/vendor_completions.d``, ``fish/vendor_functions.d``, and ``fish/vendor_conf.d`` (respectively) within ``XDG_DATA_HOME`` (or ``~/.local/share`` if not defined) (:issue:`8887`, :issue:`7816`).
2022-08-12Revbump all Go packages after go118 security updatebsiegert1-2/+2
2022-08-09*: Remove hardcoded -liconv / -lintl on SunOS.jperkin1-3/+1
This is now handled centrally via OPSYS_EXPLICIT_LIBDEPS support in libiconv and gettext-lib.
2022-08-09shells/ksh93: update to 1.0.1pin3-15/+12
Submitted by Paolo Vincenzo Olivo on pkgsrc-users. ## ksh 93u+m/1.0.1 This is an urgent bugfix release that removes an incorrect exec optimization that was capable of terminating the execution of scripts prematurely in certain corner cases. It is known to make the build scripts of GNU binutils produce corrupted results if ksh is used as /bin/sh. See #507 for more information. No other breakage resulting from this bug is known yet, but other breakage probably exists. Every 1.0.0 user should update to 1.0.1 ASAP. ## ksh 93u+m/1.0.0 Roughly a thousand bugs have been fixed, including many serious/critical bugs. See the NEWS file for more information, and the git commit log for complete documentation of every fix. Incompatible changes have been minimised, but not at the expense of fixing bugs. For a list of potentially incompatible changes, see src/cmd/ksh93/COMPATIBILITY. Though there was a "no new features, bugfixes only" policy, some new features were found necessary, either to fix serious design flaws or to complete functionality that was evidently intended, but not finished. Below is a summary of these new features. New command line editor features: - The forward-delete and End keys are now handled as expected in the emacs and vi built-in line editors. - In the vi and emacs line editors, repeat counts can now also be used for arrow keys and the forward-delete key, e.g., <ESC> 7 <left-arrow> works. - Various keys on extended PC keyboards are now handled as expected in the emacs and vi built-in line editors. New shell language features: - Pathname expansion (a.k.a. globbing) now never matches the special names '.' (current directory) and '..' (parent directory). This change makes a pattern like .* useful; it now matches all hidden files (dotfiles) in the current directory, without the harmful inclusion of '.' and '..'. - Tilde expansion can now be extended or modified by defining a .sh.tilde.get or .sh.tilde.set discipline function. See the manual for details. - The &>file redirection shorthand (for >file 2>&1) is now available for all scripts and interactive sessions and not only for profile/login scripts. - Arithmetic expressions in native ksh mode no longer interpret a number with a leading zero as octal in any context. Use 8#octalnumber instead (e.g. 8#400 == 256). Arithmetic expressions now also behave identically within and outside ((...)) and $((...)). If the POSIX mode is turned on, a leading zero now denotes an octal number in all arithmetic contexts. New features in built-in commands: - Usage error messages now show the --help/--man self-documentation options. - Path-bound built-ins (such as /opt/ast/bin/cat) can now be executed by invoking the canonical path, so the following will now work as expected: $ /opt/ast/bin/cat --version version cat (AT&T Research) 2012-05-31 - 'cd' now supports an -e option that, when combined with -P, verifies that $PWD is correct after changing directories; this helps detect access permission problems. See: https://www.austingroupbugs.net/view.php?id=253 - 'command -x' now looks for external commands only, skipping built-ins. In addition, its xargs-like functionality no longer freezes the shell on Linux and macOS, making it effectively a new feature on these systems. - 'printf' now supports a -v option as in bash. This assigns formatted output directly to variables, which is very fast and will not strip final newline (\n) characters. - 'redirect' now checks if all arguments are valid redirections before performing them. If an error occurs, it issues an error message instead of terminating the shell. - 'return', when used to return from a function, can now return any status value in the 32-bit signed integer range, like on zsh. However, due to a traditional Unix kernel limitation, $? is still trimmed to its least significant 8 bits whenever a shell or subshell exits. - 'suspend' now refuses to suspend a login shell, as there is probably no parent shell to return to and the login session would freeze. - 'test'/'[' now supports all the same operators as [[ (including =~, \<, \>) except for the different 'and'/'or' operators. Note that 'test'/'[' remains deprecated due to its unfixable pitfalls; [[ ... ]] is recommended instead. - 'times' now gives high precision output in a POSIX compliant format. - 'type'/'whence': Two bash-like flags were backported from ksh 93v-: - 'whence -P/type -P' is an alias to the existing -p flag. - 'whence -t/type -t' will print only the type of a command in a simple format that is designed to be easy to use for scripts. - 'typeset' has a new '-g' flag that forces variables to be created or modified at the global scope regardless of context, as on bash 4.2+. - 'typeset' now gives an informative error message if an incompatible combination of options is given. - 'ulimit': Added three options inspired by bash: - 'ulimit -k' sets the maximum number of kqueues. - 'ulimit -P' sets the maximum number of pseudo-terminals. - 'ulimit -R' sets the maximum time in microseconds a real-time process can run before blocking. Note that not all operating systems support the limits set by these options. - 'whence -v/-a' now reports the location of autoloadable functions. New features in shell options: - When the -b/--notify shell option is on and the vi or emacs/gmacs shell line editor is in use, 'Done' and similar notifications from completed background jobs are now inserted directly above the line you're typing, without affecting your command line display. - A new --functrace long-form shell option causes the -x/--xtrace option's state and the DEBUG trap action to be inherited by function scopes instead of being reset to default. Changes made to them within a function scope still do not propagate back to the parent scope. Similarly, this option also causes the DEBUG trap action to be inherited by subshells. - A new --globcasedetect shell option is added on operating systems where we can check for a case-insensitive file system (currently Linux, macOS, QNX 7.0+, and Windows/Cygwin). When this option is turned on, pathname expansion (globbing), as well as tab completion on interactive shells, automatically become case-insensitive depending on the file system. This is separately determined for each pathname component. - Enhancement to -G/--globstar: symbolic links to directories are now followed if they match a normal (non-**) glob pattern. For example, if '/lnk' is a symlink to a directory, '/lnk/**' and '/l?k/**' now work as you would expect. - The new --histreedit and --histverify options modify history expansion (--histexpand). If --histreedit is on and a history expansion fails, the command line is reloaded into the next prompt's edit buffer, allowing corrections. If --histverify is on, the results of a history expansion are not immediately executed but instead loaded into the next prompt's edit buffer, allowing further changes. - A new --nobackslashctrl shell option disables the special escaping behaviour of the backslash character in the emacs and vi built-in editors. Particularly in the emacs editor, this makes it much easier to go back, insert a forgotten backslash into a command, and then continue editing without having your next arrow key replace your backslash with garbage. - A new --posix shell option has been added to ksh 93u+m that makes the ksh language more compatible with other shells by following the POSIX standard more closely. See the manual page for details. It is enabled by default if ksh is invoked as sh, otherwise it is disabled by default.
2022-07-13Revbump all Go packages after go118 updatebsiegert1-2/+2
2022-07-04shells/etsh: import packagepin4-0/+97
Packaged in wip by Paolo Vincenzo Olivo. Etsh provides two ports of the original /bin/sh from Version 6 (V6) UNIX (circa 1975). Etsh(1) is an enhanced, backward-compatible port of the V6 Thompson shell. Tsh(1) is an unenhanced port of the shell, and glob(1) is a port of its global command. Together, tsh and glob provide a user interface which is backward compatible with that provided by the V6 Thompson shell and global command, but without the obvious enhancements found in etsh. The original Thompson shell was principally written by Ken Thompson of Bell Labs. This package also includes the following shell utilities: - if(1) - conditional command (ported from V6 UNIX) - goto(1) - transfer command (ported from V6 UNIX) - fd2(1) - redirect from/to file descriptor 2
2022-07-04Add etshpin1-1/+2
2022-07-03ksh93: Remove not needed USE_LANGUAGESleot1-2/+1
It is already `c' by default. No functional change.
2022-07-03ksh93: Downgrade to 1.0.0beta.2leot2-11/+7
Simplify distname handling and downgrade to 1.0.0beta.2 to match actual upstream version.
2022-07-03Add ksh93pin1-1/+2
2022-07-03shells/ksh93: import packagepin5-0/+104
Packaged in wip by Paolo Vincenzo Olivo. Between 2017 and 2020 there was an ultimately unsuccessful attempt to breathe new life into the KornShell by extensively refactoring the last unstable AST beta version (93v-). While that ksh2020 effort is now abandoned and still has many critical bugs, it also had a lot of bugs fixed. More importantly, the AST issue tracker now contains a lot of documentation on how to fix those bugs, which made it possible to backport many of them to the last stable release instead. This ksh 93u+m reboot now incorporates many of these bugfixes, plus patches from OpenSUSE, Red Hat, and Solaris, as well as many new fixes from the community (1, 2). Though there are many bugs left to fix, we are confident at this point that 93u+m is already the least buggy version of ksh93 ever released. As of late 2021, distributions such as Debian and Slackware have begun to package it as their default version of ksh93.
2022-07-01shells/zsh: Stop regen configure, drop dependencies to auto{conf,make}.rin3-11/+9
Our local patch for aczsh.m4, introduced to 5.0.2nb1: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/shells/zsh/Makefile#rev1.63 has been upstreamed. There is no longer a point to regen configure; tiny patch to configure.ac can be directly applied to configure itself. Bump revision.
2022-06-30*: Revbump packages that use Python at runtime without a PKGNAME prefixnia4-7/+8
2022-06-28*: recursive bump for perl 5.36wiz6-11/+12
2022-06-02Revbump all Go packages after go118 updatebsiegert1-1/+2
2022-05-25shells/starship: update to 1.7.1pin3-203/+283
1.7.1 (2022-05-24) Features go: check for go.work file to show Go module in prompt hostname: add ssh_symbol for ssh connections package: Extract package version from PEP 621 compliant pyproject.toml rust: Display toolchain names Bug Fixes ci: Version bump and fix Crowdin Pretranslate Do not panic in config if editor not found module: list option not working nu: use the most recent starship init Use git2::Repository::open_ext() instead of discover() 1.7.0 (2022-05-24) chore(master): release 1.7.0
2022-05-23shells/elvish: update to 0.18.0pin3-50/+90
v0.18.0 -All features deprecated in 0.17.0 have been removed. -Within double quotes, \x followed by two hexadecimal digits and \ followed by three octal digits now encode an individual byte, rather than a codepoint. -Using a lone try without except or finally is now forbidden; this does not do anything useful and is almost certainly an incorrect attempt to suppress an exception. Deprecated features will be removed in 0.19.0. The following deprecated features trigger a warning whenever the code is parsed or compiled, even if it is not executed: -The legacy temporary assignment syntax (e.g. a=foo echo $a) is deprecated. Use the new tmp command instead (e.g. tmp a = foo; echo $a). -The clause to catch exceptions in the try special command is now spelt with catch; the old keyword except is deprecated. Notable bugfixes -The output longer than terminal width is now shown fully on Windows Terminal. -Changing directories in the navigation mode now correctly runs hooks and updates $E:PWD. Notable new features -Elvish now ships a builtin language server that can be started with elvish -lsp. -A new flag: module for parsing command-line flags. -A new tmp special command for doing temporary assignments. -A new defer command to schedule a function to be run when the current closure finishes execution. -A new call command to call a command, using a list for and a map for options. -A new $unix:rlimits variable allows manipulation of resource limits. v0.17.0 Breaking changes -Attempting to assign to a read-only variable (e.g. set nil = x) is now a compile-time error rather than an exception. Deprecated features - Deprecated features will be removed in 0.18.0. The following deprecated features trigger a warning whenever the code is parsed or compiled, even if it is not executed: -The dir-history command is deprecated. Use store:dirs instead. -The legacy assignment form is deprecated. Depending on whether the left-hand variable already exists or not, use var or set instead. Use the upgrader to migrate scripts. -The lambda syntax that declares arguments and options within [] before { has been deprecated. The new syntax now declares arguments and options within a pair of |, after {. Use the upgrader to migrate scripts. See (#664). -Use of the special namespace local: is deprecated. -If you are using local: to reference variables (e.g. echo $local:x), local: is never necessary in the first place since Elvish always resolves local variables first, so just remove it. -If you are using local: when assigning variables (e.g. local:x = foo), local: makes sure that a new variable is created; use the var special command instead. -Use of the special namespace up: is deprecated. -If you are using up: to access a non-shadowed variable in an outer scope, up: is not necessary; just remove it. -If you are using up: to access a shadowed variable in an outer scope, rename the variables to have different names. -Use of a leading empty namespace in a variable name (e.g. $:x) is deprecated. Since $:x is always equivalent to $x anyway, just remove the : prefix. Notable new features New features in the language: -A new special command pragma. The only supported pragma now is unknown command; using pragma unknown command = disallow turns off the default behavior of treating unknown commands as external commands. -A new special command coalesce. New features in the interactive editor: -Editor modes now form a stack, instead of being mutually exclusive. For example, it is now possible to start a minibuf mode within a completion mode, and vice versa. New features in the standard library: -The store: module now exposes all functionalities of Elvish’s persistent store. -New compare command to compare numbers, strings, and lists (#1347), in a consistent way as the order builtin. -The range command now supports counting down. Performance improvements: -The overhead of executing pipelines consisting of a single form (i.e. a simple command with no pipes) has been reduced. A code chunk containing just nop command now executes 4 times as fast as before. Thanks to kolbycrouch for suggesting this optimization! For changes between 0.16.1 and 0.17.0 check https://elv.sh/blog/
2022-05-18shells/starship: update to 1.6.3pin3-27/+39
1.6.3 (2022-04-26) Bug Fixes git_branch: correct variable name for remote branch (#3897) (bd7957f) schema: move config-schema into docs folder (#3878) (094f982) Performance Improvements package: only try to read files that exist (#3904) (2a650bf) Reverts schema: move config-schema back into .github folder (#3886) (9b2ce42)
2022-05-16zsh: Update to 5.9ryoon7-141/+66
Changelog: 5.9: Changes since 5.8.1 ------------------- zsh 5.9 is dedicated to the memory of Sven Guckes, who was, amongst other things, a long-time zsh advocate. For more information, see: https://linuxnews.de/2022/02/sven-guckes-verstorben/ https://groups.google.com/g/vim_announce/c/MJBKVd-xrEE/m/joVNaDgAAgAJ When unsetting a hash element, the string enclosed in square brackets is interpreted literally after any normal command-line-argument expansions. Thus unset "hash[$key]" first expands $key as usual for a double-quoted string, and then interprets that result as the exact hash element to unset. This differs from previous versions of the shell, which would also remove a leading backslash for an unusual subset of characters in the expansion of $key. Note this also means, for example, that now unset 'hash[ab]cd]' unsets the element with key "ab]cd" rather than silently doing nothing. The function command learnt a -T option to declare a function and enable tracing for it simultaneously. The option SHORT_REPEAT was added to enable the short syntax of SHORT_LOOPS for the repeat command only. It is disabled by default. The _arguments function now supports NUL-delimiting optargs in the opt_args array via the -0 option. Developers of completion functions should find this easier to handle reliably than the default colon-delimiting behaviour. The zsh/system module's `zsystem flock` command learnt an -i option to set the wait interval used with -t. Additionally, -t now supports fractional seconds. The option CLOBBER_EMPTY was added to enable the overwrite behaviour of CLOBBER for empty files only. It is disabled by default. A (-) expansion flag was added. It works like (n) but correctly sorts negative numbers. The (*) expansion flag enables EXTENDED_GLOB for pattern matching. For example, ${(*)sample/(#b)*(pat)*/${match[1]}} uses backreferences even if EXTENDED_GLOB is not otherwise set. However, this does not descend into nested exapansions, and doubling as (**) does not disable EXTENDED_GLOB. The compinit function learnt a -w option to explain why compdump runs. When run without the -i or -u options and compaudit discovers security issues, answering "y" to the "Ignore insecure ..." prompt removes the insecure elements (like the -i option) where previously it ignored the result (thus formerly like the -u option). Further, removing those elements includes dropping directories from the $fpath array. The zsh/datetime module's strftime builtin learnt an -n option to omit the trailing newline when printing a formatted time. The XTRACE option is now disabled while running user-defined completion widgets. This corresponds to long-standing behavior of other user ZLE widgets. Use the _complete_debug widget to capture XTRACE output, or use "functions -T" to enable tracing of specific completion functions. The fc builtin learnt an -s option which is a POSIX equivalent to the `fc -e-` method of re-executing a command without invoking an editor. The option CASE_PATHS was added to control how NO_CASE_GLOB behaves. NO_CASE_GLOB + NO_CASE_PATHS is equivalent to the current NO_CASE_GLOB behaviour. NO_CASE_GLOB + CASE_PATHS treats only path components that contain globbing characters as case-insensitive; this behaviour may yield more predictable results on case-sensitive file systems. NO_CASE_PATHS is the default. With the new TYPESET_TO_UNSET option set, "typeset foo" leaves foo unset, in contrast to the default behavior which assigns foo="". Any parameter attributes such as numeric type, sorting, and padding are retained until the parameter is explicitly unset or a conflicting value is assigned. This is similar to default behavior of bash and ksh. This option is disabled by default. The compadd builtin's -D option can now be specified more than once. The zsh/zutil module's zformat builtin learnt an -F option which behaves like -f except that ternary expressions check for existence instead of doing math evaluation. The conventional syntax used to indicate units, ranges, and default values in completion descriptions (e.g. `timeout (seconds) (0-60) [20]`) is now recognised by the completion system itself. These components are parsed out of the description and can be individually styled. A _numbers helper function has been added to help function authors offer rich completion for these values. The log builtin, WATCH parameter, et al., have been broken out into a separate module, zsh/watch. The module is enabled by default. The zsh/watch module's WATCHFMT parameter now supports colours via the %F and %K escapes. The STTY parameter can now be set to an empty string before running a command to automatically restore terminal settings after the command finishes. The "jobs" command and "$jobstates" and related parameters can report on parent shell jobs even in subshells. This is a snapshot of the parent state, frozen at the point the subshell started. However, if a subshell starts its own background jobs, the parent state is discarded in order to report on those new jobs.
2022-05-12{,standalone-,static-}tcsh: Update to 6.24.01:kim2-6/+6
Changes since 6.24.00: 3. V6.24.01 - 20220512 2. Fix quoting of ! characters in history recall (Kimmo Suominen) 1. Fix return status of which (Jamie Landeg-Jones)
2022-05-11Revbump all Go packages after go118 updatebsiegert1-2/+2
2022-04-21fish: Fix PLIST issues on macOS.jperkin3-6/+17
2022-04-20shells/starship: update to 1.6.2pin3-147/+319
1.6.2 (2022-04-15) Bug Fixes trigger another release 1.6.1 (2022-04-15) Bug Fixes fix release-please permissions 1.6.0 (2022-04-14) Features Add a module for C projects allow printing config file schema aws: add option to force AWS display cmd_duration: make notify feature optional (compat with nix darwin) spack: Add Spack module username: Detect Admin access in Windows Bug Fixes bash: ensure checkwinsize is enabled for $COLUMNS directory: enable repo_root_style when truncation_length is zero. docker_context: ignore the "default" context fish: allow generating session keys in older versions of fish init: Change Elvish init to catch for 0.18 nu: Use = instead of space to pass command line parameters nu: use shell-provided terminal width
2022-04-15shells/starship: update to 1.5.4pin3-392/+367
v1.5.4 Features -aws: Add profile aliases (#3699) -buf: Add Buf module (#3661) -git_branch: add 'ignore_branches' option (#3753) -haskell: Add Haskell module (#3587) -nodejs: check for .mts and .cts files (#3734) Bug Fixes -aws: accept sso credentials (#3718) -aws: Make AWS_REGION orverrides AWS_DEFAULT_REGION (#3619) (#3733) -docs: fix and cleanup VuePress config (#3738) -init: Change Nushell init for nu 0.60 (#3773) -status: Make status module work even when the status is 0 (#3750) Docs -fix typo in Elm config docs -Fix entry for container config (#3783) -add SWU banner to README -Specify MSRV (#3742) -preset: add Pastel Powerline preset (#3761) v1.5.3 -chore(release): v1.5.3 v1.5.2 -chore(release): v1.5.2
2022-04-13Revbump all Go packages after go117 updatebsiegert1-2/+2
2022-04-05fish: update to 3.4.1bsiegert3-16/+107
fish 3.4.1 This release of fish fixes the following problems identified in fish 3.4.0: * An error printed after upgrading, where old instances could pick up a newer version of the fish_title function, has been fixed * fish builds correctly on NetBSD and OpenIndiana. * nextd-or-forward-word, bound to Alt-Right Arrow by default, was inadvertently changed to move like forward-bigword. This has been corrected. * funcsave -q and funcsave --quiet now work correctly. * Issues with the csharp and nmcli completions were corrected. If you are upgrading from version 3.3.1 or before, please also review the release notes for 3.4.0 (included below). fish 3.4.0 Notable improvements and fixes: * fish's command substitution syntax has been extended: $(cmd) now has the same meaning as (cmd) but it can be used inside double quotes, to prevent line splitting of the results. * Complementing the prompt command in 3.3.0, fish_config gained a theme subcommand to show and pick from the sample themes (meaning color schemes) directly in the terminal, instead of having to open a Web browser. For example fish_config theme choose Nord loads the Nord theme in the current session. The current theme can be saved with fish_config theme dump , and custom themes can be added by saving them in ~/.config/fish/themes/. * set and read learned a new option, --function, to set a variable in the function?s top scope. * string pad now excludes escape sequences like colors that fish knows about, and a new --visible flag to string length makes it use that kind of visible width. * Performance improvements to globbing, especially on systems using glibc. In some cases (large directories with files with many numbers in the names) this almost halves the time taken to expand the glob. * Autosuggestions can now be turned off by setting $fish_autosuggestion_enabled to 0, and (almost) all highlighting can be turned off by choosing the new ?None? theme. The exception is necessary colors, like those which distinguish autosuggestions from the actual command line. * The fish_git_prompt function, which is included in the default prompts, now overrides git to avoid running commands set by per-repository configuration. This avoids a potential security issue in some circumstances, and has been assigned CVE-2022-20001.
2022-03-25lshell: convert to egg.mkwiz2-6/+6
Bump PKGREVISION.
2022-03-23shells/nushell: reset maintainerpin1-2/+2
The new release of nushell, 0.60.0 has major breaking changes and currently does not build on NetBSD. Making it build again is over my head.
2022-03-20shells/starship: downgrade to 1.3.0pin3-295/+292
Newer versions require rust-1.59
2022-03-19guile-gash: fix distinfonikita1-4/+4
2022-03-17standalone-tcsh: revert my changes for nownia1-5/+3
2022-03-14gash: Update to 0.3.0nikita2-86/+92
Changelog: 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.
2022-03-12shells/zsh: Update to 5.8.1kim2-7/+6
Changes between 5.8 and 5.8.1 Incompatibilities PROMPT_SUBST expansion is no longer performed on arguments to prompt-expansion sequences such as %F. Changes CVE-2021-45444: Some prompt expansion sequences, such as %F, support 'arguments' which are themselves expanded in case they contain colour values, etc. This additional expansion would trigger PROMPT_SUBST evaluation, if enabled. This could be abused to execute code the user didn't expect. e.g., given a certain prompt configuration, an attacker could trick a user into executing arbitrary code by having them check out a Git branch with a specially crafted name. This is fixed in the shell itself by no longer performing PROMPT_SUBST evaluation on these prompt-expansion arguments. Users who are concerned about an exploit but unable to update their binaries may apply the partial work-around described in the file Etc/CVE-2021-45444-VCS_Info-workaround.patch included with the shell source. [ Reported by RyotaK. Additional thanks to Marc Cornellà. ]