New features with AN-2016-11-17:

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

-	libschily: the specialized code for Solaris 64 bit stdio has been
	enhanced to support more features based on the hidden FILE * structure
	that still is AT&T compatible. We now support block based read access
	on the FILE * buffer.

-	libschily: new function: movecbytes() behaves similar to memccpy()

-	libschily: fgetline() now uses movecbytes() on all stdio implementations
	that are AT&T compatible.

-	libschily: fgetstr() now uses movecbytes() on all stdio implementations
	that are AT&T compatible.

-	libschily: getdelim() now uses movecbytes() in case that the stdio
	implementation is known to be AT&T compatible. This now includes
	support for the AT&T compatible hidden interface from Solaris 64 Bit.
	This new getdelim() prevents a slow down on larger number of platforms
	with some programs that now use getdelim().

	getdelim() is now used in sccs/sccs/cmd/src/diffh.c and 
	sccs/sccs/cmd/src/bdiff.c and will be used in more programs in the
	future.

	fgetaline() is based on getdelim() and used in: change, patch, cut,
	pasteto support arbitrary line lengths.

-	sfind: Fixed some typos in the man page.

-	SCCS diff: Added a check whether a malloc() call returns NULL
	Thanks to Heiko Eifeldt for reporting.

-	SCCS diffh: since diffh supports arbitrary line lengths, the space 
	for each line may differ. We thus check whether we need to grow a
	target line before we copy content.
	Thanks to Heiko Eifeldt for reporting.

-	SCCS bdiff: Lines are now read by getdelim() instead of a line of
	fgets() calls.

	This is a preparation for supporting nul bytes in the lines.
	Note that getdelim() is not a 100% replacement for fgets() as
	getdelim() puts a nul byte at the beginning of the buffer in case
	of EOF.

-	SCCS bdiff: the program is no longer C-string based but uses the
	ssize_t line length return value from getdelim() to support lines
	that include NUL Bytes. The bdiff program now calls "diff -a" as
	our diff program supports -a and as bdiff never checked for NUL bytes
	in the input.

-	SCCS bdiff man page: A section AUTHORS has been added and a section
	NOTES. The latter mentions that bdiff now supports binary data.

-	SCCS bdiff: Added code to enable a simplified compilation on
	Solaris-ON without using the schily include files.

-	SCCS test suite: added new random based tests to verify whether the
	output generated by the bdiff program is understood by the SCCS delta
	program.

-	patch: the random test scripts from the test suite have been modified
	to work with e.g. "diff=bdiff ./cmptest.sh"

-	mdigest: removed a superfluous variable

-	hdump/od: "od -A n ..." no longer prints a stray TAB on the last line.

-	mkisofs: The find_hash() function has been set up with a slight differing
	interface to prepare the integration of the correct parts from the
	"duplicate once" patch.

-	Bourne Shell: The new code avoids a race condition with
	"set -C; :> file" by checking the file type of the opened file and
	by failing when this turns out to be a plain file. This is needed as
	an existing device file or fifo will allow an open without a clobber
	message, but that entry could be removed and replaced by a file before
	the shell opens it.

-	Bourne Shell: bosh -c -- "command" is now supported. Before "--" was
	interpreted as the command and the command as $0.

-	Bourne Shell: test suite: added new tests to verify bosh -c -- "command"


-	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.
