]> git.eshelyaron.com Git - emacs.git/commit
Support terminal emulators that encode the Meta modifier as 8th bit
authorMax Mikhanosha <max.mikhanosha@protonmail.com>
Sat, 5 Jun 2021 13:57:43 +0000 (16:57 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 5 Jun 2021 13:57:43 +0000 (16:57 +0300)
commit515eb6989575dc1d8e8f996ec65494e637f24ffe
treee418c9a9e23143272d7bcb9cce3ee9f983668ae3
parentf93f3b80dde20a0c643b011d1bf78e34860870a2
Support terminal emulators that encode the Meta modifier as 8th bit

See discussion starting at

 https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00034.html

for the details.
* src/keyboard.c (read_decoded_event_from_main_queue): For
raw-text encoed input, if Meta bit is encoded, apply the Meta
modifier to single-byte characters that have the 0x80 bit set.
For input encoded otherwise, if the Meta bit is encoded, remove
the 0x80 bit after decoding the characters.
(tty_read_avail_input): Reset the 0x80 bit only if Meta bit is not
encoded.
(Fset_input_meta_mode): Support 'encoded' as the value of META.
(Fset_input_mode): Document 'encoded' for META.
(Fcurrent_input_mode): Support and document 'encoded' as the value
of META.
(syms_of_keyboard): DEFSYM 'encoded'.
src/keyboard.c