summaryrefslogtreecommitdiff
path: root/lisp/custom.el
diff options
context:
space:
mode:
authorLuc Teirlinck <teirllm@auburn.edu>2005-07-02 22:52:27 +0000
committerLuc Teirlinck <teirllm@auburn.edu>2005-07-02 22:52:27 +0000
commit9c4b6e94bf6c993cb1ecea4ebd9f683c9b4c63fc (patch)
treeb67d3b3bccf41a5775c99c149e97d943fbe1b309 /lisp/custom.el
parente1db6c78fc71d58f47d783d620154eadb87d3ed0 (diff)
downloademacs-9c4b6e94bf6c993cb1ecea4ebd9f683c9b4c63fc.tar.gz
(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'.
Diffstat (limited to 'lisp/custom.el')
-rw-r--r--lisp/custom.el24
1 files changed, 20 insertions, 4 deletions
diff --git a/lisp/custom.el b/lisp/custom.el
index f3cbd1404e9..a438ee7d5fe 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -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."