Mercurial > vim
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; |