From: Lars Hansen Date: Mon, 31 May 2004 21:45:51 +0000 (+0000) Subject: (desktop-save): Don't save minor modes without a known mode initialization function. X-Git-Tag: ttn-vms-21-2-B4~5972 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7bfa55b3580c3d7d4c77bc67ffd621bf5152a513;p=emacs.git (desktop-save): Don't save minor modes without a known mode initialization function. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bf08d2643f3..064f7a01f10 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2004-05-31 Lars Hansen + + * desktop.el (desktop-save): Don't save minor modes without a + known mode initialization function. + 2004-05-30 Luc Teirlinck * replace.el (query-replace-interactive): Convert defvar into diff --git a/lisp/desktop.el b/lisp/desktop.el index a21d132e03b..3888262f02f 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -326,7 +326,7 @@ NAME is the name of the buffer-local variable indicating that the minor mode is active. RESTORE-FUNCTION is the function to activate the minor mode. called. RESTORE-FUNCTION nil means don't try to restore the minor mode. Only minor modes for which the name of the buffer-local variable -and the name of the minor mode function are different have to added to +and the name of the minor mode function are different have to be added to this table." :type 'sexp :group 'desktop) @@ -589,16 +589,17 @@ See also `desktop-base-file-name'." major-mode ;; minor modes (let (ret) - (mapcar - #'(lambda (mim) + (mapc + #'(lambda (minor-mode) (and - (boundp mim) - (symbol-value mim) - (setq ret - (cons - (let ((special (assq mim desktop-minor-mode-table))) - (if special (cadr special) mim)) - ret)))) + (boundp minor-mode) + (symbol-value minor-mode) + (let ((special (assq minor-mode desktop-minor-mode-table))) + (when (or special (functionp minor-mode)) + (setq ret + (cons + (if special (cadr special) minor-mode) + ret)))))) (mapcar #'car minor-mode-alist)) ret) (point)