| Gemeinsame Unterverzeichnisse: ../qemacs/fonts und ./fonts. |
| Gemeinsame Unterverzeichnisse: ../qemacs/libqhtml und ./libqhtml. |
| Gemeinsame Unterverzeichnisse: ../qemacs/plugin-example und ./plugin-example. |
| Gemeinsame Unterverzeichnisse: ../qemacs/tests und ./tests. |
| diff -u ../qemacs/tty.c ./tty.c |
| --- ../qemacs/tty.c 2007-02-08 00:27:33.000000000 +0100 |
| +++ ./tty.c 2007-02-26 15:07:41.000000000 +0100 |
| @@ -78,7 +78,6 @@ |
| /* input handling */ |
| enum InputState input_state; |
| int input_param; |
| - int utf8_state; |
| int utf8_index; |
| unsigned char buf[10]; |
| char *term_name; |
| @@ -374,15 +373,19 @@ |
| |
| /* charset handling */ |
| if (s->charset == &charset_utf8) { |
| - if (ts->utf8_state == 0) { |
| - const char *p; |
| - p = (const char *)ts->buf; |
| - ch = utf8_decode(&p); |
| - } else { |
| - ts->utf8_state = utf8_length[ts->buf[0]] - 1; |
| - ts->utf8_index = 0; |
| - return; |
| - } |
| + /* Make sure utf8 input works correctly 20040314 <damm@opensource.se> */ |
| + ts->utf8_index++; |
| + |
| + if (utf8_length[ts->buf[0]] == ts->utf8_index) {; |
| + const char *p; |
| + p = (const char *)ts->buf; |
| + ch = utf8_decode(&p); |
| + ts->utf8_index = 0; |
| + } |
| + else { |
| + return; |
| + } |
| + |
| } else { |
| ch = ts->buf[0]; |
| } |