Moving to XEmacs Beta.
>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)xemacs.org> writes:
Hrvoje> I had to apply this patch to compile:
Thanks; I must have missed an "applies with fuzz" somewhere when I did
a partial sync. (I always compile --enable-debug.)
Note: I've committed your fix to the branch.
Index: src/xgccache.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/xgccache.h,v
retrieving revision 1.2.20.1
diff -u -r1.2.20.1 xgccache.h
--- src/xgccache.h 2004/11/25 12:44:19 1.2.20.1
+++ src/xgccache.h 2005/02/23 19:00:06
@@ -31,9 +31,10 @@
void free_gc_cache (struct gc_cache *cache);
GC gc_cache_lookup (struct gc_cache *, XGCValues *, unsigned long mask);
+#define XE_GCONTEXT(cell) (XGContextFromGC(cell->gc))
+
#ifdef DEBUG_XEMACS
-#define XE_GCONTEXT(cell) (XGContextFromGC(cell->gc))
void describe_gc_cache (struct gc_cache *cache, int flags);
#define DGCCFLAG_DISABLE 0
Hrvoje> However, XEmacs crashes at startup:
$ ./xemacs
Fatal error (11).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
Your version of XEmacs was distributed with a PROBLEMS file that may describe
your crash, and with luck a workaround. Please check it first, but do report
the crash anyway.
Please report this bug by invoking M-x report-emacs-bug, or by selecting
`Send Bug Report' from the Help menu. If that won't work, send ordinary
email to `crashes(a)xemacs.org'. *MAKE SURE* to include this entire output
from this crash, especially including the Lisp backtrace, as well as the
XEmacs configuration from M-x describe-installation (or equivalently, the
file `Installation' in the top of the build tree).
*Please* try *hard* to obtain a C stack backtrace; without it, we are unlikely
to be able to analyze the problem. Locate the core file produced as a result
of this crash (often called `core' or `core.<process-id>', and located in
the directory in which you started XEmacs or your home directory), and type
gdb /home/hniksic/work/xemacs/src/xemacs core
then type `where' at the debugger prompt. No GDB on your system? You may
have DBX, or XDB, or SDB. (Ask your system administrator if you need help.)
If no core file was produced, enable them (often with `ulimit -c unlimited')
in case of future recurrance of the crash.
Lisp backtrace follows:
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
fc-font-real-pattern("Courier-12" #<x-device on ":0.0"
0x5fd>)
# bind (device font)
x-make-font-bold-xft("Courier-12" #<x-device on ":0.0"
0x5fd>)
# bind (device font)
x-make-font-bold("Courier-12" #<x-device on ":0.0" 0x5fd>)
# bind (mapper G15042 G15041 devtype tag-set x G15040 ffpdev devtype-spec prop inst-list
locale)
frob-face-inst-list(global (((default x) .
"-b&h-lucidatypewriter-medium-r-normal-sans-0-130-*-*-*-*-iso8859-*")
((default tty) . "normal") ((default x) . "Courier-12") ((default x).
"Sazanami Mincho-12")) font window-system)
# bind (thunk inst-list locale sp)
frob-locale(#<font-specifier global=(((default x) .
"-b&h-lucidatypewriter-medium-r-normal-sans-0-130-*-*-*-*-iso8859-*")
((default tty) . "normal") ((default x) . "Courier-12") ((default x) .
"Sazanami Mincho-12")) fallback=#<font-specifier global=((x) .
"-b&h-lucidatypewriter-medium-r-normal-sans-0-130-*-*-*-*-iso8859-*")
fallback=(((tty) . "normal") ((x) . "Courier-12") ((x) .
"Sazanami Mincho-12")) 0x1c4> 0x8a4> global (((default x) .
"-b&h-lucidatypewriter-medium-r-normal-sans-0-130-*-*-*-*-iso8859-*")
((default tty) . "normal") ((defaultx) . "Courier-12") ((default x) .
"Sazanami Mincho-12")) (font . window-system))
# bind (ms-this-spec ms-specs ms-result ms-exact-p ms-tag-set ms-maparg ms-locale
ms-funcms-specifier)
map-specifier(#<font-specifier global=(((default x) .
"-b&h-lucidatypewriter-medium-r-normal-sans-0-130-*-*-*-*-iso8859-*")
((default tty) . "normal") ((default x) . "Courier-12") ((default x) .
"Sazanami Mincho-12")) fallback=#<font-specifier global=((x) .
"-b&h-lucidatypewriter-medium-r-normal-sans-0-130-*-*-*-*-iso8859-*")
fallback=(((tty) . "normal") ((x) . "Courier-12") ((x) .
"Sazanami Mincho-12")) 0x1c4> 0x8a4> frob-locale global (font .
window-system) nil nil)
# bind (locale)
map-over-locales(global)
# bind (do-something orig-instance check-differences domain do-later-stages ffpdev)
# (unwind-protect ...)
# bind (--letf-save--15037 --letf-bound--15038)
# (unwind-protect ...)
# bind (--letf-save--15033 --letf-bound--15034)
# (unwind-protect ...)
# bind (--letf-save--15029 --letf-bound--15030)
# (unwind-protect ...)
# bind (--letf-save--15025 --letf-bound--15026)
# (unwind-protect ...)
# bind (--letf-save--15021 --letf-bound--15022 standard-face-mapping frob-mapping
tty-props win-prop frobbed-face unfrobbed-face exactt-p tag-set locale face)
Face-frob-property(bold global nil nil default bold font (highlight) (tty (lambda (x) t)
x x-make-font-bold gtk gtk-make-font-bold mswindows mswindows-make-font-bold msprinter
mswindows-make-font-bold) (([default] . [bold]) ([bold] . t) ([italic] . [bold-italic])
([bold-italic] . t)))
# bind (exact-p tags locale face)
make-face-bold(bold global)
# bind (Face-frob-property-device-considered-current device)
init-global-faces(#<x-device on ":0.0" 0x5fd>)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (inhibit-quit)
# (unwind-protect ...)
# (unwind-protect ...)
make-device(x nil)
# bind (display)
make-x-device(nil)
init-x-win()
# bind (debugger debug-on-error command-line-args-left)
command-line()
# (condition-case ... . ((t (byte-code " Â" [error-data data nil] 1))))
# bind (error-data)
normal-top-level()
# (condition-case ... . error)
# (catch top-level ...)
zsh: segmentation fault ./xemacs
From the bacetrace:
Hrvoje> fc-font-real-pattern("Courier-12" #<x-device on
":0.0" 0x5fd>)
Yeech. This is just the "can't find any fonts" assert in disguise, I
have to think. The problem is that fontconfig never admits defeat,
but if all it has to go on is size and name, well fontconfig will
happily return "Zapf Dingbats-12". (This isn't an excuse for the
crash, need to prevent that and issue a diagnostic; I'm just
describing what I think is the path to the crash.)
Do you have any suggestion for a reliably available default font?
Looking at the platforms I have available I have to conclude it's
going to be platform-specific. :-(
You can test the hypothesis that fontconfig returned a bogus font with
./xemacs -xrm 'XEmacs.defaults.attributeFont: Bitstream Vera Mono-12:dpi=100'
Substitute an available family and a correct dpi, or you can omit
dpi if your X server is configured to tell the truth (neither Xfree86
nor X.org does in my experience).
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.