summaryrefslogtreecommitdiff
path: root/Src/Zle/complete.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/complete.c')
-rw-r--r--Src/Zle/complete.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c
index 7a15eb077..8c8950303 100644
--- a/Src/Zle/complete.c
+++ b/Src/Zle/complete.c
@@ -413,7 +413,7 @@ bin_compadd(char *name, char **argv, char *ops, int func)
zwarnnam(name, "can only be called from completion function", NULL, 0);
return 1;
}
- dat.ipre = dat.isuf = dat.ppre = dat.psuf = dat.prpre =
+ dat.ipre = dat.isuf = dat.ppre = dat.psuf = dat.prpre = dat.mesg =
dat.pre = dat.suf = dat.group = dat.rems = dat.remf = dat.disp =
dat.ign = dat.exp = dat.apar = dat.opar = dat.dpar = NULL;
dat.match = NULL;
@@ -507,6 +507,10 @@ bin_compadd(char *name, char **argv, char *ops, int func)
sp = &(dat.exp);
e = "string expected after -%c";
break;
+ case 'x':
+ sp = &(dat.mesg);
+ e = "string expected after -%c";
+ break;
case 'r':
dat.flags |= CMF_REMOVE;
sp = &(dat.rems);
@@ -575,7 +579,7 @@ bin_compadd(char *name, char **argv, char *ops, int func)
ca_args:
- if (!*argv && !dat.group &&
+ if (!*argv && !dat.group && !dat.mesg &&
!(dat.aflags & (CAF_NOSORT|CAF_UNIQALL|CAF_UNIQCON)))
return 1;