Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 May 2010 19:45:55 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r208403 - in stable/8: tools/regression/usr.bin/sed tools/regression/usr.bin/sed/regress.multitest.out usr.bin/sed
Message-ID:  <201005211945.o4LJjt8T018991@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Fri May 21 19:45:54 2010
New Revision: 208403
URL: http://svn.freebsd.org/changeset/base/208403

Log:
  MFC: r197362
  
  IEEE Std 1003.1, 2004 Edition states:
  
  "The escape sequence '\n' shall match a <newline> embedded in
  the pattern space."
  
  It is unclear whether this also applies to a \n embedded in a
  character class.  Disable the existing handling of \n in a character
  class following Mac OS X, GNU sed version 4.1.5 with --posix, and
  SunOS 5.10 /usr/bin/sed.
  
  Pointed by:	Marius Strobl
  Obtained from:	Mac OS X

Added:
  stable/8/tools/regression/usr.bin/sed/regress.multitest.out/8.22
     - copied unchanged from r197362, head/tools/regression/usr.bin/sed/regress.multitest.out/8.22
  stable/8/tools/regression/usr.bin/sed/regress.multitest.out/8.23
     - copied unchanged from r197362, head/tools/regression/usr.bin/sed/regress.multitest.out/8.23
Modified:
  stable/8/tools/regression/usr.bin/sed/multitest.t
  stable/8/usr.bin/sed/compile.c
Directory Properties:
  stable/8/tools/regression/usr.bin/sed/   (props changed)
  stable/8/usr.bin/sed/   (props changed)

Modified: stable/8/tools/regression/usr.bin/sed/multitest.t
==============================================================================
--- stable/8/tools/regression/usr.bin/sed/multitest.t	Fri May 21 19:44:23 2010	(r208402)
+++ stable/8/tools/regression/usr.bin/sed/multitest.t	Fri May 21 19:45:54 2010	(r208403)
@@ -449,6 +449,9 @@ u2/g' lines1
 	mark '8.21'
 	echo 'a\b(c' |
 	$SED 'y%ABCDEFGHIJKLMNOPQRSTUVWXYZ, /\\()"%abcdefghijklmnopqrstuvwxyz,------%'
+	COMMENT='\n in a character class and a BRE'
+	mark '8.22' ; (echo 1; echo 2) | $SED -n '1{;N;s/[\n]/X/;p;}'
+	mark '8.23' ; (echo 1; echo 2) | $SED -n '1{;N;s/\n/X/;p;}'
 }
 
 test_error()

Copied: stable/8/tools/regression/usr.bin/sed/regress.multitest.out/8.22 (from r197362, head/tools/regression/usr.bin/sed/regress.multitest.out/8.22)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/8/tools/regression/usr.bin/sed/regress.multitest.out/8.22	Fri May 21 19:45:54 2010	(r208403, copy of r197362, head/tools/regression/usr.bin/sed/regress.multitest.out/8.22)
@@ -0,0 +1,2 @@
+1
+2

Copied: stable/8/tools/regression/usr.bin/sed/regress.multitest.out/8.23 (from r197362, head/tools/regression/usr.bin/sed/regress.multitest.out/8.23)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/8/tools/regression/usr.bin/sed/regress.multitest.out/8.23	Fri May 21 19:45:54 2010	(r208403, copy of r197362, head/tools/regression/usr.bin/sed/regress.multitest.out/8.23)
@@ -0,0 +1 @@
+1X2

Modified: stable/8/usr.bin/sed/compile.c
==============================================================================
--- stable/8/usr.bin/sed/compile.c	Fri May 21 19:44:23 2010	(r208402)
+++ stable/8/usr.bin/sed/compile.c	Fri May 21 19:45:54 2010	(r208403)
@@ -432,8 +432,7 @@ compile_ccl(char **sp, char *t)
 			for (c = *s; (*t = *s) != ']' || c != d; s++, t++)
 				if ((c = *s) == '\0')
 					return NULL;
-		} else if (*s == '\\' && s[1] == 'n')
-			    *t = '\n', s++;
+		}
 	return (*s == ']') ? *sp = ++s, ++t : NULL;
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005211945.o4LJjt8T018991>