Subject: CVS commit: pkgsrc/textproc/gsed
From: Thomas Klausner
Date: 2017-01-16 12:45:14
Message id: 20170116114514.ADF2FFBA6@cvs.NetBSD.org

Log Message:
Updated gsed to 4.3.

* Noteworthy changes in release 4.3 (2016-12-30) [stable]

** Improvements

  sed's regular expression matching is now typically 10x faster

  sed now uses unlocked-io where available, resulting in faster I/O
  operations.

** Bug fixes

  sed no longer mishandles anchors ^/$ in multiline regex (s///mg)
  with -z option (NUL terminated lines). [Bug introducted in sed-4.2.2
  with the initial implementation of -z]

  sed no longer accepts a ":" command without a label; before, it would
  treat that as defining a label whose name is empty, and subsequent
  label-free "t" and "b" commands would use that label. Now, \ 
sed emits
  a diagnostic and fails for that invalid construct.

  sed no longer accesses uninitialized memory when processing certain
  invalid multibyte sequences. Demonstrate with this:
    echo a | LC_ALL=ja_JP.eucJP valgrind sed/sed 's/a/b\U\xb2c/'
  The error appears to have been introduced with the sed-4.0a release.

  The 'y' (transliterate) operator once again works with a NUL byte
  on the RHS.  E.g., sed 'y/b/\x00/' now works like tr b '\0'.  GNU sed
  has never before recognized \x00 in this context.  However, sed-3.02
  and prior did accept a literal NUL byte in the RHS, which was possible
  only when reading a script from a file.  For example, this:
    echo abc|sed -f <(printf 'y/b/\x00/\n')|cat -A
  is what stopped working. [bug introduced some time after sed-3.02 and
  prior to the first sed-4* test release]

  When the closed-above line number ranges of N editing commands
  overlap (N>1), sed would apply commands 2..N to the line just
  beyond the largest range endpoint.
  [bug introduced some time after sed-4.09 and prior to release in sed-4.1]
  Before, this command would mistakenly modify line 5:
    $ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/'
    1
    yx5
    6
  Now, it does not:
    $ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/'
    1
    5
    6

  An erroneous sed invocation like "echo > F; sed -i s//b/ F" no longer
  leaves behind a temporary file.  Before, that command would create a file
  alongside F with a name matching /^sed......$/ and fail to remove it.

  sed --follow-symlinks now works again for stdin.
  [bug introduced in sed-4.2.2]

  sed no longer elides invalid bytes in a substitution RHS.
  Now, sed copies such bytes into the output, just as Perl does.
  [bug introduced in sed-4.1 -- it was also present prior to 4.0.6]

  sed no longer prints extraneous character when a backslash follows \c.
  '\c\\'  generates control character ^\ (ASCII 0x1C).
  Other characters after the second backslash are rejected (e.g. '\c\d').
  [bug introduced in the sed-4.0.* releases]

  sed no longer mishandles incomplete multibyte sequences in s,y commands
  and valid multibyte SHIFT-JIS characters in character classes.
  Previously, the following commands would fail:
    LC_ALL=en_US.UTF-8 sed $'s/\316/X/'
    LC_ALL=ja_JP.shiftjis sed $'/[\203]/]/p'
  [bug introduced some time after sed-4.1.5 and before sed-4.2.1]

** Feature removal

  The "L" command (format a paragraph like the fmt(1) command would)
  has been listed in the documentation as a failed experiment for at
  least 10 years.  That command is now removed.

** Build-related

  "make dist" now builds .tar.xz files, rather than .tar.gz ones.
  xz is portable enough and in wide-enough use that distributing
  only .tar.xz files is enough.  It has been fine for coreutils, grep,
  diffutils and parted for a few years.

** New Features

  new --sandbox option rejects programs with r/w/e commands.

* Noteworthy changes in release 4.2.2 (2012-12-22) [stable]

* don't misbehave (truncate input) for lines of length 2^31 and longer

* fix endless loop on incomplete multibyte sequences

* -u also does unbuffered input, rather than unbuffered output only

* New command `F' to print current input file name

* sed -i, s///w, and the `w' and `W' commands also obey the --binary option
  (and create CR/LF-terminated files if the option is absent)

* --posix fails for scripts (or fragments as passed to the -e option) that
  end in a backslash, as they are not portable.

* New option -z (--null-data) to separate lines by ASCII NUL characters.

* \x26 (and similar escaped sequences) produces a literal & in the
  replacement argument of the s/// command, rather than including the
  matched text.

Files:
RevisionActionfile
1.49modifypkgsrc/textproc/gsed/Makefile
1.17modifypkgsrc/textproc/gsed/PLIST
1.22modifypkgsrc/textproc/gsed/distinfo
1.2modifypkgsrc/textproc/gsed/patches/patch-sed_utils.c
1.1addpkgsrc/textproc/gsed/patches/patch-Makefile.in