patch 9.0.0179: cursor pos wrong with wrapping virtual text in empty line
Problem: Cursor position wrong with wrapping virtual text in empty line. Solution: Adjust handling of an empty line. (closes #10875)
This commit is contained in:
14
src/misc1.c
14
src/misc1.c
@ -399,11 +399,19 @@ plines_win_nofold(win_T *wp, linenr_T lnum)
|
||||
char_u *s;
|
||||
long col;
|
||||
int width;
|
||||
chartabsize_T cts;
|
||||
|
||||
s = ml_get_buf(wp->w_buffer, lnum, FALSE);
|
||||
if (*s == NUL) // empty line
|
||||
return 1;
|
||||
col = win_linetabsize(wp, lnum, s, (colnr_T)MAXCOL);
|
||||
init_chartabsize_arg(&cts, wp, lnum, 0, s, s);
|
||||
if (*s == NUL
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
&& !cts.cts_has_prop_with_text
|
||||
#endif
|
||||
)
|
||||
return 1; // be quick for an empty line
|
||||
win_linetabsize_cts(&cts, (colnr_T)MAXCOL);
|
||||
clear_chartabsize_arg(&cts);
|
||||
col = (int)cts.cts_vcol;
|
||||
|
||||
/*
|
||||
* If list mode is on, then the '$' at the end of the line may take up one
|
||||
|
||||
Reference in New Issue
Block a user