about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Src/Zle/zle_tricky.c4
-rw-r--r--Src/exec.c1
3 files changed, 6 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 011a8ed7e..4e6c3f115 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-06-23  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* 29503: Src/exec.c: Missing popheap() on failed autoload.
+
 2011-06-20  Peter Stephenson  <pws@csr.com>
 
 	* unposted: update version to 4.3.12-dev-1 as wordcode
@@ -15038,5 +15042,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5379 $
+* $Revision: 1.5380 $
 *****************************************************
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 3b3796dd2..19787f9ff 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -2146,10 +2146,6 @@ doexpansion(char *s, int lst, int olst, int explincmd)
 	ss = quotename(ss, NULL);
 	untokenize(ss);
 	inststr(ss);
-#if 0
-	if (olst != COMP_EXPAND_COMPLETE || nonempty(vl) ||
-	    (zlemetacs && zlemetaline[zlemetacs-1] != '/')) {
-#endif
 	if (nonempty(vl) || !first) {
 	    spaceinline(1);
 	    zlemetaline[zlemetacs++] = ' ';
diff --git a/Src/exec.c b/Src/exec.c
index 87a167ba6..644a58367 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -4343,6 +4343,7 @@ loadautofn(Shfunc shf, int fksh, int autol)
     }
     if (!prog) {
 	zsfree(fname);
+	popheap();
 	return NULL;
     }
     if (ksh == 2 || (ksh == 1 && isset(KSHAUTOLOAD))) {