empty charset registry?

Aidan Kehoe kehoea
Wed Nov 8 05:52:26 EST 2006


 Ar an t-ocht? l? de m? na Samhain, scr?obh stephen at xemacs.org: 

 > [...]

Related to this, I find that 

  (set-charset-registries 'ascii?["*-*"])

crashes XEmacs with my change. 

To solve the first problem, I?m inclined to apply this:

Index: mule-charset.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/mule-charset.c,v
retrieving revision 1.50
diff -u -r1.50 mule-charset.c
--- mule-charset.c      2006/11/07 14:04:56     1.50
+++ mule-charset.c      2006/11/08 10:08:53
@@ -913,6 +913,15 @@
          invalid_argument("Not an X11 REGISTRY-ENCODING combination", 
                           XVECTOR_DATA(registries)[i]);
        }
+
+      if (qxestrchr(XSTRING_DATA(XVECTOR_DATA(registries)[i]), '*') ||
+         qxestrchr(XSTRING_DATA(XVECTOR_DATA(registries)[i]), '?'))
+       {
+         invalid_argument
+           ("XLFD wildcards not allowed in charset-registries", 
+            XVECTOR_DATA(registries)[i]);
+
+       }
     }
 
   XCHARSET_REGISTRIES (charset) = registries;

Alternatively, I could add XLFD wildcard handling to
x_font_spec_matches_charset. But it seems to me that the only use for this
is evil hacks like Ilya?s, so it?s more complicated and less maintainable
code for little gain. 

The equivalent code on 21.4.19, 

  (set-charset-registry 'ascii "a very long pattern that won't match at all")

doesn?t crash. That?s because of a special-case for ASCII, and the fact that
the XLFD is not edited to include the charset registry. I would like to
special-case ASCII too; is it reasonable to require that every X11 server we
run on have one font with its XLFD ending in iso8859-1 ? 

-- 
Santa Maradona, priez pour moi!



More information about the XEmacs-Beta mailing list