1New features with AN-2017-09-25:
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-	libschily::getargs.c: Added a new flag that allows to implement POSIX
46	option rule #5:
47
48		One or more options without option-arguments, followed by
49		at most one option that takes an option-argument, should be
50		accepted when grouped behind one '-' delimiter.
51
52	This new mode is needed to implement spax with a POSIX compliant CLI.
53
54-	libschily: The environment "COMERR_EXCODE" now directs the comerr()
55	group of functions not to map exit codes to -64 in case they are
56	ambiguous to callers of the historic wait() call.
57
58	If you like to get the unmodified exit code, use the "new" (since 1989)
59	POSIX waitid() call and add the "COMERR_EXCODE" before creating
60	the child process.
61
62-	libhsf: removed a superfluous "*/" in DEBUG code.
63
64	Thanks to a report from Heiko Ei�feldt
65
66-	Bourne Shell: Fixed a bug in the new "return" feature for dot scripts:
67	The IO stack was not completely unwound when returning from a dot
68	script. This caused a related "struct fileblk" (an automatic variable)
69	to be reused and overwritten, resulting in SIGSEGV.
70
71	Thanks to Martijn Dekker for reporting
72
73-	Bourne Shell: Fixed a bug in the new "return" feature for dot scripts:
74	A return inside a function from a dot script did return from the entire
75	dot script and not only from the function.
76
77	Thanks to Martijn Dekker for reporting
78
79-	Bourne Shell: added a test for the above problem.
80
81-	Bourne Shell: Fixed a bug in the new "return" feature for dot scripts:
82	A continue in e.g. a while loop did not continue the while loop
83	but returned from the entire dot script.
84
85	Thanks to Martijn Dekker for reporting
86
87-	Bourne Shell: added a test for the above problem.
88
89-	Bourne Shell: Fixed a typo in the code introduced with
90	schilytools-2017-08-29 when adding an IO barrier that controls the removing
91	of shell tmp files from here documents.
92
93-	Bourne Shell: remove fewer shell tmp files for here documents to better
94	support function definitions with embedded here documents from within
95	an "eval" command.
96
97-	Bourne Shell: added a test for the above problem.
98
99-	Bourne Shell: Fixed a bug that caused the hashed values for commands
100	to be changed to wrong values in case the commands have been called
101	via the Built-in "command". This caused the a builtin command with the
102	name of a function to become unusable.
103
104	Thanks to Martijn Dekker for reporting
105
106-	Bourne Shell: added a test for the above problem.
107
108-	bsh and Bourne Shell: fixed a problem in alias/unalias:
109	if a non-persistent alias was removed, a new alias with the same
110	name was ignored.
111
112	Thanks to Martijn Dekker for reporting
113
114-	Bourne Shell: added a test for the above problem.
115
116-	Bourne Shell: set -o posix now is able to switch to POSIX
117	variable export definitions after startup
118
119	Thanks to Martijn Dekker for reporting
120
121-	Bourne Shell: The exit code for the builtin test command is now
122	2 for a syntax error as required by POSIX.
123
124	Thanks to Martijn Dekker for reporting
125
126-	Bourne Shell: A compliance test was added for above change.
127
128-	Bourne Shell: When integers are compared by test and it turns out
129	that a related argument does not only contain digits, this is
130	flagged as error.
131
132	Thanks to Martijn Dekker for reporting
133
134-	Bourne Shell: A compliance test was added for above change.
135
136-	Bourne Shell: two isatty(1) -> isatty(STDOUT_FILENO)
137	changes for readability of code.
138
139-	Bourne Shell: added code in freetree() for the forgotten new
140	syntax tree node types: TNOFORK, TSETIO, and TSELECT.
141
142-	Bourne Shell: added a workaround for a complex bug in the shell
143	that causes fd#10 to be reamed to fd #1 twice with the result that
144	fd #1 (stdout) was no longer usable. This is not a fix but it
145	prevents the unwanted result....
146
147-	bsh: a wrongly placed "}" has been corrected for the case that
148	a platform does not support vfork().
149
150	Thanks to a report from Heiko Ei�feldt
151
152-	Star (pax): Option parsing is now done in a POSIX compliant way.
153	Before, pax did not permit calls like "pax -vffile".
154
155	This is the first step in making star's pax implementation
156	to pass the POSIX certification.
157
158-	Sformat: The terminating condition for a manual sector size
159	question for Adaptec controllers has been corrected.
160
161	Thanks to a report from Heiko Ei�feldt
162
163-	SCCS: the test for "sccs help get_kywds" has been enhanced to
164	mention that the enhanced (lower case) get keywords are only
165	available if enabled via "admin -fx" or "admin -fy".
166
167-	cdrecord: the man page now comes with an enhanced section
168	"EXIT STATUS"
169
170	Thanks to a report from Mathias <dl2gmb@netscape.net>
171
172-	SunPro Make: make now supports to specify "make -j5" instead
173	of only "make -j 5". This feature is switched off by setting
174	the environment
175
176		SUN_MAKE_COMPAT_MODE=
177
178	to an empty string.
179
180
181
182-	Bourne Shell Missing features for POSIX compliance:
183
184	- Support for $'...' quoting (this is not needed for the current
185					version of POSIX but for the next POSIX
186					version that will be named SUSv8).
187					The development of SUSv8 will start in
188					late 2016.
189
190	We are now expecting the Bourne Shell to be fully POSIX compliant.
191
192-	Bourne Shell further TODO list:
193
194	-	Finish loadable builtin support.
195
196	-	POSIX does not allow us to implement ". -h", so we will
197		add a "source" builtin to be able to implement "source -h"
198
199-	The following builtins (that are available in bsh) are still missing in
200	the Bourne Shell:
201
202	err			echo with output going to stderr
203	glob			echo with '\0' instead of ' ' between args
204	env			a builtin version of /usr/bin/env
205
206	The following bsh intrinsics are still missing in the Bourne Shell:
207
208	-			the restricted bsh has restriction features that
209				are missing in the Bourne shell.
210
211	-	source -h	read file into history but do not execute
212
213	and probably more features not yet identified to be bsh unique.
214
215
216
217Author:
218
219Joerg Schilling
220D-13353 Berlin
221Germany
222
223Email: 	joerg@schily.net, js@cs.tu-berlin.de
224	joerg.schilling@fokus.fraunhofer.de
225
226Please mail bugs and suggestions to me.
227