"Stephen J. Turnbull" <stephen(a)xemacs.org> writes:
1. running configure with --without-menubars --without-scrollbars
--without-toolbars
This didn't work. Build crashes at the exact same point. Checked
src/config.h and the symbol undefs you mention were all commented out.
2. changing the defines of HAVE_MENUBARS, HAVE_SCROLLBARS,
HAVE_TOOLBARS in src/config.h to /* #undef $symbol */ format.
This didn't seem to work either. It dies at event-stream.c:
gcc -c -Wall -Wno-switch -Winline -Wmissing-prototypes -Wsign-compare
-Wundef -Wstrict-prototypes -Wpacked -Wshadow -Wmissing-declarations
-Wpointer-arith -O2 -Wall -Wno-switch -Demacs -I. -DHAVE_CONFIG_H
event-stream.c
event-stream.c: In function `Fnext_event':
event-stream.c:2262: `in_menu_callback' undeclared (first use in this function)
event-stream.c:2262: (Each undeclared identifier is reported only once
event-stream.c:2262: for each function it appears in.)
make[1]: *** [event-stream.o] Error 1
make[1]: Leaving directory `/usr/local/src/xemacs/xemacs-21.5.11/src'
make: *** [src] Error 2
I looked at the source of event-stream.c and saw this in the
next-event defun:
/* ...
#### I used to conditionalize on in_modal_loop but that fails utterly
because event-msw.c specifically calls Fnext_event() inside of a modal
loop to clear the dispatch queue. --ben */
if (in_menu_callback)
invalid_operation ("Attempt to call next-event inside menu callback",
Qunbound);
This looks to me like it should have an #ifdef HAVE_MENUBARS around it
or something. Indeed I wrapped this if statement with that ifdef and
things seem to be building now.
Not sure if you like lots of ugly preprocessor tests, but it seems
pretty certain that some sort of test like this is necessary.
Here's another question, while this thing is compiling. Why are the
"glyphs-*.c" files necessary for a non-GUI build? They're being
compiled but I would think they're superfluous. Unless they actually
also have non-GUI glyphs.
I use XEmacs all the time in non-GUI environments, like telnetting
home to read email in Gnus, and editing files on headless servers. I
suppose a lot of people don't use XEmacs this way nowadays in this
modern world of graphical-user-everything.
Compile was successful. src/xemacs seems to run well enough to
display the splash buffer and rotate through the 'attraction
screens'. (Which is weirdly reminiscent of a video game.)
'james
--
James A. Crippen <james at unlambda.com> Lambda Unlimited
61.2204N, -149.8964W Recursion 'R' Us
Anchorage, Alaska, USA, Earth Y = \f.(\x.f(xx))(\x.f(xx))