Raimona Rowe writes:
Dear Bug Team!
XEmacs 21.5-b8 crashes when attempting to load a background pixmap for
either the default face or for the modeline, either via init.el:
(set-face-background-pixmap 'default [xpm :file
"~/.xemacs/beige.xpm"])
or from ~/.Xdefaults:
Emacs*EmacsFrame.default.attributeBackgroundPixmap:~/.xemacs/beige.xpm
As recently as 21.5-b3 (the version I used previously), this worked. The
string type conversion pointed to by the C backtrace [line 595 in
glyphs-x.c] was not present in beta-3:
I feel bad because I am supposed to be getting someone to commit this
patch, but I have been way to busy. Here is a patch that fixes your
problem.
Cheers,
Sean
Index: glyphs-x.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/glyphs-x.c,v
retrieving revision 1.69
diff -u -u -r1.69 glyphs-x.c
--- glyphs-x.c 2002/07/10 03:54:45 1.69
+++ glyphs-x.c 2002/07/30 02:23:59
@@ -588,20 +588,23 @@
#ifdef USE_XBMLANGPATH
{
Ibyte *path = egetenv ("XBMLANGPATH");
- Extbyte *pathext;
- SubstitutionRec subs[1];
- subs[0].match = 'B';
- LISP_STRING_TO_EXTERNAL (name, subs[0].substitution, Qfile_name);
- C_STRING_TO_EXTERNAL (path, pathext, Qfile_name);
- /* #### Motif uses a big hairy default if $XBMLANGPATH isn't set.
- We don't. If you want it used, set it. */
- if (pathext &&
- (pathext = XtResolvePathname (display, "bitmaps", 0, 0, pathext,
- subs, XtNumber (subs), 0)))
+ if(path)
{
- name = build_ext_string (pathext, Qfile_name);
- XtFree (pathext);
- return (name);
+ Extbyte *pathext;
+ SubstitutionRec subs[1];
+ subs[0].match = 'B';
+ LISP_STRING_TO_EXTERNAL (name, subs[0].substitution, Qfile_name);
+ C_STRING_TO_EXTERNAL (path, pathext, Qfile_name);
+ /* #### Motif uses a big hairy default if $XBMLANGPATH isn't set.
+ We don't. If you want it used, set it. */
+ if (pathext &&
+ (pathext = XtResolvePathname (display, "bitmaps", 0, 0, pathext,
+ subs, XtNumber (subs), 0)))
+ {
+ name = build_ext_string (pathext, Qfile_name);
+ XtFree (pathext);
+ return (name);
+ }
}
}
#endif