1New features with AN-2016-07-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-	Cstyle: added the "C Style and Coding Standards for SunOS"
46	paper (troff .ms) from Bill Shannon to the project.
47
48-	Cstyle: added the postscript version from the
49	"C Style and Coding Standards for SunOS" paper.
50
51-	Cstyle: added a workaround for a perl-5.22.incompatibility that caused
52	repeated warnings.
53
54-	Cstyle: Use newer CDDL header to work around the dead link
55	http://www.opensolaris.org/os/licensing
56
57-	Cstyle: avoid to warn about bad C++ comment when a URL appears
58	inside a one line C comment.
59	Thanks to Heiko Ei�feldt for a suggestion on how to fix the problem.
60
61-	Cstyle: warn about return type being on the same line as the
62	function definition even when the function definition starts
63	with the tags "extern" or "static".
64
65-	Star: In list mode, use longer character arrays to convert the
66	link count, uname and gname. The linkcount array did miss the
67	space for a space character.
68	Thanks to Heiko Ei�feldt for the report.
69
70-	Star: Abort when a CPIO archive claims to havea zero sized filename.
71	Thanks to Heiko Ei�feldt for the report.
72
73-	Star: star -i no longer tries to access memory before the file name
74	array when the file name field starts with a nul byte.
75	Thanks to Heiko Ei�feldt for the report.
76
77-	Star: Check whether the devminorbits value is reasonable to avoid
78	an array out of bound read access.
79	Thanks to Heiko Ei�feldt for the report.
80
81-	Star: remove a left over debug printf in create.c that was inserted
82	while fixing the star -dump -vv bug in schilytools-2016-06-28.
83
84-	Bourne Shell: Fix a bug introduced while adding support for $()
85	The bug caused echo "$\|a" to print "$\a"
86
87	Thanks to Martin V�th <martin@mvath.de> for reporting.
88
89-	Bourne Shell: Cstyle changes that result from the enhancements
90	of the cstyle program.
91
92-	Bourne Shell: A new option "set -o posix" was introduced to allow
93	to switch into full POSIX mode. This option currently disables
94	the character '^' to be recognised as an alternate pipe character
95	that helps to use "upper case only" terminals.
96
97	Thanks to Martin V�th <martin@mvath.de> for reporting problems with
98	unquoted '^'s inside words in the Gentoo startup scripts while
99	trying to use bosh as the Gentoo system shell.
100
101-	Bourne Shell: Code was added to let the shell automatically identify
102	whether it has been called from a special path, like e.g.
103	"/usr/xpg4/bin/sh" and to auto-switch into posix mode (set -o posix)
104	in case that path was used.
105
106-	Bourne Shell: Code has been added to permit users to compile the
107	shell to identify another path as a path to auto enable POSIX
108	mode. This mode permits to e.g. use "/bin/sh" as an additional
109	path to aoto-switch into POSIX mode when the following commandline
110	is used to compile:
111
112		smake 'CPPOPTX=-DPOSIX_BOSH_PATH=\"/bin/sh\"'
113
114	Note that POSIX rules say that /bin/sh typically is not a POSIX
115	shell. Some platforms however like to have non-portable shell scripts,
116	that require a shell behavior that is not compatible with the
117	traditional bourne shell, but using #!/bin/sh in the first line. In
118	such a case, it helps to tell the shell to show POSIX behavior even
119	when called as "/bin/sh".
120
121-	Bourne Shell: the "test" command has been rewritten to include new
122	functions test_unary() and test_binary() that allow to implement 100%
123	POSIX test behavior.
124
125-	Bourne Shell: the "test" command has been rewritten to use a new concept
126	for POSIX support.
127
128	Thanks to Martin V�th <martin@mvath.de> for reporting problems with
129	test calls in the Gentoo startup scripts while trying to use bosh as the
130	Gentoo system shell.
131
132-	Bourne Shell: The man page now better explains the "test" behavior and
133	includes suggestions on how to make scripts better aware of the problems
134	with the POSIX "test" CLI concept.
135
136-	Bourne Shell: the lexer has been changed to treat everything between
137	"${" and "}" as a single word as required by POSIX.
138
139	Thanks to Martin V�th <martin@mvath.de> for reporting problems with
140	the Gentoo startup scripts while trying to use bosh as the Gentoo
141	system shell.
142
143-	Bourne Shell: The test suite has been enhanced to include more POSIX
144	specific "test" builtin calls.
145
146-	Bourne Shell: The shell compliance tests do no longer verify whether
147	'^' can be used as an alias for the pipe character if the shell
148	is in POSIX mode.
149
150-	Bourne Shell: The "printf" builtin command now supports:
151
152		printf "%b" 'abc\0def'
153
154-	Bourne Shell: A new testsuite for the "printf" command was added
155
156-	Test framework: added a new option "-esilent" to make the test
157	completely silent. This helps to implement hidden tests that are used
158	to e.g. switch off tests like the new test mentioned above.
159
160
161-	Bourne Shell Missing features for POSIX compliance:
162
163	- Do not list functions when calling "set" with no arguments.
164	  Note that this POSIX requirement is seen as a POSIX bug as there
165	  is no POSIX command to list function definitions.
166	  NOTE that this will not be implemented before POSIX bug
167	  http://austingroupbugs.net/view.php?id=1025 was fixed.
168
169	- A POSIX whitepaper at: http://www.unix.org/whitepapers/shdiffs.html
170	  claims that:
171			IFS=o; violet
172
173	  should not execute "vi". The normative text in the POSIX standard
174	  describes the historic Bourne Shell behavior, but the rationale
175	  describes the deviating behavior from "ksh".
176
177
178	- Support for $'...' quoting (this is not needed for the current
179					version of POSIX but for the next POSIX
180					version that will be SUSv8)
181
182	We are getting very close to full POSIX support.
183
184
185-	Bourne Shell further TODO list:
186
187	-	Try to make
188
189		lastline=
190		while read line
191		do
192			lastline=$line
193		done < /etc/passwd
194		echo "lastline=$lastline"
195
196		print the last line of /etc/passwd without the exec "trick"
197		that is documented in the man page.
198
199	-	Finish loadable builtin support.
200
201	-	POSIX does not allow us to implement ". -h", so we will
202		add a "source" builtin to be able to implement "source -h"
203
204-	The following builtins (that are available in bsh) are still missing in
205	the Bourne Shell:
206
207	err			echo with output going to stderr
208	glob			echo with '\0' instead of ' ' between args
209	env			a builtin version of /usr/bin/env
210
211	The following bsh intrinsics are still missing in the Bourne Shell:
212
213	-			the restricted bsh has restriction features that
214				are missing in the Bourne shell.
215
216	-	source -h	read file into history but do not excute
217
218	and probably more features not yet identified to be bsh unique.
219
220
221
222Author:
223
224Joerg Schilling
225D-13353 Berlin
226Germany
227
228Email: 	joerg@schily.net, js@cs.tu-berlin.de
229	joerg.schilling@fokus.fraunhofer.de
230
231Please mail bugs and suggestions to me.
232