summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/Zle/complist.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8fe4b035e..6a6e5c712 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-08-10  Peter Stephenson  <pws@csr.com>
 
+	* 21592: Src/Zle/complist.c: attempt to browse a new directory
+	in menu selection caused crash.
+
 	* c.f. 21590: Src/hist.c, Src/lex.c, Src/utils.c,
 	Src/Zle/compcore.c, Src/Zle/compctl.c, Src/Zle/complist.c,
 	Src/Zle/compresult.c, Src/Zle/zle.h, Src/Zle/zle_hist.c,
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 045e86837..005e5540a 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -2303,7 +2303,10 @@ domenuselect(Hookdef dummy, Chdata dat)
                 iforcemenu = -1;
             } else
                 mode = 0;
+	    /* Nested completion assumes line is unmetafied */
+	    unmetafy_line();
 	    menucomplete(zlenoargs);
+	    metafy_line();
 	    iforcemenu = 0;
 
             if (cmd != Th(z_acceptandinfernexthistory))