Skip to content

Commit

Permalink
patch 8.0.1567: cannot build Win32 GUI without IME
Browse files Browse the repository at this point in the history
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 6e35a11
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/gui.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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;
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -766,6 +766,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1567,
/**/
1566,
/**/
Expand Down
12 changes: 5 additions & 7 deletions src/vim.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

4 comments on commit 6e35a11

@mattn
Copy link
Member

@mattn mattn commented on 6e35a11 Mar 6, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@mattn
Copy link
Member

@mattn mattn commented on 6e35a11 Mar 6, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@k-takata
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Contributor Author

@brammool brammool commented on 6e35a11 Mar 6, 2018 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.