Commit graph

1066 commits

Author SHA1 Message Date
rillig
b686dd9180 all: migrate several HOMEPAGEs to https
pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
2020-01-18 23:30:43 +00:00
wiz
53d4ce2e1b zsh-autosuggestions: update to 0.6.4.
## v0.6.4
- Fix `vi-forward-char` triggering a bell when using it to accept a suggestion (#488)
- New configuration option to skip completion suggestions when buffer matches a pattern (#487)
- New configuration option to ignore history entries matching a pattern (#456)
2020-01-14 22:51:08 +00:00
micha
324a9f891a shells/pbosh: Update to 20191205
Based on Schily Tools Release 2019-12-05.

AN-2019-11-11:
-   libschily: the new functions wcastoi wcastol wcastolb that have been
    added with the previous release have been forgotten in the linker map
    file.

AN-2019-12-05:
-   include/schily/stdio.h: We no longer define getc_unlocked() on Solaris
    in case that it is defined already. This was needed since Oracle
    Solaris 11.4 compiles 64 bit by default and made stdio less opaque
    than before - this result in the same bahavior as for 32 bit programs.
    This means, we no longer need to use tricks to get fast access to
    stdio.

    Thanks to Rolf Dietze for reporting.

-   libschily: the function getargs() and similar (from the option parser
    group) fixed a bug that prevented the usability of the official method
    to include the char '+' inside option names by quoting the character
    in the option name used in the format string.

    This bug has been fixed in order to be able to support "star -dump+ ..."

-   libshedit: because of the changes in Oracle Solaris 11.4, we need to
    #undef FAST_GETC_PUTC in order to avoid to use getc_unlocked().

    Thanks to Rolf Dietze for reporting.

-   Bourne Shell/bsh: */hashcmd.c did not handle a malloc()ed string
    correctly and could cause a memory leak with hash commands that
    do not add new aliases.

    We now create a copy using make()/makestr() before calling ab_push()
    or ab_insert() and always free "name" at the end of the function
    hashcmd()

-   Bourne Shell: The man page now documents that the command

        "set -o hashcmds"

    inside the file $HOME/.shrc makes a # on the fist column of that
    file and followed by a non-space character, no longer a comment..
    It is thus recommended to have "set -o hashcmds" close to the.
    bottom of the file $HOME/.shrc
2020-01-10 12:45:00 +00:00
micha
ca7cbf6494 shells/bosh: Update to 20191205
Based on Schily Tools Release 2019-12-05.

AN-2019-11-11:
-   libschily: the new functions wcastoi wcastol wcastolb that have been
    added with the previous release have been forgotten in the linker map
    file.

AN-2019-12-05:
-   include/schily/stdio.h: We no longer define getc_unlocked() on Solaris
    in case that it is defined already. This was needed since Oracle
    Solaris 11.4 compiles 64 bit by default and made stdio less opaque
    than before - this result in the same bahavior as for 32 bit programs.
    This means, we no longer need to use tricks to get fast access to
    stdio.

    Thanks to Rolf Dietze for reporting.

-   libschily: the function getargs() and similar (from the option parser
    group) fixed a bug that prevented the usability of the official method
    to include the char '+' inside option names by quoting the character
    in the option name used in the format string.

    This bug has been fixed in order to be able to support "star -dump+ ..."

-   libshedit: because of the changes in Oracle Solaris 11.4, we need to
    #undef FAST_GETC_PUTC in order to avoid to use getc_unlocked().

    Thanks to Rolf Dietze for reporting.

-   Bourne Shell/bsh: */hashcmd.c did not handle a malloc()ed string
    correctly and could cause a memory leak with hash commands that
    do not add new aliases.

    We now create a copy using make()/makestr() before calling ab_push()
    or ab_insert() and always free "name" at the end of the function
    hashcmd()

-   Bourne Shell: The man page now documents that the command

        "set -o hashcmds"

    inside the file $HOME/.shrc makes a # on the fist column of that
    file and followed by a non-space character, no longer a comment..
    It is thus recommended to have "set -o hashcmds" close to the.
    bottom of the file $HOME/.shrc
2020-01-10 12:38:22 +00:00
leot
1032db2f8b {,standalone-,static-}tcsh: Update to 6.22.02
Changes:
6.22.02 - 20191204
------------------
Fix version in configure.ac

6.22.01 - 20191201
------------------
undo PR/88: Preserve empty arguments in :q, since it breaks
        $ set x=""
        $ alias test "echo "\""$x:q"\"" is working."
        $ alias test
        echo "
2019-12-08 22:08:55 +00:00
leot
63f55a0c6c {standalone-,static-,}tcsh: Update to 6.22.00
pkgsrc changes:
 - Remove no longer needed patches (both backport from upstream to 6.21.00)

Changes:
V6.22.00 - 20191128
-------------------
 - PR/113: Sobomax: avoid infinite loops for -c commands when stdout is
   not a tty.
 - Avoid infinite loops during history loads when merging, print a better
   error for errors during history load.
 - PR/88: Preserve empty arguments in :q
 - PR/94: Small apple issues (SAVESIGVEC, HOSTTYPE)
 - PR/81: Fix range matching issue where we were comparing with the
   range character instead of the start of range. [l-z]* would match foo
2019-11-28 20:46:39 +00:00
wiz
b38336c2f3 zsh-autosuggestions: update to 0.6.3.
## v0.6.3
- Fixed bug moving cursor to end of buffer after accepting suggestion (#453)

## v0.6.2
- Fixed bug deleting the last character in the buffer in vi mode (#450)
- Degrade gracefully when user doesn't have `zsh/system` module installed (#447)

## v0.6.1
- Fixed bug occurring when `_complete` had been aliased (#443)

## v0.6.0
- Added `completion` suggestion strategy powered by completion system (#111)
- Allow setting `ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE` to an empty string (#422)
- Don't fetch suggestions after copy-earlier-word (#439)
- Allow users to unignore zle-\* widgets (e.g. zle-line-init) (#432)
2019-11-13 15:24:25 +00:00
ng0
d7421a980d Add shells/guile-gash version 0.1
Gash is a POSIX-compatible shell written in Guile Scheme.  It provides
both the shell interface, as well as a Guile library for parsing shell
scripts.  Gash is designed to bootstrap Bash as part of the Guix
bootstrap process. There are plans to develop Gash into a
general-purpose shell and tool for building interfaces between Scheme
and the shell.

Features of the shell
* Sophisticated enough to be used to build Bash.
* Has a nice colorized prompt.
* Includes all of the POSIX-specified "special" built-ins except for
  `times'.
* Includes about half of the POSIX-specified "regular" built-ins
  (see `gash/built-ins.scm' for details).

Features of the programming interface
* Parses Shell scripts into an AST.
* Provides a rudimentary interface for writing Shell-like Scheme
  scripts.
2019-11-13 10:04:19 +00:00
nia
fe91422f8f fish: Update to 3.0.2
# fish 3.0.2 (released February 19, 2019)

This release of fish fixes an issue discovered in fish 3.0.1.

### Fixes and improvements

- The PWD environment variable is now ignored if it does not resolve to the true working directory, fixing strange behaviour in terminals started by editors and IDEs (#5647).

If you are upgrading from version 2.7.1 or before, please also review the release notes for 3.0.1, 3.0.0 and 3.0b1 (included below).

---

# fish 3.0.1 (released February 11, 2019)

This release of fish fixes a number of major issues discovered in fish 3.0.0.

### Fixes and improvements

- `exec` does not complain about running foreground jobs when called (#5449).
- while loops now evaluate to the last executed command in the loop body (or zero if the body was empty), matching POSIX semantics (#4982).
- `read --silent` no longer echoes to the tty when run from a non-interactive script (#5519).
- On macOS, path entries with spaces in `/etc/paths` and `/etc/paths.d` now correctly set path entries with spaces. Likewise, `MANPATH` is correctly set from `/etc/manpaths` and `/etc/manpaths.d` (#5481).
- fish starts correctly under Cygwin/MSYS2 (#5426).
- The `pager-toggle-search` binding (Ctrl-S by default) will now activate the search field, even when the pager is not focused.
- The error when a command is not found is now printed a single time, instead of once per argument (#5588).
- Fixes and improvements to the git completions, including printing correct paths with older git versions, fuzzy matching again, reducing unnecessary offers of root paths (starting with `:/`) (#5578, #5574, #5476), and ignoring shell aliases, so enterprising users can set up the wrapping command (via `set -g __fish_git_alias_$command $whatitwraps`) (#5412).
- Significant performance improvements to core shell functions (#5447) and to the `kill` completions (#5541).
- Starting in symbolically-linked working directories works correctly (#5525).
- The default `fish_title` function no longer contains extra spaces (#5517).
- The `nim` prompt now works correctly when chosen in the Web-based configuration (#5490).
- `string` now prints help to stdout, like other builtins (#5495).
- Killing the terminal while fish is in vi normal mode will no longer send it spinning and eating CPU. (#5528)
- A number of crashes have been fixed (#5550, #5548, #5479, #5453).
- Improvements to the documentation and certain completions.

### Known issues

There is one significant known issue that was not corrected before the release:

- fish does not run correctly under Windows Services for Linux before Windows 10 version 1809/17763, and the message warning of this may not be displayed (#5619).

If you are upgrading from version 2.7.1 or before, please also review the release notes for 3.0.0 and 3.0b1 (included below).
2019-11-09 12:02:29 +00:00
micha
8e75b81660 shells/pbosh: Update to 20191025
Based on schilytools release from 2019-10-25.


Changelog
=========
- include/schily/wchar.h: Some fallback definitions for
  mbsinit() mbrtowc() wcrtomb() have been moved to make them always
  visible and not only in case that <wchar.h> exists.

- include/schily/wchar.h: Before, we checked for HAVE_ISWPRINT to catch
  the HP-UX-10.20 case where wchar_t is in stdlib.h. Now we check
  (SIZEOF_WCHAR == 0 || SIZEOF_WCHAR_T == 0) as this works on Ultrix as
  well.

- libgetopt: The getopt() function now supports options in the form:

     +o, ++long-option or +long-option

  if the optstring starts with a '+'. A new exported variable
  "optflags" has the bit "OPT_PLUS" set, in case that an actual option
  starts with '+'.

  If more than one of the flag characters ':', '+' or "()" are used,
  "()" must be last.

- Bourne Shell: The testsuite no longer tries to check ISO-8859-1 strings
  as we cannot set this up reliably on all platforms and as Mac OS does
  not allow to create the related filenames.

- Bourne Shell: The getopts(1) builtin command now supports options in.
  the form:

     +o, ++long-option or +long-option

  if the optstring starts with a '+'. The shell variable "$NAME" has
  a leading '+' in case that an actual option starts with '+'.

  Note that this makes getopts(1) in the Bourne Shell compatible at
  shell script level to the extensions in the getopts(1) implementation
  in ksh93 for:

     -o/+o   Short options with either a leading - or +

     --long  GNU style long options as aliases to short -o options

     ++long  GNU style long options as aliases to short +o options

  Our enhancements to support:

     -long   UNIX style long options as aliases to short -o options

     +long   UNIX style long options as aliases to short +o options

     -       Long options the have no related short option

  Are not supported by ksh93.
2019-11-08 14:26:13 +00:00
micha
9de017e999 shells/bosh: Update to 20191025
Based on schilytools release from 2019-10-25.


Changelog
=========
- include/schily/wchar.h: Some fallback definitions for
  mbsinit() mbrtowc() wcrtomb() have been moved to make them always
  visible and not only in case that <wchar.h> exists.

- include/schily/wchar.h: Before, we checked for HAVE_ISWPRINT to catch
  the HP-UX-10.20 case where wchar_t is in stdlib.h. Now we check
  (SIZEOF_WCHAR == 0 || SIZEOF_WCHAR_T == 0) as this works on Ultrix as
  well.

- libgetopt: The getopt() function now supports options in the form:

     +o, ++long-option or +long-option

  if the optstring starts with a '+'. A new exported variable
  "optflags" has the bit "OPT_PLUS" set, in case that an actual option
  starts with '+'.

  If more than one of the flag characters ':', '+' or "()" are used,
  "()" must be last.

- Bourne Shell: The testsuite no longer tries to check ISO-8859-1 strings
  as we cannot set this up reliably on all platforms and as Mac OS does
  not allow to create the related filenames.

- Bourne Shell: The getopts(1) builtin command now supports options in.
  the form:

     +o, ++long-option or +long-option

  if the optstring starts with a '+'. The shell variable "$NAME" has
  a leading '+' in case that an actual option starts with '+'.

  Note that this makes getopts(1) in the Bourne Shell compatible at
  shell script level to the extensions in the getopts(1) implementation
  in ksh93 for:

     -o/+o   Short options with either a leading - or +

     --long  GNU style long options as aliases to short -o options

     ++long  GNU style long options as aliases to short +o options

  Our enhancements to support:

     -long   UNIX style long options as aliases to short -o options

     +long   UNIX style long options as aliases to short +o options

     -       Long options the have no related short option

  Are not supported by ksh93.
2019-11-08 14:22:56 +00:00
rillig
9bad799619 shells: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-04 21:14:06 +00:00
triaxx
319c1ff6ab bash: make nls option enabled by default 2019-10-25 12:36:50 +00:00
micha
694dd86b98 shells/pbosh: Update to 20191007
Based on SchilyTools Release from 2019-10-07.

Changelog
=========
- configure: Some shells report a syntax error with "< file (cmd)"
  and need the redirection statement to be *after* the command. Our
  changes to support the V7 shell by adding round braces caused ash
  variants like "dash" to fail.

  Thanks to Harald van Dijk for reporting

- cont/cc-config.sh: canged some :>some-file statements into
  (:)>some-file. they have meen missed when introducing work arounds
  for the V7 Shell on Ultrix that does not support I/O redirection
  for builtin commands.

  Thanks to Robert Clausecker for reporting

- libschily/comerr.c: If the environment COMERR_EXCODE has been set to
 a value that starts with '0', the normal exit code mapping is switched
 off, but all potential exit code values != 0 that follow the rule

     (excode % 256) == 0

  are mapped to -64. This helps to avoid unexpected behavior with
  historic shells that still use the old waitpid() and modern
  shells (using waitid() but in a backward compatible default mode)
  where a program that terminates with

     exit(256);

  is evaluated in conditional statements as if the exit code was 0.

- Bourne Shell: Missing Makefile.dot added.

- Bourne Shell / bsh / ved: The dotdiles TAR archives are now again named
  */dotfiles.tar.bz2 as the change in the previous release caused
  problems.

  Thanks for Gabriele Balducci balducci@units.it and Robert Clausecker
  for reporting

- Bourne Shell: Cstyle changes (long lines removed) in io.c & expand.c

- Bourne Shell: Fixed a bug that prevented to forward the special exit
  cause (NOTFOUND or NOEXEC) to the vfork() parent process via.
  struct siginfo.si_code in some cases. These values are added beyond
  the POSIX CLD_* values in siginfo.si_code from the POSIX standard.
  They are passed back from the vfork()ed child to the parent via the
  shared memory from the vfork() implementation.

- Bourne Shell: introduced shared memory to be able to forward the
  special exit cause (NOTFOUND or NOEXEC) to the parent even in case it
  used fork() instead of vfork().

- Bourne Shell: Added support for a new automatic parameter "$/" to
  complement the existing parameter "$?".

  This is a result from a discussion in a POSIX teleconference from
  April 2016.

  This new parameter returns *decimal numbers* for a normal command
  termination and *text* for abnormal command termination:

  number<>Exit code from normal termination. This is a signed 32 bit
     value from the exit() parameter on POSIX systems and a 8 bit
     value on pre-POSIX systems like Linux.

  signame>A signal name (see kill -l) if the command has been terminated
     by a signal. This is the signal name with the leading "SIG"
     stripped off.

  NOEXEC<>The command was found but could not be executed, e.g. as
     a result of missing permissions or because the name points
     to a directory.

  NOTFOUND The command could not be found.

  Note that currently, the strings "NOEXEC" and "NOTFOUND" are passed
  back reliably from vfork(2) childs or when the related state is already
  known by the cache. In other cases, the reliability of $/ with respect
  to "NOEXEC" and "NOTFOUND" has not yet been verified. It thus may
  return 126 or 127 as with $?. The string values "NOEXEC" and "NOTFOUND"
  cannot be passed back from a subshell, using only the waitid()
  mechanism. To circumvent that problem, from fork()ed subshells,.
  shared memory or non-fork()ed virtual subshells would work.

  If you detect a complex command where you get 126 or 127 instead of
  the exoected "NOEXEC" or "NOTFOUND", please send a report.

  We for now choose to use shared memory as this is easier to implement.
  Later versions will mosy likely implement virtual fork()less
  subshells.

- Bourne Shell: minor Cstyle changes on word.c and macro.c

- Bourne Shell: New version date
2019-10-24 17:08:02 +00:00
micha
7f4ab48e7c shells/bosh: Update to 20191007
Based on SchilyTools Release from 2019-10-07.

Changelog
=========
- configure: Some shells report a syntax error with "< file (cmd)"
  and need the redirection statement to be *after* the command. Our
  changes to support the V7 shell by adding round braces caused ash
  variants like "dash" to fail.

  Thanks to Harald van Dijk for reporting

- cont/cc-config.sh: canged some :>some-file statements into
  (:)>some-file. they have meen missed when introducing work arounds
  for the V7 Shell on Ultrix that does not support I/O redirection
  for builtin commands.

  Thanks to Robert Clausecker for reporting

- libschily/comerr.c: If the environment COMERR_EXCODE has been set to
 a value that starts with '0', the normal exit code mapping is switched
 off, but all potential exit code values != 0 that follow the rule

     (excode % 256) == 0

  are mapped to -64. This helps to avoid unexpected behavior with
  historic shells that still use the old waitpid() and modern
  shells (using waitid() but in a backward compatible default mode)
  where a program that terminates with

     exit(256);

  is evaluated in conditional statements as if the exit code was 0.

- Bourne Shell: Missing Makefile.dot added.

- Bourne Shell / bsh / ved: The dotdiles TAR archives are now again named
  */dotfiles.tar.bz2 as the change in the previous release caused
  problems.

  Thanks for Gabriele Balducci balducci@units.it and Robert Clausecker
  for reporting

- Bourne Shell: Cstyle changes (long lines removed) in io.c & expand.c

- Bourne Shell: Fixed a bug that prevented to forward the special exit
  cause (NOTFOUND or NOEXEC) to the vfork() parent process via.
  struct siginfo.si_code in some cases. These values are added beyond
  the POSIX CLD_* values in siginfo.si_code from the POSIX standard.
  They are passed back from the vfork()ed child to the parent via the
  shared memory from the vfork() implementation.

- Bourne Shell: introduced shared memory to be able to forward the
  special exit cause (NOTFOUND or NOEXEC) to the parent even in case it
  used fork() instead of vfork().

- Bourne Shell: Added support for a new automatic parameter "$/" to
  complement the existing parameter "$?".

  This is a result from a discussion in a POSIX teleconference from
  April 2016.

  This new parameter returns *decimal numbers* for a normal command
  termination and *text* for abnormal command termination:

  number<>Exit code from normal termination. This is a signed 32 bit
     value from the exit() parameter on POSIX systems and a 8 bit
     value on pre-POSIX systems like Linux.

  signame>A signal name (see kill -l) if the command has been terminated
     by a signal. This is the signal name with the leading "SIG"
     stripped off.

  NOEXEC<>The command was found but could not be executed, e.g. as
     a result of missing permissions or because the name points
     to a directory.

  NOTFOUND The command could not be found.

  Note that currently, the strings "NOEXEC" and "NOTFOUND" are passed
  back reliably from vfork(2) childs or when the related state is already
  known by the cache. In other cases, the reliability of $/ with respect
  to "NOEXEC" and "NOTFOUND" has not yet been verified. It thus may
  return 126 or 127 as with $?. The string values "NOEXEC" and "NOTFOUND"
  cannot be passed back from a subshell, using only the waitid()
  mechanism. To circumvent that problem, from fork()ed subshells,.
  shared memory or non-fork()ed virtual subshells would work.

  If you detect a complex command where you get 126 or 127 instead of
  the exoected "NOEXEC" or "NOTFOUND", please send a report.

  We for now choose to use shared memory as this is easier to implement.
  Later versions will mosy likely implement virtual fork()less
  subshells.

- Bourne Shell: minor Cstyle changes on word.c and macro.c

- Bourne Shell: New version date
2019-10-24 17:03:35 +00:00
triaxx
5e460f3ddd bash: bump revision 2019-10-24 12:21:39 +00:00
triaxx
f06a1a967d bash: add missing options.mk 2019-10-24 11:53:13 +00:00
triaxx
7d607ed6c3 bash: make nls support optional
pkgsrc changes:
  - remove broken static option
  - add nls option (disable by default)
  - change LOCALBASE to PREFIX (appease pkglint)
2019-10-24 11:52:30 +00:00
rillig
ccace30e3a shells/bash2-doc: fix location of HTML documentation 2019-10-12 20:51:48 +00:00
micha
54304ce57b pbosh: Switch to latest distfile.
Changelog
=========

Release 2019-03-29:
- Bourne Shell: local(1), export(1) and readonly(1) now all support to.
  expand the '~' character in environment variables like e.g. PATH.

- Bourne Shell: Added unit tests for the tilde expansion and the related
  changes.

Release 2019-04-29:
- libshedit/bsh/Bourne Shell: The TAB file name expansion now uses a new
  expansion funtion that is not based on pattern matching but on strstr()
  and thus is no longer fooled by file names that contain pattern matching
  meta characters.

- Bourne Shell: "trap -- ..." now correctly handles "--" even if the next
  argument is "-".

- Bourne Shell: trap now supports a new option -p that allows to restore
  the whole trap state using the following commands:

     old_traps=$(trap -p)
     trap "some commands" INT QUIT
     ...
     eval "$old_traps"

  This is possible because "trap -p" outputs the state for all signals
  and not only for those signals that are not in the default state.

  The new trap interfase was agreed on in the 2019-04-11 POSIX
  teleconference.

  Bourne Shell: The exception for "while true; do date; done | uniq -c"
  in job control handling that has been introduced in November 2015 has
  been refined to prevent it from causing "(bosh)" to stop from SIGTTIN.

  Thanks to Robert Elz <kre@munnari.OZ.AU> for reporting.

- Bourne Shell: A new #define JOB_DEBUG has been added.

- Bourne Shell: The command:

     (trap '' SEGV; $SHELL -c 'kill -s SEGV $$; echo survived')

  caused the shell not to print "survived" because a previous exception
  for SIGSEGV from the 1977 Bourne Shell version had not been removed
  for the POSIX variant of the shell. The problem occured because it
  was possible to unignore an ignored (at startup) SIGSEGV.

  Thanks to Robert Elz <kre@munnari.OZ.AU> for reporting.

- Bourne Shell: The code now uses SIG2STR_MAX for the size of the
  sig2str() output buffer.

- Bourne Shell: the behavior related to SIGINT on the command line
  in the case that the history editor is enabled has been changed to
  match the behavior of ksh. The Bourne Shell now calls trap commands
  for SIGINT when ^C is typed on the command line.

  Note that the classical Bourne Shell behavior (which is still active
  in case the history editor has been disabled via "set +o ved") is that
  the trap command is called after ^C is followed by a CR if both are
  typed on a PS1 prompt.

  Note: The behavior for "trap" in this area is currently not specified
  in POSIX.

- Bourne Shell: After jobcontrol has been introduced into the Bourne
  Shell: When in jobcontrol mode, the shell could no longer get
  signals at the same time as foreground jobs because when using
  jobcontrol, the shell is in a different process group than the
  foreground job.

  The Bourne Shell now derives the information about a delivered signal
  from the waitid() return data and thus is now able to work the same
  way as it has been designed in 1977. This is the same way as ksh works.

  If a foreground program catches such signals, the shell is still not
  able to detect the signal, but it is now closer to the original
  behavior from 1977.

- Bourne Shell: new version date 2019-04-17

Release 2019-05-28:
- Bourne Shell: Similar to what ksh88 does, scripts are now checked
  before they are run. If there is a nul byte before a newline
  in the first 256 bytes, a file is rejected as alien binary
  instead of trying to interpret it as a script.

Release 2019-06-13:
- Bourne Shell: A new option "set -o globskipdot" has been added.
  If set, the entries "."  and ".." are skipped and not shown in globbing
  results. If not set, the entries "."  and ".." are always returned,
  even when they are not part of the readdir(3) results.

- Bourne Shell: The option "set -o globskipdot" has been made the
  new dfault behavior for "bosh", but not for "pbosh"

  Note that this new shell option has been introduced as a result
  of a related BUG discussion in the Austin Group telephone conference.
  The background is to permit shell scripts to check whether a shell
  grants to hide the "."  and ".." for all filesystems.

Release 2019-07-15:
- Bourne Shell: If OPTIND is set to a new value, the getopt() internal
  variable "_sp" is now reset to 1. This is needed in order to make sure
  that a combined option string can be parsed correctly.

- Bourne Shell/libshedit/bsh: The TAB expander now again gives .. as a.
  result if the pattern is ..

  This is needed in order to let ..TAB result in ../ on the command
  line editor.

Release 2019-09-22:
- Bourne Shell: The new function isbinary() that has been introduced
  in May and that should prevent the shell from interpreting binary
  files as shell scripts had a problem:

  In case that a disconnected TCP/IP based remote login caused a SIGTERM
  followed by the read() function on stdin returning EIO, the shell
  could go into a complex endless loop as the failing read() with
  "trapnote" set caused a longjmp() before the next prompt without first
  clearing "trapnote". As a result, the shell did hang endlessly around
  while just consuming CPU time.

  The shell now avoids to call the read() routine inside isbinary()
  when "trapnote" is set and this way is able to avoid the longjmp() on
  error.

- Bourne Shell: Fixed some typos in comment

  Thanks to Robert Clausecker for reporting

- Bourne Shell: print.c: Changed err++ for a BOOL typed variable
  into err = TRUE.

  Thanks to Robert Clausecker for reporting

- Bourne Shell, with obosh compilation type: Avoid an "unused" warning
  with word.c

- Bourne Shell: defs.h now includes an "extern int optopt;" in order
  to support Ultrix where this delcaration is missing in unistd.h.

  Thanks to Robert Clausecker for reporting

- bsh/Bourne Shell: test.c Now using a

     #if defined(S_IFPORT) && S_IFPORT != S_IFIFO

  to work around a strange definition on Ultrix

  Thanks to Robert Clausecker for reporting

- Bourne Shell: New version date
2019-10-04 14:07:54 +00:00
micha
a487949e58 bosh: Switch to latest distfile.
Changelog
=========

Release 2019-03-29:
- Bourne Shell: local(1), export(1) and readonly(1) now all support to.
  expand the '~' character in environment variables like e.g. PATH.

- Bourne Shell: Added unit tests for the tilde expansion and the related
  changes.

Release 2019-04-29:
- libshedit/bsh/Bourne Shell: The TAB file name expansion now uses a new
  expansion funtion that is not based on pattern matching but on strstr()
  and thus is no longer fooled by file names that contain pattern matching
  meta characters.

- Bourne Shell: "trap -- ..." now correctly handles "--" even if the next
  argument is "-".

- Bourne Shell: trap now supports a new option -p that allows to restore
  the whole trap state using the following commands:

     old_traps=$(trap -p)
     trap "some commands" INT QUIT
     ...
     eval "$old_traps"

  This is possible because "trap -p" outputs the state for all signals
  and not only for those signals that are not in the default state.

  The new trap interfase was agreed on in the 2019-04-11 POSIX
  teleconference.

  Bourne Shell: The exception for "while true; do date; done | uniq -c"
  in job control handling that has been introduced in November 2015 has
  been refined to prevent it from causing "(bosh)" to stop from SIGTTIN.

  Thanks to Robert Elz <kre@munnari.OZ.AU> for reporting.

- Bourne Shell: A new #define JOB_DEBUG has been added.

- Bourne Shell: The command:

     (trap '' SEGV; $SHELL -c 'kill -s SEGV $$; echo survived')

  caused the shell not to print "survived" because a previous exception
  for SIGSEGV from the 1977 Bourne Shell version had not been removed
  for the POSIX variant of the shell. The problem occured because it
  was possible to unignore an ignored (at startup) SIGSEGV.

  Thanks to Robert Elz <kre@munnari.OZ.AU> for reporting.

- Bourne Shell: The code now uses SIG2STR_MAX for the size of the
  sig2str() output buffer.

- Bourne Shell: the behavior related to SIGINT on the command line
  in the case that the history editor is enabled has been changed to
  match the behavior of ksh. The Bourne Shell now calls trap commands
  for SIGINT when ^C is typed on the command line.

  Note that the classical Bourne Shell behavior (which is still active
  in case the history editor has been disabled via "set +o ved") is that
  the trap command is called after ^C is followed by a CR if both are
  typed on a PS1 prompt.

  Note: The behavior for "trap" in this area is currently not specified
  in POSIX.

- Bourne Shell: After jobcontrol has been introduced into the Bourne
  Shell: When in jobcontrol mode, the shell could no longer get
  signals at the same time as foreground jobs because when using
  jobcontrol, the shell is in a different process group than the
  foreground job.

  The Bourne Shell now derives the information about a delivered signal
  from the waitid() return data and thus is now able to work the same
  way as it has been designed in 1977. This is the same way as ksh works.

  If a foreground program catches such signals, the shell is still not
  able to detect the signal, but it is now closer to the original
  behavior from 1977.

- Bourne Shell: new version date 2019-04-17

Release 2019-05-28:
- Bourne Shell: Similar to what ksh88 does, scripts are now checked
  before they are run. If there is a nul byte before a newline
  in the first 256 bytes, a file is rejected as alien binary
  instead of trying to interpret it as a script.

Release 2019-06-13:
- Bourne Shell: A new option "set -o globskipdot" has been added.
  If set, the entries "."  and ".." are skipped and not shown in globbing
  results. If not set, the entries "."  and ".." are always returned,
  even when they are not part of the readdir(3) results.

- Bourne Shell: The option "set -o globskipdot" has been made the
  new dfault behavior for "bosh", but not for "pbosh"

  Note that this new shell option has been introduced as a result
  of a related BUG discussion in the Austin Group telephone conference.
  The background is to permit shell scripts to check whether a shell
  grants to hide the "."  and ".." for all filesystems.

Release 2019-07-15:
- Bourne Shell: If OPTIND is set to a new value, the getopt() internal
  variable "_sp" is now reset to 1. This is needed in order to make sure
  that a combined option string can be parsed correctly.

- Bourne Shell/libshedit/bsh: The TAB expander now again gives .. as a.
  result if the pattern is ..

  This is needed in order to let ..TAB result in ../ on the command
  line editor.

Release 2019-09-22:
- Bourne Shell: The new function isbinary() that has been introduced
  in May and that should prevent the shell from interpreting binary
  files as shell scripts had a problem:

  In case that a disconnected TCP/IP based remote login caused a SIGTERM
  followed by the read() function on stdin returning EIO, the shell
  could go into a complex endless loop as the failing read() with
  "trapnote" set caused a longjmp() before the next prompt without first
  clearing "trapnote". As a result, the shell did hang endlessly around
  while just consuming CPU time.

  The shell now avoids to call the read() routine inside isbinary()
  when "trapnote" is set and this way is able to avoid the longjmp() on
  error.

- Bourne Shell: Fixed some typos in comment

  Thanks to Robert Clausecker for reporting

- Bourne Shell: print.c: Changed err++ for a BOOL typed variable
  into err = TRUE.

  Thanks to Robert Clausecker for reporting

- Bourne Shell, with obosh compilation type: Avoid an "unused" warning
  with word.c

- Bourne Shell: defs.h now includes an "extern int optopt;" in order
  to support Ultrix where this delcaration is missing in unistd.h.

  Thanks to Robert Clausecker for reporting

- bsh/Bourne Shell: test.c Now using a

     #if defined(S_IFPORT) && S_IFPORT != S_IFIFO

  to work around a strange definition on Ultrix

  Thanks to Robert Clausecker for reporting

- Bourne Shell: New version date
2019-10-04 14:01:14 +00:00
adam
435af01a8b Changed PYTHON_VERSIONS_INCOMPATIBLE to PYTHON_VERSIONS_ACCEPTED; needed for future Python 3.8 2019-09-02 13:19:35 +00:00
kre
b6bf4e9b94 Include bash patches 10 & 11 (becomes bash-5.0.11)
10: fix var-assigns before special builtins & fn calls in posix mode
11: fixed missing quoted nul removal (in one odd case).

See the patch files (once fetched) for more details of what was altered.
2019-09-01 05:59:21 +00:00
kre
92dfe70bc3 Update to bash 5.0.9 (5.0 patchlevel 9)
patch8: fix potential core dump if HISTSIZE is set to 0
patch9: fix fd leak if history file reading finds empty file
2019-08-15 00:33:44 +00:00
wiz
84e123ddd2 Bump PKGREVISIONs for perl 5.30.0 2019-08-11 13:17:48 +00:00
maya
143ce50d20 oksh: update to 6.5
Note release version goes backwards. Version now follows openbsd version
numbering.

No changes available.
Patched to eliminate compilation warnings on netbsd.
2019-07-24 11:15:41 +00:00
nia
ded6ed00cf Redirect the last few search.cpan.org packages that I missed. 2019-07-01 22:00:09 +00:00
leot
a8465d3308 tcsh: Uncomment HOMEPAGE (now available again) 2019-05-19 00:01:17 +00:00
leot
c1087dace4 tcsh: Add upstream patch to address filename expansion test failures
When $HOME environment variable is set, e.g. in pkgrsc where a fake
homedir is injected, ~ is expanded to $HOME while ~user is expanded
to the passwd(5) home_dir field leading to inconsistency in the test.

No PKGREVISION bump since that change only affects tests.
2019-05-15 09:18:01 +00:00
kim
ee5c78ffdd Update MAINTAINER 2019-05-11 13:48:58 +00:00
leot
b3c11dd9e7 tcsh: Add support for tests 2019-05-09 12:07:45 +00:00
leot
9d3488e9d3 tcsh: Add a newline to make the comment more readable (NFC) 2019-05-09 11:46:21 +00:00
leot
d18ecc5b7c {standalone-,static-,}tcsh: Update to 6.21.00
pkgsrc changes:
 - Add patch-nls_Makefile.in to avoid +x bit in *.cat files
 - Remove no longer needed patches (all applied upstream):
   patch-ed.chared.c, patch-ed.inputl.c, patch-nls-catgen, patch-sh.func.c,
   patch-tw.init.c

Changes:
V6.21.00 - 20190508
-------------------
 - Abort history loading on words and lines too long
     https://bugzilla.redhat.com/show_bug.cgi?id=1598502
 - PR/37: Introduce GetCmdChar() to avoid open coding array access.
   make closem() not close sockets so as not to affect nss_ldap.
     tcsh never creates sockets so that's ok (Miloslav Trmac)
 - PR/597: Make rmstar work with aliased rm
 - convert match() from recursive to backtracking.
 - Handle 8 bit characters in bindkey (Werner Fink)
 - Look for tgetent in libtinfo as well (Werner Fink)
 - Don't play pointer tricks that are undefined in modern c (Brooks Davis)
 - Fix out of bounds read (Brooks Davis)
 - Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar)
 - PR/471: Delay arginp parsing

ok <kim>, thanks!
2019-05-09 11:32:36 +00:00
maya
7820bc7a2f fix some whitespace, mostly introduced in the previous
python 3.4 / 3.5 removal commit.
2019-04-26 14:12:31 +00:00
maya
5901ac0824 Omit mentions of python 34 and 35, after those were removed.
- Includes some whitespace changes, to be handled in a separate commit.
2019-04-26 13:13:41 +00:00
maya
f34a8c24a3 PKGREVISION bump for anything using python without a PYPKGPREFIX.
This is a semi-manual PKGREVISION bump.
2019-04-25 07:32:34 +00:00
kre
c4dab0b901 Update to 5.0.7 - the first 7 patches to bash 5.0
The patches fix:

1. Under certain circumstances, the glob expansion code did not remove
backslashes escaping characters in directory names (or portions of a
pattern preceding a slash).

2. When an alias value ends with an unquoted literal tab (not part of a quoted
string or comment), alias expansion cannot correctly detect the end of the
alias value after expanding it.

3. There are several incompatibilities in how bash-5.0 processes pathname
expansion (globbing) of filename arguments that have backslashes in the
directory portion.

4. In bash-5.0, the `wait' builtin without arguments waits for all children
of the shell. This includes children it `inherited' at shell invocation time.
This patch modifies the behavior to not wait for these inherited children,
some of which might be long-lived.

5. In certain cases, bash optimizes out a fork() call too early and prevents
traps from running.

6. Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
also defining SYSLOG_SHOPT.

7. Running `exec' when job control was disabled, even temporarily, but after it
had been initialized, could leave the terminal in the wrong process group for
the executed process.
2019-04-24 14:04:27 +00:00
wiz
2035b6293f zsh-autosuggestions: update to 0.5.2.
## v0.5.2
- Allow disabling automatic widget re-binding for better performance (#418)
- Fix async suggestions when `SH_WORD_SPLIT` is set
- Refactor async mode to use process substitution instead of zpty (#417)

## v0.5.1
- Speed up widget rebinding (#413)
- Clean up global variable creations (#403)
- Respect user's set options when running original widget (#402)
2019-04-17 10:02:01 +00:00
wiz
9481e16b40 pbosh: update to 20190311.
Update provided by Michael Bäuerle via pksrc-wip.

Changelog
=========

Release 2019-02-18:
- libgetopt: The undocumented variable "_sp" from SVr4 has been renamed
             to "opt_sp" and (on platforms that support "#pragma weak") there
             is a  weak reference _sp to that new variable, giving backwards
             compatibility.

             The reason for doing this is to make sure that people on Illumos
             or Oracle Solaris, who still have an outdated version of getopt()
             in their local libc, do not try to link the Bourne Shell only
             against their old getopt(). If they did this, they would not get
             the documented enhanced getopt() features from the Bourne Shell.

- Bourne Shell: The shell now uses "opt_sp" as the name for the
                undocumented additional getopt() interface from AT&T. This has
                been done to avoid being able to link the Bourne Shell on
                Illumos or Oracle Solaris without using our libgetopt. If this
                was done, we could not support UNIX/MULTICS style long options
                and we could not support -help/--help, since the latter is
                implemented via long options that are not an alias to short
                options.

- Bourne Shell: added a new timestamp to the Bourne Shell version.


Release 2018-11-21:
- Bourne Shell: make it exit the whole shell with set -e after a command
                substitution failed on the right side of a variable assignment
                that has no command. This is required by POSIX.

- Bourne Shell: added a unit tests for the above case.

- Bourne Shell: New version date set to 2018-12-08 the this change.

Release 2019-01-22:
- bsh / Bourne Shell / star: the function hop_dirs() no longer checks
                             for p2 != NULL before calling *p2 = '/' as p2 has
                             been granted to be != NULL from a break with
                             strchr(p, '/') == NULL

                             Thanks to Pavel Raiskup for poiting to a related
                             Coverity message.

- Bourne Shell: Added a missing /* FALLTHROUGH */ comment..

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: added a range check for $OPTIND to tge getopts(1)
                implementation

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Removed a nonsense variable in expand() that caused
                Coverity not to understand that a directory was correctly
                closed()

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Added a paranoia comparison to make Coverity quiet.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: avoid to call catpath() with a NULL pointer for path

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: check the write() return code in io.c

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Added a paranopia check for "test -o" to make Coperity
                quiet.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Added (void) before fcntl() in hope to make Coverity
                quiet.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Removed dead code from readwc()

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Cstyle changes to xec.c

- Bourne Shell: "builtin -d ..." did access free()d memory.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: expand.c: added a check for fd == -1 to avoid calling
                openat() with that fd.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

-Bourne Shell: func.c: added a check for fd == -1 to avoid calling
               read()/close() with that fd.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: jobs.c: enlarged a buffer to be of same size as
                numbuf[] to avoid a potential buffer overflow.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: print.c::prt_cntl() had a very old (AT&T) bug with
                printing byte sequences that get an error with mbtowc() and it
                did not print byte sequences correctly that refer to legal but
                "nonprintable" multi byte characters.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: xec.c: the reserved word "time" could cause to
                access uninitialized memory if the string in $TIMEFORMAT
                contains the format %J

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: xec.c: added a paranoia check on whether
                findnam("funcname") returns NULL even though the existence of
                a function with that name already has been verified via the
                hash service.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

Release 2019-02-18:
- Bourne Shell: Another vfork() problem has been fixed. "trap cmd EXIT"
                has incorrectly called "cmd" after a non-existing command was.
                called by the shell. This was a result of the shared data from
                vfork().

                Thanks to Martijn Dekker for reporting.

- Bourne Shell: A unit test case for the above bug has been added.

- Bourne Shell: __growstak() now always uses realloc() on modern
               platforms. This may speed up things up to 15%.

               Thanks to Jan Engelhardt for reporting.

Release 2019-03-11:
- libgetopt/Bourne Shell: added an #ifndef __CYGWIN__ in order to avoid
                          overwriting non-standard definitions by standard
                          definitions on Cygwin for the global getopt()
                          variables.

                          Thanks to Heiko Ei[eszett]feldt for proposing this
                          fix.

- Bourne Shell: better comment in bltin.c
2019-03-19 14:24:46 +00:00
wiz
1b6c59faa4 bosh: update to 20190311.
Update provided by Michael Bäuerle via pkgsrc-wip.

Changelog
=========

Release 2019-02-18:
- libgetopt: The undocumented variable "_sp" from SVr4 has been renamed
             to "opt_sp" and (on platforms that support "#pragma weak") there
             is a  weak reference _sp to that new variable, giving backwards
             compatibility.

             The reason for doing this is to make sure that people on Illumos
             or Oracle Solaris, who still have an outdated version of getopt()
             in their local libc, do not try to link the Bourne Shell only
             against their old getopt(). If they did this, they would not get
             the documented enhanced getopt() features from the Bourne Shell.

- Bourne Shell: The shell now uses "opt_sp" as the name for the
                undocumented additional getopt() interface from AT&T. This has
                been done to avoid being able to link the Bourne Shell on
                Illumos or Oracle Solaris without using our libgetopt. If this
                was done, we could not support UNIX/MULTICS style long options
                and we could not support -help/--help, since the latter is
                implemented via long options that are not an alias to short
                options.

- Bourne Shell: added a new timestamp to the Bourne Shell version.


Release 2018-11-21:
- Bourne Shell: make it exit the whole shell with set -e after a command
                substitution failed on the right side of a variable assignment
                that has no command. This is required by POSIX.

- Bourne Shell: added a unit tests for the above case.

- Bourne Shell: New version date set to 2018-12-08 the this change.

Release 2019-01-22:
- bsh / Bourne Shell / star: the function hop_dirs() no longer checks
                             for p2 != NULL before calling *p2 = '/' as p2 has
                             been granted to be != NULL from a break with
                             strchr(p, '/') == NULL

                             Thanks to Pavel Raiskup for poiting to a related
                             Coverity message.

- Bourne Shell: Added a missing /* FALLTHROUGH */ comment..

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: added a range check for $OPTIND to tge getopts(1)
                implementation

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Removed a nonsense variable in expand() that caused
                Coverity not to understand that a directory was correctly
                closed()

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Added a paranoia comparison to make Coverity quiet.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: avoid to call catpath() with a NULL pointer for path

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: check the write() return code in io.c

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Added a paranopia check for "test -o" to make Coperity
                quiet.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Added (void) before fcntl() in hope to make Coverity
                quiet.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Removed dead code from readwc()

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: Cstyle changes to xec.c

- Bourne Shell: "builtin -d ..." did access free()d memory.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: expand.c: added a check for fd == -1 to avoid calling
                openat() with that fd.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

-Bourne Shell: func.c: added a check for fd == -1 to avoid calling
               read()/close() with that fd.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: jobs.c: enlarged a buffer to be of same size as
                numbuf[] to avoid a potential buffer overflow.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: print.c::prt_cntl() had a very old (AT&T) bug with
                printing byte sequences that get an error with mbtowc() and it
                did not print byte sequences correctly that refer to legal but
                "nonprintable" multi byte characters.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: xec.c: the reserved word "time" could cause to
                access uninitialized memory if the string in $TIMEFORMAT
                contains the format %J

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

- Bourne Shell: xec.c: added a paranoia check on whether
                findnam("funcname") returns NULL even though the existence of
                a function with that name already has been verified via the
                hash service.

                Thanks to Pavel Raiskup for poiting to a related Coverity
                message.

Release 2019-02-18:
- Bourne Shell: Another vfork() problem has been fixed. "trap cmd EXIT"
                has incorrectly called "cmd" after a non-existing command was.
                called by the shell. This was a result of the shared data from
                vfork().

                Thanks to Martijn Dekker for reporting.

- Bourne Shell: A unit test case for the above bug has been added.

- Bourne Shell: __growstak() now always uses realloc() on modern
               platforms. This may speed up things up to 15%.

               Thanks to Jan Engelhardt for reporting.

Release 2019-03-11:
- libgetopt/Bourne Shell: added an #ifndef __CYGWIN__ in order to avoid
                          overwriting non-standard definitions by standard
                          definitions on Cygwin for the global getopt()
                          variables.

                          Thanks to Heiko Ei[eszett]feldt for proposing this
                          fix.

- Bourne Shell: better comment in bltin.c
2019-03-19 14:23:17 +00:00
wiz
f379f669c4 zsh: remove --enable-zsh-mem from default arguments.
Bump PKGREVISION.
2019-03-16 14:01:45 +00:00
ryoon
33879ae1bc Add comments for next update or revbump to use external malloc 2019-03-16 13:29:30 +00:00
ryoon
91b41bf093 Update to 5.7.1
* Move --enable-zsh-mem configure option to non-debug part
  to stabilize zsh with NetBSD's new jemalloc

Changelog:
2019-02-03  dana  <dana@dana.is>

	* unposted: Config/version.mk, Etc/FAQ.yo, README: Update for
	5.7.1

	* 44034: Completion/Unix/Type/_date_formats: Complete %9./%N,
	adjust some wording

	* 44033: Completion/Unix/Command/_dos2unix: Add completion for
	dos2unix/unix2dos

	* 44030: Src/prompt.c, Test/D01prompt.ztst: Return error for
	unrecognised colour name

2019-01-28  Fredric Silberberg  <fred@silberberg.xyz>

	* github #32: Completion/Unix/Command/_git: Fix a typo in the
	git tag completion.

2018-01-27  dana  <dana@dana.is>

	* unposted: Etc/creating-a-release.txt: Document additional
	release steps

	* 44020: Functions/VCS_Info/Backends/VCS_INFO_detect_p4: Fix
	infinite recursion
2019-03-15 12:44:13 +00:00
wiz
16cd5d83e6 zsh: add debug option, default off
This makes zsh much more stable on -current for me.
2019-03-14 09:45:25 +00:00
bsiegert
eb5142bbe0 Update mksh to R57.
R57 rolls up bugfixes, with few hard changes:

  * [gecko2] Update operating environment reporting for the Macintosh
  * [Martijn Dekker] make ${foo#'bar'} in here document behave like ksh93
  * [Martijn Dekker] quote empty strings for re-entry into shell
  * [tg, G.raud Meyer] Improve documentation, especially for tty states
  * [tg] Protect against entering line editing with bad saved tty state
  * [tg] Fix set -o allexport for arrays (which we apparently do)
  * [tg] Handle lseek(2) returning -1 as pointed out by Coverity Scan
  * [tg] Fix left-padding UTF-8 strings
  * [tg, G.raud Meyer] Fix using the ?-m? flag on the command line
  * [tg] Update to UCD 11.0.0
  * [multiplexd] Fix a segfault using ^W during search in Vi mode
  * [tg] Fix an error message; add a test for controlling tty
  * [tg] Permit unsetting LINES and COLUMNS, for those who need it
  * [tg] Fix manpage bug (RedHat BZ#1612173)
  * [tg] Minor spelling cleanup
  * [tg] Unbreak high-bit7 (n?n-ASCII) heredoc separators (LP#1779179)
  * [tg] Allow dumping high-bit7-char-containing strings in DEBUG mode
  * [tg] Add some testcases for behaviour questions popped up in IRC
  * [tg] Trick a GCC warning, to make up for it ignoring lint(1) hints
  * [tg] Add O_MAYEXEC support for CLIP OS
  * [tg] Make dup-to-self with ksh-style fd?3 closing work; catern via IRC
  * [tg] Add compat glue for newer GNU groff mdoc to the manpages
  * [tg] Trigger EXIT trap after single-command subshells (Debian #910276)
  * [tg] Document set -eo pipefail caveat (LP#1804504)
  * [tg] Fix MKSH_EARLY_LOCALE_TRACKING warning
  * [tg] Document that, when your Unix is broken, GIGO applies (LP#1817959)
  * [tg] Improve error message for inaccessible executables (LP#1817789)
2019-03-10 14:19:59 +00:00
maya
37f0960cf1 bash: handle O_CLOEXEC not being defined (Solaris 10)
(While this says "example", it's built during the "make install" phase)

Reported by Hiroshi Hakoyama in PR pkg/52045
2019-02-28 07:20:57 +00:00
wiz
e3d37b7e92 zsh-autosuggestions: update to 0.5.0.
## v0.5.0
- Don't overwrite config with default values (#335)
- Support fallback strategies by supplying array to suggestion config var
- Rename "default" suggestion strategy to "history" to name it based on what it actually does
- Reset opts in some functions affected by `GLOB_SUBST` (#334)
- Support widgets starting with dashes (ex: `-a-widget`) (#337)
- Skip async tests in zsh versions less than 5.0.8 because of reliability issues
- Fix handling of newline + carriage return in async pty (#333)
2019-02-24 14:49:06 +00:00
maya
74ee61a348 fish: temporarily disable the functionality of man.fish
if MANPATH is empty but the environment variable is respected, we won't
be able to find any man pages, because fish set it to PREFIX/share/fish/man

bump PKGREVISION
2019-02-13 22:03:53 +00:00
maya
ac9e7ec064 fish: update to 3.0.0
Add a "doc" option, default on, to avoid a doxygen dependency.
requested by martin & also in PR pkg/53934.


# fish 3.0.0 (released December 28, 2018)

fish 3 is a major release, which introduces some breaking changes alongside improved functionality. Although most existing scripts will continue to work, they should be reviewed against the list contained in the 3.0b1 release notes below.

Compared to the beta release of fish 3.0b1, fish version 3.0.0:

- builds correctly against musl libc (#5407)
- handles huge numeric arguments to `test` correctly (#5414)
- removes the history colouring introduced in 3.0b1, which did not always work correctly

There is one significant known issue which was not able to be corrected before the release:

- fish 3.0.0 builds on Cygwin (#5423), but does not run correctly (#5426) and will result in a hanging terminal when started. Cygwin users are encouraged to continue using 2.7.1 until a release which corrects this is available.

If you are upgrading from version 2.7.1 or before, please also review the release notes for 3.0b1 (included below).

---

# fish 3.0b1 (released December 11, 2018)

fish 3 is a major release, which introduces some breaking changes alongside improved functionality. Although most existing scripts will continue to work, they should be reviewed against the list below.

## Notable non-backward compatible changes
-  Process and job expansion has largely been removed. `%` will no longer perform these expansions, except for `%self` for the PID of the current shell. Additionally, job management commands (`disown`, `wait`, `bg`, `fg` and `kill`) will expand job specifiers starting with `%` (#4230, #1202).
- `set x[1] x[2] a b`, to set multiple elements of an array at once, is no longer valid syntax (#4236).
- A literal `{}` now expands to itself, rather than nothing. This makes working with `find -exec` easier (#1109, #4632).
- Literally accessing a zero-index is now illegal syntax and is caught by the parser (#4862). (fish indices start at 1)
- Successive commas in brace expansions are handled in less surprising manner. For example, `{,,,}` expands to four empty strings rather than an empty string, a comma and an empty string again (#3002, #4632).
- `for` loop control variables are no longer local to the `for` block (#1935).
- Variables set in `if` and `while` conditions are available outside the block (#4820).
- Local exported (`set -lx`) vars are now visible to functions (#1091).
- The new `math` builtin (see below) does not support logical expressions; `test` should be used instead (#4777).
- Range expansion will now behave sensibly when given a single positive and negative index (`$foo[5..-1]` or `$foo[-1..5]`), clamping to the last valid index without changing direction if the list has fewer elements than expected.
- `read` now uses `-s` as short for `--silent` (à la `bash`); `--shell`'s abbreviation (formerly `-s`) is now `-S` instead (#4490).
- `cd` no longer resolves symlinks. fish now maintains a virtual path, matching other shells (#3350).
- `source` now requires an explicit `-` as the filename to read from the terminal (#2633).
- Arguments to `end` are now errors, instead of being silently ignored.
- The names `argparse`, `read`, `set`, `status`, `test` and `[` are now reserved and not allowed as function names. This prevents users unintentionally breaking stuff (#3000).
- The `fish_user_abbreviations` variable is no longer used; abbreviations will be migrated to the new storage format automatically.
- The `FISH_READ_BYTE_LIMIT` variable is now called `fish_byte_limit` (#4414).
- Environment variables are no longer split into arrays based on the record separator character on startup. Instead, variables are not split, unless their name ends in PATH, in which case they are split on colons (#436).
- The `history` builtin's `--with-time` option has been removed; this has been deprecated in favor of `--show-time` since 2.7.0 (#4403).
- The internal variables `__fish_datadir` and `__fish_sysconfdir` are now known as `__fish_data_dir` and `__fish_sysconf_dir` respectively.

## Deprecations

With the release of fish 3, a number of features have been marked for removal in the future. All users are encouraged to explore alternatives. A small number of these features are currently behind feature flags, which are turned on at present but may be turned off by default in the future.

A new feature flags mechanism is added for staging deprecations and breaking changes. Feature flags may be specified at launch with `fish --features ...` or by setting the universal `fish_features` variable. (#4940)

- The use of the `IFS` variable for `read` is deprecated; `IFS` will be ignored in the future (#4156). Use the `read --delimiter` option instead.
- The `function --on-process-exit` switch will be removed in future (#4700). Use the `fish_exit` event instead: `function --on-event fish_exit`.
- `$_` is deprecated and will removed in the future (#813). Use `status current-command` in a command substitution instead.
- `^` as a redirection deprecated and will be removed in the future. (#4394). Use `2>` to redirect stderr. This is controlled by the `stderr-nocaret` feature flag.
- `?` as a glob (wildcard) is deprecated and will be removed in the future (#4520). This is controlled by the `qmark-noglob` feature flag.

## Notable fixes and improvements
### Syntax changes and new commands
- fish now supports `&&` (like `and`), `||` (like `or`), and `!` (like `not`), for better migration from POSIX-compliant shells (#4620).
- Variables may be used as commands (#154).
- fish may be started in private mode via `fish --private`. Private mode fish sessions do not have access to the history file and any commands evaluated in private mode are not persisted for future sessions. A session variable `$fish_private_mode` can be queried to detect private mode and adjust the behavior of scripts accordingly to respect the user's wish for privacy.
- A new `wait` command for waiting on backgrounded processes (#4498).
- `math` is now a builtin rather than a wrapper around `bc` (#3157). Floating point computations is now used by default, and can be controlled with the new `--scale` option (#4478).
- Setting `$PATH` no longer warns on non-existent directories, allowing for a single $PATH to be shared across machines (eg via dotfiles) (#2969).
- `while` sets `$status` to a non-zero value if the loop is not executed (#4982).
- Command substitution output is now limited to 10 MB by default, controlled by the `fish_read_limit` variable (#3822). Notably, this is larger than most operating systems' argument size limit, so trying to pass argument lists this size to external commands has never worked.
- The machine hostname, where available, is now exposed as the `$hostname` reserved variable. This removes the dependency on the `hostname` executable (#4422).
- Bare `bind` invocations in config.fish now work. The `fish_user_key_bindings` function is no longer necessary, but will still be executed if it exists (#5191).
- `$fish_pid` and `$last_pid` are available as replacements for `%self` and `%last`.

### New features in commands
- `alias` has a new `--save` option to save the generated function immediately (#4878).
- `bind` has a new `--silent` option to ignore bind requests for named keys not available under the current terminal (#4188, #4431).
- `complete` has a new `--keep-order` option to show the provided or dynamically-generated argument list in the same order as specified, rather than alphabetically (#361).
- `exec` prompts for confirmation if background jobs are running.
- `funced` has a new `--save` option to automatically save the edited function after successfully editing (#4668).
- `functions` has a new ` --handlers` option to show functions registered as event handlers (#4694).
- `history search` supports globs for wildcard searching (#3136) and has a new `--reverse` option to show entries from oldest to newest (#4375).
- `jobs` has a new `--quiet` option to silence the output.
- `read` has a new `--delimiter` option for splitting input into arrays (#4256).
- `read` writes directly to stdout if called without arguments (#4407).
- `read` can now read individual lines into separate variables without consuming the input in its entirety via the new `/--line` option.
- `set` has new `--append` and `--prepend` options (#1326).
- `set` has a new `--show` option to show lots of information about variables (#4265).
- `string match` with an empty pattern and `--entire` in glob mode now matches everything instead of nothing (#4971).
- `string split` supports a new `--no-empty` option to exclude empty strings from the result (#4779).
- `string` has new subcommands `split0` and `join0` for working with NUL-delimited output.
- `string` no longer stops processing text after NUL characters (#4605)
- `string escape` has a new `--style regex` option for escaping strings to be matched literally in `string` regex operations.
- `test` now supports floating point values in numeric comparisons.

### Interactive improvements
- A pipe at the end of a line now allows the job to continue on the next line (#1285).
- Italics and dim support out of the box on macOS for Terminal.app and iTerm (#4436).
- `cd` tab completions no longer descend into the deepest unambiguous path (#4649).
- Pager navigation has been improved. Most notably, moving down now wraps around, moving up from the commandline now jumps to the last element and moving right and left now reverse each other even when wrapping around (#4680).
- Typing normal characters while the completion pager is active no longer shows the search field. Instead it enters them into the command line, and ends paging (#2249).
- A new input binding `pager-toggle-search` toggles the search field in the completions pager on and off. By default, this is bound to Ctrl-S.
- Searching in the pager now does a full fuzzy search (#5213).
- The pager will now show the full command instead of just its last line if the number of completions is large (#4702).
- Abbreviations can be tab-completed (#3233).
- Tildes in file names are now properly escaped in completions (#2274).
- Wrapping completions (from `complete --wraps` or `function --wraps`) can now inject arguments. For example, `complete gco --wraps 'git checkout'` now works properly (#1976). The `alias` function has been updated to respect this behavior.
- Path completions now support expansions, meaning expressions like `python ~/<TAB>` now provides file suggestions just like any other relative or absolute path. (This includes support for other expansions, too.)
- Autosuggestions try to avoid arguments that are already present in the command line.
- Notifications about crashed processes are now always shown, even in command substitutions (#4962).
- The screen is no longer reset after a BEL, fixing graphical glitches (#3693).
- vi-mode now supports ';' and ',' motions. This introduces new {forward,backward}-jump-till and repeat-jump{,-reverse} bind functions (#5140).
- The `*y` vi-mode binding now works (#5100).
- True color is now enabled in neovim by default (#2792).
- Terminal size variables (`$COLUMNS`/`$LINES`) are now updated before `fish_prompt` is called, allowing the prompt to react (#904).
- Multi-line prompts no longer repeat when the terminal is resized (#2320).
- `xclip` support has been added to the clipboard integration (#5020).
- The Alt-P keybinding paginates the last command if the command line is empty.
- `$cmd_duration` is no longer reset when no command is executed (#5011).
- Deleting a one-character word no longer erases the next word as well (#4747).
- Token history search (Alt-Up) omits duplicate entries (#4795).
- The `fish_escape_delay_ms` timeout, allowing the use of the escape key both on its own and as part of a control sequence, was applied to all control characters; this has been reduced to just the escape key.
- Completing a function shows the description properly (#5206).
- Added completions for
  - `ansible`, including `ansible-galaxy`, `ansible-playbook` and `ansible-vault` (#4697)
  - `bb-power` (#4800)
  - `bd` (#4472)
  - `bower`
  - `clang` and `clang++` (#4174)
  - `conda` (#4837)
  - `configure` (for autoconf-generated files only)
  - `curl`
  - `doas` (#5196)
  - `ebuild` (#4911)
  - `emaint` (#4758)
  - `eopkg` (#4600)
  - `exercism` (#4495)
  - `hjson`
  - `hugo` (#4529)
  - `j` (from autojump #4344)
  - `jbake` (#4814)
  - `jhipster` (#4472)
  - `kitty`
  - `kldload`
  - `kldunload`
  - `makensis` (#5242)
  - `meson`
  - `mkdocs` (#4906)
  - `ngrok` (#4642)
  - OpenBSD's `pkg_add`, `pkg_delete`, `pkg_info`, `pfctl`, `rcctl`, `signify`, and `vmctl` (#4584)
  - `openocd`
  - `optipng`
  - `opkg` (#5168)
  - `pandoc` (#2937)
  - `port` (#4737)
  - `powerpill` (#4800)
  - `pstack` (#5135)
  - `serve` (#5026)
  - `ttx`
  - `unzip`
  - `virsh` (#5113)
  - `xclip` (#5126)
  - `xsv`
  - `zfs` and `zpool` (#4608)
- Lots of improvements to completions (especially `darcs` (#5112), `git`, `hg` and `sudo`).
- Completions for `yarn` and `npm` now require the `all-the-package-names` NPM package for full functionality.
- Completions for `bower` and `yarn` now require the `jq` utility for full functionality.
- Improved French translations.

### Other fixes and improvements
- Significant performance improvements to `abbr` (#4048), setting variables (#4200, #4341), executing functions, globs (#4579), `string` reading from standard input (#4610), and slicing history (in particular, `$history[1]` for the last executed command).
- Fish's internal wcwidth function has been updated to deal with newer Unicode, and the width of some characters can be configured via the `fish_ambiguous_width` (#5149) and `fish_emoji_width` (#2652) variables. Alternatively, a new build-time option INTERNAL_WCWIDTH can be used to use the system's wcwidth instead (#4816).
- `functions` correctly supports `-d` as the short form of `--description`. (#5105)
- `/etc/paths` is now parsed like macOS' bash `path_helper`, fixing $PATH order (#4336, #4852) on macOS.
- Using a read-only variable in a `for` loop produces an error, rather than silently producing incorrect results (#4342).
- The universal variables filename no longer contains the hostname or MAC address. It is now at the fixed location `.config/fish/fish_variables` (#1912).
- Exported variables in the global or universal scope no longer have their exported status affected by local variables (#2611).
- Major rework of terminal and job handling to eliminate bugs (#3805, #3952, #4178, #4235, #4238, #4540, #4929, #5210).
- Improvements to the manual page completion generator (#2937, #4313).
- `suspend --force` now works correctly (#4672).
- Pressing Ctrl-C while running a script now reliably terminates fish (#5253).

### For distributors and developers
- fish ships with a new build system based on CMake. CMake 3.2 is the minimum required version. Although the autotools-based Makefile and the Xcode project are still shipped with this release, they will be removed in the near future. All distributors and developers are encouraged to migrate to the CMake build.
- Build scripts for most platforms no longer require bash, using the standard sh instead.
- The `hostname` command is no longer required for fish to operate.
2019-02-12 16:49:31 +00:00
wen
a874e00c1c Update to 5.7
Upstream changes:
2019-01-24 : Release 5.7
    Bug fix release with a few user visible additions.
2018-01-24  dana  <dana@dana.is>

        * unposted: Config/version.mk, README: Update for 5.7

2018-01-23  dana  <dana@dana.is>

        * 44012: Test/X04zlehighlight.ztst: Fix spurious test failures
        on OpenBSD

2019-01-23  Mikael Magnusson  <mikachu@gmail.com>

        * 44011: Doc/Zsh/zle.yo, Src/prompt.c, Test/X04zlehighlight.ztst:
        Only use fg_start_code for non-truecolor
2019-01-27 14:42:25 +00:00