Mercurial > vim
comparison src/screen.c @ 8819:a1132255e3e1 v7.4.1697
commit https://github.com/vim/vim/commit/cb0700844c1274fe8bc0ceaffaee0ad21c406f30
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 2 22:14:51 2016 +0200
patch 7.4.1697
Problem: Display problems when the 'ambiwidth' and 'emoji' options are not
set properly or the terminal doesn't behave as expected.
Solution: After drawing an ambiguous width character always position the
cursor.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 02 Apr 2016 22:15:05 +0200 |
parents | b7eb7bbd71d0 |
children | 470ea7526cc6 |
comparison
equal
deleted
inserted
replaced
8818:f32102355dba | 8819:a1132255e3e1 |
---|---|
8050 /* Convert UTF-8 character to bytes and write it. */ | 8050 /* Convert UTF-8 character to bytes and write it. */ |
8051 | 8051 |
8052 buf[utfc_char2bytes(off, buf)] = NUL; | 8052 buf[utfc_char2bytes(off, buf)] = NUL; |
8053 | 8053 |
8054 out_str(buf); | 8054 out_str(buf); |
8055 if (utf_char2cells(ScreenLinesUC[off]) > 1) | 8055 if (utf_ambiguous_width(ScreenLinesUC[off])) |
8056 screen_cur_col = 9999; | |
8057 else if (utf_char2cells(ScreenLinesUC[off]) > 1) | |
8056 ++screen_cur_col; | 8058 ++screen_cur_col; |
8057 } | 8059 } |
8058 else | 8060 else |
8059 #endif | 8061 #endif |
8060 { | 8062 { |