From 5ec57d68a5205173a02c34a24d7129347d43196c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 14 Nov 2019 12:55:54 +0200 Subject: Tighten up attribute recognition during parsing Now it should be possible to use `[]` for wildcard patterns, for example: foo = foo.[hit]xx Note that a leading bracket expression will still be recognized as attributes and escaping or quoting it will inhibit pattern matching. To resolve this case we need to specify an empty attribute list: foo = [] [abc]-foo.cxx --- old-tests/attribute/buildfile | 4 ++-- old-tests/variable/override/test.sh | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'old-tests') diff --git a/old-tests/attribute/buildfile b/old-tests/attribute/buildfile index 7338641..a9abf24 100644 --- a/old-tests/attribute/buildfile +++ b/old-tests/attribute/buildfile @@ -6,10 +6,10 @@ #[foo=dir/file{bar}] # error: invalid attribute key #[foo] print hello # error: attributes before print -#[foo]./ # error: attributes before directory scope +#[foo] ./ # error: attributes before directory scope #{ #} -#[foo]./: # error: attributes before target scope +#[foo] ./: # error: attributes before target scope #./: [foo] buildfile # error: attributes before prerequisites #import [foo] libz # error: attributes without variable diff --git a/old-tests/variable/override/test.sh b/old-tests/variable/override/test.sh index 94ed61f..4675b7e 100755 --- a/old-tests/variable/override/test.sh +++ b/old-tests/variable/override/test.sh @@ -53,8 +53,7 @@ function test () fi } -fail foo=bar[] # error: unexpected [ in variable assignment 'foo=bar[]' -fail foo=[string]bar # error: typed override of variable foo +fail "foo= [string] bar" # error: typed override of variable foo #fail "!foo=bar" "!foo=BAR" # error: multiple global overrides of variable foo #fail "foo=bar" "foo=BAR" # error: multiple project overrides of variable foo #fail "%foo=bar" "%foo=BAR" # error: multiple project overrides of variable foo -- cgit v1.1