From 18d6a7ae1afcb08aac85bacfa1d341109f437f01 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Tue, 28 Jun 2005 06:05:54 +0000
Subject: [PATCH] in do_justify(), save placewewant, and restore it if we
 unjustify, in order to avoid a potential screen update problem

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

diff --git a/ChangeLog b/ChangeLog
index 5261319a..1bf3c0e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -238,6 +238,9 @@ CVS code -
 	- If the spell-checker printed any error messages onscreen, call
 	  total_refresh() to make sure they're cleared off. (DLR, found
 	  by CHAO Wei-Lun)
+  do_justify()
+	- Save placewewant, and restore it if we unjustify, in order to
+	  avoid a potential screen update problem. (DLR)
   do_output()
 	- Properly allow wrapping when we insert a tab, for consistency.
 	  (DLR)
diff --git a/src/nano.c b/src/nano.c
index a495221d..bf9930fa 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -3146,7 +3146,7 @@ void do_justify(bool full_justify)
 
     /* We save these global variables to be restored if the user
      * unjustifies.  Note that we don't need to save totlines. */
-    size_t current_x_save = current_x;
+    size_t current_x_save = current_x, pww_save = placewewant;
     int current_y_save = current_y;
     unsigned long flags_save = flags;
     size_t totsize_save = totsize;
@@ -3419,6 +3419,7 @@ void do_justify(bool full_justify)
 	/* Restore the justify we just did (ungrateful user!). */
 	current = current_save;
 	current_x = current_x_save;
+	placewewant = pww_save;
 	current_y = current_y_save;
 	edittop = edittop_save;
 
-- 
GitLab