New features with AN-2017-01-30:

This is the first localization step for the schily source consolidation. Many
programs now (hopefully) call gettext() for all strings that need localization.

-	The next step will include dgettext() calls for the libraries and the
	missing programs

-	The following step will include the extracted strings

-	The last step will include German translations and install support
	for the resulting binary message object files.

----------> Please test and report compilation problems! <---------

***** NOTE: As mentioned since 2004, frontends to the tools should *****
*****		call all programs in the "C" locale		   *****
*****		by e.g. calling: LC_ALL=C cdrecord ....		   *****
*****		unless these frontends support localized strings   *****
*****		used by the cdrtools with NLS support.		   *****

		*** WARNING        ***
		*** Need new smake ***

	*** Due to the fact that schily-tools 2014-04-03 introduced to use new macro
	*** expansions and a related bug fix in smake, you need a new smake
	*** to compile this source. To ensure this, call:

	cd ./psmake
	./MAKE-all
	cd ..
	psmake/smake
	psmake/smake install


	WARNING: the new version of the isoinfo program makes use of the 
		*at() series of functions that have been introduced by Sun
		in August 2001 and added to POSIX.1-2008. For older platforms,
		libschily now includes emulations for these functions but
		these emulations have not yet been tested thoroughly.
		Please report problems!

	The new smake version mentioned above is smake-1.2.4


-	libshedit/bsh: the history output function now supports a new parameter
	"subst" that implements the feature needed for "fc -s new=old".

-	libshedit/bsh: the history output function now supports a new flag
	to turn on/off the mapping from '\n' (ASCII newline) -> '\0205' (ANSI
	newline) within a history line. This allows to switch on/off support
	for a multi-line history.

	To manage a multi line history, newlines in a history entry are
	converted into the ANSI newline before storing the history in a
	file and converted back again when the history is read from a file.

-	libshedit: Reading characters from stdin is now buffered. This helps
	to read e.g. cursor key output to be read with a single read() call.

-	libshedit: flushing the edit buffer no longer results in trying to
	write 0 bytes after the flush did take place. Note that this did only
	happen in the Bourne Shell as in bsh, the actual write is done via
	filewrite() that avoids the write call.

-	libshedit: shedit_histrange() no longer dumps core if called while
	the editing on a tty was not yet initialized.

-	libshedit: "ttyflg" is now set up with isatty() at the beginning of
	every line. This allows a fallback to the non-edit variant in case the
	input is not from a terminal. It also avoids a isatty() call per read
	character when in TTY interactive mode.

-	Bourne Shell:

	The fc command is now POSIXly complete and includes support for the
	old=new parameter for the "fc -s" option.

-	star: fixed a bug with star -r and star -u that could cause star to
	use the wrong offset for appending to the archive which then created
	an unappendable archive.
	Thanks to Steffen Nurpmeso <steffen@sdaoden.eu> for reporting.

-	star: A workaround in star for a SSH TCP-IP problem seen on Linux in
	2003 is now disabled by default but may be activated by setting the
	environment STAR_WORKAROUNDS=ssh-tcpip

-	star: The man page now documents that ZFS and other COW filesystems
	slow down in extract mode by the star default of calling fsync(fd)
	for every file.

-	star: the README files in the directory testscripts now mention
	sourceforge instead of berlios.

-	star: a first version of a test suite has been added

-	star: testscripts 

-	SCCS::diff: diff -u dir1 dir2  no longer dumps core while trying to
	print the filenames. This bug was introduced while converting diff
	to avoid fork()/exec() in October 2016 and to use recursive function
	calls instead.

-	SCCS::diff: diff -u dir1 dir2  now uses the right stat() time stamps
	instead of using the lstat() time stamps for files in the context
	diff header. This bug was also introduced in October 2016.

-	SCCS::diff: diff -u dir1 dir2  now writes nanoseconds for the timestamp
	of the first file. This was not done before because of a typo in an
	#ifdef statement that was introduced in June 2016 while adding support
	to print POSIX compliant timestamps for HP-UX and AIX.


-	Bourne Shell Missing features for POSIX compliance:

	- Support for $'...' quoting (this is not needed for the current
					version of POSIX but for the next POSIX
					version that will be named SUSv8).
					The development of SUSv8 will start in
					late 2016.

	We are now expecting the Bourne Shell to be fully POSIX compliant.


-	Bourne Shell further TODO list:

	-	Try to make

		lastline=
		while read line
		do
			lastline=$line
		done < /etc/passwd
		echo "lastline=$lastline"

		print the last line of /etc/passwd without the exec "trick"
		that is documented in the man page.
	
	-	Finish loadable builtin support.

	-	POSIX does not allow us to implement ". -h", so we will
		add a "source" builtin to be able to implement "source -h"

-	The following builtins (that are available in bsh) are still missing in
	the Bourne Shell:

	err			echo with output going to stderr
	glob			echo with '\0' instead of ' ' between args
	env			a builtin version of /usr/bin/env

	The following bsh intrinsics are still missing in the Bourne Shell:

	-			the restricted bsh has restriction features that
				are missing in the Bourne shell.

	-	source -h	read file into history but do not execute

	and probably more features not yet identified to be bsh unique.



Author:

Joerg Schilling
D-13353 Berlin
Germany

Email: 	joerg@schily.net, js@cs.tu-berlin.de
	joerg.schilling@fokus.fraunhofer.de

Please mail bugs and suggestions to me.
