1New features with AN-2017-12-21:
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-	libgetopt::getopt.c: a read buffer overflow is now prevented in case that
46	optstring is "" and the option parameter similar to "--something". This is
47	a bug that is also present in Oracle Solaris and will be fixed soon in
48	SchilliX-ON
49
50	Thanks to Heiko Ei�feldt for reporting
51
52-	Bourne Shell: word.c did have several places with *argp = 0 where a
53	previous call to GROWSTAK(argp) was missing.
54
55	Thanks to Heiko Ei�feldt for reporting
56
57-	Bourne Shell: defs.h The GROW*() macros have been wrapped with
58	do { ... } while(0) statements to avoid problems with wrong nesting
59	of if ... else statements.
60
61	Thanks to Heiko Ei�feldt for reporting
62
63-	Bourne Shell: test.c had two places where an access past the end of an
64	argument could happen.
65
66	Thanks to Heiko Ei�feldt for reporting
67
68-	Bourne Shell: service.c::split() had two copy loops that could access
69	the string stack after it's end because the macro GROWSTAKL() worked
70	incorrectly.
71
72	Thanks to Heiko Ei�feldt for reporting
73
74-	Bourne Shell: macro expansion with ${var#pat} and ${var##pat} and
75	${var%pat} and ${var%%pat} could destroy the string stak because of
76	an invalid nested call to _macro().
77
78	Thanks to Heiko Ei�feldt for reporting
79
80-	Bourne Shell: added a workaround for the test foo=${foo%"${foo#a}"}
81	that should skip the '"' chars.
82
83	Thanks to Martijn Dekker for reporting
84
85-	Bourne Shell: command substitution ( $(cmd) and `cmd` ) could
86	free memory too early. We now avoid a tdystak() call. The related
87	space is now free()d from the command that uses $(cmd) or `cmd`.
88
89	Thanks to Heiko Ei�feldt for reporting
90
91-	Bourne Shell: Arithmetic expansion could try to access free()d memory
92	in case of unary operators. The parameter error checking has been
93	rewritten to avoid the attempt to access the no longer valid old
94	content of a shell macro.
95
96	Thanks to Heiko Ei�feldt for reporting
97
98-	Bourne Shell: The Makefile was modified to no longer link against
99	$(LIB_GEN) which typically contains "-lgen". We no longer need libgen
100	as we decided on August 2017 that our private gmatch() implementation
101	is better than the one in libgen as our gmatch() supports e.g. [:alpha:]
102
103-	Bourne Shell: Since March 2016, we support shell input like ";ls" but
104	our parser extension caused the shell to receive a SIGSEGV with ";<()"
105	as input. This bug has now been fixed.
106
107	Thanks to Heiko Ei�feldt for reporting
108
109-	Bourne Shell: The condition in catpath() to add another Nul Byte has
110	been modified as "stakbot" could be relocated from realloc(), causing
111	the presious condition for a string ending in "...\\" not to hit.
112
113	Thanks to Heiko Ei�feldt for reporting
114
115-	Bourne Shell: The builtin command "ulimit" defined a useless option -S
116	for the FreeBSD resource RLIMIT_SWAP. -S did not work for RLIMIT_SWAP
117	because -S is already in use for "soft limit". RLIMIT_SWAP is now
118	associated with -w as in "ash" on FreeBSD.
119
120-	Bourne Shell: The builtin command "ulimit" added support for new
121	FreeBSD resources:
122
123	RLIMIT_SBSIZE	-b
124
125	RLIMIT_KQUEUES	-k
126
127	RLIMIT_UMTXP	-o
128
129-	Bourne Shell: The builtin command "ulimit" added support for various
130	new resources:
131
132	RLIMIT_UMEM	Alias for RLIMIT_RSS
133	RLIMIT_OFILE	Alias for RLIMIT_NOFILE
134	RLIMIT_HEAP	No option, usable only with the new BSD interface
135	RLIMIT_CONCUR	No option, usable only with the new BSD interface
136
137-	Bourne Shell: A new builtin command "limit" has been added.
138
139	This command is a variant of the "ulimit" builtin, but offers an
140	interface that is close to the BSD "csh" "limit" interface and thus
141	more intuitive than the Bourne Shell / ksh "ulimit" interface.
142
143-	bsh: added support for RLIMIT_KQUEUES RLIMIT_UMTXP to the
144	builtin "limit" command.
145
146-	ved: The man page was rewritten to better mention the ved aliases
147	"ved-e" and "ved-w"
148
149-	mkisofs: A better documentation for -D was added to the man page.
150
151
152
153-	Bourne Shell Missing features for POSIX compliance:
154
155	- Support for $'...' quoting (this is not needed for the current
156					version of POSIX but for the next POSIX
157					version that will be named SUSv8).
158					The development of SUSv8 will start in
159					late 2016.
160
161	We are now expecting the Bourne Shell to be fully POSIX compliant.
162
163-	Bourne Shell further TODO list:
164
165	-	Finish loadable builtin support.
166
167	-	POSIX does not allow us to implement ". -h", so we will
168		add a "source" builtin to be able to implement "source -h"
169
170-	The following builtins (that are available in bsh) are still missing in
171	the Bourne Shell:
172
173	err			echo with output going to stderr
174	glob			echo with '\0' instead of ' ' between args
175	env			a builtin version of /usr/bin/env
176
177	The following bsh intrinsics are still missing in the Bourne Shell:
178
179	-			the restricted bsh has restriction features that
180				are missing in the Bourne shell.
181
182	-	source -h	read file into history but do not execute
183
184	and probably more features not yet identified to be bsh unique.
185
186
187
188Author:
189
190Joerg Schilling
191D-13353 Berlin
192Germany
193
194Email: 	joerg@schily.net, js@cs.tu-berlin.de
195	joerg.schilling@fokus.fraunhofer.de
196
197Please mail bugs and suggestions to me.
198