diff options
-rw-r--r-- | lisp/ChangeLog | 13 | ||||
-rw-r--r-- | lisp/custom.el | 16 |
2 files changed, 21 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 06baa35a5e2..7148bfdfb7c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,9 +1,14 @@ +2006-08-31 Michael Mauger <mmaug@yahoo.com> + + * custom.el (custom-theme-set-variables): Autoload packages before + sorting the variables. + 2006-08-30 Michael Kifer <kifer@cs.stonybrook.edu> - - * 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 <monnier@iro.umontreal.ca> * 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) |