mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-11-27 02:50:57 +01:00
zsh-workers/9777
This commit is contained in:
parent
9aa1735b63
commit
493876e0c7
5 changed files with 22 additions and 17 deletions
|
|
@ -2219,7 +2219,7 @@ gen_matches_files(int dirs, int execs, int all)
|
|||
/* Do the globbing... */
|
||||
remnulargs(p);
|
||||
addlinknode(l, p);
|
||||
globlist(l);
|
||||
globlist(l, 0);
|
||||
/* And see if that produced a filename. */
|
||||
tt = nonempty(l);
|
||||
while (ugetnode(l));
|
||||
|
|
@ -3334,7 +3334,7 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd)
|
|||
tokenize(p);
|
||||
remnulargs(p);
|
||||
addlinknode(l, p);
|
||||
globlist(l);
|
||||
globlist(l, 0);
|
||||
|
||||
if (nonempty(l)) {
|
||||
/* And add the resulting words. */
|
||||
|
|
@ -3483,7 +3483,7 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd)
|
|||
/* Do the globbing. */
|
||||
ng = opts[NULLGLOB];
|
||||
opts[NULLGLOB] = 1;
|
||||
globlist(l);
|
||||
globlist(l, 0);
|
||||
opts[NULLGLOB] = ng;
|
||||
/* Get the results. */
|
||||
if (nonempty(l) && peekfirst(l)) {
|
||||
|
|
@ -3679,7 +3679,7 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd)
|
|||
/* Fine, now do full expansion. */
|
||||
prefork(foo, 0);
|
||||
if (!errflag) {
|
||||
globlist(foo);
|
||||
globlist(foo, 0);
|
||||
if (!errflag)
|
||||
/* And add the resulting words as matches. */
|
||||
for (n = firstnode(foo); n; incnode(n))
|
||||
|
|
|
|||
|
|
@ -1612,11 +1612,11 @@ doexpansion(char *s, int lst, int olst, int explincmd)
|
|||
prefork(vl, 0);
|
||||
if (errflag)
|
||||
goto end;
|
||||
if ((lst == COMP_LIST_EXPAND) || (lst == COMP_EXPAND)) {
|
||||
if (lst == COMP_LIST_EXPAND || lst == COMP_EXPAND) {
|
||||
int ng = opts[NULLGLOB];
|
||||
|
||||
opts[NULLGLOB] = 1;
|
||||
globlist(vl);
|
||||
globlist(vl, 1);
|
||||
opts[NULLGLOB] = ng;
|
||||
}
|
||||
if (errflag)
|
||||
|
|
@ -1645,11 +1645,14 @@ doexpansion(char *s, int lst, int olst, int explincmd)
|
|||
foredel(we - wb);
|
||||
while ((ss = (char *)ugetnode(vl))) {
|
||||
ret = 0;
|
||||
untokenize(ss);
|
||||
ss = quotename(ss, NULL);
|
||||
untokenize(ss);
|
||||
inststr(ss);
|
||||
#if 0
|
||||
if (olst != COMP_EXPAND_COMPLETE || nonempty(vl) ||
|
||||
(cs && line[cs-1] != '/')) {
|
||||
#endif
|
||||
if (nonempty(vl)) {
|
||||
spaceinline(1);
|
||||
line[cs++] = ' ';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue