Mats Lidell writes:
might not be installed, but... It is the byte compilations that
fails. Shouldn't the byte compiler do its job regardless of what
features the xemacs-binary is configured with and regardless of what
OS environment there is as long as the package tree is installed so
that all elips-files are available?
No. "eval-when-compile" means that code can be run at compile time.
In particular, x-symbol is trying to make X bitmap glyphs on a no-X
build, inside an eval-when-compile (see x-symbol-vars.el).
(canonicalize-spec-list `(((x) . [xbm :data (6 20 ,(make-string 20 0))])
. [xbm :data (6 20 ,(make-string 20 0))])
((tty) . [string :data " "]))
in your 21.5 build.
(make-glyph `(((mswindows) . [bmp :data (6 20 ,(make-string 20 0))])
((tty) . [string :data " "])))
gives me "Invalid specifier locale (mswindows)" in my Linux build. So
it seems that glyph is actually tried to be instantiated, but why this
doesn't work I'm not sure. My guess is that the thing to do for now
is to remove the eval-when-compile from the make-glyph call in
x-symbol-vars.el, although that code probably should work.
The 21.4 build isn't failing in the byte compiler. The event loop is
somehow broken. It's trying to get events from a file descriptor that
claims to be a console (ie, a tty) but it somehow isn't. See l. 147
I'm not sure why this would happen. You could try putting
if (!c) fprintf (stderr, "failing on FD #%d", i);
before the assert on l. 147 and see which FD is causing problems.
XEmacs-Beta mailing list