/usr/bin/ee does not show cyrillic letters while typing

Greetings.

Have bug with console text editor /usr/bin/ee :
opening cyrillic text files OK, but when typing it only shows ~M~~M and so on. After saving and opening again typed chars are OK.
Changing settings to 8-bit characters: OFF, 16-bit characters: ON changes letters to normal, also repaint screen option in ee menu makes already typed chars OK. But while typing it anyways creates ~M constructions.
How can I fix that?

Thanks.
 
Last edited by a moderator:
ee supports single-byte character code sets (eight-bit clean), or the Chinese Big-5 code set. (Other multi-byte code sets may function, but the reason Big-5 works is that a two-byte character also takes up two columns on the screen.)
Basically that says if a character takes up 1 column on the screen, it must be 1 byte, and if a character takes up 2 columns on the screen, it must be made up of 2 bytes. This means variable-length character encodings such as UTF-8 aren't guaranteed to work. For example, ç is 2 bytes in UTF-8, but it only takes up 1 column on the screen, which results in incorrect rendering. But if I execute LC_ALL=en_US.ISO8859-15 xterm -e ee, then ç is rendered properly as I type because it is 1 byte in ISO-8859-15 and takes up 1 column on the screen.

On the other hand, I just tried the character ¿ and that resulted in M being displayed. M-? is what gets displayed when the screen is redrawn, except the -? is overwritten with text when I continue typing. However, it does recognize that <191> (character code BF in hexadecimal) was used when I set 8-bit characters: OFF, so that ¿ should have been displayed… Based on that, I wouldn't use ee(1) for anything other than 7-bit ASCII text.

Out of all of the "normal" console text editors I tried, only editors/mined detected the character encoding for both UTF-8 and ISO-8859-15, regardless of the system locale, and correctly displayed things…in X. When I tried it in a FreeBSD TTY with my drm-kmod graphics driver loaded, it seems to work well when the locale's character encoding is UTF-8, even for Cyrillic text, but there is a noticeable delay when it initially starts. Of course, it defaults to ISO-8859-1 if you open up a KOI8-R text file unless the locale's character encoding is KOI8-R already, which means Cyrillic characters are broken in the TTY because the locale's character encoding must be set to UTF-8 for Cyrillic characters to render properly; that's actually true for vi(1) as well, so it's not just editors/mined that has a problem with rendering. editors/mined works a lot faster in a tmux session in the TTY, but you lose most color support and Cyrillic characters didn't work at all. Other than that, editors/mined works great, though you might say it has too many options hidden throughout its many menus.

Of course, if you use UTF-8 everywhere, you can use pretty much any editor, but something like editors/nano is reasonably friendly and doesn't have too many features and keybindings to learn. editors/micro and editors/uemacs both seem to work well too, if you are using a UTF-8 character encoding in your file and your locale's character encoding is UTF-8.

If there's a problem with any of these editors, it is the fact that many of the keybindings aren't displayed on-screen, so you will have a small bit of learning to do, unlike when using an editor such as ee(1). But at least they can display Cyrillic characters, unlike ee(1)
 
Back
Top