New features with AN-2016-03-11: This is the first localization step for the schily source consolidation. Many programs now (hopefully) call gettext() for all strings that need localization. - The next step will include dgettext() calls for the libraries and the missing programs - The following step will include the extracted strings - The last step will include German translations and install support for the resulting binary message object files. ----------> Please test and report compilation problems! <--------- ***** NOTE: As mentioned since 2004, frontends to the tools should ***** ***** call all programs in the "C" locale ***** ***** by e.g. calling: LC_ALL=C cdrecord .... ***** ***** unless these frontends support localized strings ***** ***** used by the cdrtools with NLS support. ***** *** WARNING *** *** Need new smake *** *** Due to the fact that schily-tools 2014-04-03 introduced to use new macro *** expansions and a related bug fix in smake, you need a new smake *** to compile this source. To ensure this, call: cd ./psmake ./MAKE-all cd .. psmake/smake psmake/smake install WARNING: the new version of the isoinfo program makes use of the *at() series of functions that have been introduced by Sun in August 2001 and added to POSIX.1-2008. For older platforms, libschily now includes emulations for these functions but these emulations have not yet been tested thoroughly. Please report problems! The new smake version mentioned above is smake-1.2.4 - A new autoconf test was added to check whether struct dirent contains "d_type". This helps to speed up tree traversal on platforms that support d_type, by avoiding a stat() call when a directory entry is definitely not a diretcory. - libfind now includes support for a *BSD based struct dirent that includes the d_type member. This helps to avoid calling stat() in order to find directories in simple cases. As a result, sfind now is aprox. 20% faster than GNU find on Linux when in situations that allow to avoid calling stat(). - libshedit The workaround for clang on Solaris introduced with schilytools-2016-03-02 did not work on Mac OS X, Linux and HP-UX. So it was reverted. There will soon be a portable solution. - Cdrecord man page: some typo fixes. - Star now supports "star -copy -find /from ... /to" Thanks to a report from Stéphane Chazelas. A minor piece of code was forgotten when the final -find integration did take place. - Star now supports "-C directory" before a -find option. This allows to call e.g.: star -copy -C /from/path -find . /to/path and thus permits to avoid long path prefixes to be copied into the /to/path hierarchy. - Star now calls setlocale() and thus correctly supports -find -name with multibyte locales. Thanks to a report from Stéphane Chazelas. - Bourne Shell: A bug fix for a $(...) command substitution was added where the problem was caused by a global variable and a recursive call to the parser. The related shell script was seen on the POSIX bugtracking system: http://austingroupbugs.net/view.php?id=1015#c3088 - Bourne Shell: a first step for implementing $((expr)) was made to the parser. The parser (lexer) now accepts $((expr)) but the macro expansion code for arithmetic expressions is still missing. - Bourne Shell: the man page now describes the output format of the "times" command. - Bourne Shell: PATH=something command with a builting command or with a vforked external command now result that the hash list is reset when the old PATH value is restored for the shell. - Bourne Shell: The "read" builtin now does field splitting the way it is documented by POSIX: multiple field separators are not ignored but result in empty variables. Note that the POSIX method is 100% incompatible to the historic Bourne Shell method and that the historic Bourne Shell method is not really usable with field splitting in effect. - Bourne Shell Missing features for POSIX compliance: - Arithmetic Substitution with $((expression)) - Do not list functions when calling "set" with no arguments. Note that this POSIX requirement is seen as a POSIX bug as there is no POSIX command to list function definitions. NOTE that this will not be implemented before POSIX bug http://austingroupbugs.net/view.php?id=1025 was fixed. - Support for $'...' quoting (this is not needed for the current version of POSIX but for the next POSIX version that will be SUSv8) We are getting very close to full POSIX support. - Bourne Shell further TODO list: - Try to make lastline= while read line do lastline=$line done < /etc/passwd echo "lastline=$lastline" print the last line of /etc/passwd without the exec "trick" that is documented in the man page. - Finish loadable builtin support. - POSIX does not allow us to implement ". -h", so we will add a "source" builtin to be able to implement "source -h" - The following builtins (that are available in bsh) are still missing in the Bourne Shell: err echo with output going to stderr glob echo with '\0' instead of ' ' between args env a builtin version of /usr/bin/env The following bsh intrinsics are still missing in the Bourne Shell: - the restricted bsh has restriction features that are missing in the Bourne shell. - source -h read file into history but do not excute and probably more features not yet identified to be bsh unique. Author: Joerg Schilling D-13353 Berlin Germany Email: joerg@schily.net, js@cs.tu-berlin.de joerg.schilling@fokus.fraunhofer.de Please mail bugs and suggestions to me.