All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip
* Noteworthy changes in release 4.8 (2020-01-14) [stable]
** Bug fixes
"sed -i" now creates temporary files with correct umask (limited to u=rwx).
Previously sed would incorrectly set umask on temporary files, resulting
in problems under certain fuse-like file systems.
[bug introduced in sed 4.2.1]
** Release
distribute gzip-compressed tarballs once again
** Improvements
a year's worth of gnulib development, including improved DFA performance
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
* Noteworthy changes in release 4.7 (2018-12-20) [stable]
** Bug fixes
Some uses of \b in the C locale and with the DFA matcher would fail, e.g.,
the following would mistakenly print "123-x" instead of "123":
echo 123-x|LC_ALL=C sed 's/.\bx//'
Using a multibyte locale or certain regexp constructs (some ranges,
backreferences) would avoid the bug. [bug introduced in sed 4.6]
Changelog:
* Noteworthy changes in release 4.6 (2018-12-19) [stable]
** Improvements
sed now prints a clear error message when r/R/w/W (and s///w) commands
are missing a filename. Previously, w/W commands would fail with confusing
error message, while r/R would be a silent no-op.
sed now uses fully-buffered output (instead of line-buffered) when
writing to files. This should noticeably improve performance of "sed -i"
and other write commands.
Buffering can be disabled (as before) with "sed -u".
sed in non-cygwin windows environments (e.g. mingw) now properly handles
'\n' newlines in -b/--binary mode.
** Bug fixes
sed no longer accesses invalid memory (heap overflow) when given invalid
backreferences in 's' command [bug#32082, present at least since sed-4.0.6].
sed no longer adds extraneous NUL when given s/$//n command.
[related to bug#32271, present since sed-4.0.7]
sed no longer accesses invalid memory (heap overflow) with s/$//n regexes.
[bug#32271, present since sed-4.3].
** New Features
New option, --debug: print the input sed script in canonical form
and annotate program execution.
* Noteworthy changes in release 4.5 (2018-03-31) [stable]
** Bug fixes
sed now fails when matching very long input lines (>2GB).
Before, sed would silently ignore the regex without indicating an
error. [Bug present at least since sed-3.02]
sed no longer rejects comments and closing braces after y/// commands.
[Bug existed at least since sed-3.02]
sed -E --posix no longer ignores special meaning of '+','?','|' .
[Bug introduced in the original implementation of --posix option in
v4.1a-5-gba68fb4]
sed -i now creates selinux context based on the context of the symlink
instead of the symlink target. [Bug present since at least sed-4.2]
sed -i --follow-symlinks remains unchanged.
sed now treats the sequence '\x5c' (ASCII 92, backslash) as literal
backslash character, not as an escape prefix character.
[Bug present since sed-3.02.80]
Old behavior:
$ echo z | sed -E 's/(z)/\x5c1/' # identical to 's/(z)/\1/'
z
New behavior:
$ echo z | sed -E 's/(z)/\x5c1/'
\1
* Noteworthy changes in release 4.4 (2017-02-03) [stable]
** Bug fixes
sed could segfault when invoked with specific combination of newlines
in the input and regex pattern. [Bug introduced in sed-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.
Problems found locating distfiles:
Package cabocha: missing distfile cabocha-0.68.tar.bz2
Package convertlit: missing distfile clit18src.zip
Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Sed 4.2.2
* 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.
Sed 4.2.1
* fix parsing of s/[[[[[[[[[]//
* security contexts are preserved by -i too under SELinux
* temporary files for sed -i are not made group/world-readable until
they are complete
* now released under GPLv3
* added a new extension `z` to clear pattern space even in the presence
of invalid multibyte sequences
* a preexisting GNU gettext installation is needed in order to compile
GNU sed with NLS support
* new option --follow-symlinks, available when editing a file in-place.
This option may not be available on some systems (in this case, the
option will *not* be a no-op; it will be completely unavailable).
In the future, the option may be added as a no-op on systems without
symbolic links at all, since in this case a no-op is effectively
indistinguishable from a correct implementation.
* hold-space is reset between different files in -i and -s modes.
* multibyte processing fixed
* the following GNU extensions are turned off by --posix: options [iImMsSxX]
in the `s' command, address kinds `FIRST~STEP' and `ADDR1,+N' and `ADDR1,~N',
line address 0, `e' or `z' commands, text between an `a' or `c' or `i'
command and the following backslash, arguments to the `l' command.
--posix disables all extensions to regular expressions.
* fixed bug in 'i\' giving a segmentation violation if given alone.
* much improved portability
* much faster in UTF-8 locales
* will correctly replace ACLs when using -i
* will now accept NUL bytes for `.'
pieces of GNU software, this package makes use of GCC extensions.
Another thing is that on Solaris, <stdbool.h> may only be included by
the c99 compiler, not any other; therefore we need to define our boolean
type ourself.
Sed 4.1.5
* fix parsing of a negative character class not including a closed bracket,
like [^]] or [^]a-z].
* fix parsing of [ inside an y command, like y/[/A/.
* output the result of commands a, r, R when a q command is found.
----------------------------------------------------------------------------
Sed 4.1.4
* \B correctly means "not on a word boundary" rather than "inside a word"
* bugfixes for platform without internationalization
* more thorough testing framework for tarballs (`make full-distcheck')
----------------------------------------------------------------------------
Sed 4.1.3
* regex addresses do not use leftmost-longest matching. In other words,
/.\+/ only looks for a single character, and does not try to find as
many of them as possible like it used to do.
* added a note to BUGS and the manual about changed interpretation
of `s|abc\|def||', and about localization issues.
* fixed --disable-nls build problems on Solaris.
* fixed `make check' in non-English locales.
* `make check' tests the regex library by default if the included regex
is used (regex tests had to be enabled separately up to now).
----------------------------------------------------------------------------
Sed 4.1.2
* fix bug in 'y' command in multi-byte character sets
* fix severe bug in parsing of ranges with an embedded open bracket
* fix off-by-one error when printing a "bad command" error
It's not exactly clear why, since the error states:
"You should only need it [makeinfo] if you modified a `.texi' or
`.texinfo' file, or any other file indirectly affecting the aspect of
the manual."
... but it's possibly a side effect of GNU_PROGRAM_PREFIX=g. At any
rate, "makeinfo" seems a harmless request.
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Disable the config.status overriding, it causes config.status to be rerun...
FYI an alternative would be to use GNU make!
Changes since last packaged version:
Sed 4.1.1
* preserve permissions of in-place edited files
* yield an error when running -i on terminals or other non regular files
* do not interpret - as stdin when running in in-place editing mode
* fix bug that prevented 's' command modifiers from working
Package changes:
* remove inclusion of converters/libiconv/buildlink3.mk,
devel/gettext-lib/builtin.mk will take care of that if needed.
Changes since last packaged version (4.0.9):
* // matches the last regular expression even in POSIXLY_CORRECT mode.
* change the way we treat lines which are not terminated by a newline.
Such lines are printed without the terminating newline (as before)
but as soon as more text is sent to the same output stream, the
missing newline is printed, so that the two lines don't concatenate.
The behavior is now independent from POSIXLY_CORRECT because POSIX
actually has undefined behavior in this case, and the new implementation
arguably gives the ``least expected surprise''. Thanks to Stepan
Kasal for the implementation.
* documentation improvements, with updated references to the POSIX.2
specification
* error messages on I/O errors are better, and -i does not leave temporary
files around (e.g. when running ``sed -i'' on a directory).
* escapes are accepted in the y command (for example: y/o/\n/ transforms
o's into newlines)
* -i option tries to set the owner and group to the same as the input file
* `L' command is deprecated and will be removed in sed 4.2.
* line number addresses are processed differently -- this is supposedly
conformant to POSIX and surely more idiot-proof. Line number addresses
are not affected by jumping around them: they are activated and
deactivated exactly where the script says, while previously
5,8b
1,5d
would actually delete lines 1,2,3,4 and 9 (!).
* multibyte characters are taken in consideration to compute the
operands of s and y, provided you set LC_CTYPE correctly. They are
also considered by \l, \L, \u, \U, \E.
* [\n] matches either backslash or 'n' when POSIXLY_CORRECT.
* new option --posix, disables all GNU extensions. POSIXLY_CORRECT only
disables GNU extensions that violate the POSIX standard.
* options -h and -V are not supported anymore, use --help and --version.
* removed documentation for \s and \S which worked incorrectly
* restored correct behavior for \w and \W: match [[:alnum:]_] and
[^[:alnum:]_] (they used to match [[:alpha:]_] and [^[:alpha:]_]
* the special address 0 can only be used in 0,/RE/ or 0~STEP addresses;
other cases give an error (you are hindering portability for no reason
if specifying 0,N and you are giving a dead command if specifying 0
alone).
* when a \ is used to escape the character that would terminate an operand
of the s or y commands, the backslash is removed before the regex is
compiled. This is left undefined by POSIX; this behavior makes `s+x\+++g'
remove occurrences of `x+', consistently with `s/x\///g'. (However, if
you enjoy yourself trying `s*x\***g', sed will use the `x*' regex, and you
won't be able to pass down `x\*' while using * as the delimiter; ideas on
how to simplify the parser in this respect, and/or gain more coherent
semantics, are welcome).