about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/lex.c3
-rw-r--r--Src/options.c1
-rw-r--r--Src/zsh.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/Src/lex.c b/Src/lex.c
index 05f54f842..1cf3611c9 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -1857,7 +1857,8 @@ exalias(void)
 
 	    /* Then check for a reserved word */
 	    if ((incmdpos ||
-		 (unset(IGNOREBRACES) && zshlextext[0] == '}' && !zshlextext[1])) &&
+		 (unset(IGNOREBRACES) && unset(IGNORECLOSEBRACES) &&
+		  zshlextext[0] == '}' && !zshlextext[1])) &&
 		(rw = (Reswd) reswdtab->getnode(reswdtab, zshlextext))) {
 		tok = rw->token;
 		if (tok == DINBRACK)
diff --git a/Src/options.c b/Src/options.c
index 00d552ad5..a70d4ff11 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -159,6 +159,7 @@ static struct optname optns[] = {
 {{NULL, "histverify",	      0},			 HISTVERIFY},
 {{NULL, "hup",		      OPT_EMULATE|OPT_ZSH},	 HUP},
 {{NULL, "ignorebraces",	      OPT_EMULATE|OPT_SH},	 IGNOREBRACES},
+{{NULL, "ignoreclosebraces",  0},			 IGNORECLOSEBRACES},
 {{NULL, "ignoreeof",	      0},			 IGNOREEOF},
 {{NULL, "incappendhistory",   0},			 INCAPPENDHISTORY},
 {{NULL, "interactive",	      OPT_SPECIAL},		 INTERACTIVE},
diff --git a/Src/zsh.h b/Src/zsh.h
index e3141120f..dda2fa91a 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -2005,6 +2005,7 @@ enum {
     HISTVERIFY,
     HUP,
     IGNOREBRACES,
+    IGNORECLOSEBRACES,
     IGNOREEOF,
     INCAPPENDHISTORY,
     INTERACTIVE,