1New features with AN-2016-04-05:
2
3This is the first localization step for the schily source consolidation. Many
4programs now (hopefully) call gettext() for all strings that need localization.
5
6-	The next step will include dgettext() calls for the libraries and the
7	missing programs
8
9-	The following step will include the extracted strings
10
11-	The last step will include German translations and install support
12	for the resulting binary message object files.
13
14----------> Please test and report compilation problems! <---------
15
16***** NOTE: As mentioned since 2004, frontends to the tools should *****
17*****		call all programs in the "C" locale		   *****
18*****		by e.g. calling: LC_ALL=C cdrecord ....		   *****
19*****		unless these frontends support localized strings   *****
20*****		used by the cdrtools with NLS support.		   *****
21
22		*** WARNING        ***
23		*** Need new smake ***
24
25	*** Due to the fact that schily-tools 2014-04-03 introduced to use new macro
26	*** expansions and a related bug fix in smake, you need a new smake
27	*** to compile this source. To ensure this, call:
28
29	cd ./psmake
30	./MAKE-all
31	cd ..
32	psmake/smake
33	psmake/smake install
34
35
36	WARNING: the new version of the isoinfo program makes use of the
37		*at() series of functions that have been introduced by Sun
38		in August 2001 and added to POSIX.1-2008. For older platforms,
39		libschily now includes emulations for these functions but
40		these emulations have not yet been tested thoroughly.
41		Please report problems!
42
43	The new smake version mentioned above is smake-1.2.4
44
45-	autoconf: fix a typo in aclocal.m4
46
47-	autoconf: rewrite some m4 rules to avoid running tests in unneeded
48	subshells. This speeds up the performance of "configure" on Solaris
49	by 5% and probably much more on Cygwin.
50
51-	include/schily/wait.h: work around a NetBSD bug (imported from BSD) that
52	is caused by an illegal
53
54		#define WSTOPPED _WSTOPPED
55
56	in <sys/wait.h> that is in conflict with the POSIX standard. This
57	NetBSD bug caused incorrect behavior for background processes in the
58	Bourne Shell.
59
60-	libschily: A new function js_dprintf() was added.
61
62-	libshedit: new concept to switch from FILE * to int * works with
63	clang on Solaris and with other platforms that got into problems
64	with our last attempt to upport clang on Solaris.
65
66	The current concept is:
67
68	-	For all files that we fully control and that need stdio.h
69		include schily/stdio.h and tell it to include ./mystdio.h
70		instead of stdio.h. mystdio.h first includes the system
71		stdio.h in order to avoid later uncontrolled includes and
72		then undefines / redefines what we need to use int * instead
73		of FILE *.
74
75	-	For all files we cannot fully control (e.g. inputc.c) because
76		they need system include files that (stelthy) include stdio.h
77		or parts from stdio.h, let these #includes appear first and
78		then include ./mystdio.h in a way that a local MYFILE is
79		defined to "FILE" in case if a stdio based compilateion and
80		#define MYFILE to "int" in case of a stdio-less compilation.
81
82	The new concept has been verified on Solaris, HP-UX, OS X, AIX,
83	FreeBSD, Linux.
84
85-	libedc_ecc_dec: Avoid an array out of bound subscription. Thanks to
86	Heiko Ei�feldt for cheking the code after a compiler warning.
87
88-	bsh: Now uses waitid() on POSIX compliant platforms and is again
89	able to retrieve all 32 bits from exit() as it has been on UNOS
90	35 years ago.
91
92-	bsh: the getrusage() emulation now supports procfs2 and times() as well.
93
94-	Bourne Shell: bosh -i now sets "-o ved" by default as expected. This
95	was a bug triggered by newer versions of "script" on Linux that call
96	the shell with -i.
97
98-	Bourne Shell: "set --" now clears all current arguments, needed for
99	POSIX. The SVr4 way was to only set a new argument vector when there
100	are arguments following to "set --".
101
102-	Bourne Shell: echo ${10} now prints the 10th argument from the parameter
103	list. Before, only $0 .. $9 have been supported. This is to support the
104	requirements from POSIX.
105	Thanks to Robert Elz <kre@munnari.oz.au> for reporting.
106
107-	Bourne Shell: unset X; set -u; echo ${X#foo} now fails as expected.
108	Thanks to Robert Elz <kre@munnari.oz.au> for reporting.
109
110-	Bourne Shell:  a() { ls; }& now results in a correct job message
111	a() { ls; } instead of  a() { ls }
112
113-	Bourne Shell: fixed a bug caused by a typo that caused a global
114	variable from the lexer not tp be restored after a recursive parser
115	call for $() parsing.
116
117
118-	Bourne Shell Missing features for POSIX compliance:
119
120	- Arithmetic Substitution with $((expression))
121
122	- Do not list functions when calling "set" with no arguments.
123	  Note that this POSIX requirement is seen as a POSIX bug as there
124	  is no POSIX command to list function definitions.
125	  NOTE that this will not be implemented before POSIX bug
126	  http://austingroupbugs.net/view.php?id=1025 was fixed.
127
128	- A POSIX whitepaper at: http://www.unix.org/whitepapers/shdiffs.html
129	  claims that:
130			IFS=o; violet
131
132	  should not execute "vi". The normative text in the POSIX standard
133	  describes the historic Bourne Shell behavior, but the rationale
134	  describes the deviating behavior from "ksh".
135
136
137	- Support for $'...' quoting (this is not needed for the current
138					version of POSIX but for the next POSIX
139					version that will be SUSv8)
140
141	We are getting very close to full POSIX support.
142
143
144-	Bourne Shell further TODO list:
145
146	-	Try to make
147
148		lastline=
149		while read line
150		do
151			lastline=$line
152		done < /etc/passwd
153		echo "lastline=$lastline"
154
155		print the last line of /etc/passwd without the exec "trick"
156		that is documented in the man page.
157
158	-	Finish loadable builtin support.
159
160	-	POSIX does not allow us to implement ". -h", so we will
161		add a "source" builtin to be able to implement "source -h"
162
163-	The following builtins (that are available in bsh) are still missing in
164	the Bourne Shell:
165
166	err			echo with output going to stderr
167	glob			echo with '\0' instead of ' ' between args
168	env			a builtin version of /usr/bin/env
169
170	The following bsh intrinsics are still missing in the Bourne Shell:
171
172	-			the restricted bsh has restriction features that
173				are missing in the Bourne shell.
174
175	-	source -h	read file into history but do not excute
176
177	and probably more features not yet identified to be bsh unique.
178
179
180
181Author:
182
183Joerg Schilling
184D-13353 Berlin
185Germany
186
187Email: 	joerg@schily.net, js@cs.tu-berlin.de
188	joerg.schilling@fokus.fraunhofer.de
189
190Please mail bugs and suggestions to me.
191