From a061301ab789d00027f29f389627792dccbe1748 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 10 Mar 2022 17:31:47 +0300 Subject: Allow effective quoting for names that need curly braces in their representations --- libbuild2/name.cxx | 7 +++---- libbuild2/name.hxx | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/libbuild2/name.cxx b/libbuild2/name.cxx index a285459..6c48bb3 100644 --- a/libbuild2/name.cxx +++ b/libbuild2/name.cxx @@ -90,10 +90,9 @@ namespace build2 bool curly = false) { // We don't expect the effective quoting mode to be specified for the - // name patterns or names that need curly braces in their - // representations. + // name patterns. // - assert (q != quote_mode::effective || (!pat && !curly)); + assert (q != quote_mode::effective || !pat); // Special characters, path pattern characters, and regex pattern // characters. The latter only need to be quoted in the first position @@ -121,7 +120,7 @@ namespace build2 }; char esc[] = { - '$', '(', // Token endings. + '{', '}', '$', '(', // Token endings. ' ', '\t', '\n', '#', // Spaces. '"', // Quoting. pair, // Pair separator, if any. diff --git a/libbuild2/name.hxx b/libbuild2/name.hxx index 795cd5c..7d179aa 100644 --- a/libbuild2/name.hxx +++ b/libbuild2/name.hxx @@ -201,7 +201,7 @@ namespace build2 // // In the effective quoting mode the special characters are: // - // $( \t\n#"' + // {}$( \t\n#"' // // As well as `\` if followed by any of the above characters or itself. // -- cgit v1.1