diff options
author | Yuan Fu <casouri@gmail.com> | 2023-02-18 02:20:12 -0800 |
---|---|---|
committer | Yuan Fu <casouri@gmail.com> | 2023-02-18 02:32:25 -0800 |
commit | e985466556c71743ec9f47ee969bb4f45da141aa (patch) | |
tree | 68a05c4c4126103bf91f6fee8a8dc9828db5f591 /lisp/emacs-lisp/comp-cstr.el | |
parent | 1e5cebc88bb5f028058e072071fee03529d0b204 (diff) | |
download | emacs-e985466556c71743ec9f47ee969bb4f45da141aa.tar.gz emacs-e985466556c71743ec9f47ee969bb4f45da141aa.tar.bz2 emacs-e985466556c71743ec9f47ee969bb4f45da141aa.zip |
Fix comment in treesit_record_change (bug#61369)
Turns out the previous commit message and comment is not entirely
correct: the old behavior is in fact wrong, not just "correct but has
problems".
Here is why the old code is wrong:
|visible range| -> markup for visible range
updated range -> markup for updated range
-------------
First we have some text
|aaaaaa|
Now we insert something at the beginning, because we clip
new_end_offset to visible_end, out of eight b's inserted, only the
first six are known to tree-sitter.
|bbbbbbbbaaaa|aa start: 0, old_end: 0, new_end: 6
------
In treesit_sync_visible_region, we sync up visible region, but the two
missing b's are not in the updated range.
|bbbbbbbbaaaaaa| start: 12, old_end: 12, new_end: 14
--
The old behavior not only is wrong, but also doesn't make much sense.
* src/treesit.c (treesit_record_change): Update comment.
Diffstat (limited to 'lisp/emacs-lisp/comp-cstr.el')
0 files changed, 0 insertions, 0 deletions