Mercurial > vim
diff src/mbyte.c @ 1620:73fe8baea242
updated for version 7.2a
author | vimboss |
---|---|
date | Tue, 24 Jun 2008 21:16:56 +0000 |
parents | c8568bc2db39 |
children | 630eca9496e0 |
line wrap: on
line diff
--- a/src/mbyte.c +++ b/src/mbyte.c @@ -2940,7 +2940,7 @@ mb_fix_col(col, row) && dbcs_screen_head_off(ScreenLines + LineOffset[row], ScreenLines + LineOffset[row] + col)) || (enc_utf8 && ScreenLines[LineOffset[row] + col] == 0))) - --col; + return col - 1; return col; } # endif @@ -3008,31 +3008,31 @@ enc_canonize(enc) /* Change "microsoft-cp" to "cp". Used in some spell files. */ if (STRNCMP(p, "microsoft-cp", 12) == 0) - mch_memmove(p, p + 10, STRLEN(p + 10) + 1); + STRMOVE(p, p + 10); /* "iso8859" -> "iso-8859" */ if (STRNCMP(p, "iso8859", 7) == 0) { - mch_memmove(p + 4, p + 3, STRLEN(p + 2)); + STRMOVE(p + 4, p + 3); p[3] = '-'; } /* "iso-8859n" -> "iso-8859-n" */ if (STRNCMP(p, "iso-8859", 8) == 0 && p[8] != '-') { - mch_memmove(p + 9, p + 8, STRLEN(p + 7)); + STRMOVE(p + 9, p + 8); p[8] = '-'; } /* "latin-N" -> "latinN" */ if (STRNCMP(p, "latin-", 6) == 0) - mch_memmove(p + 5, p + 6, STRLEN(p + 5)); + STRMOVE(p + 5, p + 6); if (enc_canon_search(p) >= 0) { /* canonical name can be used unmodified */ if (p != r) - mch_memmove(r, p, STRLEN(p) + 1); + STRMOVE(r, p); } else if ((i = enc_alias_search(p)) >= 0) { @@ -3692,7 +3692,11 @@ im_preedit_end_cb(GtkIMContext *context, preedit_start_col = MAXCOL; xim_has_preediting = FALSE; +#if 0 + /* Removal of this line suggested by Takuhiro Nishioka. Fixes that IM was + * switched off unintentionally. */ im_is_active = FALSE; +#endif gui_update_cursor(TRUE, FALSE); im_show_info(); } @@ -4144,6 +4148,7 @@ xim_queue_key_press_event(GdkEventKey *e * committed while we're processing one of these keys, we can ignore * that commit and go ahead & process it ourselves. That way we can * still distinguish keypad keys for use in mappings. + * Also add GDK_space to make <S-Space> work. */ switch (event->keyval) { @@ -4163,6 +4168,7 @@ xim_queue_key_press_event(GdkEventKey *e case GDK_KP_7: xim_expected_char = '7'; break; case GDK_KP_8: xim_expected_char = '8'; break; case GDK_KP_9: xim_expected_char = '9'; break; + case GDK_space: xim_expected_char = ' '; break; default: xim_expected_char = NUL; } xim_ignored_char = FALSE;