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
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
(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)
(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)))
\f
;;;###autoload
(define-minor-mode view-mode