comparison 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
comparison
equal deleted inserted replaced
15449:869f88d11e31 15450:bb421f682528
280 # endif 280 # endif
281 #endif 281 #endif
282 282
283 /* 283 /*
284 * +arabic Arabic keymap and shaping support. 284 * +arabic Arabic keymap and shaping support.
285 * Requires FEAT_RIGHTLEFT and FEAT_MBYTE. 285 * Requires FEAT_RIGHTLEFT
286 * 286 *
287 * Disabled for EBCDIC as it requires multibyte. 287 * Disabled for EBCDIC as it requires multibyte.
288 */ 288 */
289 #if defined(FEAT_BIG) && !defined(DISABLE_ARABIC) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC) 289 #if defined(FEAT_BIG) && !defined(DISABLE_ARABIC) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
290 # define FEAT_ARABIC 290 # define FEAT_ARABIC
595 && (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) 595 && (defined(HAVE_LOCALE_H) || defined(X_LOCALE))
596 # define FEAT_GETTEXT 596 # define FEAT_GETTEXT
597 #endif 597 #endif
598 598
599 /* 599 /*
600 * +multi_byte Generic multi-byte character handling. Doesn't work 600 * +multi_byte Generic multi-byte character handling.
601 * with 16 bit ints. Required for GTK+ 2. 601 * Now always enabled.
602 * 602 */
603 * Disabled for EBCDIC: 603 #if !defined(FEAT_MBYTE)
604 * Multibyte support doesn't work on z/OS Unix currently.
605 */
606 #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
607 && !defined(FEAT_MBYTE) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
608 # define FEAT_MBYTE 604 # define FEAT_MBYTE
605 #endif
606 #if VIM_SIZEOF_INT < 4 && !defined(PROTO)
607 Error: Vim only works with 32 bit int or larger
609 #endif 608 #endif
610 609
611 /* Define this if you want to use 16 bit Unicode only, reduces memory used for 610 /* Define this if you want to use 16 bit Unicode only, reduces memory used for
612 * the screen structures. */ 611 * the screen structures. */
613 /* #define UNICODE16 */ 612 /* #define UNICODE16 */
619 */ 618 */
620 #if defined(FEAT_GUI_W32) && !defined(FEAT_MBYTE_IME) 619 #if defined(FEAT_GUI_W32) && !defined(FEAT_MBYTE_IME)
621 /* #define FEAT_MBYTE_IME */ 620 /* #define FEAT_MBYTE_IME */
622 # endif 621 # endif
623 622
624 /* Input methods are only useful with +multi_byte. */
625 #if (defined(FEAT_MBYTE_IME) || defined(FEAT_XIM)) && !defined(FEAT_MBYTE)
626 # define FEAT_MBYTE
627 #endif
628
629 #if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO)
630 Error: Can only handle multi-byte feature with 32 bit int or larger
631 #endif
632
633 /* Use iconv() when it's available. */ 623 /* Use iconv() when it's available. */
634 #if defined(FEAT_MBYTE) && ((defined(HAVE_ICONV_H) && defined(HAVE_ICONV)) \ 624 #if (defined(HAVE_ICONV_H) && defined(HAVE_ICONV)) || defined(DYNAMIC_ICONV)
635 || defined(DYNAMIC_ICONV))
636 # define USE_ICONV 625 # define USE_ICONV
637 #endif 626 #endif
638 627
639 /* 628 /*
640 * +xim X Input Method. For entering special languages like 629 * +xim X Input Method. For entering special languages like
667 656
668 /* 657 /*
669 * +xfontset X fontset support. For outputting wide characters. 658 * +xfontset X fontset support. For outputting wide characters.
670 */ 659 */
671 #ifndef FEAT_XFONTSET 660 #ifndef FEAT_XFONTSET
672 # if defined(FEAT_MBYTE) && defined(HAVE_X11) && !defined(FEAT_GUI_GTK) 661 # if defined(HAVE_X11) && !defined(FEAT_GUI_GTK)
673 # define FEAT_XFONTSET 662 # define FEAT_XFONTSET
674 # else 663 # else
675 /* # define FEAT_XFONTSET */ 664 /* # define FEAT_XFONTSET */
676 # endif 665 # endif
677 #endif 666 #endif
1275 # undef FEAT_JOB_CHANNEL 1264 # undef FEAT_JOB_CHANNEL
1276 #endif 1265 #endif
1277 1266
1278 /* 1267 /*
1279 * +terminal ":terminal" command. Runs a terminal in a window. 1268 * +terminal ":terminal" command. Runs a terminal in a window.
1280 * requires +channel and +multibyte 1269 * requires +channel
1281 */ 1270 */
1282 #if defined(FEAT_TERMINAL) && \ 1271 #if defined(FEAT_TERMINAL) && !defined(FEAT_JOB_CHANNEL)
1283 !(defined(FEAT_JOB_CHANNEL) && defined(FEAT_MBYTE))
1284 # undef FEAT_TERMINAL 1272 # undef FEAT_TERMINAL
1285 #endif 1273 #endif
1286 #if defined(FEAT_TERMINAL) && !defined(CURSOR_SHAPE) 1274 #if defined(FEAT_TERMINAL) && !defined(CURSOR_SHAPE)
1287 # define CURSOR_SHAPE 1275 # define CURSOR_SHAPE
1288 #endif 1276 #endif