le-no-conv-meta should be default
without the default .yashrc, yash defaults to set --le-conv-meta
This is not true. The --le-conv-meta and --le-no-conv-meta options (which are different options) are both disabled by default.
Although the default option (without the common yashrc) could be confusing for some users, I'm not very willing to change the default. The root cause of this issue is that the system's terminfo is giving the wrong data about your terminal. Enabling the --le-no-conv-meta option inherently would break on systems where the terminfo is correct and the meta flag needs to be handled.
The root cause of this issue is that the system's terminfo is giving the wrong data about your terminal
oh ? what would be the correct data? doesn't utf-8 data have to have bit 8 set in the first char?
When you use an 8-bit character encoding, the terminfo's km capability data should be false, otherwise the 8th bit is treated as a modifier for the escape character.
hmm, i can't find a single entry for 'km=' in ncurses 6.2 terminfo database: https://0x0.st/i5N6.src
km is a Boolean capability, so there's no value to assign to it. You should search for km, in that file.
this seems to be a really hard problem, not even specialists seem to know how to deal with it: https://github.com/magiblot/turbo/issues/6#issuecomment-727284872
so xterm has the km capability set in terminfo, what would be your suggestion? that it gets generally removed in terminfo, or that xterm or ncurses somehow removes it from capabilities when xterm is put into utf-8 mode?
btw i opened another issue which didnt get any reply ( https://osdn.net/projects/yash/ticket/40964 ), i would be grateful for your comments.
without the default .yashrc, yash defaults to set --le-conv-meta which causes havoc when accidentally hitting a non-ascii character on the keyboard. it took me about an hour single-stepping in gdb to find out what was the cause of this behaviour.
btw, it would be great if it was possible to file issues in github too. i've actually considered open a bogus pull request just to contact you there. there's also an irc channel on freenode which i'm currently in in case you wanna have a chat with me, since i will not register here and therefore won't see any replies. thanks!