# HG changeset patch # User Tassilo Horn # Date 1293720473 -3600 # Node ID f559229a64b8913fc13fa1ca19d48935a69318da # Parent 33f84f010bcb1b0180cd90a58c2b39d3de0b0d7f * doc-view.el (doc-view-mode, doc-view-toggle-display): Use normal-mode without doc-view-mode bindings in auto-mode-alist as fallback instead of hard coding fundamental mode. diff -r 33f84f010bcb -r f559229a64b8 lisp/ChangeLog --- a/lisp/ChangeLog Thu Dec 30 14:53:22 2010 +0100 +++ b/lisp/ChangeLog Thu Dec 30 15:47:53 2010 +0100 @@ -1,3 +1,9 @@ +2010-12-30 Tassilo Horn + + * doc-view.el (doc-view-mode, doc-view-toggle-display): Use + normal-mode without doc-view-mode bindings in auto-mode-alist as + fallback instead of hard coding fundamental mode. + 2010-12-30 Tassilo Horn * doc-view.el (doc-view-doc->txt): Handle OpenDocument (or MS diff -r 33f84f010bcb -r f559229a64b8 lisp/doc-view.el --- a/lisp/doc-view.el Thu Dec 30 14:53:22 2010 +0100 +++ b/lisp/doc-view.el Thu Dec 30 15:47:53 2010 +0100 @@ -1047,7 +1047,6 @@ ;;;;; Toggle between editing and viewing - (defun doc-view-toggle-display () "Toggle between editing a document as text or viewing it." (interactive) @@ -1058,11 +1057,12 @@ (setq buffer-read-only nil) (remove-overlays (point-min) (point-max) 'doc-view t) (set (make-local-variable 'image-mode-winprops-alist) t) - ;; Switch to the previously used major mode or fall back to fundamental - ;; mode. + ;; Switch to the previously used major mode or fall back to + ;; normal mode. (if doc-view-previous-major-mode (funcall doc-view-previous-major-mode) - (fundamental-mode)) + (let ((auto-mode-alist (rassq-delete-all 'doc-view-mode auto-mode-alist))) + (normal-mode))) (doc-view-minor-mode 1)) ;; Switch to doc-view-mode (when (and (buffer-modified-p) @@ -1271,7 +1271,8 @@ (let* ((prev-major-mode (if (eq major-mode 'doc-view-mode) doc-view-previous-major-mode - major-mode))) + (when (not (eq major-mode 'fundamental-mode)) + major-mode)))) (kill-all-local-variables) (set (make-local-variable 'doc-view-previous-major-mode) prev-major-mode))