This website requires JavaScript.
Explore
Help
Sign In
xenia
/
kakoune
Watch
1
Star
0
Fork
0
You've already forked kakoune
Code
Issues
Pull Requests
Packages
Projects
Releases
Wiki
Activity
6990270005
kakoune
/
test
/
regression
/
4896-unmap-executing-mapping
/
out
2 lines
7 B
Plaintext
Raw
Normal View
History
Unescape
Escape
Allow map/unmap during mapping execution Commits e49c0fb04 (unmap: fail if the mapping is currently executing, 2023-05-14) 42be0057a (map: fail if key is currently executing, 2023-06-24) fixed potential use-after-free issues. By doing so, it broke configurations that in practice have not triggered any crashes [1] [2]. For example with, set -remove global autocomplete insert hook global InsertCompletionShow .* %{ map window insert <esc> <c-o> } hook global InsertCompletionHide .* %{ unmap window insert <esc> <c-o> } The execution of the <esc> mapping triggers InsertCompletionHide fails at unmapping. This seems legit and I don't see an obvious alternative way to write it (InsertIdle would not be correct though it would work in practice). Fix the regression by allowing map and unmap again while keeping the mappings alive until they have finished executing. Applying map/unmap immediately seems like the most obvious semantics. Alternatively, we could apply them in between key presses. [1]: <https://github.com/kak-lsp/kak-lsp/issues/689> [2]: <https://github.com/alexherbo2/auto-pairs.kak/issues/60>
2023-06-24 19:49:02 +02:00
123456
Reference in New Issue
Copy Permalink
Mastodon