From 817e59cf19a8a7aca42acb13254bebf7b8b24ce2 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 10 Aug 2005 19:51:30 +0000 Subject: 21596: fix run-help, which-command, accept-and-menu-complete --- Src/Zle/compresult.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'Src/Zle/compresult.c') diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c index 09794813f..e3b7d0523 100644 --- a/Src/Zle/compresult.c +++ b/Src/Zle/compresult.c @@ -687,6 +687,8 @@ instmatch(Cmatch m, int *scs) mod_export int hasbrpsfx(Cmatch m, char *pre, char *suf) { + METACHECK(); + if (m->flags & CMF_ALL) return 1; else { @@ -1153,6 +1155,15 @@ do_single(Cmatch m) mod_export void do_menucmp(int lst) { + int was_meta; + + /* Already metafied when called from domenuselect already */ + if (zlemetaline == NULL) { + was_meta = 0; + metafy_line(); + } else + was_meta = 1; + /* Just list the matches if the list was requested. */ if (lst == COMP_LIST_COMPLETE) { showinglist = -2; @@ -1173,13 +1184,10 @@ do_menucmp(int lst) (((*minfo.cur)->flags & (CMF_NOLIST | CMF_MULT)) && (!(*minfo.cur)->str || !*(*minfo.cur)->str))); /* ... and insert it into the command line. */ - /* Already metafied when called from domenuselect already */ - if (zlemetaline == NULL) { - metafy_line(); - do_single(*minfo.cur); + do_single(*minfo.cur); + + if (!was_meta) unmetafy_line(); - } else - do_single(*minfo.cur); } /**/ -- cgit 1.4.1