forked from aniani/vim
patch 9.0.0143: cursor positioned after virtual text in empty line
Problem: Cursor positioned after virtual text in empty line. Solution: Keep cursor in the first column. (closes #10786)
This commit is contained in:
@@ -1127,7 +1127,7 @@ win_lbr_chartabsize(
|
|||||||
size = win_chartabsize(wp, s, vcol);
|
size = win_chartabsize(wp, s, vcol);
|
||||||
|
|
||||||
# ifdef FEAT_PROP_POPUP
|
# ifdef FEAT_PROP_POPUP
|
||||||
if (cts->cts_has_prop_with_text)
|
if (cts->cts_has_prop_with_text && *line != NUL)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int col = (int)(s - line);
|
int col = (int)(s - line);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| |s|o
|
|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| |s|o
|
||||||
|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @27
|
|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @27
|
||||||
|p|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @40
|
|p|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @40
|
||||||
|
|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@49
|
||||||
|~+0#4040ff13&| @58
|
|~+0#4040ff13&| @58
|
||||||
|~| @58
|
|
||||||
| +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1|
|
| +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
|
| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
|
||||||
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @23
|
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @23
|
||||||
| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
|
| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
|
||||||
|
| +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
|
||||||
|~+0#4040ff13&| @58
|
|~+0#4040ff13&| @58
|
||||||
|~| @58
|
|
||||||
| +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1|
|
| +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1|
|
||||||
|
6
src/testdir/dumps/Test_prop_inserts_text_3.dump
Normal file
6
src/testdir/dumps/Test_prop_inserts_text_3.dump
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
|
||||||
|
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23
|
||||||
|
| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s>t| @38
|
||||||
|
| +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
|
||||||
|
|~+0#4040ff13&| @58
|
||||||
|
| +0#0000000&@41|2|,|7|-|1|9| @7|A|l@1|
|
6
src/testdir/dumps/Test_prop_inserts_text_4.dump
Normal file
6
src/testdir/dumps/Test_prop_inserts_text_4.dump
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
|
||||||
|
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23
|
||||||
|
| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
|
||||||
|
| +0#0000e05#a8a8a8255@1>e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
|
||||||
|
|~+0#4040ff13&| @58
|
||||||
|
| +0#0000000&@41|3|,|0|-|1| @8|A|l@1|
|
@@ -2221,6 +2221,9 @@ func Test_prop_inserts_text()
|
|||||||
call setline(2, 'prepost')
|
call setline(2, 'prepost')
|
||||||
call prop_type_add('multibyte', #{highlight: 'Visual'})
|
call prop_type_add('multibyte', #{highlight: 'Visual'})
|
||||||
call prop_add(2, 4, #{type: 'multibyte', text: 'söme和平téxt'})
|
call prop_add(2, 4, #{type: 'multibyte', text: 'söme和平téxt'})
|
||||||
|
|
||||||
|
call setline(3, '')
|
||||||
|
call prop_add(3, 1, #{type: 'someprop', text: 'empty line'})
|
||||||
END
|
END
|
||||||
call writefile(lines, 'XscriptPropsWithText')
|
call writefile(lines, 'XscriptPropsWithText')
|
||||||
let buf = RunVimInTerminal('-S XscriptPropsWithText', #{rows: 6, cols: 60})
|
let buf = RunVimInTerminal('-S XscriptPropsWithText', #{rows: 6, cols: 60})
|
||||||
@@ -2229,6 +2232,12 @@ func Test_prop_inserts_text()
|
|||||||
call term_sendkeys(buf, ":set signcolumn=yes\<CR>")
|
call term_sendkeys(buf, ":set signcolumn=yes\<CR>")
|
||||||
call VerifyScreenDump(buf, 'Test_prop_inserts_text_2', {})
|
call VerifyScreenDump(buf, 'Test_prop_inserts_text_2', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, "2G$")
|
||||||
|
call VerifyScreenDump(buf, 'Test_prop_inserts_text_3', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, "3G")
|
||||||
|
call VerifyScreenDump(buf, 'Test_prop_inserts_text_4', {})
|
||||||
|
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
call delete('XscriptPropsWithText')
|
call delete('XscriptPropsWithText')
|
||||||
endfunc
|
endfunc
|
||||||
|
@@ -735,6 +735,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 */
|
||||||
|
/**/
|
||||||
|
143,
|
||||||
/**/
|
/**/
|
||||||
142,
|
142,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user