]> granicus.if.org Git - vim/commitdiff
patch 8.0.0986: terminal feature always requires multi-byte feature v8.0.0986
authorBram Moolenaar <Bram@vim.org>
Tue, 22 Aug 2017 20:21:37 +0000 (22:21 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 22 Aug 2017 20:21:37 +0000 (22:21 +0200)
Problem:    Terminal feature always requires multi-byte feature.
Solution:   Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte.

src/feature.h
src/terminal.c
src/version.c

index ae3859b8153ae147ea70a179ae87520df47966a6..b7f366426633edb37682fb81e7355be54c2e9521 100644 (file)
 
 /*
  * +terminal           ":terminal" command.  Runs a terminal in a window.
+ *                     requires +channel and +multibyte
  */
-#if !defined(FEAT_JOB_CHANNEL) && defined(FEAT_TERMINAL)
+#if defined(FEAT_TERMINAL) && \
+       !(defined(FEAT_JOB_CHANNEL) && defined(FEAT_MBYTE))
 # undef FEAT_TERMINAL
 #endif
 #if defined(FEAT_TERMINAL) && !defined(CURSOR_SHAPE)
index 551fbe70e8044777bf37f5829f22123f5194c223..3ee50e490f7d3c0b55d186742e500dbe7cc40b6f 100644 (file)
@@ -63,7 +63,6 @@
  *   mouse in the Terminal window for copy/paste.
  * - when 'encoding' is not utf-8, or the job is using another encoding, setup
  *   conversions.
- * - update ":help function-list" for terminal functions.
  * - In the GUI use a terminal emulator for :!cmd.
  * - Copy text in the vterm to the Vim buffer once in a while, so that
  *   completion works.
@@ -2103,14 +2102,11 @@ term_update_window(win_T *wp)
                if (c == NUL)
                {
                    ScreenLines[off] = ' ';
-#if defined(FEAT_MBYTE)
                    if (enc_utf8)
                        ScreenLinesUC[off] = NUL;
-#endif
                }
                else
                {
-#if defined(FEAT_MBYTE)
                    if (enc_utf8)
                    {
                        if (c >= 0x80)
@@ -2124,7 +2120,7 @@ term_update_window(win_T *wp)
                            ScreenLinesUC[off] = NUL;
                        }
                    }
-# ifdef WIN3264
+#ifdef WIN3264
                    else if (has_mbyte && c >= 0x80)
                    {
                        char_u  mb[MB_MAXBYTES+1];
@@ -2140,9 +2136,8 @@ term_update_window(win_T *wp)
                        else
                            ScreenLines[off] = c;
                    }
-# endif
-                   else
 #endif
+                   else
                        ScreenLines[off] = c;
                }
                ScreenAttrs[off] = cell2attr(cell.attrs, cell.fg, cell.bg);
@@ -2151,11 +2146,9 @@ term_update_window(win_T *wp)
                ++off;
                if (cell.width == 2)
                {
-#if defined(FEAT_MBYTE)
                    if (enc_utf8)
                        ScreenLinesUC[off] = NUL;
                    else if (!has_mbyte)
-#endif
                        ScreenLines[off] = NUL;
                    ++pos.col;
                    ++off;
index ef0209e573d0949be2ffff7767cd8d6253644544..6baf62be44d02c5f6a79877fbb3cadb543453709 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    986,
 /**/
     985,
 /**/