Mercurial > vim
changeset 12212:3ed8bcc9a013 v8.0.0986
patch 8.0.0986: terminal feature always requires multi-byte feature
commit https://github.com/vim/vim/commit/ec0e07a32484ab70f1c7668294c3d8d67f8aca82
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 22 22:21:37 2017 +0200
patch 8.0.0986: terminal feature always requires multi-byte feature
Problem: Terminal feature always requires multi-byte feature.
Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 22 Aug 2017 22:30:05 +0200 |
parents | 7a4fb06f700b |
children | dca6adb81733 |
files | src/feature.h src/terminal.c src/version.c |
diffstat | 3 files changed, 7 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/feature.h +++ b/src/feature.h @@ -1269,8 +1269,10 @@ /* * +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)
--- a/src/terminal.c +++ b/src/terminal.c @@ -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 +#endif else -#endif 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;