diff --git a/src/libexpr/lexer.l b/src/libexpr/lexer.l index 47f2bca1e..bc9a38da4 100644 --- a/src/libexpr/lexer.l +++ b/src/libexpr/lexer.l @@ -73,10 +73,7 @@ inherit { return INHERIT; } } \" { BEGIN(STRING); return '"'; } -([^\$\"\\]|\\.|\$[^\{\$])+ { -/* Note: a dollar *is* allowed as-is in a string, as long as it's - not followed by a open brace. This should probably be disallowed - eventually. */ +([^\$\"\\]|\\.)+ { yylval->t = unescapeStr(yytext); /* !!! alloc */ return STR; }