1New features with AN-2015-12-30: 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- Schily.Copyright dates updated 46 47- cdrtools bumped to 3.02a04 48 49- include/schily/prototyp.h now defines ALERT to abstract from 50 the K&R C vs. ANSI C and the missing support for \a in K&R C 51 52- libxtermcap/tgetent.c smake/job.c hdump/hdump.c translit/translit.c 53 Bourne Shell/echo.c now avoid a warning from using \a with K&R C. 54 55- libschily/getfp.c Try to disable the address sanitizer for getfp() 56 to avoid unhelpful messages. 57 Thanks to a hint from Heiko Ei�feldt. 58 59- libschily/searchinpath.c Avoid a memory leak on platforms that do not 60 support getexecname() 61 Thanks to a hint from Heiko Ei�feldt. 62 63- libmdigest & mdigest: sha3 entry function names changed to match 64 other digest functions. 65 66- libmdigest: the shared library mapfile now includes the sha3 functions 67 68- mkisofs: Avoid coredumps from dereferencing NULL pointers with some 69 kind of rotten iso images when in multi session mode. 70 Thanks for Heiko Ei�feldt for reporting this problem based on a test 71 using "The American fuzzy lop". 72 73- mkisofs: Avoid coredumps from dereferencing NULL pointers with some 74 kind of rotten iso images when in multi session mode and other incorrect 75 length computations. This in special means multi.c 76 Thanks for Heiko Ei�feldt for reporting and for doing a code review. 77 78- mkisofs: Avoid to address wrong memory when scanning old ISO images. 79 Thanks for Heiko Ei�feldt for reporting and for doing a code review. 80 81- mkisofs/joliet.c: convert_to_unicode() no longer tries to access the 82 input string past the null byte. 83 Thanks to a hint from Heiko Ei�feldt. 84 85- mkisofs/write.c: mkisofs -sort with multi extent files (files > 4 GB) 86 no longer computes the size of the file twice while computing the 87 start sectors for files. 88 Thanks to a report from Arpad Biro <biro.arpad@gmail.com> 89 90- Bourne Shell: optinit() now defaults to no implicit getopt() warnings. 91 92- Bourne Shell: optinit() / struct optv now support an additional member 93 "optflag" to allow to avoid "wrong option" error messages from optskip(). 94 95- Bourne Shell: 6 flag bits have been relocated to flags2 to create space 96 in flags. 97 98- Bourne Shell: Command substitution (`cmd`) now also honors the 99 set -o fullexitcode settings for the exit code 100 101- Bourne Shell: The debug code that is enabled with COPTX=-DPARSE_DEBUG 102 now also prints the parsed tree from `cmd`. This helps to understand 103 the implementation. 104 105- osh (OpenSolaris Bourne Shell): $? is again 0 if exitcode % 256 == 0 106 This gives bug compatibility even when waitid() is used in the shell 107 instead of the historical waitpid(). 108 109- Bourne Shell: The symbol "!" is now a reserved word to logically NOT 110 the exit code of a following program. This was added for POSIX 111 compliance. 112 113- Bourne Shell: POSIX compliance: permit an optional "(" before patterns 114 from case constructs 115 116- Bourne Shell: support for the reserved word "time" was added. This is 117 an extension introduced by ksh88. Note that if "time -" is detected, 118 the system's time(1) utility is called to be able to support the POSIX 119 required: "time -p command". 120 121- Bourne Shell: timing now correctly collects timing for children _and_ 122 the time consumed by the shell itself. This makes the results more 123 comparable to the results from the external time(1) command. 124 125- Bourne Shell: A bug in kill(1) option parsing introduced with 2015-12-16 126 was fixed. 127 128- Bourne Shell: kill(1) is now POSIX compliant and supports "-s sig". 129 130- Bourne Shell: "killpg 123456789" now correctly complains with: 131 "no such process group" instead of "no such process" 132 133- Bourne Shell Missing features for POSIX compliance: 134 135 - Parameter substitution with these constructs: 136 137 ${#parameter} -> strlen(parameter) 138 ${parameter%[word]} -> Remove Smallest Suffix Pattern 139 ${parameter%%[word]} -> Remove Largest Suffix Pattern 140 ${parameter#[word]} -> Remove Smallest Prefix Pattern 141 ${parameter##[word]} -> Remove Largest Prefix Pattern 142 143 With $* $@, all above expansions are unspecified 144 145 - Tilde expansion after unquoted ':' in variable assignment 146 147 - Command Substitution with $(cmd) 148 149 - Arithmetic Substitution with $((expression)) 150 151 - cd with "-LP" as options 152 153 - pwd with "-LP" as options 154 155 - "command" builtin 156 157 - Support for $'...' quoting (this is for the next POSIX version) 158 159- Bourne Shell further TODO list: 160 161 - Try to make 162 163 lastline= 164 while read line 165 do 166 lastline=$line 167 done < /etc/passwd 168 echo "lastline=$lastline" 169 170 print the last line of /etc/passwd without the exec "trick" 171 that is documented in the man page. 172 173 - Finish loadable builtin support. 174 175 - We are not allowed to implement ". -h", so we will 176 add a "source" builtin to be able to implement "source -h" 177 178- The following builtins (that are available in bsh) are still missing in 179 the Bourne Shell: 180 181 err echo with output going to stderr 182 glob echo with '\0' instead of ' ' between args 183 env a builtin version of /usr/bin/env 184 185 The following bsh intrinsics are still missing in the Bourne Shell: 186 187 - the restricted bsh has restriction features that 188 are missing in the Bourne shell. 189 190 - source -h read file into history but do not excute 191 192 and probably more features not yet identified to be bsh unique. 193 194 195 196Author: 197 198Joerg Schilling 199D-13353 Berlin 200Germany 201 202Email: joerg@schily.net, js@cs.tu-berlin.de 203 joerg.schilling@fokus.fraunhofer.de 204 205Please mail bugs and suggestions to me. 206