mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 9.0.0662: concealed characters do not work correctly
Problem: Concealed characters do not work correctly. Solution: Subtract boguscols instead of adding them. (closes #11273)
This commit is contained in:
parent
18b3500b8c
commit
7500866182
@ -3689,9 +3689,9 @@ win_line(
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
#ifdef FEAT_CONCEAL
|
#ifdef FEAT_CONCEAL
|
||||||
wlv.col += wlv.boguscols;
|
|
||||||
wlv_screen_line(wp, &wlv, FALSE);
|
|
||||||
wlv.col -= wlv.boguscols;
|
wlv.col -= wlv.boguscols;
|
||||||
|
wlv_screen_line(wp, &wlv, FALSE);
|
||||||
|
wlv.col += wlv.boguscols;
|
||||||
wlv.boguscols = 0;
|
wlv.boguscols = 0;
|
||||||
#else
|
#else
|
||||||
wlv_screen_line(wp, &wlv, FALSE);
|
wlv_screen_line(wp, &wlv, FALSE);
|
||||||
|
8
src/testdir/dumps/Test_conceal_linebreak_1.dump
Normal file
8
src/testdir/dumps/Test_conceal_linebreak_1.dump
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
>x+0&#ffffff0@74
|
||||||
|
| @74
|
||||||
|
|a@63| @10
|
||||||
|
|++0#4040ff13&| |b+0#0000000&@66| @5
|
||||||
|
|++0#4040ff13&| |c+0#0000000&@5| @66
|
||||||
|
|~+0#4040ff13&| @73
|
||||||
|
|~| @73
|
||||||
|
| +0#0000000&@56|1|,|1| @10|A|l@1|
|
@ -159,6 +159,32 @@ func Test_conceal_resize_term()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_conceal_linebreak()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let code =<< trim [CODE]
|
||||||
|
vim9script
|
||||||
|
&wrap = true
|
||||||
|
&conceallevel = 2
|
||||||
|
&concealcursor = 'nc'
|
||||||
|
&linebreak = true
|
||||||
|
&showbreak = '+ '
|
||||||
|
var line: string = 'a`a`a`a`'
|
||||||
|
.. 'a'->repeat(&columns - 15)
|
||||||
|
.. ' b`b`'
|
||||||
|
.. 'b'->repeat(&columns - 10)
|
||||||
|
.. ' cccccc'
|
||||||
|
['x'->repeat(&columns), '', line]->setline(1)
|
||||||
|
syntax region CodeSpan matchgroup=Delimiter start=/\z(`\+\)/ end=/\z1/ concealends
|
||||||
|
[CODE]
|
||||||
|
call writefile(code, 'XTest_conceal_linebreak', 'D')
|
||||||
|
let buf = RunVimInTerminal('-S XTest_conceal_linebreak', {'rows': 8})
|
||||||
|
call VerifyScreenDump(buf, 'Test_conceal_linebreak_1', {})
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
endfunc
|
||||||
|
|
||||||
" Tests for correct display (cursor column position) with +conceal and
|
" Tests for correct display (cursor column position) with +conceal and
|
||||||
" tabulators. Need to run this test in a separate Vim instance. Otherwise the
|
" tabulators. Need to run this test in a separate Vim instance. Otherwise the
|
||||||
" screen is not updated (lazy redraw) and the cursor position is wrong.
|
" screen is not updated (lazy redraw) and the cursor position is wrong.
|
||||||
|
@ -699,6 +699,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
662,
|
||||||
/**/
|
/**/
|
||||||
661,
|
661,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user