diff options
| author | Rodrigodd <rodrigobatsmoraes@hotmail.com> | 2025-06-26 19:45:28 -0300 |
|---|---|---|
| committer | Lewis Russell <me@lewisr.dev> | 2025-07-02 17:05:17 +0100 |
| commit | 168bf0024ece7f73b846d0b465ae7d8109bb97e0 (patch) | |
| tree | 75da8371e73b026beba463ded3a73432953b73f3 /runtime/syntax/python.vim | |
| parent | 94f44d58fdd23f18b9e72195b36504c50a3e3de3 (diff) | |
| download | rneovim-168bf0024ece7f73b846d0b465ae7d8109bb97e0.tar.gz rneovim-168bf0024ece7f73b846d0b465ae7d8109bb97e0.tar.bz2 rneovim-168bf0024ece7f73b846d0b465ae7d8109bb97e0.zip | |
fix(treesitter): ensure TSLuaTree is always immutable
Problem:
The previous fix in #34314 relies on copying the tree in `tree_root` to
ensure the `TSNode`'s tree cannot be mutated. But that causes the
problem where two calls to `tree_root` return nodes from different
copies of a tree, which do not compare as equal. This has broken at
least one plugin.
Solution:
Make all `TSTree`s on the Lua side always immutable, avoiding the need
to copy the tree in `tree_root`, and make the only mutation point,
`tree_edit`, copy the tree instead.
Diffstat (limited to 'runtime/syntax/python.vim')
0 files changed, 0 insertions, 0 deletions