New features with AN-2015-12-16:

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

-	include/schily/stdint.h Better comment on how to set up an unsigned
	with the positive value of TYPE_MINVAL(type).

-	libschily: New file astoul.c

-	libschily: astoi.c now supports ERANGE and parsing TYPE_MINVAL(long)

-	libschily: astoll.c now supports ERANGE and parsing TYPE_MINVAL(long long)

-	libgetopt: getopt() now also supports single dash "-long" with long
	options. Long options with a single dash have been introduced with
	Multics and appeared on UNIX around 1980, see e.g. kill (1).

-	cdda2wav: A new local autoconfiguration from Heiko Eifeldt that 
	is indended to better deal with incomplete Linux installations

-	mkisofs: avoid an endless loop in multi session mode and with certain
	defective ISO filesystem images.

-	mkisofs now includes DVD-Audio support. To impelemt this, the automated
	sort routine for DVD/audio/video has been replaced. If there are any
	problems, please recompile with "smake COPTX=-DOLD_DVD_WEIGHTS" test
	and report.

	IMPORTANT: This modification may affect the rare but exitent problem
	with DVD-Video that aborts with:

		"Implementation botch. Video pad for file %s is %d\n"

	because of a negative patch value. It may be that the old weighting
	algorith let some files slip through the mesh and did not sort them
	so such a file could appear on a wrong position on the medium. Please
	test and report.

-	bsh/Bourne Shell/ved: map.c no longer free()s the wrong comment pointer
	with del_map()

-	Bourne Shell: All builtins that need to follow the POSIX utility syntax
	guidelines have been modified to do so and in addition also support the
	-help option for a short usage message.

-	Bourne Shell: the "@" command now includes option checking and support
	for --

-	Bourne Shell: the "dosh" command now includes option checking and support
	for --

-	Bourne Shell: the "type" command now includes option checking and support
	for --

-	Bourne Shell: the "errstr" command now includes option checking and support
	for --

-	Bourne Shell: the fg/bg/wait/stop/kill/killpg/suspend/pgrp commands now
	include option checking and support for --

-	Bourne Shell: the export/readonly/unset commands now
	include option checking and support for --

-	Bourne Shell: the hash/map/read commands now
	include option checking and support for --

-	Bourne Shell: The first character in IFS is now used as the separator
	for "$*". This is for POSIX compliance

-	Bourne Shell: fixed a bug that caused the shell to dump core or to
	abort in case that job control was switched on and a long command line 
	was entered. This bug was introduced in 1989 by AT&T for SVr4.

-	Bourne Shell Missing features for POSIX compliance:

	- Parameter substitution with these constructs:

		${#parameter}		-> strlen(parameter)
		${parameter%[word]}	-> Remove Smallest Suffix Pattern
		${parameter%%[word]}	-> Remove Largest Suffix Pattern
		${parameter#[word]}	-> Remove Smallest Prefix Pattern
		${parameter##[word]}	-> Remove Largest Prefix Pattern

	  With $* $@, all above expansions are unspecified

	- Command Substitution with $(cmd)

	- Arithmetic Substitution with $((expression))

	- ! as a reserved word to logically NOT the exit code

	- cd with "-LP" as options

	- pwd with "-LP" as options

	- "command" builtin

-	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.
	
	-	write a printf builtin

	-	Finish loadable builtin support.

	-	We are not allowed 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.
