1New features with AN-2017-06-15: 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- configure: the test for libnsl now uses gethostbyname() instead of 46 inet_ntoa() and also checks for "libnetwork". This should finally cover 47 Haiku to fully automatically compile SunPro Make. 48 49- SunPro Make: With the new autoconf test from above, SunPro Make now 50 should compile and run on Haiku. 51 52- smake: Added new automake code that supports the rules for "uname -p" 53 from Haiku. 54 55- cdrecord: man page now mentions the exit code 56 57- readcd: man page now mentions the exit code 58 59- SCCS: "bdiff" no longer tries to install a signel handler for 60 SIGCHLD and then exits after the called "diff" program exited. 61 This was caused by an unusual numbering for the signals on Haiku. 62 63 Thanks to Heiko Ei�feldt for reporting 64 65- SCCS: "delta" now prints the really used path for the diff program 66 in some failure cases. 67 68 Thanks to Heiko Ei�feldt for reporting 69 70- patch: The conformance tests "cmptest" and "gentest" now also check 71 for "/bin/patch" while searching for a reference patch binary. 72 This is needed s Haiku does not have a /usr/bin/ directory. 73 74 Thanks to Heiko Ei�feldt for reporting 75 76- patch: The conformance tests "cmptest" and "gentest" now also check 77 whether the system supports an "ed" binary and skips "diff -e" tests 78 in case "ed" is missing. This is needed on Haiku that does not have 79 an "ed" binary. 80 81 Thanks to Heiko Ei�feldt for reporting 82 83- star: The conformance tests that check the star -tv behavior now set 84 the timezone to GMT to get a test result that does not depend on the 85 configured timezone of the system. 86 87 Thanks to Heiko Ei�feldt for reporting 88 89- Bourne Shell: set -u now aborts arithmetic expressions with unset 90 variables. 91 92 Thanks to a report from Robert Elz 93 94- Bourne Shell: If the shell starts up in interactive mode, it 95 now auto-enables the monitor mode (set -m) as this is required 96 by POSIX. 97 98- Bourne Shell: The command 99 100 ( trap "echo exiting" EXIT; /usr/bin/true ) 101 102 no longer optimizes out the fork() for /usr/bin/true and thus 103 is able to fire the trap command. 104 105 This is a bug that is present in the Bourne Shell since 1977. 106 107 Thanks to a report from Robert Elz 108 109- Bourne Shell: The parser for ${var#value} has been restructured 110 to check for ${var##value} before value is expanded. This 111 permits to expand X=# ${var#$X} correctly. 112 113 Thanks to a report from Robert Elz 114 115- Bourne Shell: added a compliance test for the above case. 116 117- Bourne Shell: the command 118 119 sh -c 'set -- a b c d; echo ${4294967297}' 120 121 no longer prints "a", as there now is an overflow check. 122 123 Thanks to a report from Robert Elz 124 125- Bourne Shell: added a compliance test for the above case. 126 127- Bourne Shell: Avoid an endless loop while getting a hard 128 EOF inside "${..}" 129 130 Thanks to a report from Robert Elz 131 132- Bourne Shell: the command: 133 134 bosh -c '(set -e; ! false; echo OK); echo OK' 135 136 now prints two times "OK" as expected. This happens as the 137 evaluation for "set -e" for builtin commands now has been fully moved 138 into the the main interpreter code. The same modification now causes: 139 140 bosh -c '(set -e; time false)' 141 142 to print the timing results before exiting the shell. 143 144 Thanks to a report from Robert Elz 145 146- Bourne Shell: A bug in arithmetic expansion with nested backtick- 147 style command substitutions like: 148 149 bosh -c 'echo $(( `echo 77` `echo -` `echo 44` ))' 150 151 has been fixed. 152 153 Thanks to a report from Robert Elz 154 155- Bourne Shell: added a compliance test for the above case. 156 157- Bourne Shell: echo ${#:-99} does now do what is expected. 158 159 Thanks to a report from Robert Elz 160 161- Bourne Shell: added a compliance test for the above case. 162 163- Bourne Shell: echo ${#-99} ${#+99} ${#?99} and ${#=99} 164 now work as well, while the corner case ${#?} behaves as it 165 did before. 166 167 Thanks to a report from Robert Elz 168 169- Bourne Shell: added a compliance test for the above case. 170 171- Bourne Shell: IFS=5; echo $(( 123456789 )) now works as 172 expected. 173 174 Thanks to a report from Robert Elz 175 176- Bourne Shell: added a compliance test for the above case. 177 178- Bourne Shell: The man page now mentions the flags -b and -C 179 in the SYNOPSIS description. 180 181- Bourne Shell: The man page no longer mentions 182 183 IFS=X 184 echoXfoo 185 186 as this problem does no longer exist in POSIX mode. 187 188- Bourne Shell: added two new tests from Robert Elz to check the 189 correct handling of backslash-newline sequences. 190 191- Old Bourne Shell: A man page was added. 192 This was needed as some distributions seem to be interested 193 to include a portable shell that is 100% compliant with the 194 Historic Bourne Shell as distributed with OpenSolaris. 195 196 197 198 199- Bourne Shell Missing features for POSIX compliance: 200 201 - Support for $'...' quoting (this is not needed for the current 202 version of POSIX but for the next POSIX 203 version that will be named SUSv8). 204 The development of SUSv8 will start in 205 late 2016. 206 207 We are now expecting the Bourne Shell to be fully POSIX compliant. 208 209 210 211- Bourne Shell further TODO list: 212 213 - Finish loadable builtin support. 214 215 - POSIX does not allow us to implement ". -h", so we will 216 add a "source" builtin to be able to implement "source -h" 217 218- The following builtins (that are available in bsh) are still missing in 219 the Bourne Shell: 220 221 err echo with output going to stderr 222 glob echo with '\0' instead of ' ' between args 223 env a builtin version of /usr/bin/env 224 225 The following bsh intrinsics are still missing in the Bourne Shell: 226 227 - the restricted bsh has restriction features that 228 are missing in the Bourne shell. 229 230 - source -h read file into history but do not execute 231 232 and probably more features not yet identified to be bsh unique. 233 234 235 236Author: 237 238Joerg Schilling 239D-13353 Berlin 240Germany 241 242Email: joerg@schily.net, js@cs.tu-berlin.de 243 joerg.schilling@fokus.fraunhofer.de 244 245Please mail bugs and suggestions to me. 246