comparison src/textprop.c @ 29826:bfd08e50e2c0 v9.0.0252

patch 9.0.0252: cursor in wrong place after virtual text Commit: https://github.com/vim/vim/commit/f5240b96f721b08d703340ff0b2e67b79fb8b821 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 24 12:24:37 2022 +0100 patch 9.0.0252: cursor in wrong place after virtual text Problem: Cursor in wrong place after virtual text. Solution: Do not change the length of a virtual text property. (closes #10964)
author Bram Moolenaar <Bram@vim.org>
date Wed, 24 Aug 2022 13:30:03 +0200
parents bbe62ea78aac
children 86eb4aba16c3
comparison
equal deleted inserted replaced
29825:e0a5c4895556 29826:bfd08e50e2c0
2125 } 2125 }
2126 } 2126 }
2127 else 2127 else
2128 prop->tp_col += added; 2128 prop->tp_col += added;
2129 } 2129 }
2130 else if (prop->tp_len > 0 && prop->tp_col + prop->tp_len > col) 2130 else if (prop->tp_len > 0 && prop->tp_col + prop->tp_len > col
2131 && prop->tp_id >= 0) // don't change length for virtual text
2131 { 2132 {
2132 int after = col - added - (prop->tp_col - 1 + prop->tp_len); 2133 int after = col - added - (prop->tp_col - 1 + prop->tp_len);
2133 2134
2134 prop->tp_len += after > 0 ? added + after : added; 2135 prop->tp_len += after > 0 ? added + after : added;
2135 res.can_drop = prop->tp_len <= 0 && droppable; 2136 res.can_drop = prop->tp_len <= 0 && droppable;