1New features with AN-2015-12-30:
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-	Schily.Copyright dates updated
46
47-	cdrtools bumped to 3.02a04
48
49-	include/schily/prototyp.h now defines ALERT to abstract from
50	the K&R C vs. ANSI C and the missing support for \a in K&R C
51
52-	libxtermcap/tgetent.c smake/job.c hdump/hdump.c translit/translit.c
53	Bourne Shell/echo.c now avoid a warning from using \a with K&R C.
54
55-	libschily/getfp.c Try to disable the address sanitizer for getfp()
56	to avoid unhelpful messages.
57	Thanks to a hint from Heiko Ei�feldt.
58
59-	libschily/searchinpath.c Avoid a memory leak on platforms that do not
60	support getexecname()
61	Thanks to a hint from Heiko Ei�feldt.
62
63-	libmdigest & mdigest: sha3 entry function names changed to match
64	other digest functions.
65
66-	libmdigest: the shared library mapfile now includes the sha3 functions
67
68-	mkisofs: Avoid coredumps from dereferencing NULL pointers with some
69	kind of rotten iso images when in multi session mode.
70	Thanks for Heiko Ei�feldt for reporting this problem based on a test
71	using "The American fuzzy lop".
72
73-	mkisofs: Avoid coredumps from dereferencing NULL pointers with some
74        kind of rotten iso images when in multi session mode and other incorrect
75	length computations. This in special means multi.c
76	Thanks for Heiko Ei�feldt for reporting and for doing a code review.
77
78-	mkisofs: Avoid to address wrong memory when scanning old ISO images.
79	Thanks for Heiko Ei�feldt for reporting and for doing a code review.
80
81-	mkisofs/joliet.c: convert_to_unicode() no longer tries to access the
82	input string past the null byte.
83	Thanks to a hint from Heiko Ei�feldt.
84
85-	mkisofs/write.c: mkisofs -sort with multi extent files (files > 4 GB)
86	no longer computes the size of the file twice while computing the
87	start sectors for files.
88	Thanks to a report from Arpad Biro <biro.arpad@gmail.com>
89
90-	Bourne Shell: optinit() now defaults to no implicit getopt() warnings.
91
92-	Bourne Shell: optinit() / struct optv now support an additional member
93	"optflag" to allow to avoid "wrong option" error messages from optskip().
94
95-	Bourne Shell: 6 flag bits have been relocated to flags2 to create space
96	in flags.
97
98-	Bourne Shell: Command substitution (`cmd`) now also honors the
99	set -o fullexitcode settings for the exit code
100
101-	Bourne Shell: The debug code that is enabled with COPTX=-DPARSE_DEBUG
102	now also prints the parsed tree from `cmd`. This helps to understand
103	the implementation.
104
105-	osh (OpenSolaris Bourne Shell): $? is again 0 if exitcode % 256 == 0
106	This gives bug compatibility even when waitid() is used in the shell
107	instead of the historical waitpid().
108
109-	Bourne Shell: The symbol "!" is now a reserved word to logically NOT
110	the exit code of a following program. This was added for POSIX
111	compliance.
112
113-	Bourne Shell: POSIX compliance: permit an optional "(" before patterns
114	from case constructs
115
116-	Bourne Shell: support for the reserved word "time" was added. This is
117	an extension introduced by ksh88. Note that if "time -" is detected,
118	the system's time(1) utility is called to be able to support the POSIX
119	required: "time -p command".
120
121-	Bourne Shell: timing now correctly collects timing for children _and_
122	the time consumed by the shell itself. This makes the results more
123	comparable to the results from the external time(1) command.
124
125-	Bourne Shell: A bug in kill(1) option parsing introduced with 2015-12-16
126	was fixed.
127
128-	Bourne Shell: kill(1) is now POSIX compliant and supports "-s sig".
129
130-	Bourne Shell: "killpg 123456789" now correctly complains with:
131	"no such process group" instead of "no such process"
132
133-	Bourne Shell Missing features for POSIX compliance:
134
135	- Parameter substitution with these constructs:
136
137		${#parameter}		-> strlen(parameter)
138		${parameter%[word]}	-> Remove Smallest Suffix Pattern
139		${parameter%%[word]}	-> Remove Largest Suffix Pattern
140		${parameter#[word]}	-> Remove Smallest Prefix Pattern
141		${parameter##[word]}	-> Remove Largest Prefix Pattern
142
143	  With $* $@, all above expansions are unspecified
144
145	- Tilde expansion after unquoted ':' in variable assignment
146
147	- Command Substitution with $(cmd)
148
149	- Arithmetic Substitution with $((expression))
150
151	- cd with "-LP" as options
152
153	- pwd with "-LP" as options
154
155	- "command" builtin
156
157	- Support for $'...' quoting (this is for the next POSIX version)
158
159-	Bourne Shell further TODO list:
160
161	-	Try to make
162
163		lastline=
164		while read line
165		do
166			lastline=$line
167		done < /etc/passwd
168		echo "lastline=$lastline"
169
170		print the last line of /etc/passwd without the exec "trick"
171		that is documented in the man page.
172
173	-	Finish loadable builtin support.
174
175	-	We are not allowed to implement ". -h", so we will
176		add a "source" builtin to be able to implement "source -h"
177
178-	The following builtins (that are available in bsh) are still missing in
179	the Bourne Shell:
180
181	err			echo with output going to stderr
182	glob			echo with '\0' instead of ' ' between args
183	env			a builtin version of /usr/bin/env
184
185	The following bsh intrinsics are still missing in the Bourne Shell:
186
187	-			the restricted bsh has restriction features that
188				are missing in the Bourne shell.
189
190	-	source -h	read file into history but do not excute
191
192	and probably more features not yet identified to be bsh unique.
193
194
195
196Author:
197
198Joerg Schilling
199D-13353 Berlin
200Germany
201
202Email: 	joerg@schily.net, js@cs.tu-berlin.de
203	joerg.schilling@fokus.fraunhofer.de
204
205Please mail bugs and suggestions to me.
206