Subject: CVS commit: pkgsrc/textproc/gsed
To: None <pkgsrc-changes@NetBSD.org>
From: Stoned Elipot <seb@netbsd.org>
List: pkgsrc-changes
Date: 06/25/2004 15:17:55
Module Name:	pkgsrc
Committed By:	seb
Date:		Fri Jun 25 15:17:55 UTC 2004

Modified Files:
	pkgsrc/textproc/gsed: Makefile PLIST distinfo
Removed Files:
	pkgsrc/textproc/gsed/patches: patch-ac patch-ad

Log Message:
Update to version 4.1.

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).


To generate a diff of this commit:
cvs rdiff -r1.18 -r1.19 pkgsrc/textproc/gsed/Makefile
cvs rdiff -r1.8 -r1.9 pkgsrc/textproc/gsed/PLIST
cvs rdiff -r1.7 -r1.8 pkgsrc/textproc/gsed/distinfo
cvs rdiff -r1.1 -r0 pkgsrc/textproc/gsed/patches/patch-ac \
    pkgsrc/textproc/gsed/patches/patch-ad

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.