pkgsrc/shells
micha d6b6c66f71 pbosh: Update to 2020-05-11
tbl of NetBSD does not work, install man page with unprocessed tables as
workaround.

Changes from AN-2020-03-11:
-	configure: The autoconfiguration now has an enhanced test for waitid()
	that was needed since Mac OS is still not POSIX compliant and returns 0
	instead of the signal number for a process that has been killed by a
	signal. MacOS did pass the POSIX certification as a result of a missing
	test for that problem.

	Since every vertified OS needs to run an annual refresh the
	certification with recent versions of the test, I guess that
	Mac OS (Catalina updates) may become more compliant witin a year.

-	psmake: The portable bootstrap compile environment for smake missed
	a symlink for unsetenv.c to libschily since the related code has been
	moved to libschily in 2018. This prevented compilation on IRIX.

	Thanks to Kazuo Kuroi for reporting

-	libshedit: mystdio.h now calls #undef sprintf and #undef snprintf
	before redefining the names. This avoids clang warnings on MacOS.

-	Bourne Shell: set -m now works in scripts as well. Before, bosh did
	never call startjobs() when the shell startup was done with a shell
	script.

-	Bourne Shell: The shell now supports the alternate ;& switch
	command limiter in addition to ;; where ;& implements a fallthrough
	to the next command list regardless on thether there is a match or not.

-	Bourne Shell: The file xec.c has been reindented for the "case" support
	code in the interpreter. The indentation is now one tab less so code
	becomes more readable.

-	ved/bsh/bosh: map.c now includes better command for the routines that
	implement fallback to some basic mapping when no user defined mapping
	has been set up.

Changes from AN-2020-03-27:
-	Bourne Shell: The case statement now supports the alternate end case
	symbol ";;&" that has been introduced by bash. If ";;&" is used instead
	of ";;", the next pattern list is evaluated and if there is a match,
	the related command list is executed.

Changes from AN-2020-04-18:
-	Bourne Shell: IRIX has ls(1) installed as /sbin/ls and this caused
	some of our unit tests to fail. We now only check for "bin/ls" and
	no longer for "/bin/ls" in "type" return messages.

-	Bourne Shell/bsh: signames.c has been modified to work correctly if the
	number of statically defined realtime signals is odd. This applies to
	NetBSD and caused the shells to miss RTMIN+15 on NetBSD.

	Thanks to Robert Elz for reporting

-	Bourne Shell: A new trap code "ERR" as been introduced. This is modeled
	after a feature from ksh88. "trap cmd ERR" causes "cmd" to be called
	whenever a command causes a non-zero exit code. The "cmd" is not called
	in case that with "set -e" the shell would not exit.

	This is not required by POSIX but helpful.

-	Bourne Shell: A new set of unit tests for the ERR trap has been added.

-	Bourne Shell: An attempt to fix the POSIX behavior for set -e from
	October 2018 has been identified to be wrong. If we kept that change,
	a list with "set -e; ..." and a failing command would not exit as
	expected.

-	Bourne Shell: A new piece of code has been added to handle set -e
	for function calls.

-	Bourne Shell: The man page now better explains the behavior, if in
	set -e mode.

-	Bourne Shell: print.c::prs_cntl() could cause a buffer overflow with
	"unprintable" multi byte UNICODE characters that are printed as list
	of octal escape sequences. the buffer overflow happened because there
	was only redzone space for one such octal escape sequence.

	Thanks to Heiko Eißfeldt for reporting

Changes from AN-2020-05-11:
-	Makefile system: A new version of the BSD make (bmake) program fixed
	a bug in pattern macro substitution, so we are now able to detect
	BSD make and to read BSD make program specific rules.

	This could in theory allow us to support BSD make in the future,
	but...

	Note that we on the other side discovered a new bug with pattern
	macro substitution in bsd make: The substitution:

		$(FOO:%=bar/%)

	is replaced by "bar/" with an empty "FOO", but of course, with an
	empty FOO, the substitution should be empty as well.

	This second bug (above) was fixed on May 6th, but we do not yet have
	all needed make rules and we do not know whether other bugs may still
	prevent the usability of BSD make. Supporting BSD make will be hard
	as BSD make does not support pattern matching default rules and this
	is important for placing the .o files into a sub-directory.

	Also note that the portable program source for "bmake" from "pkgsrc"
	is 2 years old and thus currently cannot be supported at all. If
	you like to experiment on your own, you need to get this version:

		http://crufty.net/help/sjg/bmake.html

	see

		http://www.crufty.net/ftp/pub/sjg/bmake.tar.gz

	and replace the newer files from the netbsd.org CVS tree by hand in
	order to fix the first and second mentioned pattern macro substitution
	bug.

-	Makefile system: RULES/MKLINKS was enhanced to create a new symlink
	RULES/r-bsdmake.tag that points to RULES/r-make.tag

-	Makefile system: The archive makefiles.tar.bz2 has been added to the
	schilytools tree to allow easy reuse of the makefile system for own
	projects.

-	Bourne Shell: The unit tests for the new ERR trap did not work on
	Solaris because /bin/false on Solaris causes an exit code of 255.
	We now only check for an exit code != 0.

-	Bourne Shell: Some of the unit tests for the trap command are now only
	run in case that the SUT is "bosh".

-	Bourne Shell: set -- now checks the '\0' character at the end of
	the string "--". This fixes strange behavior with argument strings that
	start with "--".

-	Bourne Shell: Added a new flag XEC_INFUNC to the xflag parameter to mark
	the fact when inside a function.

-	Bourne Shell: set -e no longer causes commands with nonzero exit code
	to abort inside a function in case that the return code of that function
	is evaluated by e.g. an "if" statement.

	Thanks to Koichi Nakashima for reporting

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

-	Bourne Shell: $- may no longer be partially wrong (and miss the state
	of the -e flag).

	Thanks to Koichi Nakashima for reporting

-	Bourne Shell: under some rare conditions, the syntax tree -> cmdline
	converter could omit a command delimiter. This was the result of the
	fact that a helper variable "didnl" (used for codeoutput beautifying)
	was not reset in func.c and thus could cause

		printf a ; printf b

	to print "aprintf b" instead of "ab"

	Thanks to Koichi Nakashima for reporting

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

-	Bourne Shell: A command like:

		command | while read name; do loopcmd; done

	did stop after the first loop because "read" did then read from stdin
	instead of using the pipe file descriptor. This happened only of
	"loopcmd" was not a shell builtin.

	Thanks to Koichi Nakashima for reporting

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

-	Bourne Shell: When we added support for ${var+value with spaces}
	4 years ago, we forgot to enhance the lexer the same way for things
	like "${var+value with spaces}" and "${var+"value with spaces"}".
	This has been forgotten, because a different part of the lexer is
	used to parse that kind of quoted strings. The lexer now supports
	looking for closing '}' in quoted text as well.

	Thanks to Koichi Nakashima for reporting

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

-	Bourne Shell: The expression "${var1#"$var2"}" has been introduced by
	ksh88 with strange rules for the way the double quotes past # are
	handled. We now support them....

	Thanks to Koichi Nakashima for reporting

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

-	Bourne Shell: Some unit tests from "mksh" (that previously have been
	disabled) have been enabled, since the two changes above now make
	the Bourne Shell behave like "mksh" for these 6 additional tests.
2020-05-12 09:06:39 +00:00
..
ast-ksh Get ast-ksh building again on NetBSD, at least on amd64. 2020-04-17 21:28:01 +00:00
autojump
bash Update bash to 5.0.17 (Patch 17 for bash 5.0) 2020-04-25 12:56:54 +00:00
bash-completion shells/bash-completion: remove no-op SUBST block 2020-05-01 19:59:48 +00:00
bash2 all: migrate several HOMEPAGEs to https 2020-01-18 23:30:43 +00:00
bash2-doc all: migrate several HOMEPAGEs to https 2020-01-18 23:30:43 +00:00
bosh bosh: Update to 20200511 2020-05-11 16:52:07 +00:00
dash
eltclsh shells: align variable assignments 2019-11-04 21:14:06 +00:00
es
esh
fish Deal with <version> from C++17. Drop unnecessary static_assert that 2020-04-20 00:45:07 +00:00
git-sh
guile-gash adjust maintainer to my new login 2020-04-28 11:46:27 +00:00
heirloom-sh *: Convert broken sourceforge HOMEPAGEs back to http 2020-03-20 11:57:53 +00:00
lshell Changed PYTHON_VERSIONS_INCOMPATIBLE to PYTHON_VERSIONS_ACCEPTED; needed for future Python 3.8 2019-09-02 13:19:35 +00:00
mksh mksh: fix typos in DESCR 2020-02-25 01:02:37 +00:00
nologinmsg
oksh oksh: update to 6.7. 2020-05-09 21:58:20 +00:00
osh
pbosh pbosh: Update to 2020-05-11 2020-05-12 09:06:39 +00:00
pdksh
perlsh Bump PKGREVISIONs for perl 5.30.0 2019-08-11 13:17:48 +00:00
posh
rc
rssh shells: align variable assignments 2019-11-04 21:14:06 +00:00
scponly
scsh shells: align variable assignments 2019-11-04 21:14:06 +00:00
standalone-tcsh {standalone-,static-,}tcsh: Update to 6.21.00 2019-05-09 11:32:36 +00:00
static-ast-ksh Get ast-ksh building again on NetBSD, at least on amd64. 2020-04-17 21:28:01 +00:00
static-tcsh {standalone-,static-,}tcsh: Update to 6.21.00 2019-05-09 11:32:36 +00:00
tcsh all: migrate homepages from http to https 2020-01-26 17:30:40 +00:00
xonsh all: migrate homepages from http to https 2020-01-26 17:30:40 +00:00
xsh all: migrate some SourceForge homepage URLs back from https to http 2020-01-26 05:26:08 +00:00
zsh *: Convert broken sourceforge HOMEPAGEs back to http 2020-03-20 11:57:53 +00:00
zsh-autosuggestions zsh-autosuggestions: update to 0.6.4. 2020-01-14 22:51:08 +00:00
zsh-completions
zsh-pure
zsh-syntax-highlighting
Makefile Add shells/guile-gash version 0.1 2019-11-13 10:04:19 +00:00