mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-28 06:30:57 +02:00
zsh-workers/7736
This commit is contained in:
parent
047267bdf3
commit
b6dd9af942
2 changed files with 20 additions and 6 deletions
|
@ -39,7 +39,7 @@ if (( $#_arr )); then
|
|||
# descriptions.
|
||||
|
||||
_simple=()
|
||||
_len=1
|
||||
_len=-1
|
||||
for _i in "$_arr[@]"; do
|
||||
_tmp="${#_i%%:*}"
|
||||
if [[ "$_i" = *:?* ]]; then
|
||||
|
@ -49,6 +49,11 @@ if (( $#_arr )); then
|
|||
fi
|
||||
done
|
||||
|
||||
if [[ _len -lt 0 ]]; then
|
||||
eval "${_param}=''"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Now we build the list in `_tmp', adding one line per string.
|
||||
|
||||
_tmp=''
|
||||
|
|
|
@ -3951,16 +3951,21 @@ addmatches(Cadata dat, char **argv)
|
|||
} else
|
||||
dat->prpre = dupstring(dat->prpre);
|
||||
/* Select the group in which to store the matches. */
|
||||
if (dat->group || dat->ylist) {
|
||||
if (dat->group) {
|
||||
endcmgroup(NULL);
|
||||
begcmgroup((dat->ylist ? NULL : dat->group),
|
||||
(dat->aflags & CAF_NOSORT));
|
||||
begcmgroup(dat->group, (dat->aflags & CAF_NOSORT));
|
||||
if (dat->aflags & CAF_NOSORT)
|
||||
mgroup->flags |= CGF_NOSORT;
|
||||
} else {
|
||||
endcmgroup(NULL);
|
||||
begcmgroup("default", 0);
|
||||
}
|
||||
if (dat->ylist) {
|
||||
endcmgroup(NULL);
|
||||
begcmgroup(NULL, (dat->aflags & CAF_NOSORT));
|
||||
if (dat->aflags & CAF_NOSORT)
|
||||
mgroup->flags |= CGF_NOSORT;
|
||||
}
|
||||
/* Select the set of matches. */
|
||||
oisalt = (dat->aflags & CAF_ALT);
|
||||
|
||||
|
@ -5944,9 +5949,13 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd)
|
|||
curcc = cc;
|
||||
|
||||
mflags = 0;
|
||||
if (cc->ylist || cc->gname) {
|
||||
if (cc->gname) {
|
||||
endcmgroup(NULL);
|
||||
begcmgroup((cc->ylist ? NULL : cc->gname), cc->mask2 & CC_NOSORT);
|
||||
begcmgroup(cc->gname, cc->mask2 & CC_NOSORT);
|
||||
}
|
||||
if (cc->ylist) {
|
||||
endcmgroup(NULL);
|
||||
begcmgroup(NULL, cc->mask2 & CC_NOSORT);
|
||||
}
|
||||
if (cc->mask & CC_REMOVE)
|
||||
mflags |= CMF_REMOVE;
|
||||
|
|
Loading…
Reference in a new issue