As a result of edits to eval.c src/ChangeLog:
2009-08-11 Aidan Kehoe <kehoea(a)parhasard.net>
* eval.c (For):
Ignore multiple values when comparing with Qnil, but pass any
multiple values back for the last arg.
* eval.c (Fand):
Ditto.
On my Mac G5 (OS X 10.5.8) I now see
gcc-4.2 -c -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked
-Wpointer-arith -Wunused-parameter -g -g -Os -pipe -mcpu=970 -mtune=970 -mpim-altivec
-mpowerpc-gpopt -mpowerpc64 -Demacs -I. -I/Users/royar/src/xemacs-hg/src -DHAVE_CONFIG_H
-I/usr/X11/include -I/usr/X11/include/freetype2 -I/opt/local/include -I/usr/X11/include
eval.c
eval.c: In function 'For':
eval.c:845: error: address of register variable 'val' requested
eval.c: In function 'Fand':
eval.c:877: error: address of register variable 'val' requested
make[1]: *** [eval.o] Error 1
make: *** [src] Error 2
The code reads
REGISTER Lisp_Object val;
LIST_LOOP_3 (arg, args, tail)
{
if (!NILP (IGNORE_MULTIPLE_VALUES (val = Feval (arg))))
I believe the problem is that Lisp_Object is a union in my compilation,
not an int.
The working version of XEmacs I am running is
XEmacs 21.5 (beta29) "garbanzo" e95ddfd6a409 [Lucid]
(powerpc-apple-darwin9.8.0, Mule) of Tue Aug 11 2009 on
grendel.frinabulax.org
The source for the above in that version is
if (!NILP (val = Feval (arg)))
return val;
Removing "IGNORE_MULTIPLE_VALUES" from the two functions (For and Fand)
allows the compilation to continue. I do not know what effects that
removal has on the stability of the final program.
--
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