aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1996-09-13 18:25:17 +0000
committerRichard M. Stallman <[email protected]>1996-09-13 18:25:17 +0000
commitbe15a5185343840c5c7278e2a0c2c9bb05b198d8 (patch)
tree7d950734cc706cda99b2f95611ed751719ce83a6 /src
parentadabc3a9af7cb74372a16e2f6e6cd4e403fb69ed (diff)
(read_minibuf): If not in minibuffer window,
cancel the active minibuffer.
Diffstat (limited to 'src')
-rw-r--r--src/minibuf.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index db6d5f05cf..b9fc7fa5dd 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -191,9 +191,15 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
prompt = build_string ("");
if (!enable_recursive_minibuffers
- && minibuf_level > 0
- && (EQ (selected_window, minibuf_window)))
- error ("Command attempted to use minibuffer while in minibuffer");
+ && minibuf_level > 0)
+ {
+ if (EQ (selected_window, minibuf_window))
+ error ("Command attempted to use minibuffer while in minibuffer");
+ else
+ /* If we're in another window, cancel the minibuffer that's active. */
+ Fthrow (Qexit,
+ build_string ("Command attempted to use minibuffer while in minibuffer"));
+ }
/* Choose the minibuffer window and frame, and take action on them. */