summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-08-30 17:51:22 +0000
committerRichard M. Stallman <rms@gnu.org>1997-08-30 17:51:22 +0000
commit7fd3ea503dd4243a3081dd02715d2353939110e4 (patch)
tree7a68560e7598b207851b97b0f69488d747c6e334 /src
parent709c8431b1081a3407b6a2ba20a5eda3e420346f (diff)
downloademacs-7fd3ea503dd4243a3081dd02715d2353939110e4.tar.gz
(change_frame_size_1): Save current buffer
around calling Fset_window_buffer.
Diffstat (limited to 'src')
-rw-r--r--src/dispnew.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index 36643594cb0..a7441b990d6 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -2126,6 +2126,7 @@ change_frame_size_1 (frame, newheight, newwidth, pretend, delay)
{
int new_frame_window_width;
unsigned int total_glyphs;
+ int count = specpdl_ptr - specpdl;
/* If we can't deal with the change now, queue it for later. */
if (delay)
@@ -2232,9 +2233,13 @@ change_frame_size_1 (frame, newheight, newwidth, pretend, delay)
UNBLOCK_INPUT;
+ record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
+
/* This isn't quite a no-op: it runs window-configuration-change-hook. */
Fset_window_buffer (FRAME_SELECTED_WINDOW (frame),
XWINDOW (FRAME_SELECTED_WINDOW (frame))->buffer);
+
+ unbind_to (count, Qnil);
}
DEFUN ("send-string-to-terminal", Fsend_string_to_terminal,