On Thu, Jun 25, 2026 at 02:17:17PM +0200, Vincent Lefevre wrote:
On 2026-06-25 18:30:14 +0800, Kevin J. McCarthy wrote:
Ah, I figured out what foot is doing with meta enabled, (and xterm without
any metaSendsEscape settings).

If I type Alt-p, the terminal converts 'p', 0x70, to 0xF0, by flipping the
high bit.  But then it encodes that in utf-8 and sends that to mutt. So mutt
receives 0xC3 0xB0 in two getch() calls.

The goal in the past was to get non-ASCII characters with the Meta key
on terminals where this was the only possibility.

https://marc.info/?l=mutt-dev&m=97266015119280&w=3

Thanks Vincent.  This at least explains why it was originally enabled.

This could have been useful with a 8-bit character set. With Unicode,
this is very limited (it seems that one can only get characters from
latin1).

It's a mess.  Mutt has no business enabling this mode, and $meta_key isn't a
solution since it goofs up typing utf-8 at the prompt.

$meta_key actually does the reverse: convert 8-bit bytes to
ESC + ASCII character. So one can no longer enter non-ASCII
characters. IMHO, this is completely obsolete and should
probably be removed to avoid useless code bloat.

Okay, I will remove $meta_key in master.

I'm actually pondering pushing this commit to stable and releasing
it with 2.4.1. Feedback?

I think that this would be OK to remove the call to meta() in stable
too. It could do more harm (e.g. with "foot") than solve problems
nowadays.

I think we're on the same page. :-) I'll wait to see if anyone else has feedback, but will plan on committing this to stable and getting a 2.4.1 release out soon-ish.

--
Kevin J. McCarthy
GPG Fingerprint: 8975 A9B3 3AA3 7910 385C  5308 ADEF 7684 8031 6BDA

Attachment: signature.asc
Description: PGP signature

Reply via email to