neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 5b314478113754e46de40a9cdc6909e4415fe2d5
parent 8a07ca6c4baf9a72476df4b1851aa33165b4f9c5
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu, 18 Jan 2024 07:27:00 +0800

fix(drawline): update prev_ptr after getting syntax attrs (#27072)


Diffstat:
Msrc/nvim/drawline.c | 2++
1 file changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c @@ -1923,6 +1923,7 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, int col_rows, s // Get extmark and syntax attributes, unless still at the start of the line // (double-wide char that doesn't fit). v = ptr - line; + const ptrdiff_t prev_v = prev_ptr - line; if (has_syntax && v > 0) { // Get the syntax attribute for the character. If there // is an error, disable syntax highlighting. @@ -1947,6 +1948,7 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, int col_rows, s // have made it invalid. line = ml_get_buf(wp->w_buffer, lnum); ptr = line + v; + prev_ptr = line + prev_v; // no concealing past the end of the line, it interferes // with line highlighting.