[BACK]Return to FIXES CVS log [TXT][DIR] Up to [local] / src / usr.bin / awk

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: