diff --git a/tools/regression/usr.bin/sed/multitest.t b/tools/regression/usr.bin/sed/multitest.t index 93220787bcce..67dcded3ec22 100644 --- a/tools/regression/usr.bin/sed/multitest.t +++ b/tools/regression/usr.bin/sed/multitest.t @@ -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() diff --git a/tools/regression/usr.bin/sed/regress.multitest.out/8.22 b/tools/regression/usr.bin/sed/regress.multitest.out/8.22 new file mode 100644 index 000000000000..1191247b6d9a --- /dev/null +++ b/tools/regression/usr.bin/sed/regress.multitest.out/8.22 @@ -0,0 +1,2 @@ +1 +2 diff --git a/tools/regression/usr.bin/sed/regress.multitest.out/8.23 b/tools/regression/usr.bin/sed/regress.multitest.out/8.23 new file mode 100644 index 000000000000..c66dd65b0993 --- /dev/null +++ b/tools/regression/usr.bin/sed/regress.multitest.out/8.23 @@ -0,0 +1 @@ +1X2 diff --git a/usr.bin/sed/compile.c b/usr.bin/sed/compile.c index 1db7f634bd7e..cea8e07b9c3b 100644 --- a/usr.bin/sed/compile.c +++ b/usr.bin/sed/compile.c @@ -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; }