diff options
-rw-r--r-- | editors/sed.c | 2 | ||||
-rwxr-xr-x | testsuite/sed.tests | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/editors/sed.c b/editors/sed.c index e625a0965..3a0d917aa 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -330,7 +330,7 @@ static int get_address(const char *my_str, int *linenum, regex_t ** regex) next = index_of_next_unescaped_regexp_delim(delimiter, ++pos); temp = copy_parsing_escapes(pos, next); *regex = xzalloc(sizeof(regex_t)); - xregcomp(*regex, temp, G.regex_type|REG_NEWLINE); + xregcomp(*regex, temp, G.regex_type); free(temp); /* Move position to next character after last delimiter */ pos += (next+1); diff --git a/testsuite/sed.tests b/testsuite/sed.tests index 468565f47..2af1e4c97 100755 --- a/testsuite/sed.tests +++ b/testsuite/sed.tests @@ -310,6 +310,27 @@ testing "sed zero chars match/replace logic must not falsely trigger here 2" \ "sed 's/ *$/_/g'" \ "qwerty_\n" "" "qwerty\n" +testing "sed /\$_in_regex/ should not match newlines, only end-of-line" \ + "sed ': testcont; /\\\\$/{ =; N; b testcont }'" \ + "\ +this is a regular line +2 +line with \\ +continuation +more regular lines +5 +line with \\ +continuation +" \ + "" "\ +this is a regular line +line with \\ +continuation +more regular lines +line with \\ +continuation +" + # testing "description" "commands" "result" "infile" "stdin" exit $FAILCOUNT |