changeset 63927:7f7d0de05845

(custom-declare-variable): Fix typos in comment. (custom-known-themes): Doc fix. (custom-theme-directory): New defcustom. (require-theme): Make it check `custom-theme-directory'.
author Luc Teirlinck <teirllm@auburn.edu>
date Sat, 02 Jul 2005 22:52:27 +0000
parents 992bbd6f8834
children e559c2c766bc
files lisp/custom.el
diffstat 1 files changed, 20 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/custom.el	Sat Jul 02 22:49:42 2005 +0000
+++ b/lisp/custom.el	Sat Jul 02 22:52:27 2005 +0000
@@ -121,7 +121,7 @@
 `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 @@
 	      (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 @@
 (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 @@
 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."