FIXES (112336) | FIXES (118194) |
---|---|
1/**************************************************************** 2Copyright (C) Lucent Technologies 1997 3All Rights Reserved 4 5Permission to use, copy, modify, and distribute this software and 6its documentation for any purpose and without fee is hereby 7granted, provided that the above copyright notice appear in all 8copies and that both that the copyright notice and this --- 11 unchanged lines hidden (view full) --- 20IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 21ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 22THIS SOFTWARE. 23****************************************************************/ 24 25This file lists all bug fixes, changes, etc., made since the AWK book 26was sent to the printers in August, 1987. 27 | 1/**************************************************************** 2Copyright (C) Lucent Technologies 1997 3All Rights Reserved 4 5Permission to use, copy, modify, and distribute this software and 6its documentation for any purpose and without fee is hereby 7granted, provided that the above copyright notice appear in all 8copies and that both that the copyright notice and this --- 11 unchanged lines hidden (view full) --- 20IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 21ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 22THIS SOFTWARE. 23****************************************************************/ 24 25This file lists all bug fixes, changes, etc., made since the AWK book 26was sent to the printers in August, 1987. 27 |
28Jul 29, 2003: 29 fixed (i think) the long-standing botch that included the beginning of 30 line state ^ for RE's in the set of valid characters; this led to a 31 variety of odd problems, including failure to properly match certain 32 regular expressions in non-US locales. thanks to ruslan for keeping 33 at this one. 34 35Jul 28, 2003: 36 n-th try at getting internationalization right, with thanks to volker 37 kiefel, arnold robbins and ruslan ermilov for advice, though they 38 should not be blamed for the outcome. according to posix, "." is the 39 radix character in programs and command line arguments regardless of 40 the locale; otherwise, the locale should prevail for input and output 41 of numbers. so it's intended to work that way. 42 43 i have rescinded the attempt to use strcoll in expanding shorthands in 44 regular expressions (cclenter). its properties are much too 45 surprising; for example [a-c] matches aAbBc in locale en_US but abBcC 46 in locale fr_CA. i can see how this might arise by implementation 47 but i cannot explain it to a human user. (this behavior can be seen 48 in gawk as well; we're leaning on the same library.) 49 50 the issue appears to be that strcoll is meant for sorting, where 51 merging upper and lower case may make sense (though note that unix 52 sort does not do this by default either). it is not appropriate 53 for regular expressions, where the goal is to match specific 54 patterns of characters. in any case, the notations [:lower:], etc., 55 are available in awk, and they are more likely to work correctly in 56 most locales. 57 58 a moratorium is hereby declared on internationalization changes. 59 i apologize to friends and colleagues in other parts of the world. 60 i would truly like to get this "right", but i don't know what 61 that is, and i do not want to keep making changes until it's clear. 62 63Jul 4, 2003: 64 fixed bug that permitted non-terminated RE, as in "awk /x". 65 66Jun 1, 2003: 67 subtle change to split: if source is empty, number of elems 68 is always 0 and the array is not set. 69 70Mar 21, 2003: 71 added some parens to isblank, in another attempt to make things 72 internationally portable. 73 |
|
28Mar 14, 2003: 29 the internationalization changes, somewhat modified, are now 30 reinstated. in theory awk will now do character comparisons 31 and case conversions in national language, but "." will always 32 be the decimal point separator on input and output regardless 33 of national language. isblank(){} has an #ifndef. 34 35 this no longer compiles on windows: LC_MESSAGES isn't defined --- 758 unchanged lines hidden --- | 74Mar 14, 2003: 75 the internationalization changes, somewhat modified, are now 76 reinstated. in theory awk will now do character comparisons 77 and case conversions in national language, but "." will always 78 be the decimal point separator on input and output regardless 79 of national language. isblank(){} has an #ifndef. 80 81 this no longer compiles on windows: LC_MESSAGES isn't defined --- 758 unchanged lines hidden --- |