From cf1c79c9a331896d5bc2e68a1ea8206105a53eaa Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 4 Mar 2012 16:53:50 +0000 Subject: Improve handling for escaped colons in prerequisite lists. Fixes Savannah bug #12126 and bug #16545 --- tests/scripts/features/escape | 8 ++++++++ tests/scripts/features/se_explicit | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'tests/scripts/features') 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; -- cgit v1.2.3