diff options
author | Paul Smith <psmith@gnu.org> | 2012-03-04 16:53:50 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2012-03-04 16:53:50 +0000 |
commit | cf1c79c9a331896d5bc2e68a1ea8206105a53eaa (patch) | |
tree | a7f622393478929ecbf44027d94e5ee576ae637b /tests/scripts/features | |
parent | 76827d7c10c2708a3147171b02bfe3981492a38f (diff) | |
download | gunmake-cf1c79c9a331896d5bc2e68a1ea8206105a53eaa.tar.gz |
Improve handling for escaped colons in prerequisite lists.
Fixes Savannah bug #12126 and bug #16545
Diffstat (limited to 'tests/scripts/features')
-rw-r--r-- | tests/scripts/features/escape | 8 | ||||
-rw-r--r-- | tests/scripts/features/se_explicit | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/tests/scripts/features/escape b/tests/scripts/features/escape index 36bab18..0d4427e 100644 --- a/tests/scripts/features/escape +++ b/tests/scripts/features/escape @@ -54,5 +54,13 @@ run_make_test(undef, 'sharp', 'foo#bar.ext = (foo#bar.ext)'); +# Test escaped colons in prerequisites +# Quoting of backslashes in q!! is kind of messy. +run_make_test(q! +foo: foo\\:bar foo\\\\\\:bar foo\\\\\\\\\\:bar +foo foo\\:bar foo\\\\\\:bar foo\\\\\\\\\\:bar: ; @echo '$@' +!, + '', "foo:bar\nfoo\\:bar\nfoo\\\\:bar\nfoo\n"); + # This tells the test driver that the perl test script executed properly. 1; diff --git a/tests/scripts/features/se_explicit b/tests/scripts/features/se_explicit index f942a1c..c3cade4 100644 --- a/tests/scripts/features/se_explicit +++ b/tests/scripts/features/se_explicit @@ -152,5 +152,13 @@ a%l: q1x $$+ q2x ; @echo '$+' '', "q1x bar bar q2x bar bar\n"); -# This tells the test driver that the perl test script executed properly. +# Allow patsubst shorthand in second expansion context. +# Requires the colon to be quoted. Savannah bug #16545 +run_make_test(q! +.PHONY: foo.bar +.SECONDEXPANSION: +foo: $$(@\\:%=%.bar); @echo '$^' +!, + '', "foo.bar\n"); + 1; |