diff src/feature.h @ 15450:bb421f682528 v8.1.0733

patch 8.1.0733: too many #ifdefs for the multi-byte feature commit https://github.com/vim/vim/commit/2be7cb73f66cf69659195d9a8ad4beaa359f2865 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 12 16:10:51 2019 +0100 patch 8.1.0733: too many #ifdefs for the multi-byte feature Problem: Too many #ifdefs for the multi-byte feature. Solution: Tentatively always enable the multi-byte feature. If you have a problem with this, please discuss on the Vim maillist.
author Bram Moolenaar <Bram@vim.org>
date Sat, 12 Jan 2019 16:15:04 +0100
parents b55b89692fd2
children 41fbbcea0f1b
line wrap: on
line diff
--- a/src/feature.h
+++ b/src/feature.h
@@ -282,7 +282,7 @@
 
 /*
  * +arabic		Arabic keymap and shaping support.
- *			Requires FEAT_RIGHTLEFT and FEAT_MBYTE.
+ *			Requires FEAT_RIGHTLEFT
  *
  * Disabled for EBCDIC as it requires multibyte.
  */
@@ -597,16 +597,15 @@
 #endif
 
 /*
- * +multi_byte		Generic multi-byte character handling.  Doesn't work
- *			with 16 bit ints.  Required for GTK+ 2.
- *
- * Disabled for EBCDIC:
- * Multibyte support doesn't work on z/OS Unix currently.
+ * +multi_byte		Generic multi-byte character handling.
+ *			Now always enabled.
  */
-#if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
-	&& !defined(FEAT_MBYTE) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
+#if !defined(FEAT_MBYTE)
 # define FEAT_MBYTE
 #endif
+#if VIM_SIZEOF_INT < 4 && !defined(PROTO)
+	Error: Vim only works with 32 bit int or larger
+#endif
 
 /* Define this if you want to use 16 bit Unicode only, reduces memory used for
  * the screen structures. */
@@ -621,18 +620,8 @@
 /* #define FEAT_MBYTE_IME */
 # endif
 
-/* Input methods are only useful with +multi_byte. */
-#if (defined(FEAT_MBYTE_IME) || defined(FEAT_XIM)) && !defined(FEAT_MBYTE)
-# define FEAT_MBYTE
-#endif
-
-#if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO)
-	Error: Can only handle multi-byte feature with 32 bit int or larger
-#endif
-
 /* Use iconv() when it's available. */
-#if defined(FEAT_MBYTE) && ((defined(HAVE_ICONV_H) && defined(HAVE_ICONV)) \
-		|| defined(DYNAMIC_ICONV))
+#if (defined(HAVE_ICONV_H) && defined(HAVE_ICONV)) || defined(DYNAMIC_ICONV)
 # define USE_ICONV
 #endif
 
@@ -669,7 +658,7 @@
  * +xfontset		X fontset support.  For outputting wide characters.
  */
 #ifndef FEAT_XFONTSET
-# if defined(FEAT_MBYTE) && defined(HAVE_X11) && !defined(FEAT_GUI_GTK)
+# if defined(HAVE_X11) && !defined(FEAT_GUI_GTK)
 #  define FEAT_XFONTSET
 # else
 /* #  define FEAT_XFONTSET */
@@ -1277,10 +1266,9 @@
 
 /*
  * +terminal		":terminal" command.  Runs a terminal in a window.
- *			requires +channel and +multibyte
+ *			requires +channel
  */
-#if defined(FEAT_TERMINAL) && \
-	!(defined(FEAT_JOB_CHANNEL) && defined(FEAT_MBYTE))
+#if defined(FEAT_TERMINAL) && !defined(FEAT_JOB_CHANNEL)
 # undef FEAT_TERMINAL
 #endif
 #if defined(FEAT_TERMINAL) && !defined(CURSOR_SHAPE)