diff src/charset.c @ 30207:7147c6059e80 v9.0.0439

patch 9.0.0439: cursor wrong if inserting before line with virtual text above Commit: https://github.com/vim/vim/commit/88b79cb7d47e2e1fee1baf4016c50b861e6b21c4 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 10 22:32:14 2022 +0100 patch 9.0.0439: cursor wrong if inserting before line with virtual text above Problem: Cursor wrong if inserting before line with virtual text above. Solution: Add the width of the "above" virtual text to the cursor position. (issue #11084)
author Bram Moolenaar <Bram@vim.org>
date Sat, 10 Sep 2022 23:45:02 +0200
parents ed6f3d2593df
children 45788c16b3a5
line wrap: on
line diff
--- a/src/charset.c
+++ b/src/charset.c
@@ -1576,6 +1576,9 @@ getvcol(
 	    if (((State & MODE_INSERT) == 0 || cts.cts_start_incl) && !on_NUL)
 		// cursor is after inserted text, unless on the NUL
 		vcol += cts.cts_cur_text_width;
+	    else
+		// insertion also happens after the "above" virtual text
+		vcol += cts.cts_first_char;
 #endif
 	    *cursor = vcol + head;	    // cursor at start
 	}