Mercurial > hg > xemacs-beta
annotate lib-src/gnudepend.pl @ 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 | 3ecd8885ac67 |
children |
rev | line source |
---|---|
428 | 1 #!/usr/bin/perl |
2 | |
3 while (<>) | |
4 { | |
5 if (/\\$/) | |
6 { | |
7 chop; | |
8 $foo .= $_; | |
9 } | |
10 else | |
11 { | |
12 @foo = split (/[ \\:]+/, $foo); | |
13 $filename = $foo[0]; | |
14 if (($filename =~ /^unex/) || | |
15 ($filename =~ /^sgiplay/) || | |
16 ($filename =~ /^Extern/) || | |
17 ($filename =~ /^extw/)) | |
18 { | |
19 $foo = ""; | |
20 next; | |
21 } | |
22 @foo = grep (!/\.c$/, @foo); | |
23 @foo = grep ((s/\/.*lwlib\//\$(LWLIBSRCDIR)\//, 1), @foo); | |
24 @foo = grep (!/lisp\.h/, @foo); | |
25 @foo = grep (!/lisp\.h/, @foo); | |
26 @foo = grep (!/lisp-union\.h/, @foo); | |
27 @foo = grep (!/lisp-disunion\.h/, @foo); | |
28 @foo = grep (!/lrecord\.h/, @foo); | |
29 @foo = grep (!/emacsfns\.h/, @foo); | |
30 @foo = grep (!/symeval\.h/, @foo); | |
31 @foo = grep (!/symsinit\.h/, @foo); | |
32 @foo = grep (!/syssignal\.h/, @foo); | |
33 @foo = grep (!/intl\.h/, @foo); | |
34 @foo = grep (!/tt_c\.h/, @foo); | |
35 @foo = grep (!/descrip\.h/, @foo); | |
36 shift @foo; | |
37 foreach $i (0 .. $#foo) | |
38 { | |
39 $foo[$i] = $filename . ": " . $foo[$i]; | |
40 } | |
41 print $filename . ": config.h\n"; | |
42 print join ("\n", @foo); | |
43 print "\n"; | |
44 $foo = ""; | |
45 } | |
46 } |