New features with AN-2017-12-08:

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

-	The Schily Makefilesystem now uses .PHONY again (and no longer "FRC")
	unless the make program was identified as an old unfixed "SunPro Make"
	from Sun or Oracle.

-	README.compile now better explains that CCOM= does not just set the
	C-compiler but the compiler family that includes a C++ compiler.

-	include/schily/archdefs.h: With Sun Studio-12.4 on Oracle Solaris-11.2,
	we had a problem with __SUNPRO_C and needed to change it to __IS_SUNPRO_C

	Thanks to Jens Elkner for reporting.

-	libschily::format.3 the man page for the printf worker function now menions
	the new fomats %E %F %G

-	Bourne Shell test suite: Some problems in the printf(1) tests have
	been fixed.

	-	\n inside "" is now properly quoted in order to let printf
		do the \n expansion

	-	LC_ALL=C -> LC_ALL=C; export LC_CLL in order to permit
		to use the test suite to check floating point behavior
		in an external printf(1) implementation as well.

-	Bourne Shell and printf: the man pages now mention the new
	%n$ formats

-	Bourne Shell: cbuf[] in print.c::prs_cntl() was made 4 chars longer to
	avoid a buffer overflow from calling octal() that inserts 4 characters
	at once.

	Thanks to Heiko Eideldt for reporting.

-	Bourne Shell: The lexer now always correctly adds a second Nul byte after
	a "\\\0" sequence. This prevents split()/trims() from reading past the
	end of a string.

	Thanks to Heiko Eideldt for reporting.

-	Bourne Shell: The PATH search mechanism now always correctly adds a
	second Nul byte after a "\\\0" sequence. This prevents split()/trims()
	from reading past the end of a string.

	Thanks to Heiko Eideldt for reporting.

-	Bourne Shell: As a hack to the problem from above, the shell now adds a
	second Nul byte after every string that is remembered for a function
	definition.

-	Bourne Shell: "command <spec-builtin>" did not prevent a script
	from exiting on errors in case that before:

	-	the same <spec-builtin> was called to pring it into
		the hash list.

	-	"hash -r" or PATH=.... was called to zap the hash content.

	Thanks to Martijn Dekker for reporting.

-	Bourne Shell: prevent an illegal heap access in case that a command name
	ends in a backslash. The function catpath() in the PATH search code
	not adds a second Nul byte in this case.

	Thanks to Heiko Eideldt for reporting.

-	Bourne Shell: the arithmetic expansion for $(()) has been rewritten
	to be able to deal with syntax errors while the shell is in a
	non-exit-on-error state.

	Thanks to Heiko Eideldt for reporting.

-	Bourne Shell: the macro expansion has been rewritten to return early from
	an error when on a non-exit-on-error state.

	Thanks to Heiko Eideldt for reporting.

-	Bourne Shell: Fixed a bug in the endstak() function for string stak handling.
	In rare cases, the function could allocate one byte too few.

	Thanks to Heiko Eideldt for reporting.

-	SunPro Make: Oracle Solaris-11.2 hides wcsdup() behind "namespace std".
	We need to add "using namespace std" to make it compile again.

-	SunPro Make: The make program now also sets SGS_SUPPORT_32 and
	SGS_SUPPORT_64 in case that at least one of these variables was set
	before "make" started. Previously only SGS_SUPPORT was set and for this
	reason, our setup could be ignored.

-	SunPro Make: Support for the special target .PHONY has been added.

-	SunPro Make: The new macro MAKE_NAME=sunpro is no longer visible in
	case that the make prigram is in Sun compatibility mode or in SVr4
	compatibility mode.

-	cdda2wav: It is also Copyright 2017 Heiko Eifeldt

-	cdrtools:bumped to version 3.02a09



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

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