[I noticed that this mail sent earlier appeared to have been redirected
to a different MX than the
mail.xemacs.org greylister and never
retried.]
If Lisp_Object is a union (not an int), then constructs such as
assert (make_int (1) == mapped); /* line 2826 symbols.c */
need to be
assert (EQ(make_int (1), mapped));
and
Qzero != res /* line 3250 symbols.c */
need to be
!EQ(Qzero, res)
The changes suggested lead to a working XEmacs binary when unions are used for
Lisp_Objects. I have not tested with ints used instead.
The ChangeLog for the failing build
2008-08-23 Aidan Kehoe <kehoea(a)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.
gcc-4.2 -c -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts
-Wpacked -Wpointer-arith -Wunused-parameter -g -Os -pipe -mcpu=970 -mtune=970
-mpim-altivec -arch ppc -Demacs -I. -I/Users/royar/src/xemacs-hg/src
-DHAVE_CONFIG_H -DXTHREADS -I/opt/local/include -I/usr/X11/include
-I/opt/local/include/freetype2 -I/opt/local/include -I/usr/X11/include
symbols.c
symbols.c: In function 'Fuser_variable_p':
symbols.c:2826: error: invalid operands to binary == (have 'Lisp_Object' and
'Lisp_Object')
symbols.c: In function 'map_varalias_chain':
symbols.c:3250: error: invalid operands to binary != (have 'Lisp_Object' and
'Lisp_Object')
make[1]: *** [symbols.o] Error 1
make: *** [src] Error 2
--
Dr. Robert Delius Royar Associate Professor of English
Morehead State University Morehead, Kentucky
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta