diff --git a/ChangeLog b/ChangeLog index b3d9ac251ec6505613b1cf54dad021b8b14ede63..e42bf80eaedae859fa7ed3d3af1b6aa4160e779d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2015-12-31 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_formatter): Restore the cursor position differently. + 2015-12-30 Benno Schulenberg <bensberg@justemail.net> * src/nano.c (main), src/files.c (open_buffer): Don't try to position the cursor when opening a buffer failed (because the user specified a diff --git a/src/text.c b/src/text.c index 9e4dcb261f8ec2be11626bb0a62a8fc78d17843f..c196a93a9087b3f2d3167fdf0993f046292c048e 100644 --- a/src/text.c +++ b/src/text.c @@ -3330,8 +3330,12 @@ void do_formatter(void) /* Replace the text of the current buffer with the formatted text. */ replace_buffer(temp); - /* Go back to the old position, and mark the file as modified. */ - do_gotopos(lineno_save, current_x_save, current_y_save, pww_save); + /* Restore the cursor position, and mark the file as modified. */ + goto_line_posx(lineno_save, current_x_save); + openfile->current_y = current_y_save; + openfile->placewewant = pww_save; + edit_update(NONE); + set_modified(); finalstatus = _("Finished formatting");