diff --git a/ChangeLog b/ChangeLog index 96ee6616..909038cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -66,6 +66,9 @@ CVS code - - Remove the now-unneeded code to disable XON, XOFF, and suspend, since we now go into raw mode in get_verbatim_kbinput() and bypass them. (DLR) + do_next_word() + - Simplify and remove references to editbot so as to avoid a + segfault. (David Benbennick) do_int_speller(), do_alt_speller(), do_spell() - Modify to write only the current selection from a file to the temporary file used for spell checking when the mark is on, diff --git a/src/nano.c b/src/nano.c index e5e8e6fe..43847e8b 100644 --- a/src/nano.c +++ b/src/nano.c @@ -1173,8 +1173,6 @@ int do_enter(void) #ifndef NANO_SMALL int do_next_word(void) { - filestruct *old = current; - assert(current != NULL && current->data != NULL); /* Skip letters in this word first. */ @@ -1197,31 +1195,10 @@ int do_next_word(void) placewewant = xplustabs(); - if (current->lineno >= editbot->lineno) { - /* If we're on the last line, don't center the screen. */ - if (current->lineno == filebot->lineno) - edit_refresh(); - else - edit_update(current, CENTER); - } - else { - /* If we've jumped lines, refresh the old line. We can't just - use current->prev here, because we may have skipped over some - blank lines, in which case the previous line is the wrong - one. */ - if (current != old) { - update_line(old, 0); - /* If the mark was set, then the lines between old and - current have to be updated too. */ - if (ISSET(MARK_ISSET)) { - while (old->next != current) { - old = old->next; - update_line(old, 0); - } - } - } - update_line(current, current_x); - } + /* Refresh the screen. If current has run off the bottom, this + * call puts it at the center line. */ + edit_refresh(); + return 0; }