mirror of
https://github.com/vim/vim.git
synced 2025-10-14 07:04:10 -04:00
patch 9.0.1226: spurious empty line when using text properties
Problem: Spurious empty line when using text propertie and virtual text. Solution: Do not set "text_prop_follows" when the other text property is not virtual text. (closes #11846)
This commit is contained in:
@@ -2016,7 +2016,8 @@ win_line(
|
|||||||
text_prop_type = pt;
|
text_prop_type = pt;
|
||||||
text_prop_attr =
|
text_prop_attr =
|
||||||
hl_combine_attr(text_prop_attr, used_attr);
|
hl_combine_attr(text_prop_attr, used_attr);
|
||||||
other_tpi = used_tpi;
|
if (used_tpi >= 0 && text_props[used_tpi].tp_id < 0)
|
||||||
|
other_tpi = used_tpi;
|
||||||
text_prop_flags = pt->pt_flags;
|
text_prop_flags = pt->pt_flags;
|
||||||
text_prop_id = tp->tp_id;
|
text_prop_id = tp->tp_id;
|
||||||
used_tpi = tpi;
|
used_tpi = tpi;
|
||||||
|
8
src/testdir/dumps/Test_textprop_nesting.dump
Normal file
8
src/testdir/dumps/Test_textprop_nesting.dump
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
> +0&#ffffff0@74
|
||||||
|
|c|o|n|s|t| |f|u|n|c|:| |f|u|n|c|.|I|F|u|n|c|t|i|o|n| |=| |(|{+0#ffffff16#e000002|t|e|x|t| |l|o|n|g| |e|n|o|u|g|h| |t|o| |w|r|a|p| |l|i|n|e|,| |t|e|x|t| |l|o|n|g| |e|n|…
|
||||||
|
| @3|s|e|t|L|o|a|d|i|n|g| +0#0000000#ffffff0@60
|
||||||
|
| +0#ffffff16#e000002| +0#0000000#ffffff0|}|)| |=|>| |{| @65
|
||||||
|
|~+0#4040ff13&| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
| +0#0000000&@56|1|,|0|-|1| @8|A|l@1|
|
@@ -1342,14 +1342,39 @@ func Test_textprop_after_tab()
|
|||||||
call prop_add(1, 2, {'length': 3, 'type': 'search'})
|
call prop_add(1, 2, {'length': 3, 'type': 'search'})
|
||||||
call prop_add(2, 3, {'length': 3, 'type': 'search'})
|
call prop_add(2, 3, {'length': 3, 'type': 'search'})
|
||||||
END
|
END
|
||||||
call writefile(lines, 'XtestPropTab', 'D')
|
call writefile(lines, 'XtextPropTab', 'D')
|
||||||
let buf = RunVimInTerminal('-S XtestPropTab', {'rows': 6})
|
let buf = RunVimInTerminal('-S XtextPropTab', {'rows': 6})
|
||||||
call VerifyScreenDump(buf, 'Test_textprop_tab', {})
|
call VerifyScreenDump(buf, 'Test_textprop_tab', {})
|
||||||
|
|
||||||
" clean up
|
" clean up
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_textprop_nesting()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim END
|
||||||
|
vim9script
|
||||||
|
var lines =<< trim LINESEND
|
||||||
|
|
||||||
|
const func: func.IFunction = ({
|
||||||
|
setLoading
|
||||||
|
}) => {
|
||||||
|
LINESEND
|
||||||
|
setline(1, lines)
|
||||||
|
prop_type_add('prop_add_test', {highlight: "ErrorMsg"})
|
||||||
|
prop_add(2, 31, {type: 'prop_add_test', end_lnum: 4, end_col: 2})
|
||||||
|
var text = 'text long enough to wrap line, text long enough to wrap line, text long enough to wrap line...'
|
||||||
|
prop_add(2, 0, {type: 'prop_add_test', text_wrap: 'truncate', text_align: 'after', text: text})
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XtextpropNesting', 'D')
|
||||||
|
let buf = RunVimInTerminal('-S XtextpropNesting', {'rows': 8})
|
||||||
|
call VerifyScreenDump(buf, 'Test_textprop_nesting', {})
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_textprop_nowrap_scrolled()
|
func Test_textprop_nowrap_scrolled()
|
||||||
CheckScreendump
|
CheckScreendump
|
||||||
|
|
||||||
|
@@ -695,6 +695,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 */
|
||||||
|
/**/
|
||||||
|
1226,
|
||||||
/**/
|
/**/
|
||||||
1225,
|
1225,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user