diff lisp/cus-start.el @ 60033:ec4864463fc2

(all): Allow a var to specify a standard value.
author Richard M. Stallman <rms@gnu.org>
date Mon, 14 Feb 2005 09:49:38 +0000
parents aac0a33f5772
children c81f31db6e84
line wrap: on
line diff
--- a/lisp/cus-start.el	Mon Feb 14 01:04:50 2005 +0000
+++ b/lisp/cus-start.el	Mon Feb 14 09:49:38 2005 +0000
@@ -288,7 +288,7 @@
              (mouse-autoselect-window display boolean "21.3")
 	     (x-use-underline-position-properties display boolean "21.3")
 	     (x-stretch-cursor display boolean "21.1")))
-      this symbol group type native-p version
+      this symbol group type standard version native-p
       ;; This function turns a value
       ;; into an expression which produces that value.
       (quoter (lambda (sexp)
@@ -297,8 +297,6 @@
 			(and (listp sexp)
 			     (memq (car sexp) '(lambda)))
 			(stringp sexp)
-;; 			(and (fboundp 'characterp)
-;; 			     (characterp sexp))
 			(numberp sexp))
 		    sexp
 		  (list 'quote sexp)))))
@@ -309,6 +307,11 @@
 	  group (nth 1 this)
 	  type (nth 2 this)
 	  version (nth 3 this)
+	  ;; If we did not specify any standard value expression above,
+	  ;; use the current value as the standard value.
+	  standard (if (nthcdr 4 this)
+		       (nth 4 this)
+		     (funcall quoter (default-value symbol)))
 	  ;; Don't complain about missing variables which are
 	  ;; irrelevant to this platform.
 	  native-p (save-match-data
@@ -326,8 +329,7 @@
 	     (message "Note, built-in variable `%S' not bound" symbol))
       ;; Save the standard value, unless we already did.
       (or (get symbol 'standard-value)
-	  (put symbol 'standard-value
-	       (list (funcall quoter (default-value symbol)))))
+	  (put symbol 'standard-value (list standard)))
       ;; If this is NOT while dumping Emacs,
       ;; set up the rest of the customization info.
       (unless purify-flag