commit 776cf3771d57cc440dc1906b5335761e1991f01d
parent ce0451348c775d5afb07e4b6e48d93c1693a9865
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sat, 15 Jan 2005 15:05:20 +0000
tweak do_next_word() and do_prev_word() to make sure they don't parse
the same multibyte character twice
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2274 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/nano.c b/src/nano.c
@@ -1344,6 +1344,9 @@ void do_next_word(void)
}
/* Move forward until we find the first letter of the next word. */
+ if (current->data[current_x] != '\0')
+ current_x += char_mb_len;
+
for (; current != NULL; current = current->next) {
while (current->data[current_x] != '\0') {
char_mb_len = parse_mbchar(current->data + current_x,
@@ -1416,6 +1419,11 @@ void do_prev_word(void)
/* Move backward until we find the last letter of the previous
* word. */
+ if (current_x == 0)
+ begin_line = TRUE;
+ else
+ current_x = move_mbleft(current->data, current_x);
+
for (; current != NULL; current = current->prev) {
while (!begin_line) {
char_mb_len = parse_mbchar(current->data + current_x,