summaryrefslogtreecommitdiff
path: root/main/ast_expr2.fl
diff options
context:
space:
mode:
Diffstat (limited to 'main/ast_expr2.fl')
-rw-r--r--main/ast_expr2.fl19
1 files changed, 12 insertions, 7 deletions
diff --git a/main/ast_expr2.fl b/main/ast_expr2.fl
index 6fca88293..499706811 100644
--- a/main/ast_expr2.fl
+++ b/main/ast_expr2.fl
@@ -172,12 +172,17 @@ static char *expr2_token_subst(const char *mess);
return TOKEN;
}
-([a-zA-Z0-9\.';\\_^#@]|[\x80-\xff]|($[^{]))+ {
+([a-zA-Z0-9\.';\\_^#@]|[\x80-\xff]|($[^{]))+ {
SET_COLUMNS;
SET_STRING;
return TOKEN;
}
+([a-zA-Z0-9\.';\\_^#@]|[\x80-\xff]|($[^{]))+\$\{ {
+ curlycount = 0;
+ BEGIN(var);
+ yymore();
+ }
<var>[^{}]*\} {
curlycount--;
@@ -202,6 +207,12 @@ static char *expr2_token_subst(const char *mess);
return TOKEN;
}
+<trail>[^-\t\r \n$():?%/+=*<>!|&]*\$\{ {
+ curlycount = 0;
+ BEGIN(var);
+ yymore();
+ }
+
<trail>[-\t\r \n$():?%/+=*<>!|&] {
char c = yytext[yyleng-1];
BEGIN(0);
@@ -211,12 +222,6 @@ static char *expr2_token_subst(const char *mess);
return TOKEN;
}
-<trail>\$\{ {
- curlycount = 0;
- BEGIN(var);
- yymore();
- }
-
<trail><<EOF>> {
BEGIN(0);
SET_COLUMNS;