mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-22 10:26:20 +00:00
Test for special mode-class in view-buffer instead of view-file (bug#5513).
* view.el (view-file, view-buffer): Move test for special mode-class from view-file to view-buffer. * tar-mode.el (tar-extract): Turn if's into one cond like in arc-mode.el.
This commit is contained in:
parent
b3671a51b9
commit
fd5c9dfa9e
2
etc/NEWS
2
etc/NEWS
@ -148,6 +148,8 @@ Secret Service API requires D-Bus for communication.
|
||||
|
||||
* Incompatible Lisp Changes in Emacs 24.1
|
||||
|
||||
** Test for special mode-class was moved from view-file to view-buffer.
|
||||
|
||||
** Passing a nil argument to a minor mode function now turns the mode
|
||||
ON unconditionally.
|
||||
|
||||
|
@ -1,3 +1,13 @@
|
||||
2010-04-18 Juri Linkov <juri@jurta.org>
|
||||
|
||||
Test for special mode-class in view-buffer instead of view-file (bug#5513).
|
||||
|
||||
* view.el (view-file, view-buffer): Move test for special mode-class
|
||||
from view-file to view-buffer.
|
||||
|
||||
* tar-mode.el (tar-extract): Turn if's into one cond
|
||||
like in arc-mode.el.
|
||||
|
||||
2010-04-18 Juri Linkov <juri@jurta.org>
|
||||
|
||||
Add 7z archive format support (bug#5475).
|
||||
|
@ -1062,8 +1062,8 @@ using `make-temp-file', and the generated name is returned."
|
||||
(archive-maybe-update t))
|
||||
(or (not (buffer-name buffer))
|
||||
(cond
|
||||
(view-p (view-buffer
|
||||
buffer (and just-created 'kill-buffer-if-not-modified)))
|
||||
(view-p
|
||||
(view-buffer buffer (and just-created 'kill-buffer-if-not-modified)))
|
||||
((eq other-window-p 'display) (display-buffer buffer))
|
||||
(other-window-p (switch-to-buffer-other-window buffer))
|
||||
(t (switch-to-buffer buffer))))))
|
||||
|
@ -852,14 +852,12 @@ appear on disk when you save the tar-file's buffer."
|
||||
(set (make-local-variable 'tar-superior-descriptor) descriptor)
|
||||
(setq buffer-read-only read-only-p)
|
||||
(tar-subfile-mode 1)))
|
||||
(if view-p
|
||||
(view-buffer
|
||||
buffer (and just-created 'kill-buffer-if-not-modified))
|
||||
(if (eq other-window-p 'display)
|
||||
(display-buffer buffer)
|
||||
(if other-window-p
|
||||
(switch-to-buffer-other-window buffer)
|
||||
(switch-to-buffer buffer)))))))
|
||||
(cond
|
||||
(view-p
|
||||
(view-buffer buffer (and just-created 'kill-buffer-if-not-modified)))
|
||||
((eq other-window-p 'display) (display-buffer buffer))
|
||||
(other-window-p (switch-to-buffer-other-window buffer))
|
||||
(t (switch-to-buffer buffer))))))
|
||||
|
||||
|
||||
(defun tar-extract-other-window ()
|
||||
|
22
lisp/view.el
22
lisp/view.el
@ -262,13 +262,7 @@ This command runs the normal hook `view-mode-hook'."
|
||||
(unless (file-exists-p file) (error "%s does not exist" file))
|
||||
(let ((had-a-buf (get-file-buffer file))
|
||||
(buffer (find-file-noselect file)))
|
||||
(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"))
|
||||
(view-buffer buffer (and (not had-a-buf) 'kill-buffer-if-not-modified)))))
|
||||
(view-buffer buffer (and (not had-a-buf) 'kill-buffer-if-not-modified))))
|
||||
|
||||
;;;###autoload
|
||||
(defun view-file-other-window (file)
|
||||
@ -334,10 +328,16 @@ 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: ")
|
||||
(let ((undo-window (list (window-buffer) (window-start) (window-point))))
|
||||
(switch-to-buffer buffer)
|
||||
(view-mode-enter (cons (selected-window) (cons nil undo-window))
|
||||
exit-action)))
|
||||
(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"))
|
||||
(let ((undo-window (list (window-buffer) (window-start) (window-point))))
|
||||
(switch-to-buffer buffer)
|
||||
(view-mode-enter (cons (selected-window) (cons nil undo-window))
|
||||
exit-action))))
|
||||
|
||||
;;;###autoload
|
||||
(defun view-buffer-other-window (buffer &optional not-return exit-action)
|
||||
|
Loading…
Reference in New Issue
Block a user