summaryrefslogtreecommitdiff
path: root/Src/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/parse.c')
-rw-r--r--Src/parse.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/parse.c b/Src/parse.c
index 0f5d99cef..753080d70 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -846,7 +846,7 @@ par_cmd(int *complex)
break;
case FUNC:
cmdpush(CS_FUNCDEF);
- par_funcdef();
+ par_funcdef(complex);
cmdpop();
break;
case DINBRACK:
@@ -1420,7 +1420,7 @@ par_subsh(int *complex)
/**/
static void
-par_funcdef(void)
+par_funcdef(int *complex)
{
int oecused = ecused, num = 0, onp, p, c = 0;
int so, oecssub = ecssub;
@@ -1471,6 +1471,7 @@ par_funcdef(void)
if (num == 0) {
/* Anonymous function, possibly with arguments */
incmdpos = 0;
+ *complex = 1;
}
zshlex();
} else if (unset(SHORTLOOPS)) {
@@ -1735,6 +1736,7 @@ par_simple(int *complex, int nr)
if (argc == 0) {
/* Anonymous function, possibly with arguments */
incmdpos = 0;
+ *complex = 1;
}
zshlex();
} else {