1New features with AN-2016-04-05: 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- autoconf: fix a typo in aclocal.m4 46 47- autoconf: rewrite some m4 rules to avoid running tests in unneeded 48 subshells. This speeds up the performance of "configure" on Solaris 49 by 5% and probably much more on Cygwin. 50 51- include/schily/wait.h: work around a NetBSD bug (imported from BSD) that 52 is caused by an illegal 53 54 #define WSTOPPED _WSTOPPED 55 56 in <sys/wait.h> that is in conflict with the POSIX standard. This 57 NetBSD bug caused incorrect behavior for background processes in the 58 Bourne Shell. 59 60- libschily: A new function js_dprintf() was added. 61 62- libshedit: new concept to switch from FILE * to int * works with 63 clang on Solaris and with other platforms that got into problems 64 with our last attempt to upport clang on Solaris. 65 66 The current concept is: 67 68 - For all files that we fully control and that need stdio.h 69 include schily/stdio.h and tell it to include ./mystdio.h 70 instead of stdio.h. mystdio.h first includes the system 71 stdio.h in order to avoid later uncontrolled includes and 72 then undefines / redefines what we need to use int * instead 73 of FILE *. 74 75 - For all files we cannot fully control (e.g. inputc.c) because 76 they need system include files that (stelthy) include stdio.h 77 or parts from stdio.h, let these #includes appear first and 78 then include ./mystdio.h in a way that a local MYFILE is 79 defined to "FILE" in case if a stdio based compilateion and 80 #define MYFILE to "int" in case of a stdio-less compilation. 81 82 The new concept has been verified on Solaris, HP-UX, OS X, AIX, 83 FreeBSD, Linux. 84 85- libedc_ecc_dec: Avoid an array out of bound subscription. Thanks to 86 Heiko Ei�feldt for cheking the code after a compiler warning. 87 88- bsh: Now uses waitid() on POSIX compliant platforms and is again 89 able to retrieve all 32 bits from exit() as it has been on UNOS 90 35 years ago. 91 92- bsh: the getrusage() emulation now supports procfs2 and times() as well. 93 94- Bourne Shell: bosh -i now sets "-o ved" by default as expected. This 95 was a bug triggered by newer versions of "script" on Linux that call 96 the shell with -i. 97 98- Bourne Shell: "set --" now clears all current arguments, needed for 99 POSIX. The SVr4 way was to only set a new argument vector when there 100 are arguments following to "set --". 101 102- Bourne Shell: echo ${10} now prints the 10th argument from the parameter 103 list. Before, only $0 .. $9 have been supported. This is to support the 104 requirements from POSIX. 105 Thanks to Robert Elz <kre@munnari.oz.au> for reporting. 106 107- Bourne Shell: unset X; set -u; echo ${X#foo} now fails as expected. 108 Thanks to Robert Elz <kre@munnari.oz.au> for reporting. 109 110- Bourne Shell: a() { ls; }& now results in a correct job message 111 a() { ls; } instead of a() { ls } 112 113- Bourne Shell: fixed a bug caused by a typo that caused a global 114 variable from the lexer not tp be restored after a recursive parser 115 call for $() parsing. 116 117 118- Bourne Shell Missing features for POSIX compliance: 119 120 - Arithmetic Substitution with $((expression)) 121 122 - Do not list functions when calling "set" with no arguments. 123 Note that this POSIX requirement is seen as a POSIX bug as there 124 is no POSIX command to list function definitions. 125 NOTE that this will not be implemented before POSIX bug 126 http://austingroupbugs.net/view.php?id=1025 was fixed. 127 128 - A POSIX whitepaper at: http://www.unix.org/whitepapers/shdiffs.html 129 claims that: 130 IFS=o; violet 131 132 should not execute "vi". The normative text in the POSIX standard 133 describes the historic Bourne Shell behavior, but the rationale 134 describes the deviating behavior from "ksh". 135 136 137 - Support for $'...' quoting (this is not needed for the current 138 version of POSIX but for the next POSIX 139 version that will be SUSv8) 140 141 We are getting very close to full POSIX support. 142 143 144- Bourne Shell further TODO list: 145 146 - Try to make 147 148 lastline= 149 while read line 150 do 151 lastline=$line 152 done < /etc/passwd 153 echo "lastline=$lastline" 154 155 print the last line of /etc/passwd without the exec "trick" 156 that is documented in the man page. 157 158 - Finish loadable builtin support. 159 160 - POSIX does not allow us to implement ". -h", so we will 161 add a "source" builtin to be able to implement "source -h" 162 163- The following builtins (that are available in bsh) are still missing in 164 the Bourne Shell: 165 166 err echo with output going to stderr 167 glob echo with '\0' instead of ' ' between args 168 env a builtin version of /usr/bin/env 169 170 The following bsh intrinsics are still missing in the Bourne Shell: 171 172 - the restricted bsh has restriction features that 173 are missing in the Bourne shell. 174 175 - source -h read file into history but do not excute 176 177 and probably more features not yet identified to be bsh unique. 178 179 180 181Author: 182 183Joerg Schilling 184D-13353 Berlin 185Germany 186 187Email: joerg@schily.net, js@cs.tu-berlin.de 188 joerg.schilling@fokus.fraunhofer.de 189 190Please mail bugs and suggestions to me. 191