summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-04-11 06:04:27 +0000
committerRichard M. Stallman <rms@gnu.org>1997-04-11 06:04:27 +0000
commit4f69d8f6d856181a68cbcfabe405a2eca9dbf6e1 (patch)
tree19355ad68efc14bfa122c8cc2b919928323dac51
parent17b3a11bfc66faa92ba2a8c4bfc46177a9b3b3c4 (diff)
downloademacs-4f69d8f6d856181a68cbcfabe405a2eca9dbf6e1.tar.gz
(read_minibuf): Get the string from the minibuffer
even if the user has selected a different buffer.
-rw-r--r--src/minibuf.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index daf533eda4f..249e96f485a 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -189,7 +189,7 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
{
Lisp_Object val;
int count = specpdl_ptr - specpdl;
- Lisp_Object mini_frame, ambient_dir;
+ Lisp_Object mini_frame, ambient_dir, minibuffer;
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
single_kboard_state ();
@@ -268,7 +268,8 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
/* Switch to the minibuffer. */
- Fset_buffer (get_minibuffer (minibuf_level));
+ minibuffer = get_minibuffer (minibuf_level);
+ Fset_buffer (minibuffer);
/* The current buffer's default directory is usually the right thing
for our minibuffer here. However, if you're typing a command at
@@ -354,6 +355,7 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
}
/* Make minibuffer contents into a string */
+ Fset_buffer (minibuffer);
val = make_buffer_string (1, Z, 1);
#if 0 /* make_buffer_string should handle the gap. */
bcopy (GAP_END_ADDR, XSTRING (val)->data + GPT - BEG, Z - GPT);