(customize-mark-to-save, customize-mark-as-set)
(custom-quote): Moved here from `cus-edit.el'.
This commit is contained in:
parent
60acd41c19
commit
6d912ee1a7
2 changed files with 75 additions and 1 deletions
|
|
@ -1,3 +1,10 @@
|
|||
2002-04-19 Miles Bader <miles@gnu.org>
|
||||
|
||||
* custom.el (customize-mark-to-save, customize-mark-as-set)
|
||||
(custom-quote): Moved here from `cus-edit.el'.
|
||||
* cus-edit.el (customize-mark-to-save, customize-mark-as-set)
|
||||
(custom-quote): Moved to `custom.el'.
|
||||
|
||||
2002-04-18 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* facemenu.el (list-text-properties-at): Command deleted.
|
||||
|
|
@ -61,7 +68,7 @@
|
|||
|
||||
* term.el (term-emulate-terminal): Fix last change.
|
||||
|
||||
2002-04-16 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
|
||||
2002-04-16 Pavel Jan,Am(Bk <Pavel@Janik.cz>
|
||||
|
||||
* bindings.el (mode-line-mode-menu): Update names to reflect
|
||||
latest changes.
|
||||
|
|
|
|||
|
|
@ -549,6 +549,73 @@ this sets the local binding in that buffer instead."
|
|||
(set variable value))
|
||||
(set-default variable value)))
|
||||
|
||||
(defun custom-quote (sexp)
|
||||
"Quote SEXP iff it is not self quoting."
|
||||
(if (or (memq sexp '(t nil))
|
||||
(keywordp sexp)
|
||||
(and (listp sexp)
|
||||
(memq (car sexp) '(lambda)))
|
||||
(stringp sexp)
|
||||
(numberp sexp)
|
||||
(vectorp sexp)
|
||||
;;; (and (fboundp 'characterp)
|
||||
;;; (characterp sexp))
|
||||
)
|
||||
sexp
|
||||
(list 'quote sexp)))
|
||||
|
||||
(defun customize-mark-to-save (symbol)
|
||||
"Mark SYMBOL for later saving.
|
||||
|
||||
If the default value of SYMBOL is different from the standard value,
|
||||
set the `saved-value' property to a list whose car evaluates to the
|
||||
default value. Otherwise, set it til nil.
|
||||
|
||||
To actually save the value, call `custom-save-all'.
|
||||
|
||||
Return non-nil iff the `saved-value' property actually changed."
|
||||
(let* ((get (or (get symbol 'custom-get) 'default-value))
|
||||
(value (funcall get symbol))
|
||||
(saved (get symbol 'saved-value))
|
||||
(standard (get symbol 'standard-value))
|
||||
(comment (get symbol 'customized-variable-comment)))
|
||||
;; Save default value iff different from standard value.
|
||||
(if (or (null standard)
|
||||
(not (equal value (condition-case nil
|
||||
(eval (car standard))
|
||||
(error nil)))))
|
||||
(put symbol 'saved-value (list (custom-quote value)))
|
||||
(put symbol 'saved-value nil))
|
||||
;; Clear customized information (set, but not saved).
|
||||
(put symbol 'customized-value nil)
|
||||
;; Save any comment that might have been set.
|
||||
(when comment
|
||||
(put symbol 'saved-variable-comment comment))
|
||||
(not (equal saved (get symbol 'saved-value)))))
|
||||
|
||||
(defun customize-mark-as-set (symbol)
|
||||
"Mark current value of SYMBOL as being set from customize.
|
||||
|
||||
If the default value of SYMBOL is different from the saved value if any,
|
||||
or else if it is different from the standard value, set the
|
||||
`customized-value' property to a list whose car evaluates to the
|
||||
default value. Otherwise, set it til nil.
|
||||
|
||||
Return non-nil iff the `customized-value' property actually changed."
|
||||
(let* ((get (or (get symbol 'custom-get) 'default-value))
|
||||
(value (funcall get symbol))
|
||||
(customized (get symbol 'customized-value))
|
||||
(old (or (get symbol 'saved-value) (get symbol 'standard-value))))
|
||||
;; Mark default value as set iff different from old value.
|
||||
(if (or (null old)
|
||||
(not (equal value (condition-case nil
|
||||
(eval (car old))
|
||||
(error nil)))))
|
||||
(put symbol 'customized-value (list (custom-quote value)))
|
||||
(put symbol 'customized-value nil))
|
||||
;; Changed?
|
||||
(not (equal customized (get symbol 'customized-value)))))
|
||||
|
||||
;;; The End.
|
||||
|
||||
;; Process the defcustoms for variables loaded before this file.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue