mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-04 07:15:29 -04:00
term: insert-mode: handle combining characters correctly
When the client application emits combining characters, for example multi-codepoint emojis, in insert-mode, we ended up pushing partial graphemes to the right, for each codepoint, resulting in too many cells (and with the wrong content) being inserted. The fix is fairly simple; don't "insert" when appending characters to an existing grapheme cluster. This isn't something we can detect easily in print_insert() (it would require us to do grapheme clustering again). Fortunately, we do have the required information in action_utf8_print(). So, pass this information as a boolean to term_print(). Closes #1947
This commit is contained in:
parent
dd01783f88
commit
88dcde3ed8
5 changed files with 14 additions and 6 deletions
|
|
@ -105,9 +105,13 @@
|
|||
([#1929][1929]).
|
||||
* Foot not closing file descriptors for unrecognized or `no_keymap`
|
||||
keymaps.
|
||||
* Combining characters (including emojis consisting of multiple
|
||||
codepoints) not being handled correctly when _insert mode_ is
|
||||
enabled ([#1947][1947]).
|
||||
|
||||
[1918]: https://codeberg.org/dnkl/foot/issues/1918
|
||||
[1929]: https://codeberg.org/dnkl/foot/issues/1929
|
||||
[1947]: https://codeberg.org/dnkl/foot/issues/1947
|
||||
|
||||
|
||||
### Security
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue