aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2011-06-30 23:48:44 -0400
committerStefan Monnier2011-06-30 23:48:44 -0400
commit0e61a35ffdbd18adc18ab54857a550dc1d4220b4 (patch)
treed8480fb68e9bfb904c317f42d378223a888cf165 /lisp
parentddd63a1e1b46a0b34ffa2fc64ab9901fe7193e6b (diff)
downloademacs-0e61a35ffdbd18adc18ab54857a550dc1d4220b4.tar.gz
emacs-0e61a35ffdbd18adc18ab54857a550dc1d4220b4.zip
* lisp/window.el (bury-buffer): Don't iconify the only frame.
(switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/window.el30
2 files changed, 23 insertions, 17 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b43e8032829..e06199c91c2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,13 @@
12011-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * window.el (bury-buffer): Don't iconify the only frame.
4 (switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback
5 to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that.
6
12011-07-01 Chong Yidong <cyd@stupidchicken.com> 72011-07-01 Chong Yidong <cyd@stupidchicken.com>
2 8
3 * eshell/em-smart.el (eshell-smart-display-navigate-list): Add 9 * eshell/em-smart.el (eshell-smart-display-navigate-list):
4 mouse-yank-primary. 10 Add mouse-yank-primary.
5 11
62011-07-01 Teodor Zlatanov <tzz@lifelogs.com> 122011-07-01 Teodor Zlatanov <tzz@lifelogs.com>
7 13
diff --git a/lisp/window.el b/lisp/window.el
index 15e603bc6c9..49698ff8bb7 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -2802,7 +2802,9 @@ displayed there."
2802 ((or buffer-or-name (not (eq buffer (window-buffer))))) 2802 ((or buffer-or-name (not (eq buffer (window-buffer)))))
2803 ((not (window-dedicated-p)) 2803 ((not (window-dedicated-p))
2804 (switch-to-prev-buffer nil 'bury)) 2804 (switch-to-prev-buffer nil 'bury))
2805 ((frame-root-window-p (selected-window)) 2805 ((and (frame-root-window-p (selected-window))
2806 ;; Don't iconify if it's the only frame.
2807 (not (eq (next-frame nil 0) (selected-frame))))
2806 (iconify-frame (window-frame (selected-window)))) 2808 (iconify-frame (window-frame (selected-window))))
2807 ((window-deletable-p) 2809 ((window-deletable-p)
2808 (delete-window))) 2810 (delete-window)))
@@ -5944,20 +5946,18 @@ functions should call `pop-to-buffer-same-window' instead."
5944 (interactive 5946 (interactive
5945 (list (read-buffer-to-switch "Switch to buffer: "))) 5947 (list (read-buffer-to-switch "Switch to buffer: ")))
5946 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name))) 5948 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
5947 (if (and (or (window-minibuffer-p) (eq (window-dedicated-p) t)) 5949 (cond
5948 (not (eq buffer (window-buffer)))) 5950 ;; Don't call set-window-buffer if it's not needed since it
5949 ;; Cannot switch to another buffer in a minibuffer or strongly 5951 ;; might signal an error (e.g. if the window is dedicated).
5950 ;; dedicated window that does not show the buffer already. Call 5952 ((eq buffer (window-buffer)) nil)
5951 ;; `pop-to-buffer' instead. 5953 ((window-minibuffer-p)
5952 (pop-to-buffer buffer 'same-window norecord) 5954 (error "Cannot switch buffers in minibuffer window"))
5953 (unless (eq buffer (window-buffer)) 5955 ((eq (window-dedicated-p) t)
5954 ;; I'm not sure why we should NOT call `set-window-buffer' here, 5956 (error "Cannot switch buffers in a dedicated window"))
5955 ;; but let's keep things as they are (otherwise we could always 5957 (t (set-window-buffer nil buffer)))
5956 ;; call `pop-to-buffer-same-window' here). 5958 (unless norecord
5957 (set-window-buffer nil buffer)) 5959 (select-window (selected-window)))
5958 (unless norecord 5960 (set-buffer buffer)))
5959 (select-window (selected-window)))
5960 (set-buffer buffer))))
5961 5961
5962(defun switch-to-buffer-same-frame (buffer-or-name &optional norecord) 5962(defun switch-to-buffer-same-frame (buffer-or-name &optional norecord)
5963 "Switch to buffer BUFFER-OR-NAME in a window on the selected frame. 5963 "Switch to buffer BUFFER-OR-NAME in a window on the selected frame.