1New features with AN-2018-01-10:
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-	libschily: fstream.c new function fsgetlen() returns number of characters
46	in the stream buffer.
47
48-	libshedit: New function shedit_getlen() returns number of characters in
49	libshedit left over from last command line.
50
51-	Bourne Shell: When we added the history editor in 2006, the characters
52	from the input in the history editor have been read character by
53	character.
54
55	The result of this method was that the rest of a line could not be
56	flushed in case of a syntax error in the command when in interactive
57	mode. This frequently caused more than on error message when the rest
58	of the command line was read, because it has not been flushed. In rare
59	cases, it could even cause the shell to read more input lines until a
60	^C or the right string end is typed.
61
62	The new code now copies the whole line from the editor (in case it is
63	shorter than the buffer in Bourne Shells struct fileblk) and thus is
64	able to flush the rest of the line in case of errors.
65
66-	Bourne Shell: Fixed a bug introduced in August 2016 that caused simple
67	shell scripts (without "#!") to incorrectly set the tty process group
68	after the first command in the script finished. This caused such
69	scripts to be stopped if they try to read input from tty.
70
71-	Bourne Shell: echo $(( 1 + 3 +  )) did print "8" instead of complaining
72	about a missing token. We now check for the EOF token at a better
73	location.
74
75-	Bourne Shell: Added a conformance test for above syntax error.
76
77-	Bourne Shell: func_unhash() which is called when deleting a function,
78	now correctly adds the SPC_BUILTIN bit for special builtins. This
79	fixes a bug that could cause a special builtin to be treated as
80	non-special after a function of the same name was deleted.
81
82-	Bourne Shell: The interface for builtin commands no longer needs access
83	to global variables from the shell. This helps to implement dynamically
84	loadable builtins. Note that Apple's linker is too dumb to support
85	dynamic linking against variables.
86
87-	Bourne Shell: New include file "bosh.h" is used to access the global
88	shell data via a pointer to the new structure "bosh_t".
89
90-	Bourne Shell: the "find" builtin now uses this new "struct bosh *"
91	interface in order to be moved from a Bourne Shell internal builtin
92	into a Bourne Shell dynamic lodable builtin.
93
94-	libboshcmd: added a new shared library that allows to test the "find"
95	command as a loadable Bourne Shell builtin. In order to compile and
96	install a shared libboshcmd, do the following:
97
98		first chdir to the top level schilytools directory
99
100		make LINKMODE=dynamic install	# install other shared libs
101		cd libboshcmd
102		make LINKMODE=dynamic install	# install shared libboshcmd
103
104-	Bourne Shell: The command "builtin" is now able to load a shared
105	library using "builtin -f libname", where "libname" is the name of
106	the shared library. Call after installing a shared libboshcmd:
107
108		builtin -f libboshcmd.so.1
109
110	to load the included test library.
111
112-	Bourne Shell: The command "builtin" is now able to add a new builtin
113	from a loaded shared library. Call:
114
115		builtin sysfind
116
117	after calling "builtin -f libboshcmd.so.1" to enable the "find"
118	builtin from the named test library. To call the loadale version
119	of the "find" builtin, call:
120
121		sysfind ...
122
123-	Bourne Shell: The command "builtin" is now able to remove a builtin
124	that was previously enabled. Call:
125
126		buildin -d sysfind
127
128	to disable the test builtin command from the test library.
129
130
131
132
133-	Bourne Shell Missing features for POSIX compliance:
134
135	- Support for $'...' quoting (this is not needed for the current
136					version of POSIX but for the next POSIX
137					version that will be named SUSv8).
138					The development of SUSv8 will start in
139					late 2016.
140
141	We are now expecting the Bourne Shell to be fully POSIX compliant.
142
143-	Bourne Shell further TODO list:
144
145	-	Finish loadable builtin support.
146
147	-	POSIX does not allow us to implement ". -h", so we will
148		add a "source" builtin to be able to implement "source -h"
149
150-	The following builtins (that are available in bsh) are still missing in
151	the Bourne Shell:
152
153	err			echo with output going to stderr
154	glob			echo with '\0' instead of ' ' between args
155	env			a builtin version of /usr/bin/env
156
157	The following bsh intrinsics are still missing in the Bourne Shell:
158
159	-			the restricted bsh has restriction features that
160				are missing in the Bourne shell.
161
162	-	source -h	read file into history but do not execute
163
164	and probably more features not yet identified to be bsh unique.
165
166
167
168Author:
169
170Joerg Schilling
171D-13353 Berlin
172Germany
173
174Email: 	joerg@schily.net, js@cs.tu-berlin.de
175	joerg.schilling@fokus.fraunhofer.de
176
177Please mail bugs and suggestions to me.
178