Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.busybox.net/busybox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2022-01-23 21:04:27 +0300
committerDenys Vlasenko <vda.linux@googlemail.com>2022-01-23 21:04:27 +0300
commitf12fb1e4092900f26f7f8c71cde44b1cd7d26439 (patch)
treeb5dec7c96074267b6d299928481e649e75c00885 /testsuite
parente998c7c032458a05a7afcc13ce0dc980b99ecc6c (diff)
sed: fix handling of escaped delimiters in s/// replacement
function old new delta parse_regex_delim 111 140 +29 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'testsuite')
-rwxr-xr-xtestsuite/sed.tests9
1 files changed, 7 insertions, 2 deletions
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 }'" \