On 4/19/07, Grigory Batalov <bga@xxxxxxxxxxxx> wrote:
Hello! I got a problem running dosemu in terminal (xterm): there is no Russian symbols. Xdosemu works well. This is my settings: $_external_char_set = "utf8"
One workaround is to leave this to "default" which takes the current locale setting. That does not solve flickering when you input non-ASCII though.
So I don't understand, why d1,84 became later symbol:3444 instead of symbol:0444.
A bug in the UTF-8 code... It's fixed in SVN rev 1736; you could also apply the attached instead. Bart
Index: src/plugin/term/keyb_slang.c =================================================================== --- src/plugin/term/keyb_slang.c (revision 1735) +++ src/plugin/term/keyb_slang.c (revision 1736) @@ -1274,6 +1274,8 @@ /* rough draft version don't stop here... */ result = charset_to_unicode(&keyb_state.translate_state, &symbol, keyb_state.kbp, keyb_state.kbcount); + if (result != -1 && result > keyb_state.Keystr_Len) + keyb_state.Keystr_Len = result; k_printf("KBD: got %08x, result=%zx\n", symbol, result); } Index: src/plugin/translate/charsets/utf8.c =================================================================== --- src/plugin/translate/charsets/utf8.c (revision 1735) +++ src/plugin/translate/charsets/utf8.c (revision 1736) @@ -47,7 +47,6 @@ goto bad_string; } if (len >= bytes_desired) { - result = ch; for(i = 1; i < bytes_desired; i++) { ch = str[i]; if ((ch >= 0x80) && (ch <= 0xBF)) {