changeset 80075:23de7844a977

(custom-theme-set-variables): Sort symbols that are dependencies before symbols that depend on them. (custom-enabled-themes): Set after custom-theme-directory.
author Glenn Morris <rgm@gnu.org>
date Fri, 08 Feb 2008 05:00:25 +0000
parents ec6a7443e66b
children 746ec36bb378
files lisp/custom.el
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/custom.el	Thu Feb 07 06:26:59 2008 +0000
+++ b/lisp/custom.el	Fri Feb 08 05:00:25 2008 +0000
@@ -885,7 +885,7 @@
                   (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
@@ -898,6 +898,8 @@
 			 (error "Circular custom dependency between `%s' and `%s'"
 				sym1 sym2))
 			(2-then-1 nil)
+			;; 1 is a dependency of 2, so needs to be set first.
+			(1-then-2)
 			;; Put minor modes and symbols with :require last.
 			;; Putting minor modes last ensures that the mode
 			;; function will see other customized values rather
@@ -1092,6 +1094,7 @@
 and always takes precedence over other Custom Themes."
   :group 'customize
   :type  '(repeat symbol)
+  :set-after '(custom-theme-directory)  ; so we can find the themes
   :set (lambda (symbol themes)
 	 ;; Avoid an infinite loop when custom-enabled-themes is
 	 ;; defined in a theme (e.g. `user').  Enabling the theme sets