File bnc558764_avoid-xft-if-absent.patch of Package xemacs

diff -r 1257b938f03a lisp/ChangeLog
--- lisp/ChangeLog	Fri Dec 04 10:59:45 2009 +0900
+++ lisp/ChangeLog	Sat Dec 05 01:08:29 2009 +0900
@@ -1,3 +1,8 @@
+2009-12-05  Stephen J. Turnbull  <stephen@xemacs.org>
+
+	* font.el (x-font-create-object): Check for Xft before using it.
+	This fixes the symptom in openSUSE bug #558764.
+
 2009-11-10  Jerry James  <james@xemacs.org>
 
 	* device.el (device-type): Remove (mostly imaginary) support for
diff -r 1257b938f03a lisp/font.el
--- lisp/font.el	Fri Dec 04 10:59:45 2009 +0900
+++ lisp/font.el	Sat Dec 05 01:08:29 2009 +0900
@@ -569,6 +569,7 @@
     (if (or (not (stringp fontname))
 	    (not (string-match font-x-font-regexp fontname)))
 	(if (and (stringp fontname)
+		 (featurep 'xft-fonts)
 		 (string-match font-xft-font-regexp fontname))
 	    ;; Return an XFT font. 
 	    (xft-font-create-object fontname)
diff -r 1257b938f03a src/ChangeLog
--- src/ChangeLog	Fri Dec 04 10:59:45 2009 +0900
+++ src/ChangeLog	Sat Dec 05 01:08:29 2009 +0900
@@ -1,3 +1,8 @@
+2009-12-05  Stephen J. Turnbull  <stephen@xemacs.org>
+
+	* faces.c (complex_vars_of_faces): Explain why "*" isn't rewritten
+	as a full XLFD.
+
 2009-11-19  Vin Shelton  <acs@xemacs.org>
 
 	* sysdep.c (sys_subshell): Restore sys_subshell(); it's necessary
diff -r 1257b938f03a src/faces.c
--- src/faces.c	Fri Dec 04 10:59:45 2009 +0900
+++ src/faces.c	Sat Dec 05 01:08:29 2009 +0900
@@ -2342,6 +2342,8 @@
       Fcons
       (Fcons
        (list1 (device_symbol),
+	/* grrr.  This really does need to be "*", not an XLFD.
+	   An unspecified XLFD won't pick up stuff like 10x20. */
 	build_string ("*")),
        inst_list);
 #ifdef MULE
openSUSE Build Service is sponsored by