To: vim-dev@vim.org Subject: Patch 6.1.091 Fcc: outbox From: Bram Moolenaar MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.1.091 Problem: GTK: Can't change preeditstate without setting 'imactivatekey'. Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro Matsumoto) Files: src/mbyte.c *** ../vim61.090/src/mbyte.c Sat May 4 22:25:13 2002 --- src/mbyte.c Sun Jun 9 17:42:18 2002 *************** *** 2685,2690 **** --- 2685,2703 ---- static int status_area_enabled = TRUE; #endif + #ifdef FEAT_GUI_GTK + # include + #else + # ifdef PROTO + /* Define a few things to be able to generate prototypes while not configured + * for GTK. */ + # define GSList int + # define gboolean int + typedef int GdkEvent; + # define GdkIC int + # endif + #endif + #if defined(FEAT_GUI_GTK) || defined(PROTO) static int preedit_buf_len = 0; static int xim_preediting INIT(= FALSE); /* XIM in showmode() */ *************** *** 2889,2894 **** --- 2902,2931 ---- } } } + else + { + XIMPreeditState preedit_state = XIMPreeditUnKnown; + XVaNestedList preedit_attr; + XIC pxic; + + preedit_attr = XVaCreateNestedList(0, + XNPreeditState, &preedit_state, + NULL); + pxic = ((GdkICPrivate *)xic)->xic; + + if (!XGetICValues(pxic, XNPreeditAttributes, preedit_attr, NULL)) + { + XFree(preedit_attr); + preedit_attr = XVaCreateNestedList(0, + XNPreeditState, + active ? XIMPreeditEnable : XIMPreeditDisable, + NULL); + XSetICValues(pxic, XNPreeditAttributes, preedit_attr, NULL); + xim_preediting = active; + xim_is_active = TRUE; + } + XFree(preedit_attr); + } if (xim_input_style & XIMPreeditCallbacks) { preedit_buf_len = 0; *************** *** 3593,3609 **** xim_input_style = (int)gdk_im_decide_style((GdkIMStyle)supported_style); } } - - #ifdef FEAT_GUI_GTK - # include - #else - /* Define a few things to be able to generate prototypes while not configured - * for GTK. */ - # define GSList int - # define gboolean int - typedef int GdkEvent; - # define GdkIC int - #endif /*ARGSUSED*/ static void --- 3630,3635 ---- *** ../vim61.090/src/version.c Sun Jun 9 14:47:19 2002 --- src/version.c Sun Jun 9 17:45:30 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 91, /**/ -- hundred-and-one symptoms of being an internet addict: 143. You dream in pallettes of 216 websafe colors. /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ /// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\ \\\ Project leader for A-A-P -- http://www.a-a-p.org /// \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///