From: Stefan Monnier Date: Thu, 31 Aug 2006 17:10:34 +0000 (+0000) Subject: (custom-theme-set-variables): Autoload packages before sorting the variables. X-Git-Tag: emacs-pretest-22.0.90~825 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9277ee6cd2d7dc83bcb6ca7d18f34e4a267de27f;p=emacs.git (custom-theme-set-variables): Autoload packages before sorting the variables. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4d8887a0d59..f0246673db1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,9 +1,14 @@ +2006-08-31 Michael Mauger + + * custom.el (custom-theme-set-variables): Autoload packages before + sorting the variables. + 2006-08-30 Michael Kifer - - * viper-cmd.el (viper-special-read-and-insert-char): convert events to + + * viper-cmd.el (viper-special-read-and-insert-char): Convert events to chars if XEmacs. - (viper-after-change-undo-hook): check if undo-in-progress is bound. - + (viper-after-change-undo-hook): Check if undo-in-progress is bound. + 2006-08-30 Stefan Monnier * progmodes/python.el (python-eldoc-function): Re-enable quit while diff --git a/lisp/custom.el b/lisp/custom.el index 2e5c0a59d9b..104e63126f0 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -874,6 +874,18 @@ COMMENT is a comment string about SYMBOL. EXP itself is saved unevaluated as SYMBOL property `saved-value' and in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (custom-check-theme theme) + + ;; Process all the needed autoloads before anything else, so that the + ;; subsequent code has all the info it needs (e.g. which var corresponds + ;; to a minor mode), regardless of the ordering of the variables. + (dolist (entry args) + (let* ((symbol (indirect-variable (nth 0 entry)))) + (unless (or (get symbol 'standard-value) + (memq (get symbol 'custom-autoload) '(nil noset))) + ;; This symbol needs to be autoloaded, even just for a `set'. + (custom-load-symbol symbol)))) + + ;; Move minor modes and variables with explicit requires to the end. (setq args (sort args (lambda (a1 a2) @@ -904,10 +916,6 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (when requests (put symbol 'custom-requests requests) (mapc 'require requests)) - (unless (or (get symbol 'standard-value) - (memq (get symbol 'custom-autoload) '(nil noset))) - ;; This symbol needs to be autoloaded, even just for a `set'. - (custom-load-symbol symbol)) (setq set (or (get symbol 'custom-set) 'custom-set-default)) (put symbol 'saved-value (list value)) (put symbol 'saved-variable-comment comment)