From 776cf3771d57cc440dc1906b5335761e1991f01d Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Sat, 15 Jan 2005 15:05:20 +0000 Subject: [PATCH] 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 --- src/nano.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/nano.c b/src/nano.c index 6ca25b22..59a73cf1 100644 --- 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, -- 2.39.5