Deleted Added
full compact
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 ---