summaryrefslogtreecommitdiff
path: root/Src/Zle/zle_hist.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/zle_hist.c')
-rw-r--r--Src/Zle/zle_hist.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c
index 80a406a8a..402887d98 100644
--- a/Src/Zle/zle_hist.c
+++ b/Src/Zle/zle_hist.c
@@ -577,13 +577,17 @@ insertlastword(char **args)
* a deleted word, because that can only have come
* from a non-empty line. I think.
*/
- if (!(l = bufferwords(NULL, NULL, NULL)))
+ if (!(l = bufferwords(NULL, NULL, NULL))) {
+ unmetafy_line();
return 1;
+ }
nwords = countlinknodes(l);
} else {
/* Some stored line. */
- if (!(he = quietgethist(evhist)) || !he->nwords)
+ if (!(he = quietgethist(evhist)) || !he->nwords) {
+ unmetafy_line();
return 1;
+ }
nwords = he->nwords;
}
if (wordpos) {
@@ -602,6 +606,7 @@ insertlastword(char **args)
* has not changed, and lastinsert is still valid.
*/
lasthist = evhist;
+ unmetafy_line();
return 1;
}
/*