: speaking, when a XIM client is under initialization, it should call
: the following sequence of functions:
: 
:         setlocale(LC_CTYPE, "");
:         XSupportsLocale();
:         XSetLocaleModifiers("");
:         XRegisterIMInstantiateCallback(display, NULL, NULL, NULL,
:                                        im_callback, NULL);
: 
: But now in rxvt the call of "XSetLocaleModifiers" is missing. So I made
: the following patch for rxvt-2.7.7 to fix this problem. I also tested

Hello,

Sorry that I did not check my patch very carefully. In the original
rxvt-2.7.7 source not only the "XSetLocaleModifiers" is missing, but
also the "XSupportsLocale" is, too. So I made another patch to fix
both of these, as attached in the end of the mail. Please forget the
previous patch. Thanks very much.


Best Regards,

T.H.Hsieh
diff -r --unified orig/rxvt-2.7.7/src/init.c rxvt-2.7.7/src/init.c
--- orig/rxvt-2.7.7/src/init.c  Tue Aug  7 13:45:45 2001
+++ rxvt-2.7.7/src/init.c       Tue Oct  9 22:11:11 2001
@@ -562,7 +562,15 @@
                        XA_STRING, 8, PropModeReplace,
                        (unsigned char *)r->h->locale, STRLEN(r->h->locale));
 
+       if (XSupportsLocale() != True) {
+           rxvt_print_error("The locale is not supported by Xlib.");
+           return;
+       }
        rxvt_setTermFontSet(r, 0);
+       if (XSetLocaleModifiers("") == NULL) {
+           rxvt_print_error("Initially XSetLocaleModifiers false.");
+           return;
+       }
        /* To avoid Segmentation Fault in C locale: Solaris only? */
        if (STRCMP(r->h->locale, "C"))
            XRegisterIMInstantiateCallback(r->Xdisplay, NULL, NULL, NULL,

Reply via email to