1New features with AN-2016-05-24: 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- bsh: Cstyle changes 46 47- Bourne Shell: Cstyle changes 48 49- Bourne Shell: the shell variable lookup now uses an inline string compare. 50 51- Bourne Shell: the arithmetic expansion now writes a specific error 52 message when a number is not a legal number, e.g. when using something 53 like 'echo $((019))' that refers to an "octal number" with non-octal 54 digits inside. 55 56- Bourne Shell: a bug in the string manipulation with $((expr)) was fixed. 57 This bug was triggered by e.g two command expansions in an arithmetic 58 string such as the invalid expression: "$(($(true)==$(true)))" 59 Thanks to Heiko Ei�feldt for reporting! 60 61- Bourne Shell: The @ builtin command (introduced last year) has been 62 disabled since POSIX arithmetic expansion now works well enough. 63 64- Bourne Shell: $((arithmetic expression)) assignment operators now work. 65 66- Bourne Shell: $((arithmetic expression)) ++var and --var operators now 67 work. 68 69- Bourne Shell: $((arithmetic expression)) var++ and var-- operators now 70 work. 71 72- Bourne Shell: $((arithmetic expression)) Skipping the right side of 73 "1 || expr" or "0 && expr" instead of evaluating it works now. 74 75- Bourne Shell: $((arithmetic expression)) Conditional expressions with 76 condition ? evaluated-when-true : evaluated-when-false 77 now work. 78 79- Bourne Shell: $((arithmetic expression)) The comma operatoe now 80 works. 81 82- Bourne Shell: Plenty of new compliance tests have been added to the 83 test suite to verify correct behavior of the new features of the 84 arithmetic expansion. 85 86- Bourne Shell: POSIX $((arithmetic expression)) is now 100% ready. 87 88 89- Bourne Shell Missing features for POSIX compliance: 90 91 - Do not list functions when calling "set" with no arguments. 92 Note that this POSIX requirement is seen as a POSIX bug as there 93 is no POSIX command to list function definitions. 94 NOTE that this will not be implemented before POSIX bug 95 http://austingroupbugs.net/view.php?id=1025 was fixed. 96 97 - A POSIX whitepaper at: http://www.unix.org/whitepapers/shdiffs.html 98 claims that: 99 IFS=o; violet 100 101 should not execute "vi". The normative text in the POSIX standard 102 describes the historic Bourne Shell behavior, but the rationale 103 describes the deviating behavior from "ksh". 104 105 106 - Support for $'...' quoting (this is not needed for the current 107 version of POSIX but for the next POSIX 108 version that will be SUSv8) 109 110 We are getting very close to full POSIX support. 111 112 113- Bourne Shell further TODO list: 114 115 - Try to make 116 117 lastline= 118 while read line 119 do 120 lastline=$line 121 done < /etc/passwd 122 echo "lastline=$lastline" 123 124 print the last line of /etc/passwd without the exec "trick" 125 that is documented in the man page. 126 127 - Finish loadable builtin support. 128 129 - POSIX does not allow us to implement ". -h", so we will 130 add a "source" builtin to be able to implement "source -h" 131 132- The following builtins (that are available in bsh) are still missing in 133 the Bourne Shell: 134 135 err echo with output going to stderr 136 glob echo with '\0' instead of ' ' between args 137 env a builtin version of /usr/bin/env 138 139 The following bsh intrinsics are still missing in the Bourne Shell: 140 141 - the restricted bsh has restriction features that 142 are missing in the Bourne shell. 143 144 - source -h read file into history but do not excute 145 146 and probably more features not yet identified to be bsh unique. 147 148 149 150Author: 151 152Joerg Schilling 153D-13353 Berlin 154Germany 155 156Email: joerg@schily.net, js@cs.tu-berlin.de 157 joerg.schilling@fokus.fraunhofer.de 158 159Please mail bugs and suggestions to me. 160