XEmacs 21.4 (patch 8) "Honest Recruiter" [Lucid] (i386-debian-linux)
If an X error occurs during x-set-font-path, XEmacs will throw
an "x-error" which is never declared as an error in device-x.c
(merely as a symbol). So the following code doesn't catch the error:
(condition-case nil
(x-set-font-path '("foo"))
(x-error "caught x-error")
(error "caught error"))
Instead XEmacs reports:
Peculiar error (x-error "BadValue (integer parameter out of range for
operation)" "X_SetFontPath" "0x2E00025")
A one line patch that remedies this is attached.
Please CC any responses.
Thanks,
Steve
dunham(a)cse.msu.edu
--- xemacs21-21.4.8/src/device-x.c.orig 2002-10-11 08:16:54.000000000 -0700
+++ xemacs21-21.4.8/src/device-x.c 2002-10-11 08:20:55.000000000 -0700
@@ -1992,7 +1992,7 @@
DEFSUBR (Fx_get_font_path);
DEFSUBR (Fx_set_font_path);
- defsymbol (&Qx_error, "x-error");
+ DEFERROR_STANDARD(Qx_error, Qerror);
defsymbol (&Qinit_pre_x_win, "init-pre-x-win");
defsymbol (&Qinit_post_x_win, "init-post-x-win");
}