From f12fb1e4092900f26f7f8c71cde44b1cd7d26439 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 23 Jan 2022 19:04:27 +0100 Subject: sed: fix handling of escaped delimiters in s/// replacement function old new delta parse_regex_delim 111 140 +29 Signed-off-by: Denys Vlasenko --- testsuite/sed.tests | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'testsuite') diff --git a/testsuite/sed.tests b/testsuite/sed.tests index 440996a21..626542e33 100755 --- a/testsuite/sed.tests +++ b/testsuite/sed.tests @@ -329,10 +329,15 @@ testing "sed special char as s/// delimiter, in pattern" \ "sed 's+9\++X+'" \ "X8=17\n" "" "9+8=17\n" -# but in replacement string, "\&" remains "\&", not interpreted as "&" -testing "sed special char as s/// delimiter, in replacement" \ +# Matching GNU sed 4.8: +# in replacement string, "\&" remains "\&", not interpreted as "&" +testing "sed special char as s/// delimiter, in replacement 1" \ "sed 's&9&X\&&'" \ "X&+8=17\n" "" "9+8=17\n" +# in replacement string, "\1" is interpreted as "1" +testing "sed special char as s/// delimiter, in replacement 2" \ + "sed 's1\(9\)1X\11'" \ + "X1+8=17\n" "" "9+8=17\n" testing "sed /\$_in_regex/ should not match newlines, only end-of-line" \ "sed ': testcont; /\\\\$/{ =; N; b testcont }'" \ -- cgit v1.2.3