diff --git a/ChangeLog b/ChangeLog index 5261319a01d223b80221b3b0d507c7ca6861578d..1bf3c0e1066fcc8ac2a51e7011a5f54896563d5b 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 a495221da0e5cddd8157cc1b8e924347a796e0b1..bf9930fa2886e57803083dd36226553efe79d1cd 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;