diff options
| author | Martin Rudalics | 2012-10-31 11:02:51 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2012-10-31 11:02:51 +0100 |
| commit | 218e997a10bc1bc2eebde639f9b0aaddc525159d (patch) | |
| tree | 3b0b065ea77aac4ab2c4b95782d91963d834ce93 | |
| parent | 69c1c2e65a5cbf9c26fcdc0920ca806d50440860 (diff) | |
| download | emacs-218e997a10bc1bc2eebde639f9b0aaddc525159d.tar.gz emacs-218e997a10bc1bc2eebde639f9b0aaddc525159d.zip | |
Install fixes for Bug#12764 and Bug#12766.
* window.el (quit-restore-window): If the window has been
created on an existing frame and ended up as the sole window on
that frame, do not delete it (Bug#12764).
* minibuf.c (read_minibuf): Restore current buffer since
choose_minibuf_frame calling Fset_frame_selected_window may
change it (Bug#12766).
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/window.el | 7 | ||||
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/minibuf.c | 4 |
4 files changed, 22 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 88ea199cd20..dc928c35672 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-10-31 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * window.el (quit-restore-window): If the window has been | ||
| 4 | created on an existing frame and ended up as the sole window on | ||
| 5 | that frame, do not delete it (Bug#12764). | ||
| 6 | |||
| 1 | 2012-10-31 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 2012-10-31 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 8 | ||
| 3 | * progmodes/sh-script.el (sh--inside-noncommand-expression): | 9 | * progmodes/sh-script.el (sh--inside-noncommand-expression): |
diff --git a/lisp/window.el b/lisp/window.el index bd043390d90..10f75d44d69 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -3556,7 +3556,12 @@ the buffer of WINDOW. The following values are handled: | |||
| 3556 | quad entry) | 3556 | quad entry) |
| 3557 | (cond | 3557 | (cond |
| 3558 | ((and (not prev-buffer) | 3558 | ((and (not prev-buffer) |
| 3559 | (memq (nth 1 quit-restore) '(window frame)) | 3559 | (or (eq (nth 1 quit-restore) 'frame) |
| 3560 | (and (eq (nth 1 quit-restore) 'window) | ||
| 3561 | ;; If the window has been created on an existing | ||
| 3562 | ;; frame and ended up as the sole window on that | ||
| 3563 | ;; frame, do not delete it (Bug#12764). | ||
| 3564 | (not (eq window (frame-root-window window))))) | ||
| 3560 | (eq (nth 3 quit-restore) buffer) | 3565 | (eq (nth 3 quit-restore) buffer) |
| 3561 | ;; Delete WINDOW if possible. | 3566 | ;; Delete WINDOW if possible. |
| 3562 | (window--delete window nil (eq bury-or-kill 'kill))) | 3567 | (window--delete window nil (eq bury-or-kill 'kill))) |
diff --git a/src/ChangeLog b/src/ChangeLog index 1ae99a22cf9..3ad653efd0f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-10-31 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * minibuf.c (read_minibuf): Restore current buffer since | ||
| 4 | choose_minibuf_frame calling Fset_frame_selected_window may | ||
| 5 | change it (Bug#12766). | ||
| 6 | |||
| 1 | 2012-10-30 Jan Djärv <jan.h.d@swipnet.se> | 7 | 2012-10-30 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 8 | ||
| 3 | * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733). | 9 | * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733). |
diff --git a/src/minibuf.c b/src/minibuf.c index 2cc89e75680..dcc4af37c13 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -472,6 +472,10 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, | |||
| 472 | 472 | ||
| 473 | /* Choose the minibuffer window and frame, and take action on them. */ | 473 | /* Choose the minibuffer window and frame, and take action on them. */ |
| 474 | 474 | ||
| 475 | /* Prepare for restoring the current buffer since choose_minibuf_frame | ||
| 476 | calling Fset_frame_selected_window may change it (Bug#12766). */ | ||
| 477 | record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); | ||
| 478 | |||
| 475 | choose_minibuf_frame (); | 479 | choose_minibuf_frame (); |
| 476 | 480 | ||
| 477 | record_unwind_protect (choose_minibuf_frame_1, Qnil); | 481 | record_unwind_protect (choose_minibuf_frame_1, Qnil); |