New features with AN-2018-09-26: 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. If your smake is too old and aborts, ensure this *** by calling: cd ./psmake ./MAKE-all cd .. psmake/smake psmake/smake install The new smake version mentioned above is smake-1.2.4 The recent smake version is smake-1.3 *** Due to the fact that schily-tools 2014-01-26 introduced *** optimizations for the Schily version of SunPro Make, you *** need at least the dmake version from 2018/01/11 with support *** for the "export" directive to compile with this makefile system. 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! - Schily.Copyright: Copyright dates made recent, pbosh added, mail addresses made recent. - RULES: rules.top now clears some make macros like CFLAGS= that typically are intialized with values from the make default rules. Using CFLAGS=value on the make command line still works. Since CFLAGS is typically initialized with "-O" and since $(CFLAGS) appears past out internal optimization variable in the cc command line, this caused the optiomization to be lowered blow the level we typically have in the platform defaults. - README.compile: mail addresses made recent - PORTING: mail addresses made recent - READMEs/README.install: mail addresses made recent - ./configue: Don't let automated procedures that assume the outdated GNU buildsystem fail. Introduce a 30 second delay instead. - man/man4/makefiles.4: mail addresses made recent - man/man4/makerules.4: mail addresses made recent - Makefile system: Added a first attempt to support OS400. The content of the new rule files my not yet be fully correct. Thanks to Jack Woehr for reporting - configure: incs/*/xconfig.h now contains a working fallback #define for the SVr4 type timestruc_t. Thanks to Jack Woehr for reporting - Added static definitions to compile for IBMs OS400. Note that the default compile mode is 64 bit. Thanks to Jack Woehr for reporting - unit test system: Added new options -wo and -we that tell docommand() to use "diff -w" for stdout and / or stderr instead of just "diff". Thanks to Michael Bäuerle for reportig - unit test system: Added new options -bo and -be that tell docommand() to use "diff -b" for stdout and / or stderr instead of just "diff". Thanks to Michael Bäuerle for reportig - psmake: Added the forgotten file "format.h" that was introduced with the last release. The fact that there was no symlink to that file prevented to build the bootstrap "smake" binary. Thanks to Jack Woehr for reporting - libschily: printf() (the code in fconv.c) now honors the # flag for the float formats %e & %f - libschily: printf() fconv.c now returns the correct length of the error string even if this is "-inf". - libschily: printf() now prints INF/NAN for %G Thanks to Robert Elz for reporting - libschily: printf() %+ (plusflg) is now implemented for floats as well. Thanks to Robert Elz for reporting - libschily: printf() (format.c) the # modifier with %#.2o with arg 2 no longer prints a superfluous '0'. Thanks to Robert Elz for reporting - libschily: printf() (format.c/fconv.c) have been modified to no longer use gcvt() but own _ftogs()/_qftogs() functions for the %g format. This is needed in order to correctly support the # modifier Thanks to Robert Elz for reporting - libfind: treewalk() now supports a new flag WALK_MOUNTPLUS. This new flag reports mount points but does not descend into them. The existing flag WALK_MOUNT does not report mount points and does not descend into them. The background for this change is: 1) "star -cM ..." and "star -c -find . -xdev ..." differ in their behavior and there was no way to get the star -M behavior from libfind. 2) The POSIX standard for "find -xdev ..." is in conflict with the documented behavior for "find -xdev ..." on UNIX and with the documented and POSIX standard behavior of nftw() with the FTW_MOUNT flag (The UNIX find(1) implementation is based on nftw()). 3) There is a general need to have the other behavior where mount points are reported. - libfind: find(1) gets a new primary operator "-mount+" as a supplement to the historic UNIX "-mount" behavior that is based on WALK_MOUNT. -mount+ is based on WALK_MOUNTPLUS - sfind: The man page now dowuments thenew primary -mount+ - Bourne Shell/printf: printf now correctly uses mbtowc() for '"c' conversion of characters. - Bourne Shell/printf: printf %.0b now works correctly and prints nothing. Thanks to Robert Elz for reporting - printf: errors now cause an exit code != 0 Thanks to Robert Elz for reporting - Bourne Shell: the man page now contains a better explanation on when the "find -call" uses the eval(1) approximation and when it uses the dosh(1) approximation. - Bourne Shell: The unit test script for the builtin printf(1) now uses "docommand() -bo" to trigger "diff -b" because NetBSD comes with an od(1) that outputs unneeded spaces at the end of the lines. - ved: ved -vedhelp as mentioned in the man page now works again as an alias to ved -vhelp. - ved: Some forgotten places with 0200 for the size if the binding arrray have been changed to 256 to make ved work again for all 8 bit characters. - ved: Typo correction in ved.h - ved: ved.h added the needed #includes for National Language Support and for wide characters. - ved: better comment for the needed size of ved in buffer.h - ved: consdebug.c introduced a workaround for a configuration bug with GCC on Linux that makes it impossible to avoid a warning about unused return values from write() using standard C methods. - ved: vedstats.c fixed some typos. - ved: io.c better comment to help understanding how a conversion for multi byte support could be done. - ved: io.c has been restructured to make sure that getnextc() no longer calls inchar() but recursively getnextc(). This is needed to prepare a clean layer where mbtowc() may be called. - ved: ved -version now prints a date together with the version number. - ved: major overhoul of the man page - count: The man page now includes current mail addresses. - count: The program now supports localized strings, but not yet localizated texts. - count: The program now supports multi byte characters together with the mew option -mchars, -m, -C - count: the default value for the tab width is now 8. - mkisofs: The mail address and some Copyright dates have been made recent. - cdrecord/README: The mail adresses have been made recent. - star: The README file now mentions very long path names and uses recent mail addresses - star: the function getpriv() has been renamed to getpaxpriv() since a function getpriv() is part of libc on OS400. Thanks to Jack Woehr for reporting - libshedit/bsh/Bourne Shell: A word that starts with unescaped pattern matcher meta characters could cause a core dump when the matching results did not start with the start of that word. this happens when the first caracters are typed manually and are e.g. "#-" which matches on "nothing" and as a result, "#-*" match es on anything, so the matching results do not start with the beginning of the word. We currently only prevent the core dump. - bsh: Mail address in wait3.c has been made recent. - SCCS: The makefiles for sccsdiff and rcssccs now include $(CPP_FLAGS) as needed since the definitions have been changed with schilytools-2018-08-24 - SunPro Make: snpro/Make/include/mksh/defs.h no longer tries to create a typedef for timestruc_t on non-SVr4 based platforms, but uses the fallback #define from incs/*/xconfig.h Thanks to Jack Woehr for reporting - 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: - 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, joerg.schilling@fokus.fraunhofer.de Please mail bugs and suggestions to me.