about summary refs log tree commit diff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-01-28 09:31:53 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-01-28 09:31:53 +0000
commitaf39a5ab1a4f0b154ac212fdeb86bad322b32056 (patch)
tree45a825b359c708c6acfec4f4c037a8beea2b6436 /Src/Zle/zle_main.c
parent7c43fb69bf81dd37c0743a761c6b43519ea9a0d0 (diff)
downloadzsh-af39a5ab1a4f0b154ac212fdeb86bad322b32056.tar.gz
zsh-af39a5ab1a4f0b154ac212fdeb86bad322b32056.tar.xz
zsh-af39a5ab1a4f0b154ac212fdeb86bad322b32056.zip
26463: Greg Klanderman: add zle-line-finish widget
26464: Greg Klanderman: fix insert-ids=single for menu completion
26465: Greg Klanderman: command keymap for execution
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 9106083ed..ef14342bc 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -1212,6 +1212,19 @@ zleread(char **lp, char **rp, int flags, int context)
 
     zlecore();
 
+    if (done && !exit_pending && !errflag &&
+	(initthingy = rthingy_nocreate("zle-line-finish"))) {
+	int saverrflag = errflag;
+	int savretflag = retflag;
+	char *args[2];
+	args[0] = initthingy->nam;
+	args[1] = NULL;
+	execzlefunc(initthingy, args, 1);
+	unrefthingy(initthingy);
+	errflag = saverrflag;
+	retflag = savretflag;
+    }
+
     statusline = NULL;
     invalidatelist();
     trashzle();