Annotation of src/usr.bin/awk/FIXES, Revision 1.54
1.1 tholo 1: /****************************************************************
1.6 kstailey 2: Copyright (C) Lucent Technologies 1997
1.1 tholo 3: All Rights Reserved
4:
5: Permission to use, copy, modify, and distribute this software and
6: its documentation for any purpose and without fee is hereby
7: granted, provided that the above copyright notice appear in all
8: copies and that both that the copyright notice and this
9: permission notice and warranty disclaimer appear in supporting
1.6 kstailey 10: documentation, and that the name Lucent Technologies or any of
11: its entities not be used in advertising or publicity pertaining
12: to distribution of the software without specific, written prior
13: permission.
14:
15: LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16: INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
17: IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
18: SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
20: IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
22: THIS SOFTWARE.
1.1 tholo 23: ****************************************************************/
24:
1.51 millert 25: This file lists all bug fixes, changes, etc., made since the
26: second edition of the AWK book was published in September 2023.
1.45 millert 27:
1.54 ! millert 28: Nov 20, 2023
! 29: rewrite of fnematch to fix a number of issues, including
! 30: extraneous output, out-of-bounds access, number of bytes
! 31: to push back after a failed match etc.
! 32: thanks to Miguel Pineiro Jr.
! 33:
! 34: Nov 15, 2023
! 35: Man page edit, regression test fixes. thanks to Arnold Robbins
! 36: consolidation of sub and gsub into dosub, removing duplicate
! 37: code. thanks to Miguel Pineiro Jr.
! 38: gcc replaced with cc everywhere.
! 39:
1.53 millert 40: Oct 30, 2023:
41: multiple fixes and a minor code cleanup.
42: disabled utf-8 for non-multibyte locales, such as C or POSIX.
43: fixed a bad char * cast that causes incorrect results on big-endian
44: systems. also fixed an out-of-bounds read for empty CCL.
45: fixed a buffer overflow in substr with utf-8 strings.
46: many thanks to Todd C Miller.
47:
48:
1.52 millert 49: Sep 24, 2023:
50: fnematch and getrune have been overhauled to solve issues around
51: unicode FS and RS. also fixed gsub null match issue with unicode.
52: big thanks to Arnold Robbins.
53:
1.51 millert 54: Sep 12, 2023:
55: Fixed a length error in u8_byte2char that set RSTART to
56: incorrect (cannot happen) value for EOL match(str, /$/).
1.50 millert 57:
1.49 millert 58:
1.51 millert 59: -----------------------------------------------------------------
1.48 millert 60:
1.51 millert 61: [This entry is a summary, not a precise list of changes.]
1.46 millert 62:
1.51 millert 63: Added --csv option to enable processing of comma-separated
64: values inputs. When --csv is enabled, fields are separated
65: by commas, fields may be quoted with " double quotes, fields
66: may contain embedded newlines.
1.46 millert 67:
1.51 millert 68: If no explicit separator argument is provided, split() uses
69: the setting of --csv to determine how fields are split.
1.44 millert 70:
1.51 millert 71: Strings may now contain UTF-8 code points (not necessarily
72: characters). Functions that operate on characters, like
73: length, substr, index, match, etc., use UTF-8, so the length
74: of a string of 3 emojis is 3, not 12 as it would be if bytes
75: were counted.
1.43 millert 76:
1.51 millert 77: Regular expressions are processes as UTF-8.
1.6 kstailey 78:
1.51 millert 79: Unicode literals can be written as \u followed by one
80: to eight hexadecimal digits. These may appear in strings and
81: regular expressions.
1.6 kstailey 82: