diff options
| author | Stefan Monnier | 2011-06-30 23:48:44 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-06-30 23:48:44 -0400 |
| commit | 0e61a35ffdbd18adc18ab54857a550dc1d4220b4 (patch) | |
| tree | d8480fb68e9bfb904c317f42d378223a888cf165 /lisp | |
| parent | ddd63a1e1b46a0b34ffa2fc64ab9901fe7193e6b (diff) | |
| download | emacs-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/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/window.el | 30 |
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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-07-01 Chong Yidong <cyd@stupidchicken.com> | 7 | 2011-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 | ||
| 6 | 2011-07-01 Teodor Zlatanov <tzz@lifelogs.com> | 12 | 2011-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. |