1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-31 20:02:42 +00:00

Fix view-buffer-other-window/frame handling of special modes.

* view.el (view-buffer-other-window, view-buffer-other-frame):
Handle special modes like view-buffer.
(view-buffer): Simplify.

Fixes: debbugs:10650
This commit is contained in:
Chong Yidong 2012-02-01 16:31:29 +08:00
parent 9f56266843
commit e2cef717da
2 changed files with 13 additions and 9 deletions

View File

@ -1,5 +1,9 @@
2012-02-01 Chong Yidong <cyd@gnu.org>
* view.el (view-buffer-other-window, view-buffer-other-frame):
Handle special modes like view-buffer (Bug#10650).
(view-buffer): Simplify.
* frame.el (set-frame-font): Tweak meaning of third argument.
* dynamic-setting.el (font-setting-change-default-font): Use

View File

@ -311,13 +311,9 @@ file: Users may suspend viewing in order to modify the buffer.
Exiting View mode will then discard the user's edits. Setting
EXIT-ACTION to `kill-buffer-if-not-modified' avoids this."
(interactive "bView buffer: ")
(if (eq (with-current-buffer buffer
(get major-mode 'mode-class))
'special)
(progn
(switch-to-buffer buffer)
(message "Not using View mode because the major mode is special"))
(switch-to-buffer buffer)
(switch-to-buffer buffer)
(if (eq (get major-mode 'mode-class) 'special)
(message "Not using View mode because the major mode is special")
(view-mode-enter nil exit-action)))
;;;###autoload
@ -339,7 +335,9 @@ this argument instead of explicitly setting `view-exit-action'."
(interactive "bIn other window view buffer:\nP")
(let ((pop-up-windows t))
(pop-to-buffer buffer t))
(view-mode-enter nil exit-action))
(if (eq (get major-mode 'mode-class) 'special)
(message "Not using View mode because the major mode is special")
(view-mode-enter nil exit-action)))
;;;###autoload
(defun view-buffer-other-frame (buffer &optional not-return exit-action)
@ -360,7 +358,9 @@ this argument instead of explicitly setting `view-exit-action'."
(interactive "bView buffer in other frame: \nP")
(let ((pop-up-frames t))
(pop-to-buffer buffer t))
(view-mode-enter nil exit-action))
(if (eq (get major-mode 'mode-class) 'special)
(message "Not using View mode because the major mode is special")
(view-mode-enter nil exit-action)))
;;;###autoload
(define-minor-mode view-mode