]> git.eshelyaron.com Git - emacs.git/commitdiff
(custom-declare-variable): Fix typos in comment.
authorLuc Teirlinck <teirllm@auburn.edu>
Sat, 2 Jul 2005 22:52:27 +0000 (22:52 +0000)
committerLuc Teirlinck <teirllm@auburn.edu>
Sat, 2 Jul 2005 22:52:27 +0000 (22:52 +0000)
(custom-known-themes): Doc fix.
(custom-theme-directory): New defcustom.
(require-theme): Make it check `custom-theme-directory'.

lisp/custom.el

index f3cbd1404e91bc2e7bae19af17c47fc9c387ef20..a438ee7d5fee03ba5b6530628c46786cd93f236a 100644 (file)
@@ -121,7 +121,7 @@ compatibility, DEFAULT is also stored in SYMBOL's property
 `standard-value'.  At the same time, SYMBOL's property `force-value' is
 set to nil, as the value is no longer rogue."
   ;; Remember the standard setting.  The value should be in the standard
-  ;; theme, not in this property.  However, his would require changeing
+  ;; theme, not in this property.  However, this would require changing
   ;; the C source of defvar and others as well...
   (put symbol 'standard-value (list default))
   ;; Maybe this option was rogue in an earlier version.  It no longer is.
@@ -560,7 +560,7 @@ LOAD should be either a library file name, or a feature name."
              (t (condition-case nil (load load) (error nil))))))))
 
 (defvar custom-known-themes '(user standard)
-   "Themes that have been define with `deftheme'.
+   "Themes that have been defined with `deftheme'.
 The default value is the list (user standard).  The theme `standard'
 contains the Emacs standard settings from the original Lisp files.  The
 theme `user' contains all the the settings the user customized and saved.
@@ -926,6 +926,19 @@ Return non-nil iff the `customized-value' property actually changed."
 (defvar custom-loaded-themes nil
   "Themes in the order they are loaded.")
 
+(defcustom custom-theme-directory
+  (if (eq system-type 'ms-dos)
+        ;; MS-DOS cannot have initial dot.
+        "~/_emacs.d/"
+      "~/.emacs.d/")
+  "Directory in which Custom theme files should be written.
+`require-theme' searches this directory in addition to load-path.
+The command `customize-create-theme' writes the files it produces
+into this directory."
+  :type 'string
+  :group 'customize
+  :version "22.1")
+
 (defun custom-theme-loaded-p (theme)
   "Return non-nil when THEME has been loaded."
   (memq theme custom-loaded-themes))
@@ -949,8 +962,11 @@ Usually the `theme-feature' property contains a symbol created
 by `custom-make-theme-feature'."
   ;; Note we do no check for validity of the theme here.
   ;; This allows to pull in themes by a file-name convention
-  (require (or (get theme 'theme-feature)
-              (custom-make-theme-feature theme))))
+  (let ((load-path (if (file-directory-p custom-theme-directory)
+                      (cons custom-theme-directory load-path)
+                    load-path)))
+    (require (or (get theme 'theme-feature)
+                (custom-make-theme-feature theme)))))
 
 (defun custom-remove-theme (spec-alist theme)
   "Delete all elements from SPEC-ALIST whose car is THEME."