comparison lisp/custom.el @ 4502:8748a3f7ceb4

Handle varalias chains, custom variables in #'user-variable-p. src/ChangeLog addition: 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Fuser_variable_p): Moved to symbols.c * symbols.c (Fcustom_variable_p): Moved here from custom.el. (user_variable_alias_check_fun): Mapper function used in `user-variable-p'. (Fuser_variable_p): Moved here from eval.c, to allow it to examine the variable alias chain. Expanded to check each entry in the variable alias chain for signs of being a user variable; documentation updated, noting the differences between GNU's behaviour and ours (ours is a little more sensible) (map_varalias_chain): New. Given a C function, call it at least once for each symbol in a symbol's varalias chain, signalling an error if there's a cycle, and returning immediately if the function returns something other than Qzero. (Fdefvaralias): Correct the use of the word "alias" in the docstring and in the argument name. Motivate this in a comment. Add support for a DOCSTRING argument, something GNU has too, and document this * gc.c (vars_of_gc): Start the docstring of `garbage-collection-messages' with an asterisk, to indicate that it's a user variable. lisp/ChangeLog addition: 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * custom.el: Move #'custom-variable-p to C, since it's now called from #'user-variable-p.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 23 Aug 2008 16:38:51 +0200
parents 1d7faae1080c
children 061e030e3270
comparison
equal deleted inserted replaced
4501:c4fd85dd95bd 4502:8748a3f7ceb4
512 (defun custom-autoload (symbol load) 512 (defun custom-autoload (symbol load)
513 "Mark SYMBOL as autoloaded custom variable and add dependency LOAD." 513 "Mark SYMBOL as autoloaded custom variable and add dependency LOAD."
514 (put symbol 'custom-autoload t) 514 (put symbol 'custom-autoload t)
515 (custom-add-load symbol load)) 515 (custom-add-load symbol load))
516 516
517 ;; This test is also in the C code of `user-variable-p'. 517 ;; XEmacs;
518 (defun custom-variable-p (variable) 518 ;; #'custom-variable-p is in symbols.c, since it's called from
519 "Return non-nil if VARIABLE is a custom variable." 519 ;; #'user-variable-p.
520 (or (get variable 'standard-value)
521 (get variable 'custom-autoload)))
522 520
523 ;;; Loading files needed to customize a symbol. 521 ;;; Loading files needed to customize a symbol.
524 ;;; This is in custom.el because menu-bar.el needs it for toggle cmds. 522 ;;; This is in custom.el because menu-bar.el needs it for toggle cmds.
525 523
526 (defvar custom-load-recursion nil 524 (defvar custom-load-recursion nil