diff options
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/complist.c | 5 | ||||
-rw-r--r-- | Src/Zle/zle.mdd | 72 | ||||
-rw-r--r-- | Src/Zle/zle_tricky.c | 1 |
3 files changed, 5 insertions, 73 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index dc1037122..cc2ac7517 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -251,6 +251,7 @@ getcols(Listcols c) /* Information about the list shown. */ static int noselect, mselect, inselect, mcol, mline, mcols, mlines, mmlen; +static int selected; static Cmatch **mtab, **mmtabp; static Cmgroup *mgtab, *mgtabp; static struct listcols mcolors; @@ -567,6 +568,7 @@ domenuselect(Hookdef dummy, Chdata dat) inselect = 1; if (noselect) break; + selected = 1; if (!i) { i = mcols * mlines; while (i--) @@ -876,8 +878,9 @@ menuselect(char **args) int d = 0; if (!minfo.cur) { + selected = 0; menucomplete(args); - if ((minfo.cur && minfo.asked == 2) || getsparam("ZLS_SELECT")) + if ((minfo.cur && minfo.asked == 2) || selected) return 0; d = 1; } diff --git a/Src/Zle/zle.mdd b/Src/Zle/zle.mdd index 95702e948..c3d6672a4 100644 --- a/Src/Zle/zle.mdd +++ b/Src/Zle/zle.mdd @@ -68,75 +68,3 @@ clean-here: clean.zle clean.zle: rm -f zle_things.h zle_widget.h widgets.list thingies.list Make -hasexport=1 - -moddeps="comp1" - -autobins="bindkey vared zle" - -objects="zle_bindings.o zle_hist.o zle_keymap.o zle_main.o \ -zle_misc.o zle_move.o zle_params.o zle_refresh.o \ -zle_thingy.o zle_tricky.o zle_utils.o zle_vi.o zle_word.o" - -headers="zle.h zle_things.h" - -:<<\Make -zle_things.h: thingies.list zle_things.sed - ( \ - echo '/** zle_things.h **/'; \ - echo '/** indices of and pointers to known thingies **/'; \ - echo; \ - echo 'enum {'; \ - sed -n -f $(sdir)/zle_things.sed < thingies.list; \ - echo ' ZLE_BUILTIN_THINGY_COUNT'; \ - echo '};'; \ - ) > $@ - -zle_widget.h: widgets.list zle_widget.sed - ( \ - echo '/** zle_widget.h **/'; \ - echo '/** indices of and pointers to internal widgets **/'; \ - echo; \ - echo 'enum {'; \ - sed -n -f $(sdir)/zle_widget.sed < widgets.list; \ - echo ' ZLE_BUILTIN_WIDGET_COUNT'; \ - echo '};'; \ - ) > $@ - -thingies.list: iwidgets.list - ( \ - echo '/** thingies.list **/'; \ - echo '/** thingy structures for the known thingies **/'; \ - echo; \ - echo '/* format: T("name", TH_FLAGS, w_widget, t_nextthingy) */'; \ - echo; \ - sed -e 's/#.*//; /^$$/d; s/" *,.*/"/' \ - -e 's/^"/T("/; s/$$/, 0,/; h' \ - -e 's/-//g; s/^.*"\(.*\)".*/w_\1, t_D\1)/' \ - -e 'H; g; s/\n/ /' \ - < $(sdir)/iwidgets.list; \ - sed -e 's/#.*//; /^$$/d; s/" *,.*/"/' \ - -e 's/^"/T("./; s/$$/, TH_IMMORTAL,/; h' \ - -e 's/-//g; s/^.*"\.\(.*\)".*/w_\1, t_\1)/' \ - -e 'H; g; s/\n/ /' \ - < $(sdir)/iwidgets.list; \ - ) > $@ - -widgets.list: iwidgets.list - ( \ - echo '/** widgets.list **/'; \ - echo '/** widget structures for the internal widgets **/'; \ - echo; \ - echo '/* format: W(ZLE_FLAGS, t_firstname, functionname) */'; \ - echo; \ - sed -e 's/#.*//; /^$$/d; s/-//g' \ - -e 's/^"\(.*\)" *, *\([^ ]*\) *, *\(.*\)/W(\3, t_\1, \2)/' \ - < $(sdir)/iwidgets.list; \ - ) > $@ - -zle_bindings.o zle_bindings..o: zle_widget.h widgets.list thingies.list - -clean-here: clean.zle -clean.zle: - rm -f zle_things.h zle_widget.h widgets.list thingies.list -Make diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index 5803ac392..6b47bc144 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -5915,6 +5915,7 @@ permmatches(int last) hasperm = 1; permmnum = mn - 1; permgnum = gn - 1; + listdat.valid = 0; return fi; } |