0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

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.
This commit is contained in:
Bram Moolenaar 2019-01-12 16:10:51 +01:00
parent ea56e167c8
commit 2be7cb73f6
8 changed files with 27 additions and 96 deletions

View File

@ -61,10 +61,6 @@
# of Ruby will cause a compile error on these systems. # of Ruby will cause a compile error on these systems.
# RUBY_VER_LONG same, but in format with dot. (1.6) # RUBY_VER_LONG same, but in format with dot. (1.6)
# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no) # DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
# MBYTE no or yes: set to yes for multi-byte support (yes)
# NOTE: multi-byte support is broken in the Borland libraries,
# not everything will work properly! Esp. handling multi-byte
# file names.
# IME no or yes: set to yes for multi-byte IME support (yes) # IME no or yes: set to yes for multi-byte IME support (yes)
# DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes) # DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
# GETTEXT no or yes: set to yes for multi-language support (yes) # GETTEXT no or yes: set to yes for multi-language support (yes)
@ -104,11 +100,6 @@ BOR = c:\bc5
GUI = yes GUI = yes
!endif !endif
### MBYTE: yes for multibyte support, no to disable it.
!if ("$(MBYTE)"=="")
MBYTE = yes
!endif
### IME: yes for multibyte support, no to disable it. ### IME: yes for multibyte support, no to disable it.
!if ("$(IME)"=="") !if ("$(IME)"=="")
IME = yes IME = yes
@ -216,7 +207,6 @@ ALIGN = 4
("$(RUBY)"=="") && \ ("$(RUBY)"=="") && \
("$(ICONV)"!="yes") && \ ("$(ICONV)"!="yes") && \
("$(IME)"!="yes") && \ ("$(IME)"!="yes") && \
("$(MBYTE)"!="yes") && \
("$(XPM)"=="") ("$(XPM)"=="")
FASTCALL = yes FASTCALL = yes
!endif !endif
@ -397,9 +387,6 @@ DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
DEFINES = $(DEFINES) -DFEAT_OLE DEFINES = $(DEFINES) -DFEAT_OLE
!endif !endif
# #
!if ("$(MBYTE)"=="yes")
MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE
!endif
!if ("$(IME)"=="yes") !if ("$(IME)"=="yes")
MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE_IME MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE_IME
!if ("$(DYNAMIC_IME)" == "yes") !if ("$(DYNAMIC_IME)" == "yes")
@ -687,9 +674,6 @@ MSG = $(MSG) VIMDLL
!if ("$(FASTCALL)"=="yes") !if ("$(FASTCALL)"=="yes")
MSG = $(MSG) FASTCALL MSG = $(MSG) FASTCALL
!endif !endif
!if ("$(MBYTE)"=="yes")
MSG = $(MSG) MBYTE
!endif
!if ("$(IME)"=="yes") !if ("$(IME)"=="yes")
MSG = $(MSG) IME MSG = $(MSG) IME
! if "$(DYNAMIC_IME)" == "yes" ! if "$(DYNAMIC_IME)" == "yes"

View File

@ -65,9 +65,6 @@ CROSS=no
ICONV=yes ICONV=yes
GETTEXT=yes GETTEXT=yes
# Set to yes to include multibyte support.
MBYTE=yes
# Set to yes to include IME support. # Set to yes to include IME support.
IME=yes IME=yes
DYNAMIC_IME=yes DYNAMIC_IME=yes
@ -911,10 +908,6 @@ OBJ += $(OUTDIR)/if_ole.o
USE_STDCPLUS = yes USE_STDCPLUS = yes
endif endif
ifeq (yes, $(MBYTE))
DEFINES += -DFEAT_MBYTE
endif
ifeq (yes, $(IME)) ifeq (yes, $(IME))
DEFINES += -DFEAT_MBYTE_IME DEFINES += -DFEAT_MBYTE_IME
ifeq (yes, $(DYNAMIC_IME)) ifeq (yes, $(DYNAMIC_IME))

View File

@ -26,15 +26,13 @@
# GUI interface: GUI=yes (default is no) # GUI interface: GUI=yes (default is no)
# #
# GUI with DirectWrite (DirectX): DIRECTX=yes # GUI with DirectWrite (DirectX): DIRECTX=yes
# (default is yes if GUI=yes, requires GUI=yes and MBYTE=yes) # (default is yes if GUI=yes, requires GUI=yes)
# #
# Color emoji support: COLOR_EMOJI=yes # Color emoji support: COLOR_EMOJI=yes
# (default is yes if DIRECTX=yes, requires WinSDK 8.1 or later.) # (default is yes if DIRECTX=yes, requires WinSDK 8.1 or later.)
# #
# OLE interface: OLE=yes (usually with GUI=yes) # OLE interface: OLE=yes (usually with GUI=yes)
# #
# Multibyte support: MBYTE=yes (default is yes for NORMAL, BIG, HUGE)
#
# IME support: IME=yes (requires GUI=yes) # IME support: IME=yes (requires GUI=yes)
# DYNAMIC_IME=[yes or no] (to load the imm32.dll dynamically, default # DYNAMIC_IME=[yes or no] (to load the imm32.dll dynamically, default
# is yes) # is yes)
@ -786,11 +784,6 @@ IME_LIB = imm32.lib
!if "$(GIME)" == "yes" !if "$(GIME)" == "yes"
CFLAGS = $(CFLAGS) -DGLOBAL_IME CFLAGS = $(CFLAGS) -DGLOBAL_IME
OBJ = $(OBJ) $(OUTDIR)\dimm_i.obj $(OUTDIR)\glbl_ime.obj OBJ = $(OBJ) $(OUTDIR)\dimm_i.obj $(OUTDIR)\glbl_ime.obj
MBYTE = yes
!endif
!if "$(MBYTE)" == "yes"
CFLAGS = $(CFLAGS) -DFEAT_MBYTE
!endif !endif
!if "$(GUI)" == "yes" !if "$(GUI)" == "yes"

View File

@ -493,11 +493,7 @@ CClink = $(CC)
#CONF_OPT_TERMINAL = --disable-terminal #CONF_OPT_TERMINAL = --disable-terminal
# MULTIBYTE - To edit multi-byte characters. # MULTIBYTE - To edit multi-byte characters.
# Uncomment this when you want to edit a multibyte language. # This is now always enabled.
# It's automatically enabled with normal features, GTK or IME support.
# Note: Compile on a machine where setlocale() actually works, otherwise the
# configure tests may fail.
#CONF_OPT_MULTIBYTE = --enable-multibyte
# When building with at least "big" features, right-left, Arabic and Farsi # When building with at least "big" features, right-left, Arabic and Farsi
# features are enabled. Use this to disable them. # features are enabled. Use this to disable them.

24
src/auto/configure vendored
View File

@ -7959,7 +7959,7 @@ $as_echo_n "checking --enable-multibyte argument... " >&6; }
if test "${enable_multibyte+set}" = set; then : if test "${enable_multibyte+set}" = set; then :
enableval=$enable_multibyte; enableval=$enable_multibyte;
else else
enable_multibyte="no" enable_multibyte="yes"
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_multibyte" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_multibyte" >&5
@ -7967,6 +7967,9 @@ $as_echo "$enable_multibyte" >&6; }
if test "$enable_multibyte" = "yes"; then if test "$enable_multibyte" = "yes"; then
$as_echo "#define FEAT_MBYTE 1" >>confdefs.h $as_echo "#define FEAT_MBYTE 1" >>confdefs.h
else
as_fn_error $? "The multi-byte feature can no longer be disabled. If you have
a problem with this, discuss on the Vim mailing list." "$LINENO" 5
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-rightleft argument" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-rightleft argument" >&5
@ -14813,28 +14816,13 @@ $as_echo "yes, we need Carbon" >&6; }
if test "$features" = "tiny"; then if test "$features" = "tiny"; then
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'` OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'` OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
if test "$enable_multibyte" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need CoreServices" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need CoreServices" >&5
$as_echo "yes, we need CoreServices" >&6; } $as_echo "yes, we need CoreServices" >&6; }
LIBS="$LIBS -framework CoreServices" LIBS="$LIBS -framework CoreServices"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_mac_conv.c++'`
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_mac_conv.o++'`
CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's+-DMACOS_X_DARWIN++'`
fi
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need AppKit" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need AppKit" >&5
$as_echo "yes, we need AppKit" >&6; } $as_echo "yes, we need AppKit" >&6; }
LIBS="$LIBS -framework AppKit" LIBS="$LIBS -framework AppKit"
if test "$features" = "small" -a "$enable_multibyte" = "no"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: +multi_byte will be set in favor of +clipboard" >&5
$as_echo "$as_me: +multi_byte will be set in favor of +clipboard" >&6;}
enable_multibyte=yes
$as_echo "#define FEAT_MBYTE 1" >>confdefs.h
fi
fi fi
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5

View File

@ -2138,10 +2138,13 @@ fi
AC_MSG_CHECKING(--enable-multibyte argument) AC_MSG_CHECKING(--enable-multibyte argument)
AC_ARG_ENABLE(multibyte, AC_ARG_ENABLE(multibyte,
[ --enable-multibyte Include multibyte editing support.], , [ --enable-multibyte Include multibyte editing support.], ,
[enable_multibyte="no"]) [enable_multibyte="yes"])
AC_MSG_RESULT($enable_multibyte) AC_MSG_RESULT($enable_multibyte)
if test "$enable_multibyte" = "yes"; then if test "$enable_multibyte" = "yes"; then
AC_DEFINE(FEAT_MBYTE) AC_DEFINE(FEAT_MBYTE)
else
AC_MSG_ERROR([The multi-byte feature can no longer be disabled. If you have
a problem with this, discuss on the Vim mailing list.])
fi fi
dnl Right-to-Left language support for Vim will be included with big features, dnl Right-to-Left language support for Vim will be included with big features,
@ -4416,27 +4419,11 @@ if test "$MACOS_X" = "yes"; then
dnl Since no FEAT_CLIPBOARD, no longer need for os_macosx.m. dnl Since no FEAT_CLIPBOARD, no longer need for os_macosx.m.
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'` OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'` OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
if test "$enable_multibyte" = "yes"; then AC_MSG_RESULT([yes, we need CoreServices])
AC_MSG_RESULT([yes, we need CoreServices]) LIBS="$LIBS -framework CoreServices"
LIBS="$LIBS -framework CoreServices"
else
dnl Since no FEAT_MBYTE, no longer need for os_mac_conv.c.
AC_MSG_RESULT([no])
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_mac_conv.c++'`
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_mac_conv.o++'`
CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's+-DMACOS_X_DARWIN++'`
fi
else else
AC_MSG_RESULT([yes, we need AppKit]) AC_MSG_RESULT([yes, we need AppKit])
LIBS="$LIBS -framework AppKit" LIBS="$LIBS -framework AppKit"
if test "$features" = "small" -a "$enable_multibyte" = "no"; then
dnl Since FEAT_CLIPBOARD is to be defined in vim.h for FEAT_SMALL, define
dnl FEAT_MBYTE in order not to compromise the interoperability of the
dnl clipboard.
AC_MSG_NOTICE([+multi_byte will be set in favor of +clipboard])
enable_multibyte=yes
AC_DEFINE(FEAT_MBYTE)
fi
fi fi
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])

View File

@ -282,7 +282,7 @@
/* /*
* +arabic Arabic keymap and shaping support. * +arabic Arabic keymap and shaping support.
* Requires FEAT_RIGHTLEFT and FEAT_MBYTE. * Requires FEAT_RIGHTLEFT
* *
* Disabled for EBCDIC as it requires multibyte. * Disabled for EBCDIC as it requires multibyte.
*/ */
@ -597,16 +597,15 @@
#endif #endif
/* /*
* +multi_byte Generic multi-byte character handling. Doesn't work * +multi_byte Generic multi-byte character handling.
* with 16 bit ints. Required for GTK+ 2. * Now always enabled.
*
* Disabled for EBCDIC:
* Multibyte support doesn't work on z/OS Unix currently.
*/ */
#if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \ #if !defined(FEAT_MBYTE)
&& !defined(FEAT_MBYTE) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
# define FEAT_MBYTE # define FEAT_MBYTE
#endif #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 /* Define this if you want to use 16 bit Unicode only, reduces memory used for
* the screen structures. */ * the screen structures. */
@ -621,18 +620,8 @@
/* #define FEAT_MBYTE_IME */ /* #define FEAT_MBYTE_IME */
# endif # 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. */ /* Use iconv() when it's available. */
#if defined(FEAT_MBYTE) && ((defined(HAVE_ICONV_H) && defined(HAVE_ICONV)) \ #if (defined(HAVE_ICONV_H) && defined(HAVE_ICONV)) || defined(DYNAMIC_ICONV)
|| defined(DYNAMIC_ICONV))
# define USE_ICONV # define USE_ICONV
#endif #endif
@ -669,7 +658,7 @@
* +xfontset X fontset support. For outputting wide characters. * +xfontset X fontset support. For outputting wide characters.
*/ */
#ifndef FEAT_XFONTSET #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 # define FEAT_XFONTSET
# else # else
/* # define FEAT_XFONTSET */ /* # define FEAT_XFONTSET */
@ -1277,10 +1266,9 @@
/* /*
* +terminal ":terminal" command. Runs a terminal in a window. * +terminal ":terminal" command. Runs a terminal in a window.
* requires +channel and +multibyte * requires +channel
*/ */
#if defined(FEAT_TERMINAL) && \ #if defined(FEAT_TERMINAL) && !defined(FEAT_JOB_CHANNEL)
!(defined(FEAT_JOB_CHANNEL) && defined(FEAT_MBYTE))
# undef FEAT_TERMINAL # undef FEAT_TERMINAL
#endif #endif
#if defined(FEAT_TERMINAL) && !defined(CURSOR_SHAPE) #if defined(FEAT_TERMINAL) && !defined(CURSOR_SHAPE)

View File

@ -795,6 +795,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
733,
/**/ /**/
732, 732,
/**/ /**/