New features with AN-2016-01-25:

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: fprformat.c now compiles with format.c in a way that is useful
	on all possible targets by implementing a double buffered macro based
	internal method for fprfprmat().

	This is aprox. 10% slower than the previous single buffered solution for
	Solaris (based on the putc_unlocked() macro) but it works anywhere and
	it does not have the problems with unbuffered streams (like stderr) 
	that have been seen on Solaris since fprformat() was introduced in 2013.

-	libschily: js_printf() and js_fprintf() now by default uses fprfprmat()
	on all platforms. This reduces the performance on Solaris by 10% but it
	enhances the performance on all other platforms. Our "od" implementation
	via "hdump" is now 70% faster than "gnu od" on Linux instead of
	being 50% faster before that change. It seems to be a good idea to get
	a fast and POSIX compliant "od" implementation on Linux.

-	libscg: A new interface function "scg_opts()" has been introduced to parse
	and set op generic SCSI options. The only new implemented general option
	for now is: "ignore-resid". This option was introduced in order to be able
	to work around a Linux kernel bug that results in a DMA residual count
	!= 0 even though all data was transferred.

-	cdrecord: A new option scgopts=list has been introduced. Call
	"cdrecord scgopts=ignore-resid ..." in order to work around the mentioned
	Linus kernel bug.  

-	cdrecord: The man page now also mentions scgopts=ignore-resid

-	cdda2wav: A new option scgopts=list has been introduced.

-	readcd: A new option scgopts=list has been introduced.

-	scgcheck: A new option scgopts=list has been introduced.

-	btcflash: A new option scgopts=list has been introduced.

-	sformat: A new option scgopts=list has been introduced.

-	Bourne Shell: The builtin commands now correctly process the final code
	from the builtin() function even if they have been called with "-help" or
	with an illegal option.

-	Bourne Shell: The "cd" builtin now implements the POSIX options -L and -P

-	Bourne Shell: The "pwd" builtin now implements the POSIX options -L and -P

-	Bourne Shell: The "pushd"/"popd"/"dirs" builtins now implement the
	options -L and -P.

-	Bourne Shell: the "alias" builtin command now supports the option "-raw"
	in addition to "--raw" and "-R".


-	Bourne Shell Missing features for POSIX compliance:

	- Tilde expansion after unquoted ':' in variable assignment

	- Command Substitution with $(cmd)

	- Arithmetic Substitution with $((expression))

	- Support for $'...' quoting (this is not needed for the current
					version of POSIX but for the next POSIX
					version that will be SUSv8)

	We are getting very close to full POSIX support.


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

	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.
