Permalink
Browse files

patch 8.0.1567: cannot build Win32 GUI without IME

Problem:    Cannot build Win32 GUI without IME. (John Marriott)
Solution:   Adjust when IME_WITHOUT_XIM and HAVE_INPUT_METHOD are defined and
            use it in a few more places.
  • Loading branch information...
brammool committed Mar 4, 2018
1 parent 8a3bb56 commit 6e35a11490f1f9061677671220ce4cb73176b44a
Showing with 9 additions and 9 deletions.
  1. +2 −2 src/gui.c
  2. +2 −0 src/version.c
  3. +5 −7 src/vim.h
@@ -1077,7 +1077,7 @@ gui_update_cursor(
gui_undraw_cursor();
if (gui.row < 0)
return;
#ifdef FEAT_MBYTE
#ifdef HAVE_INPUT_METHOD
if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
im_set_position(gui.row, gui.col);
#endif
@@ -1135,7 +1135,7 @@ gui_update_cursor(
if (id > 0)
{
cattr = syn_id2colors(id, &cfg, &cbg);
#if defined(FEAT_MBYTE) || defined(FEAT_HANGULIN)
#if defined(HAVE_INPUT_METHOD) || defined(FEAT_HANGULIN)
{
static int iid;
guicolor_T fg, bg;
@@ -766,6 +766,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1567,
/**/
1566,
/**/
@@ -2118,18 +2118,16 @@ typedef enum {
# define USE_MCH_ERRMSG
#endif
# if (defined(FEAT_MBYTE_IME) \
&& (!defined(FEAT_GUI_W32) \
|| !(defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME)))) \
|| (defined(MACOS_CONVERT) && !defined(FEAT_GUI_MAC))
/* Whether IME is supported when XIM is not used, im_get_status() is defined in
* mbyte.c. */
# if defined(FEAT_MBYTE) && defined(FEAT_EVAL) \
&& ((!defined(FEAT_GUI_W32) \
|| !(defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))) \
|| (defined(MACOS_CONVERT) && !defined(FEAT_GUI_MAC)))
/* Whether IME is supported by im_get_status() defined in mbyte.c. */
# define IME_WITHOUT_XIM
#endif
#if defined(FEAT_MBYTE) && (defined(FEAT_XIM) \
|| defined(IME_WITHOUT_XIM) \
|| defined(FEAT_GUI_W32) \
|| defined(FEAT_GUI_MAC))
/* im_set_active() is available */
# define HAVE_INPUT_METHOD

4 comments on commit 6e35a11

@mattn

This comment has been minimized.

mattn replied Mar 6, 2018

Hmm, I prefer that default build have IME. How about to be DISABLE_IME ? Now Windows installer break IME.

@mattn

This comment has been minimized.

mattn replied Mar 6, 2018

And also, if the user doesn't want that IME become enabled, imdisable should be useful.

@k-takata

This comment has been minimized.

Member

k-takata replied Mar 6, 2018

I propose the following patch:

--- a/src/vim.h
+++ b/src/vim.h
@@ -2136,6 +2136,8 @@ typedef enum {
 
 #if defined(FEAT_MBYTE) && (defined(FEAT_XIM) \
 	|| defined(IME_WITHOUT_XIM) \
+	|| (defined(FEAT_GUI_W32) \
+	    && (defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))) \
 	|| defined(FEAT_GUI_MAC))
 /* im_set_active() is available */
 # define HAVE_INPUT_METHOD
@brammool

This comment has been minimized.

Contributor

brammool replied Mar 6, 2018

Please sign in to comment.