summaryrefslogtreecommitdiff
path: root/Src/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/parse.c')
-rw-r--r--Src/parse.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/Src/parse.c b/Src/parse.c
index 5b8f0af48..e4d038b6e 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -1465,7 +1465,10 @@ par_funcdef(void)
ecssub = oecssub;
YYERRORV(oecused);
}
- incmdpos = 0;
+ if (num == 0) {
+ /* Anonymous function, possibly with arguments */
+ incmdpos = 0;
+ }
zshlex();
} else if (unset(SHORTLOOPS)) {
lineno += oldlineno;
@@ -1721,7 +1724,10 @@ par_simple(int *complex, int nr)
ecssub = oecssub;
YYERROR(oecused);
}
- incmdpos = 0;
+ if (argc == 0) {
+ /* Anonymous function, possibly with arguments */
+ incmdpos = 0;
+ }
zshlex();
} else {
int ll, sl, c = 0;