# HG changeset patch # User Richard M. Stallman # Date 1108374578 0 # Node ID ec4864463fc24c1dec4e7587d7c7f06363687bfa # Parent 65ef48d5f65ad4e39560d3f0cba7079a0d8dade8 (all): Allow a var to specify a standard value. diff -r 65ef48d5f65a -r ec4864463fc2 lisp/cus-start.el --- 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