New features with AN-2015-07-07:

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

-	File Schily.Copyright was updated

-	Added support for cygwin32_wow (not the already present cygwin32_wow64).

-	The makefile system now allows to use:

		COPTX=-DNO_PRAGMA_WEAK

	to disable the use of #pragma weak. This may help to debug some
	oddities of the GNU linker.

-	The makefile system now includes a new test that needs constraints
	that are not really supported by autoconf: it checks whether the
	linker supports to link against external weak symbols in another
	file. For this reason, a handcrafted complest was written.
	This (currently) should fail on Cygwin due to a Cygwin bug.
	A platform that allows to link against weak symbols defines
	HAVE_LINK_WEAK. This permits the system to automatically detect
	usability once e.g. linking on Cygwin will be fixed.

	Thanks to Thomas Plank for reporting the known #pragma weak problem
	in a new source file (libschily/error.c). Note that error() is a
	UNIX (UNOS) libc function that exists since 1980 but some libc
	implementors do not follow the rule not to introduce incompatible 
	interfaces for existing names. So we need to find a workaround
	on these platforms.

-	autoconf now checks for the type rlim_t in sys/resource.h

-	libschily and libmdigest now use the test:

		#if defined(HAVE_PRAGMA_WEAK) && defined(HAVE_LINK_WEAK)

	to prevent assuming that is suffucuent when the compiler supports
	#pragma weak. We also need to have a linker that links against
	weak symbols in libraries. HAVE_LINK_WEAK is e.g. not defined
	on Cygwin...

-	libschily/comerr.c and libschily/fcomerr.c now have better 
	comment.

-	hdump/od now includes ctype.h as this is not automatically included
	from wchar.h on Cygwin. Thanks to Thomas Plank for reporting.

-	bsh: wait3.c now sets the narrowed exit code to 128 in case that
	it would be zero because of truncation to 8 bits.

-	bsh and Bourne Shell: signames.c now first list SIGCHLD (the POSIX
	name) before SIGCLD (the Sysv name) if our private sig2str()
	implementation is used.

-	bsh and Bourne Shell: signames.c now first list EXIT" before NULL
	to make sure that kill -l 0 works as expected by the POSIX standard
	if our private sig2str() implementation is used.

-	bsh and Bourne Shell: signames.c now includes support for SIGDIL (HP-UX)
	and SIGINFO (BSD).

-	bsh and Bourne Shell: signames.c now includes support for more realtime
	signals and for dynamic realtime signal numbers.

-	bsh and Bourne Shell: signames.c now includes support for 17 new singals
	that have been found in the ksh93 source.

-	Bourne Shell: kill -l now lists signals that have no equivalent in
	sig2str() with the name "bad sig". This helps to find new unsupported
	signal names.

-	bsh and Bourne Shell: kill -l #...
	now lists the names of signals that match a specific $? value for a
	process kiled by a signal.

-	Bourne Shell: the new function wait_id() was renamed to wait_status()
	and the idtype_t parameter was removed in order to make portablity
	simpler for non-POSIX platforms like Cygwin.
	Thanks to Thomas Plank for reporting.

-	Bourne Shell: ulimit(1) now prints the option names if it
	prints more than one resource. This helps to make ulimit(1)
	halfway usable compared to the csh "limit" builtin.

-	Bourne Shell: The options for the builtin command "repeat"
	work again.

-	Bourne Shell: new readonly parameters

	.sh.shell	The name of this shell.

	.sh.version	The version of this shell.

-	Bourne Shell: the readonly parameters $ex* have been renamed to
	${.sh.*}. Support for these variables is turned on via:

		COPTX=-DDO_DOT_SH_PARAMS

	Please report, if there are problems with the new variables
	and builtin shell commands or shell syntax elements.

-	Here is the new documentation for the parameter names:

     .sh.code
             The numerical  reason  waitid(2)  returned  for  the
             child  status  change.  It matches the CLD_* defini-
             tions from signal.h.  Note that the numbers are usu-
             ally  in  the range 1..6 but this is not guaranteed.
             Use ${.sh.codename} for portability.

     .sh.codename
             The reason waitid(2) returned for the  child  status
             change  as  text  that is generated by stripping off
             CLD_ from the  related  definitions  from  signal.h.
             Possible values are:

             EXITED      The program had a normal termination and
                         the exit(2) code is in ${.sh.status}.

             KILLED      The program was killed by a signal,  the
                         signal  number  is  in ${.sh.status} the
                         signal name is in ${.sh.termsig}.

             DUMPED      The program  was  killed  by  a  signal,
                         similar to KILLED above, but the program
                         in addition created a core dump.

             TRAPPED     A traced child has trapped.

             STOPPED     The program was stopped by a signal, the
                         signal  number  is  in ${.sh.status} the
                         signal name is in ${.sh.termsig}.

             CONTINUED   A stopped child was continued.

     .sh.pid The process number of the process  that  caused  the
             current waitid(2) status.

     .sh.signame
             The name of the causing signal.  If  the  status  is
             related to a set of waitid(2) return values, this is
             CHLD or CLD, depending on the os.  When a trap  com-
             mand  is  executed,  ${.sh.signame} holds the signal
             that caused the trap.

     .sh.signo
             The signal number related to ${.sh.signame}.

     .sh.status
             The decimal value returned by the last synchronously
             executed  command.   The value is unaltered and con-
             tains the full int from  the  exit(2)  call  in  the
             child in case the shell is run on a modern os.

     .sh.termsig
             The   signal   name   related   to   the   numerical
             ${.sh.status} value. The translation to signal names
             takes place regardless of whether the child was ter-
             minated by a signal or terminated normally.

     Note that trying to use the ${.sh.xxx} parameters  on  older
     shells  will  cause the older shells to exit with a bad sub-
     stitution message unless the shell is an interactive shell.


-	Bourne Shell: now uses a new version date: "2015/06/27"

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.
