comparison src/gc.c @ 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 9a633a00c3f2
children 17362f371cc2 714f7c9fabb1
comparison
equal deleted inserted replaced
4501:c4fd85dd95bd 4502:8748a3f7ceb4
2164 Non-nil means loading Lisp code in order to dump an executable. 2164 Non-nil means loading Lisp code in order to dump an executable.
2165 This means that certain objects should be allocated in readonly space. 2165 This means that certain objects should be allocated in readonly space.
2166 */ ); 2166 */ );
2167 2167
2168 DEFVAR_BOOL ("garbage-collection-messages", &garbage_collection_messages /* 2168 DEFVAR_BOOL ("garbage-collection-messages", &garbage_collection_messages /*
2169 Non-nil means display messages at start and end of garbage collection. 2169 *Non-nil means display messages at start and end of garbage collection.
2170 */ ); 2170 */ );
2171 garbage_collection_messages = 0; 2171 garbage_collection_messages = 0;
2172 2172
2173 DEFVAR_LISP ("pre-gc-hook", &Vpre_gc_hook /* 2173 DEFVAR_LISP ("pre-gc-hook", &Vpre_gc_hook /*
2174 Function or functions to be run just before each garbage collection. 2174 Function or functions to be run just before each garbage collection.