summaryrefslogtreecommitdiff
path: root/shells
AgeCommit message (Collapse)AuthorFilesLines
2022-12-14shells/es-shell: Import version 0.9.2nikita5-1/+38
Es is an extensible shell. The language was derived from the Plan 9 shell, rc, and was influenced by functional programming languages, such as Scheme, and the Tcl embeddable programming language. This implementation is derived from Byron Rakitzis's public domain implementation of rc, and was written by Paul Haahr and Byron Rakitzis.
2022-12-14Update shells/bash from 5.2.12 to 5.2.15 by adding the 3 mostkre2-4/+13
recent releases patches, which fix: Patch-13: Bash can leak memory when referencing a noneexistent associative array element. Patch-14: Bash defers processing additional terminating signals when running the EXIT trap while exiting due to a terminating signal. This patch allows the new terminating signal to kill the shell immediately. Patch-15: There are several cases where bash is too aggressive when optimizing out forks in subshells. For example, `eval' and traps should never be optimized.
2022-12-12{,standalone-,static-}tcsh: Update to 6.24.06:kim2-6/+6
Changes since 6.24.04: 16. V6.24.06 - 2022-12-12 15. V6.24.05 - 2022-12-04 14. Build and release process improvements (Luke Mewburn, Kimmo Suominen)
2022-12-08Revbump all Go packages after go119 security updatebsiegert1-2/+2
2022-12-06shells/etsh: Makefile revision.vins1-14/+16
* Replace the SUBST routine with REPLACE_INTERPRETER. * Replace MAKEFLAGS with MAKE_FLAGS. * Corrently set INSTALL_ENV in the post-install target.
2022-12-06Reset maintainer for my packages to reflect new mail address.vins3-6/+6
2022-12-03{,standalone-,static-}tcsh: Update to 6.24.04:kim2-6/+6
Changes since 6.24.03: 13. V6.24.04 - 2022-12-03 12. Fix a test to match output from old bash versions (Corinna Vinschen)
2022-12-03{,standalone-,static-}tcsh: Update to 6.24.03:kim2-7/+7
Changes since 6.24.02: 11. V6.24.03 - 20221203 10. Fix set/@ test when diff is from busybox (Luke Mewburn) 9. Handle \c in echo properly instead of printing garbage past the end of the string. 8. Add a configure check for a working sbrk() (Luke Mewburn)
2022-11-30shells/nushell: add update warningpin1-1/+3
2022-11-25bash: properly install shared objects; pkglint fixesadam6-9/+25
2022-11-25Update shells/bash from 5.2.9 to 5.2.12 by adding the latest 3 patches.kre2-4/+14
These 3 new patches fix the following bugs: Patch 10: Bash-5.2 checkr the first 128 characters of an executable file that execve() refuses to execute to see whether it's a binary file before trying to execute it as a shell script. This defeats some previously-supported use cases like "self-executing" jar files or "self-uncompressing" scripts. Patch 11: Using timeouts and readline editing with the `read' builtin (read -e -t) can leave the readline timeout enabled, potentially resulting in an erroneous timeout on the next call. Patch 12: When running in bash compatibility mode, nested command substitutions can leave the `extglob' option enabled.
2022-11-23{,standalone-,static-}tcsh: Update to 6.24.02:kim3-8/+7
Changes since 6.24.01: 7. V6.24.02 - 20221124 6. Complete mdoc-based manual page (Luke Mewburn) 5. Fix rechist() check for NULL filename (broke when arg was renamed). > cd > rm .history > unset savehist > history -S /tmp/s > exit A ~/.history has been written when it should not have been. 4. Make OpenBSD use SHORT_STRINGS and fix non-SHORT_STRINGS compilation.
2022-11-10shells/nushell: update to 0.71.0pin3-99/+71
- New ++ operator (merelymyself) In this release, you can now use the ++ operator to append lists together. For example, you can combine two lists into a new lists made up of the both lists. Note: Currently, this operator cannot be used to join two tables. This functionality is still being worked on and will likely be present in the next version. - Improved consistency across commands and types Nushell continues improve quality of the language and shell with a set of consistency improvements in this release. These include: - More iterating filter commands now support the $in variable consistently (webbedspace) - Lists now support upsert (fdncred) - merge can now also operate on records (webbedspace) - str substring can take ranges (rgwood) - from and to now show help info (rgwood) - Right prompts can now be on the last line (nibon7) Previously the right prompt appeared only on the same line where the user input started. Now you can choose to place the right prompt part on the last line of user input. This feature is not enabled by default, you can enable it using the config nu command to modify the config.nu file, just set render_right_prompt_on_last_line to true. - Configuring the default value viewer via display_output hook (perbothner) You're now able to configure a new hook, called display_output, which will become the default way that you view data. Using this, you can for example, use table --expand to always see fully expanded tables. If your terminal supports it, you can this to render a more full-featured output. For example, DomTerm could be used by setting the display_output hook to: to html --partial --no-color | domterm hcat, sending html to the terminal to be rendered when displaying values. - Updated PR Review Process Recently, we have been fortunate to see a rise in submitted pull requests and we are super grateful for this growing desire to improve Nushell. Unfortunately, in some cases, a well-intended PR does not match the direction Nushell is going, forcing us to close it which leads to wasted time and effort. To help focus PRs in the future, we kindly ask potential contributors to first reach out to us before making a substantial change to Nushell, especially if the change will affect user experience. We updated our contributing guide as well as the PR template to reflect this policy. - Completion actions now more familiar (dandavison) We've also recently improved how completions work in Nushell to feel closer to how other shells work. Specifically: - Completion goes "as far as possible". So, the entire word if there's a unique completion, or else up to the shared prefix of possible completions. - Removes the quick completion behavior whereby a word was completed automatically as soon as the input came to have a unique completion. - Tab now completes instead of selecting the next menu item (this can be configured) - Breaking changes - New --force (-f) flag for the mv command. This change alters mv default behavior. By default overwriting existing files is now prevented (You can use alias mv = mv -f in you config to get the old defaults back). (#6904) - The column name for the command name in $nu.scope.commands has been changed from command to name. Thus, $nu.scope.commands | where name =~ zip would give you specific command info. (#7007) - The str distance command now directly returns an Int instead of a record {"distance": <Int>} (#6963) - The argument order of format filesize was made consistent with other commands that accept a CellPath to specify fields that should be affected by it. Now the string specifying the format is the first positional argument and the cell path is specified in the following positional argument(s). (#6879) - The --perf flag for Nu was removed as part of an effort to simplify diagnostics logging #6834
2022-11-09shells/ksh93: fix broken buildpin2-4/+4
2022-11-08Updated to bash 5.2 patch 9 (5.2.9) (from 5.2.2)kre2-4/+26
The patches fix the following bugs: Patch 3: Command substitutions need to preserve newlines instead of replacing them with semicolons Patch 4: Bash needs to keep better track of nested brace expansions to avoid problems with quoting and POSIX semantics. Patch 5: Null pattern substitution replacement strings can cause a crash Patch 6: In interactive shells, interrupting the shell while entering a command substitution can inhibit alias expansion. Patch 7: Several problems with alias expansion inside command substitutions when in POSIX mode Patch 8: Array subscript expansion can inappropriately quote brackets if the expression contains < or >. Patch 9: Bash arithmetic expansion should allow `@' and `*' to be used as associative array keys in expressions.
2022-11-06zsh: add candidate upstream patch for bg/fg issue with shell functionswiz3-3/+74
Bump PKGREVISION.
2022-11-05Add yashpin1-1/+2
2022-11-05shells/yash: import pkgpin5-0/+292
Yash, yet another shell, is a POSIX-compliant command line shell written in C99 (ISO/IEC 9899:1999). Yash is intended to be the most POSIX - compliant shell in the world while supporting features for daily interactive and scripting use. Notable features are: - Global aliases - Arrays - Socket redirection, pipeline redirection, and process redirection - Brace expansion and extended globbing - Fractional numbers in arithmetic expansion - Prompt command and command-not-found handler - Command line completion with predefined completion scripts for more than 100 commands - Command line prediction based on command history By Paolo Vincenzo Olivo in wip
2022-11-05ksh93: update to 1.0.4.pin2-7/+7
Main changes between 1.0.3 and 1.0.4: - Fixed multiple scoping-related bugs in the += additive assignment operator. - A number of crashing bugs have been fixed. - Various fixes for the Haiku operating system, notably 'ulimit -a' now works. - Fixed the expansion of out-of-range \n back references in the string part of ${parameter//pattern/string}. For example: v=AB; echo "${v/@(A)B/\0:\1:\2}" now yields 'AB:A:' instead of 'AB:A:\2'. - Fixed quoted '!', '^' and '-' within [bracket] expressions in glob patterns; single or double quotes failed to disable their operator behaviour. - Fixed a bug introduced on 2021-04-04 that incorrectly allowed 'typeset' to turn off the readonly and export attributes on a readonly variable. - In the emacs line editor, the Ctrl+R reverse-search prompt is now visually distinct from a literal control character ("^R: " instead of "^R"). - In the vi line editor, fixed the behaviour of 'C', 'c$' and 'I' to be consistent with standard vi(1) and with Bolsky & Korn (1995, p. 121). - Aliases for many GNU long options have been added to the /opt/ast/bin built-in commands. Additionally, 'kill -s' now has a --signal long option alias compatible with the util-linux option. - Backported support for 'print -u p' from ksh 93v- for compatibility with scripts written for 93v-/ksh2020 (this is equivalent to 'print -p').
2022-11-02Revbump all Go packages after go119 security updatebsiegert1-2/+2
2022-10-19shells/nushell: update to 0.70.0pin3-560/+544
Themes of this release: - New table flags --expand: changes a standard table view; expand the table structure so internally all data will be displayed as inner tables - NOTICE The expand mode can be considered generally slower than a base table view. So, if you have a large data set it may be slow. --expand-deep {int}: set a limit after which table enlargement is stopped --flatten: an --expand view option to return a set of values instead of table for a simple lists --flatten-separator {char}: a configuration of a separator for --flatten --collapse: changes a standard table view; expand the table structure in a squashed way - NOTICE collapse mode currently doesn't support width control, therefore if your terminal is not wide enough the table might be broken. The collapse mode can be considered generally slower than a base table view. So, if you have a large data set it may be slow. - Breaking changes The command first 1 now returns a list with the single value rather than the value itself. This brings it in line with the behaviour of last 1. The dataframe command with-sql or query dfr has been renamed to query df for consistency. - Next Steps We're continuing to work on language updates and hope to have more information for you soon.
2022-10-15shells/starship: update to 1.11.0pin3-295/+331
1.11.0 (2022-10-14) Features add user-defined color palette (#4209) (d93074d) fish: Enable left and right transience (#4204) (06281c2) module: Add a meson devenv indicator (#4389) (355800f) schema: deny unknown keys (#4270) (b5d3d8f) status: Support formatting of pipestatus separator (#4264) (6e35dfa) Bug Fixes buf: fix spacing & harmonize docs with actual configuration (#4450) (3d45236) directory: don't strip duplicate directory names twice (#4295) (801fbab) pwsh: avoid potential deadlock in init (#4335) (fd55397) Performance Improvements directory: Skip repo resolution if unused by directory config (#4401) (227ec32)
2022-10-15Revert "Sprinkle MAKE_JOB_SAFE=no"rin1-3/+1
I can no longer reproduce the build failures with parallel make on freshly installed system. Sorry for disturbing you.
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