diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Src/Zle/compresult.c | 20 | ||||
-rw-r--r-- | Src/Zle/zle_tricky.c | 2 |
3 files changed, 22 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 072d7eb88..a2474995b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-08-10 Peter Stephenson <pws@pwstephenson.fsnet.co.uk> + + * 21596: Src/Zle/compresult.c, Src/Zle/zle_tricky.c: more fall out + from 21590: run-help, which-command and accept-and-menu-complete + were broken. + 2005-08-10 Wayne Davison <wayned@users.sourceforge.net> * unposted: Test/B02typeset.ztst: added "setopt localoptions" 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); } /**/ diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index ba149cfe8..ee448d3bd 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -1800,6 +1800,8 @@ inststrlen(char *str, int move, int len) ZS_strncpy(zleline + zlecs, zlestr, zlelen); free(zlestr); zsfree((char *)instr); + if (move) + zlecs += len; } return len; } |