Index: src/text.c =================================================================== --- src/text.c (revision 5138) +++ src/text.c (working copy) @@ -2661,7 +2661,6 @@ { int alt_spell_status; size_t current_x_save = openfile->current_x; - size_t pww_save = openfile->placewewant; ssize_t current_y_save = openfile->current_y; ssize_t lineno_save = openfile->current->lineno; pid_t pid_spell; @@ -2827,8 +2826,9 @@ openfile->totsize = totsize_save; /* Assign mark_begin to the line where the mark began before. */ - do_gotopos(mb_lineno_save, openfile->mark_begin_x, - current_y_save, 0); + openfile->current_y = current_y_save; + goto_line_posx(mb_lineno_save, openfile->mark_begin_x); + openfile->mark_begin = openfile->current; /* Assign mark_begin_x to the location in mark_begin where the @@ -2842,7 +2842,8 @@ #endif /* Go back to the old position, and mark the file as modified. */ - do_gotopos(lineno_save, current_x_save, current_y_save, pww_save); + openfile->current_y = current_y_save; + goto_line_posx(lineno_save, current_x_save); set_modified(); #ifndef NANO_TINY