New features with AN-2015-11-21:

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

-	psmake/MAKE-sh now tries to find "clang"
	Thanks to Heiko Eißfeldt for reporting that Minix does not have
	a "cc". As we recently discovered a clang optimizer bug with 
	isoinfo, we use -O0 with clang.

-	Minix and Bitrig seem to have tsort, lorder and ranlib.

-	cdrtools bumped to version 3.02a02

-	libparanoia: Avoid GCC uninitialized warning even though the main
	problem was fixed some time ago already.
	Thanks to Heiko Eißfeldt for reporting.

-	libschily/renameat.c now includes stdio.h as POSIX requires
	stdio.h to be included for rename()

-	cdda2wav: man page now mentions that Heiko modified source code
	in 2015

-	cdrecord & cdda2wav: POSIX real time scheduling is no longer
	used in case that sched_setscheduler() is missing. Minix comes
	with miss-configured system include files that announces the
	presence of sched_setscheduler() but the functions are not
	implemented.
	Thanks to Heiko Eißfeldt for reporting.

-	mkisofs/diag/isoinfo.c: removed an unused variable.

-	mkisofs/diag/isoinfo.c: The "todo" directory list handling was
	rewritten to speed up things by not looping over the whole
	list anymore everytime a new directory is added.

-	mkisofs/diag/isoinfo.c: Abort with error message when malloc()
	returns NULL.

-	libxtermcap, bsh, ved, Bourne Shell: #include sys/ioctl.h before
	termios.h which is wrong according to POSIX but is needed for 
	BSD based system includes. It is important to first include
	sys/ioctl.h as the other way may cause redefined warnings.

-	ved: version bumped to 1.7a10

-	cut: Cast from pointerdiff -> int to correctly handle %.*s

-	calc: Fixed a typo in the messages.
	Thanks to Heiko Eißfeldt for reporting.

-	sformat: fixed a printf() format size problem on Minix3 32 bits.
	Thanks to Heiko Eißfeldt for reporting.	

-	SCCS: get now avoids a unused variable warning from GCC

-	bsh: now compiles on Minix. A bug with the #ifdefs
	to configure the wait() interface has been corrected

-	Bourne Shell: fix a bug with the set up from "$-" that suffered from
	null Bytes in a character array after the output from "set -o"
	was reordered to be alphabetically sorted with respect to the names
	of the long options.

-	Bourne Shell: fix a mirroring bug with "$-" that was related to the
	new support for up to 120 flag bits that are now supported.

-	Bourne Shell: the "alloc" builtin now prints the amount of allocated
	data.

-	Bourne Shell: added some casts to long long in a function call as the
	free HP-UX compiler is K&R but supports long long

-	Bourne Shell: added a workaround for a Linux problem with tcgetpgrp()
	on at least Linux 2.6.18 (what Sourceforge uses for it's shell service)
	that prevented jobcontrol from resetting the tty process group to the
	group of the shell after a child died.

-	Bourne Shell: fix a bug introduced with the new pipe parser:
	restore stdin if the right side of a pipe is a non-existing command.

-	Bourne Shell: fix a bug with job control introduced 1989 that now
	hits with the new pipe parser: we now forward execution flags
	to builtin commands that execute further commands. This prevents

		dosh 'troff -man $@ | col -x' xxx.1 | more

	from stopping the more command after troff | col wrote everything
	to the more pipe already and exit.

-	Bourne Shell: the new pipe handling now seems to be mature enough
	for daily use.

-	Bourne Shell TODO:

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

	-	Finish loadable builtin support.

	-	Implement ". -h" as a replacement for "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.