diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-12-19 13:01:13 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-12-19 13:01:13 +0200 |
commit | f567b582ca26bd27869a451b8620411844a66479 (patch) | |
tree | cbe5086f6b1fab6fc7fde6a97d047db4591442fe /libbuild2/parser.cxx | |
parent | 6ae9675fc04af104ef995f571d05300f18a9363d (diff) |
Disable line continuation in buildspec, command line variable overrides
Line continuations would make directory paths on Windows unusable, for
example:
b C:\myproj\
Diffstat (limited to 'libbuild2/parser.cxx')
-rw-r--r-- | libbuild2/parser.cxx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libbuild2/parser.cxx b/libbuild2/parser.cxx index 4350c88..2c8c8a6 100644 --- a/libbuild2/parser.cxx +++ b/libbuild2/parser.cxx @@ -8163,12 +8163,14 @@ namespace build2 buildspec parser:: parse_buildspec (istream& is, const path_name& in) { - // We do "effective escaping" of the special `'"\$(` characters, line - // continuations, plus `)` for symmetry (basically what's escapable inside - // a double-quoted literal plus the single quote). + // We do "effective escaping" of the special `'"\$(` characters plus `)` + // for symmetry (basically what's escapable inside a double-quoted literal + // plus the single quote; note, however, that we exclude line + // continuations since they would make directory paths on Windows + // unusable). // path_ = ∈ - lexer l (is, *path_, 1 /* line */, "\'\"\\$()\n"); + lexer l (is, *path_, 1 /* line */, "\'\"\\$()"); lexer_ = &l; root_ = &ctx->global_scope.rw (); |