From 33bc96ab5c5ccfa1eec5a21e57c2e1ce17756f07 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 31 Dec 2015 16:44:32 +0000
Subject: [PATCH] Restoring the cursor position differently, using a more basic
 routine.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5516 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog  | 3 +++
 src/text.c | 8 ++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b3d9ac25..e42bf80e 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 9e4dcb26..c196a93a 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");
-- 
GitLab