From: Juanma Barranquero Date: Thu, 10 Apr 2003 16:26:12 +0000 (+0000) Subject: (desktop-buffer-file): Restore major-mode if it is different from the normal X-Git-Tag: ttn-vms-21-2-B4~10560 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=84b538ecf878ffa02dc9bb01c799ac49efea48d8;p=emacs.git (desktop-buffer-file): Restore major-mode if it is different from the normal mode. --- diff --git a/lisp/desktop.el b/lisp/desktop.el index 197680470ee..7f2b6f1312e 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -832,7 +832,8 @@ This function always sets `desktop-enable' to t." 'ignored))) ;; ---------------------------------------------------------------------------- -(defun desktop-buffer-file () "Load a file." +(defun desktop-buffer-file () + "Load a file." (if desktop-buffer-file-name (if (or (file-exists-p desktop-buffer-file-name) (and desktop-missing-file-warning @@ -843,6 +844,9 @@ This function always sets `desktop-enable' to t." (condition-case nil (switch-to-buffer buf) (error (pop-to-buffer buf))) + (and (not (eq major-mode desktop-buffer-major-mode)) + (functionp desktop-buffer-major-mode) + (funcall desktop-buffer-major-mode)) buf) 'ignored))) @@ -940,7 +944,7 @@ This function always sets `desktop-enable' to t." (cons 'case-fold-search cfs) (cons 'case-replace cr) (cons 'overwrite-mode (car mim))))) - + ;; ---------------------------------------------------------------------------- ;; When `desktop-enable' is non-nil and "--no-desktop" is not specified on the ;; command line, we do the rest of what it takes to use desktop, but do it