1
0
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:
Juri Linkov 2010-04-19 02:49:58 +03:00
parent b3671a51b9
commit fd5c9dfa9e
5 changed files with 31 additions and 21 deletions

View File

@ -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.

View File

@ -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).

View File

@ -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))))))

View File

@ -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 ()

View File

@ -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)