New features with AN-2018-03-01:

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. If your smake is too old and aborts, ensure this
	*** by calling:

	cd ./psmake
	./MAKE-all
	cd ..
	psmake/smake
	psmake/smake install

	*** Due to the fact that schily-tools 2014-01-26 introduced
	*** optimizations for the Schily version of SunPro Make, you
	*** need at least the dmake version from 2018/01/11 with support
	*** for the "export" directive to compile with this makefile system.


	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


-	Schily makefilesystem: fixed the script "conf/cc-config.sh"
	"make CCOM=gcc32" now correctly remembers "DEFCCOM=gcc32" in the
	file "incs/Dcc*".

	This is needed in order to make "make tests" able to find the just
	compiled Bourne Shell and to use this binary for testing.

-	README.compile: A hint to the file "BOOTSTRAP" has been added.

-	BOOTSTRAP: A hint to the new file "dos_make.bat" has been added.

-	libschily: searchinpath.c now frees the right pointer on DJGPP.
	Thanks to a patch from Juan M. Guerrero.

-	libschily: USE_WCTYPE is now auto-detected in a different way:
	It is now enabled for HP-UX-10.x and disabled for DJGPP.
	This is done in schily/wctype.h

-	libschily: wctype() and iswctype() now have fallback prototypes
	for the libschily fallback implementation.
	This is done in schily/wchar.h

-	libscg: the linker map file did not contain an entry for scg_opts()
	that has been introduced in January 2016. As a result, it was not
	possible to link SCG users dynamically against "libscg".

-	smake: A new fallback SHELL path for DJGPP has been added to
	smake/job.c and is: "/dev/env/DJDIR/bin/sh.exe"

-	smake: (psmake) the script "dos_make.bat" from the separate smake
	tar archive has been added to schilytools in order to allow to
	bootstrap schilytools in a DJGPP environment.

-	Bourne Shell: The builtin "repeat" command is now terminated in
	case that a called (repeated) command is terminated by a signal.

-	patch: An access behind a buffer in the date string parsing routine
	has been identified by "AddressSanitizer" and fixed in the code.

-	SunPro Make: A new function skip_comment() has been created in order
	to avoid copy/paste code.

-	SunPro Make: Never versions of the OpenSolaris linker may switch
	to the 64 bit Binary and in thich case, the env variable SGS_SUPPORT
	may not hav a slash character in it's value.

	SunPro Make now creates SGS_SUPPORT_32 and SGS_SUPPORT_64 entries in
	such a case.

-	SunPro Make: The man page now mentions the SGS_SUPPORT, SGS_SUPPORT_32,
	SGS_SUPPORT_64, and SUNPRO_DEPENDENCIES environment variables.

-	SCCS log command: Avoid a coredump with "sccs -R log" from a
	directory that does not include a SCCS directory.

-	sformat: A new option -randv has been added. This option behaves
	similar to -randrw but does not write to the disk and thus is less
	harmful to already impaired disks.

-	sformat: The random tests now use drand48(). This is needed in order
	to get a sufficient coverage for modern large disks.

-	patch: /dev/null is no longer subject to path name stripping with
	the -p option. This is needed in order to be able to support
	mercurial patch files.

-	patch: If /dev/null is seen as filename in the diff headers, there
	is no longer a memory leak.

-	patch: A typo was fixed that prevented patch in (extended mode) to
	automatically remove zero sized result files that are marked with
	Jan 1 1970 00:00:00 UTC without the need for the option -E.
	This is only done in the "Wall+" mode of patch.

-	patch: The name "spatch" now defaults to POSIX behavior plus all
	extensions (POSIX + Wall+). Before, it was strict POSIX mode.

-	patch: New function fetchtz() allows to support the old "ctime()"
	based time format from "diff -c" to use a timezone as e.g. with
	patchfiles created by "hg export".

-	patch: The nanosecond field from the "diff -u" output is now parsed.

-	patch: The time parsing code has been rewritten to use the struct
	dtime concept from SCCS.

-	patch: The original patch from Larry Wall contained broken code
	to work around when -p # could not strip off # directories but
	the full name in the diff header existed. This code works now
	as intended.

-	patch: New options -T and -Z allow to tell patch to restore the
	timestamps from the patched files from the related comment field
	in the patch data. This gives more compatibility to GNU patch.

-	patch conformance tests: The -T / -Z option has been added to the
	usage test.

-	patch: Is now using release 3.2.


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