1New features with AN-2017-09-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- libschily::getargs.c: Added a new flag that allows to implement POSIX 46 option rule #5: 47 48 One or more options without option-arguments, followed by 49 at most one option that takes an option-argument, should be 50 accepted when grouped behind one '-' delimiter. 51 52 This new mode is needed to implement spax with a POSIX compliant CLI. 53 54- libschily: The environment "COMERR_EXCODE" now directs the comerr() 55 group of functions not to map exit codes to -64 in case they are 56 ambiguous to callers of the historic wait() call. 57 58 If you like to get the unmodified exit code, use the "new" (since 1989) 59 POSIX waitid() call and add the "COMERR_EXCODE" before creating 60 the child process. 61 62- libhsf: removed a superfluous "*/" in DEBUG code. 63 64 Thanks to a report from Heiko Ei�feldt 65 66- Bourne Shell: Fixed a bug in the new "return" feature for dot scripts: 67 The IO stack was not completely unwound when returning from a dot 68 script. This caused a related "struct fileblk" (an automatic variable) 69 to be reused and overwritten, resulting in SIGSEGV. 70 71 Thanks to Martijn Dekker for reporting 72 73- Bourne Shell: Fixed a bug in the new "return" feature for dot scripts: 74 A return inside a function from a dot script did return from the entire 75 dot script and not only from the function. 76 77 Thanks to Martijn Dekker for reporting 78 79- Bourne Shell: added a test for the above problem. 80 81- Bourne Shell: Fixed a bug in the new "return" feature for dot scripts: 82 A continue in e.g. a while loop did not continue the while loop 83 but returned from the entire dot script. 84 85 Thanks to Martijn Dekker for reporting 86 87- Bourne Shell: added a test for the above problem. 88 89- Bourne Shell: Fixed a typo in the code introduced with 90 schilytools-2017-08-29 when adding an IO barrier that controls the removing 91 of shell tmp files from here documents. 92 93- Bourne Shell: remove fewer shell tmp files for here documents to better 94 support function definitions with embedded here documents from within 95 an "eval" command. 96 97- Bourne Shell: added a test for the above problem. 98 99- Bourne Shell: Fixed a bug that caused the hashed values for commands 100 to be changed to wrong values in case the commands have been called 101 via the Built-in "command". This caused the a builtin command with the 102 name of a function to become unusable. 103 104 Thanks to Martijn Dekker for reporting 105 106- Bourne Shell: added a test for the above problem. 107 108- bsh and Bourne Shell: fixed a problem in alias/unalias: 109 if a non-persistent alias was removed, a new alias with the same 110 name was ignored. 111 112 Thanks to Martijn Dekker for reporting 113 114- Bourne Shell: added a test for the above problem. 115 116- Bourne Shell: set -o posix now is able to switch to POSIX 117 variable export definitions after startup 118 119 Thanks to Martijn Dekker for reporting 120 121- Bourne Shell: The exit code for the builtin test command is now 122 2 for a syntax error as required by POSIX. 123 124 Thanks to Martijn Dekker for reporting 125 126- Bourne Shell: A compliance test was added for above change. 127 128- Bourne Shell: When integers are compared by test and it turns out 129 that a related argument does not only contain digits, this is 130 flagged as error. 131 132 Thanks to Martijn Dekker for reporting 133 134- Bourne Shell: A compliance test was added for above change. 135 136- Bourne Shell: two isatty(1) -> isatty(STDOUT_FILENO) 137 changes for readability of code. 138 139- Bourne Shell: added code in freetree() for the forgotten new 140 syntax tree node types: TNOFORK, TSETIO, and TSELECT. 141 142- Bourne Shell: added a workaround for a complex bug in the shell 143 that causes fd#10 to be reamed to fd #1 twice with the result that 144 fd #1 (stdout) was no longer usable. This is not a fix but it 145 prevents the unwanted result.... 146 147- bsh: a wrongly placed "}" has been corrected for the case that 148 a platform does not support vfork(). 149 150 Thanks to a report from Heiko Ei�feldt 151 152- Star (pax): Option parsing is now done in a POSIX compliant way. 153 Before, pax did not permit calls like "pax -vffile". 154 155 This is the first step in making star's pax implementation 156 to pass the POSIX certification. 157 158- Sformat: The terminating condition for a manual sector size 159 question for Adaptec controllers has been corrected. 160 161 Thanks to a report from Heiko Ei�feldt 162 163- SCCS: the test for "sccs help get_kywds" has been enhanced to 164 mention that the enhanced (lower case) get keywords are only 165 available if enabled via "admin -fx" or "admin -fy". 166 167- cdrecord: the man page now comes with an enhanced section 168 "EXIT STATUS" 169 170 Thanks to a report from Mathias <dl2gmb@netscape.net> 171 172- SunPro Make: make now supports to specify "make -j5" instead 173 of only "make -j 5". This feature is switched off by setting 174 the environment 175 176 SUN_MAKE_COMPAT_MODE= 177 178 to an empty string. 179 180 181 182- Bourne Shell Missing features for POSIX compliance: 183 184 - Support for $'...' quoting (this is not needed for the current 185 version of POSIX but for the next POSIX 186 version that will be named SUSv8). 187 The development of SUSv8 will start in 188 late 2016. 189 190 We are now expecting the Bourne Shell to be fully POSIX compliant. 191 192- Bourne Shell further TODO list: 193 194 - Finish loadable builtin support. 195 196 - POSIX does not allow us to implement ". -h", so we will 197 add a "source" builtin to be able to implement "source -h" 198 199- The following builtins (that are available in bsh) are still missing in 200 the Bourne Shell: 201 202 err echo with output going to stderr 203 glob echo with '\0' instead of ' ' between args 204 env a builtin version of /usr/bin/env 205 206 The following bsh intrinsics are still missing in the Bourne Shell: 207 208 - the restricted bsh has restriction features that 209 are missing in the Bourne shell. 210 211 - source -h read file into history but do not execute 212 213 and probably more features not yet identified to be bsh unique. 214 215 216 217Author: 218 219Joerg Schilling 220D-13353 Berlin 221Germany 222 223Email: joerg@schily.net, js@cs.tu-berlin.de 224 joerg.schilling@fokus.fraunhofer.de 225 226Please mail bugs and suggestions to me. 227