about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2012-11-08 16:50:38 +0000
committerBart Schaefer <barts@users.sourceforge.net>2012-11-08 16:50:38 +0000
commitcba5449c3d4d140af05b7a6d726afbbab2f55f31 (patch)
tree2065e1934fd473c0ca0a2f2e50521ab1aaeeed73
parent64e925bd65888856f365de45542b0c0eea25af2e (diff)
downloadzsh-cba5449c3d4d140af05b7a6d726afbbab2f55f31.tar.gz
zsh-cba5449c3d4d140af05b7a6d726afbbab2f55f31.tar.xz
zsh-cba5449c3d4d140af05b7a6d726afbbab2f55f31.zip
30786: do not enter interactive history editing or command execution if
"fc" is called from a ZLE widget.
-rw-r--r--ChangeLog7
-rw-r--r--Src/builtin.c6
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index be74b5bb8..aa5473e4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-08  Bart Schaefer  <schaefer@zsh.org>
+
+	* 30786: Src/builtin.c: do not enter interactive history editing
+	or command execution if "fc" is called from a ZLE widget.
+
 2012-11-08  Peter Stephenson  <pws@csr.com>
 
 	* 30783: Src/lex.c: we don't want leading "="'s to be active when
@@ -311,5 +316,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5755 $
+* $Revision: 1.5756 $
 *****************************************************
diff --git a/Src/builtin.c b/Src/builtin.c
index 8a83df711..90fe1a6c5 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -1414,6 +1414,12 @@ bin_fc(char *nam, char **argv, Options ops, int func)
 	unqueue_signals();
 	return 0;
     }
+
+    if (zleactive) {
+	zwarnnam(nam, "no interactive history within ZLE");
+	return 1;
+    }
+
     /* put foo=bar type arguments into the substitution list */
     while (*argv && equalsplit(*argv, &s)) {
 	Asgment a = (Asgment) zhalloc(sizeof *a);