To: [email protected]
Subject: patch 5.4p.2
Fcc: outbox
From: Bram Moolenaar <[email protected]>
------------

A small fix for Athena with XIM, made by Sung-Hyun Nam.

Patch 5.4p.2
Problem:    Motif and Athena with XIM: Typing 3-byte
           <multibyte><multibyte><space> doesn't work correctly with Ami XIM.
Solution:   Avoid using key_sym XK_VoidSymbol. (Nam)
Files:      src/multbyte.c, src/gui_x11.c


*** ../vim-5.4p/src/multbyte.c  Mon Jul 19 11:09:10 1999
--- src/multbyte.c      Mon Jul 19 20:07:14 1999
***************
*** 774,790 ****

 #if defined(USE_GUI_GTK) || defined(PROTO)

-
- GdkIMStyle supported_style = GDK_IM_PREEDIT_NONE |
-                            GDK_IM_PREEDIT_NOTHING |
-                            GDK_IM_PREEDIT_POSITION |
-                            GDK_IM_STATUS_AREA |
-                            GDK_IM_STATUS_NONE |
-                            GDK_IM_STATUS_NOTHING;
-
 void
 xim_decide_input_style()
 {
     if (!gdk_im_ready()) {
       xim_input_style = 0;
     } else {
--- 774,789 ----

 #if defined(USE_GUI_GTK) || defined(PROTO)

 void
 xim_decide_input_style()
 {
+     GdkIMStyle supported_style = GDK_IM_PREEDIT_NONE |
+                                GDK_IM_PREEDIT_NOTHING |
+                                GDK_IM_PREEDIT_POSITION |
+                                GDK_IM_STATUS_AREA |
+                                GDK_IM_STATUS_NONE |
+                                GDK_IM_STATUS_NOTHING;
+
     if (!gdk_im_ready()) {
       xim_input_style = 0;
     } else {
*** ../vim-5.4p/src/gui_x11.c   Mon Jul 19 11:09:07 1999
--- src/gui_x11.c       Mon Jul 19 20:11:27 1999
***************
*** 561,567 ****
           len = XmbLookupString(xic, ev_press, (char *)string, len,
                   &key_sym, &status);
       }
!       if (status == XLookupNone || status ==XLookupChars)
           key_sym = XK_VoidSymbol;
     }
     else
--- 561,567 ----
           len = XmbLookupString(xic, ev_press, (char *)string, len,
                   &key_sym, &status);
       }
!       if (status == XLookupNone || status == XLookupChars)
           key_sym = XK_VoidSymbol;
     }
     else
***************
*** 674,680 ****
           modifiers |= MOD_MASK_ALT;

 #if defined(USE_XIM) && defined(MULTI_BYTE)
!       if (!is_dbcs || key_sym)
 #endif
       {
           /*
--- 674,680 ----
           modifiers |= MOD_MASK_ALT;

 #if defined(USE_XIM) && defined(MULTI_BYTE)
!       if (!is_dbcs || key_sym != XK_VoidSymbol)
 #endif
       {
           /*


--
hundred-and-one symptoms of being an internet addict:
166. You have been on your computer soo long that you didn't realize
    you had grandchildren.

--/-/---- Bram Moolenaar ---- [email protected] ---- [email protected] ---\-\--
 \ \    www.vim.org/iccf      www.moolenaar.net       www.vim.org    / /