1New features with AN-2017-06-15:
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-	configure: the test for libnsl now uses gethostbyname() instead of
46	inet_ntoa() and also checks for "libnetwork". This should finally cover
47	Haiku to fully automatically compile SunPro Make.
48
49-	SunPro Make: With the new autoconf test from above, SunPro Make now
50	should compile and run on Haiku.
51
52-	smake: Added new automake code that supports the rules for "uname -p"
53	from Haiku.
54
55-	cdrecord: man page now mentions the exit code
56
57-	readcd: man page now mentions the exit code
58
59-	SCCS: "bdiff" no longer tries to install a signel handler for
60	SIGCHLD and then exits after the called "diff" program exited.
61	This was caused by an unusual numbering for the signals on Haiku.
62
63	Thanks to Heiko Ei�feldt for reporting
64
65-	SCCS: "delta" now prints the really used path for the diff program
66	in some failure cases.
67
68	Thanks to Heiko Ei�feldt for reporting
69
70-	patch: The conformance tests "cmptest" and "gentest" now also check
71	for "/bin/patch" while searching for a reference patch binary.
72	This is needed s Haiku does not have a /usr/bin/ directory.
73
74	Thanks to Heiko Ei�feldt for reporting
75
76-	patch: The conformance tests "cmptest" and "gentest" now also check
77	whether the system supports an "ed" binary and skips "diff -e" tests
78	in case "ed" is missing. This is needed on Haiku that does not have
79	an "ed" binary.
80
81	Thanks to Heiko Ei�feldt for reporting
82
83-	star: The conformance tests that check the star -tv behavior now set
84	the timezone to GMT to get a test result that does not depend on the
85	configured timezone of the system.
86
87	Thanks to Heiko Ei�feldt for reporting
88
89-	Bourne Shell: set -u now aborts arithmetic expressions with unset
90	variables.
91
92	Thanks to a report from Robert Elz
93
94-	Bourne Shell: If the shell starts up in interactive mode, it
95	now auto-enables the monitor mode (set -m) as this is required
96	by POSIX.
97
98-	Bourne Shell: The command
99
100		( trap "echo exiting" EXIT; /usr/bin/true )
101
102	no longer optimizes out the fork() for /usr/bin/true and thus
103	is able to fire the trap command.
104
105	This is a bug that is present in the Bourne Shell since 1977.
106
107	Thanks to a report from Robert Elz
108
109-	Bourne Shell: The parser for ${var#value} has been restructured
110	to check for ${var##value} before value is expanded. This
111	permits to expand X=# ${var#$X} correctly.
112
113	Thanks to a report from Robert Elz
114
115-	Bourne Shell: added a compliance test for the above case.
116
117-	Bourne Shell: the command
118
119		sh -c 'set -- a b c d; echo ${4294967297}'
120
121	no longer prints "a", as there now is an overflow check.
122
123	Thanks to a report from Robert Elz
124
125-	Bourne Shell: added a compliance test for the above case.
126
127-	Bourne Shell: Avoid an endless loop while getting a hard
128	EOF inside "${..}"
129
130	Thanks to a report from Robert Elz
131
132-	Bourne Shell: the command:
133
134		bosh -c '(set -e; ! false; echo OK); echo OK'
135
136	now prints two times "OK" as expected. This happens as the
137	evaluation for "set -e" for builtin commands now has been fully moved
138	into the the main interpreter code. The same modification now causes:
139
140		bosh -c '(set -e; time false)'
141
142	to print the timing results before exiting the shell.
143
144	Thanks to a report from Robert Elz
145
146-	Bourne Shell: A bug in arithmetic expansion with nested backtick-
147	style command substitutions like:
148
149		bosh -c 'echo $(( `echo 77` `echo -` `echo 44` ))'
150
151	has been fixed.
152
153	Thanks to a report from Robert Elz
154
155-	Bourne Shell: added a compliance test for the above case.
156
157-	Bourne Shell: echo ${#:-99} does now do what is expected.
158
159	Thanks to a report from Robert Elz
160
161-	Bourne Shell: added a compliance test for the above case.
162
163-	Bourne Shell: echo ${#-99} ${#+99} ${#?99} and ${#=99}
164	now work as well, while the corner case ${#?} behaves as it
165	did before.
166
167	Thanks to a report from Robert Elz
168
169-	Bourne Shell: added a compliance test for the above case.
170
171-	Bourne Shell: IFS=5; echo $(( 123456789 )) now works as
172	expected.
173
174	Thanks to a report from Robert Elz
175
176-	Bourne Shell: added a compliance test for the above case.
177
178-	Bourne Shell: The man page now mentions the flags -b and -C
179	in the SYNOPSIS description.
180
181-	Bourne Shell: The man page no longer mentions
182
183		IFS=X
184		echoXfoo
185
186	as this problem does no longer exist in POSIX mode.
187
188-	Bourne Shell: added two new tests from Robert Elz to check the
189	correct handling of backslash-newline sequences.
190
191-	Old Bourne Shell: A man page was added.
192	This was needed as some distributions seem to be interested
193	to include a portable shell that is 100% compliant with the
194	Historic Bourne Shell as distributed with OpenSolaris.
195
196
197
198
199-	Bourne Shell Missing features for POSIX compliance:
200
201	- Support for $'...' quoting (this is not needed for the current
202					version of POSIX but for the next POSIX
203					version that will be named SUSv8).
204					The development of SUSv8 will start in
205					late 2016.
206
207	We are now expecting the Bourne Shell to be fully POSIX compliant.
208
209
210
211-	Bourne Shell further TODO list:
212
213	-	Finish loadable builtin support.
214
215	-	POSIX does not allow us to implement ". -h", so we will
216		add a "source" builtin to be able to implement "source -h"
217
218-	The following builtins (that are available in bsh) are still missing in
219	the Bourne Shell:
220
221	err			echo with output going to stderr
222	glob			echo with '\0' instead of ' ' between args
223	env			a builtin version of /usr/bin/env
224
225	The following bsh intrinsics are still missing in the Bourne Shell:
226
227	-			the restricted bsh has restriction features that
228				are missing in the Bourne shell.
229
230	-	source -h	read file into history but do not execute
231
232	and probably more features not yet identified to be bsh unique.
233
234
235
236Author:
237
238Joerg Schilling
239D-13353 Berlin
240Germany
241
242Email: 	joerg@schily.net, js@cs.tu-berlin.de
243	joerg.schilling@fokus.fraunhofer.de
244
245Please mail bugs and suggestions to me.
246