1New features with AN-2020-02-11:
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 newer smake
27	*** to compile this source. If your smake is too old and aborts, ensure to
28	*** use the recent smake by calling:
29
30	cd ./psmake
31	./MAKE-all
32	cd ..
33	psmake/smake
34	psmake/smake install
35
36	The new smake version mentioned above is smake-1.2.4
37	The recent smake version is smake-1.3
38
39	*** Due to the fact that schily-tools 2018-01-26 introduced
40	*** optimizations for the Schily version of SunPro Make, you
41	*** need at least the dmake version from 2018/01/11 with support
42	*** for the "export" directive to compile with this makefile system.
43
44
45	WARNING: the new version of the isoinfo program makes use of the
46		*at() series of functions that have been introduced by Sun
47		in August 2001 and added to POSIX.1-2008. For older platforms,
48		libschily now includes emulations for these functions but
49		these emulations have not yet been tested thoroughly.
50		Please report problems!
51
52	BUG WARNING: Please never report bugs only to Linux distributions as
53		they usually do not forward these bug reports upstream and as
54		the Linux distributions typically do not let skilled people
55		check the bugs. We did not hear about a FIFO problem in star
56		for a long time. Then a problem on Linux occurred once
57		every 6000-10000 tries but it did not happen on Solaris after
58		even 10 million tries, so it was not known besides Linux.
59
60-	Schily.Copyright Updated Copyright year information
61
62-	include/schily/wait.h: Cstyle changes
63
64-	include/schily/getopt.h: OPT_PLUS changed into GETOPT_PLUS_FL
65
66-	libgetopt: fixed a typo in the man page getopt.3
67
68-	diff: diff now handles seek errors in the input files.
69
70-	diff: diff now copies data from named pipes to /tmp/ files
71	to get a seekable object.
72
73-	match: If match was called with -w, the string allocated for the
74	notword-word-notword pattern was one byte too small. This could cause
75	core dumps with some string lengths of "word".
76
77-	Bourne Shell: now also using GETOPT_PLUS_FL
78
79-	Bourne Shell: A new variable ${.sh.path} returns the absolute path
80	of the binary associated to the exec() for this shell.
81
82-	Bourne Shell: The definition of NUMBUFLEN was moved from print.c to
83	defs.h to allow others to write into numbuf, knowing it's length.
84
85-	Bourne Shell: The archive sh/dotfiles.tar.bz2 now contains an updated
86	.shrc file that makes use of the new shell variable ${.sh.path}
87
88-	Bourne Shell: "for i in; do cmd ...; done" is now valid syntax even
89	though this is useless, since bosh did already accept:
90
91		"for i in $emptyvar ; do cmd ...; done"
92
93	But this is in the POSIX standard and other recent shells seem to
94	accept it.
95
96	Thanks to Robert Elz for reporting
97
98-	Bourne Shell: Added a new conformance test for the for loop
99
100-	Bourne Shell: The call "bosh -version" now prints 2020...
101
102-	bsh: The parser integrity check routine iocheck() did not know the
103	command type && and thus could print
104
105		Caught !iocheck Signal.
106
107	This was a 40 year old bug ;-)
108
109-	fifo: fifo_main.c no longer defines ibs & obs as COMMON variables,
110	since this is already done by fifo.c
111
112	Thanks to Jan Engelhardt for reporting
113
114-	SCCS: comb.c now puts the filename in the created shell script
115	in single quotes to prevent attacks.
116
117	Thanks to Robert Clausecker for reporting as a side effet of a code review
118	for SchilliX-ON
119
120-	SCCS: comb.c now forbids single quotes and backslashes in filenames as
121	they would cause problems with the shell script created by comb.
122
123	Thanks to Robert Clausecker for reporting as a side effet of a code review
124	for SchilliX-ON
125
126-	SCCS: removed a superfluous /*FALLTHROUGH*/ after a break; in a switch
127	statement that was imported from the Sun source in December 2006.
128
129	Thanks to Robert Clausecker for reporting as a side effet of a code review
130	for SchilliX-ON
131
132-	SCCS: sccs.c did dump core with "sccs -p foo get test.txt"
133
134	Thanks to Bogdan Barbu for reporting.
135
136-	star: fixed typos in star.1 and star.4
137
138	Thanks to Eric Ackermann for reporting
139	as a side effect of a code review for SchilliX-ON
140
141-	star: fixed typos in header.c
142
143	Thanks to Eric Ackermann for reporting
144
145-	star: translated some German comment to English in diff.c, extract.c,
146	list.c, remove.c, restore.c, fifo.c
147
148	Thanks to Eric Ackermann for reporting
149	as a side effect of a code review for SchilliX-ON
150
151-	star: create.c: #ifdef __what_people_would_expect__ changed to:
152	#ifdef __wrong_but_what_people_would_expect__ for better readability.
153
154-	libschily: new man pages starthandlecond.3 and unhandlecond.3
155
156-	libschily: handlecond.3 and raisecond.3 now correctly mention
157	handlecond() & raisecond() instead of handle()/raise(). The old names
158	from 1980 had to be renamed because os an unfriendly actt from the
159	C standard commitee.
160
161	Thanks to Eric Ackermann for reporting
162	as a side effect of a code review for SchilliX-ON
163
164-	libschily: various small fixes in various man pages from libschily.
165
166	Thanks to Eric Ackermann for reporting
167	as a side effect of a code review for SchilliX-ON
168
169
170-	SCCS TODO:
171
172	-	Convert sccs.c to use -NSCCS in the back end programs instead
173		of converting g-file names from the command line into s.file
174		names in the frontend in order to forward s.file names to the
175		backend programs. Doing it this way allows us to have the SCCS
176		history files "off tree" in a separate directory tree starting
177		with ".sccs/" at the "project root" directory, as the related
178		code to convert path names is in libcomobj::bulkprepare().
179
180	-	Add code to admin(1) and delta(1) to retrieve the list of
181		new or modified files in order to have all important code
182		for a "sccs commit" in a single program that does not need to
183		deal with ARG_MAX limitations.
184
185	-	Add code to admin(1), delta(1) and get(1) to maintain/understand
186		the changeset file.
187
188	-	Add code to libcomobj to understand the changeset file,
189		which is needed in order to e.g. know the file names and file
190		specific SIDs/state that correspond to a project global SID.
191
192	-	Add code to all programs to maintain a lock (for the file
193		$PROJECTHOME/.sccs/SCCS/s.changeset, that would be in the file
194		$PROJECTHOME/.sccs/SCCS/z.changeset) to maintain a project
195		global lock.
196
197	-	Find/verify a complete transactional model that allows to repair
198		complex changes to the set of files for a project that have
199		been aborted in the middle. The current idea is to create the
200		file $PROJECTHOME/.sccs/changeset with the deltas to the
201		changeset during a complex update operation.
202
203	-	Find a way to decide when to use SCCS v6 type history files.
204
205		For the project mode, this is needed in order to prevent
206		historic SCCS implementations to believe they could modify
207		files without knowing about project global locks.
208
209		Currently, SCCS V67 needs to be anebale manually for every
210		history file using "admin".
211
212
213
214
215
216-	Bourne Shell Missing features for POSIX compliance:
217
218	- Support for $'...' quoting (this is not needed for the current
219					version of POSIX but for the next POSIX
220					version that will be named SUSv8).
221					The development of SUSv8 will start in
222					late 2016.
223
224	We are now expecting the Bourne Shell to be fully POSIX compliant.
225
226-	Bourne Shell further TODO list:
227
228	-	Finish loadable builtin support.
229
230	-	POSIX does not allow us to implement ". -h", so we will
231		add a "source" builtin to be able to implement "source -h"
232
233-	The following builtins (that are available in bsh) are still missing in
234	the Bourne Shell:
235
236	err			echo with output going to stderr
237	glob			echo with '\0' instead of ' ' between args
238	env			a builtin version of /usr/bin/env
239
240	The following bsh intrinsics are still missing in the Bourne Shell:
241
242	-			the restricted bsh has restriction features that
243				are missing in the Bourne shell.
244
245	-	source -h	read file into history but do not execute
246
247	and probably more features not yet identified to be bsh unique.
248
249
250
251Author:
252
253Joerg Schilling
254D-13353 Berlin
255Germany
256
257Email: 	joerg@schily.net, joerg.schilling@fokus.fraunhofer.de
258
259Please mail bugs and suggestions to me.
260