about summary refs log tree commit diff
path: root/Src/lex.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2011-02-21 11:32:47 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2011-02-21 11:32:47 +0000
commit73ebca4fe92767665422e7fd5dc15032add389b4 (patch)
tree940334b89637f87be9fd71d3920481842a7ba1c0 /Src/lex.c
parent0e792b944707fdb8abafa4b4e3f3952154189c6f (diff)
downloadzsh-73ebca4fe92767665422e7fd5dc15032add389b4.tar.gz
zsh-73ebca4fe92767665422e7fd5dc15032add389b4.tar.xz
zsh-73ebca4fe92767665422e7fd5dc15032add389b4.zip
28783: allow parentheses to be special in more places with SH_GLOB
Diffstat (limited to 'Src/lex.c')
-rw-r--r--Src/lex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Src/lex.c b/Src/lex.c
index 2988b41cb..8636a6fb4 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -877,7 +877,7 @@ gettok(void)
 		dbparens = 1;
 		return DINPAR;
 	    }
-	    if (incmdpos) {
+	    if (incmdpos || (isset(SHGLOB) && !isset(KSHGLOB))) {
 		len = 0;
 		bptr = tokstr = (char *) hcalloc(bsiz = 32);
 		switch (cmd_or_math(CS_MATH)) {
@@ -1141,6 +1141,8 @@ gettokstr(int c, int sub)
 		    break;
 		if (incasepat && !len)
 		    return INPAR;
+		if (!isset(KSHGLOB) && len)
+		    goto brk;
 	    }
 	    if (!in_brace_param) {
 		if (!sub) {