New features with AN-2016-09-03: 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 - Star: The man page now includes a link to the star sources. - Star: Add support for NFSv4 ACLs on FreeBSD based on a patch from Martin Matuska - Bourne Shell: Print PS4 before a variable assignment when in "set -x" mode. - Bourne Shell: Try to avoid some casting in the parser that may cause problems with strict aliasing in GCC. Thanks to Martin Väth for reporting. - Bourne Shell: PS1, PS2, and PS4 are now subject to macro expansion before they are used. - Bourne Shell: a new option "set -o promptcmdsubst" allows to switch on command substitution and arithmetic substitution for PS1, PS2, and PS4. POSIX does not require this, but other shells do this even though it is seen as a seurity risk. To avoid the security problem from importing PS1, PS2, and PS4 from the environment, the shell resets PS1, PS2, and PS4 to the default values when "promptcmdsubst" is turned on. - Bourne Shell: The lexer now consumes the whole string from a multi-byte character string from readw() before calling chkpr() as chkpr() now may cause macro expansion that resets the return string from readw(). - Bourne Shell: The lexer no longer translates '\nfoo' into \\n\f\o\o but into "\n"\f\o\o in order to allow to pass the string through the parser more than once as needed with $(cmd). - Bourne Shell: Better comment and indentation for mode.h - Bourne Shell: Copy only as many bytes as the real structure size when copying struct comnod and struct lstnod. - Bourne Shell: New debug code for DOL_PAREN_DEBUG and MATCH_BLOCK_DEBUG - Bourne Shell: popd now always prints the new directory - bsh: popd now always prints the new directory - bsh: Fixed a typo in the "popd" usage text - Bourne Shell: A new tar archive dotfiles.tar.bz2 has been added that contains sample dotfiles for the Bourne Shell. This includes the files: .bshmap The mapping definitions for the history editor .globals The file containing persistent alias definitions .shrc The file that is read by every interactive Bourne Shell .termcap Local termcap definitions read before /etc/termcap - Bourne Shell Missing features for POSIX compliance: - Support for $'...' quoting (this is not needed for the current version of POSIX but for the next POSIX version that will be named SUSv8). The development of SUSv8 will start in late 2016. We are now expecting the Bourne Shell to be fully POSIX compliant. - 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 execute 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.