From 32663b0f7e5911a8bced6b65dfc43622aadba198 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 19 Sep 2021 13:13:44 +0800 Subject: vim-patch:8.1.1078: when 'listchars' is set a composing char on a space is wrong Problem: When 'listchars' is set a composing char on a space is wrong. Solution: Separate handling a non-breaking space and a space. (Yasuhiro Matsumoto, closes vim/vim#4046) https://github.com/vim/vim/commit/5f8069bbf5d989936a2f4d7a76ae42434017e3a2 --- src/nvim/testdir/test_listchars.vim | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_listchars.vim b/src/nvim/testdir/test_listchars.vim index 4cb609aaf0..191e2afdf1 100644 --- a/src/nvim/testdir/test_listchars.vim +++ b/src/nvim/testdir/test_listchars.vim @@ -181,3 +181,26 @@ func Test_listchars() enew! set listchars& ff& endfunc + +func Test_listchars_composing() + enew! + let oldencoding=&encoding + set encoding=utf-8 + set ff=unix + set list + + set listchars=eol:$,space:_ + call append(0, [ + \ " \u3099 \u309A" + \ ]) + let expected = [ + \ "_ \u3099^I \u309A$" + \ ] + redraw! + call cursor(1, 1) + let got = ScreenLinesUtf8(1, virtcol('$')) + bw! + call assert_equal(expected, got) + let &encoding=oldencoding + set listchars& ff& +endfunction -- cgit