From 84fdb90e52faa745b2e1e319e2bdc600b6539c8c Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sun, 14 Aug 2005 20:08:49 +0000
Subject: [PATCH] use doupdate() instead of refresh() to reenter curses mode

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

diff --git a/ChangeLog b/ChangeLog
index ef768949..ac7c55cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -229,6 +229,8 @@ CVS code -
 	  is running, so that it can handle them, and unblock them once
 	  it's finished and we've loaded the spell-checked file back in.
 	  (DLR)
+	- Use doupdate() to reenter curses mode instead of refresh().
+	  (DLR)
   do_spell()
 	- When displaying an error message from do_(int|alt)_speller(),
 	  don't display the error message corresponding to errno if
@@ -236,6 +238,9 @@ CVS code -
   do_justify()
 	- If constant cursor position display is on, make sure the
 	  cursor position is displayed properly when we finish. (DLR)
+  handle_sigwinch()
+	- Use doupdate() to reenter curses mode instead of refresh().
+	  (DLR)
   allow_pending_sigwinch()
 	- Simplify by using the "?" operator instead of an if clause.
 	  (DLR)
diff --git a/src/nano.c b/src/nano.c
index 005899d1..4cbe965c 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1333,11 +1333,11 @@ void do_suspend(int signal)
 void do_cont(int signal)
 {
 #ifndef NANO_SMALL
-    /* Perhaps the user resized the window while we slept.  Handle it
+    /* Perhaps the user resized the window while we slept.  Handle it,
      * and update the screen in the process. */
     handle_sigwinch(0);
 #else
-    /* Just update the screen. */
+    /* Reenter curses mode, and update the screen in the process. */
     doupdate();
 #endif
 }
@@ -1391,7 +1391,7 @@ void handle_sigwinch(int s)
     /* Do the equivalent of what Minimum Profit does: Leave and
      * immediately reenter curses mode. */
     endwin();
-    refresh();
+    doupdate();
 #endif
 
     /* Restore the terminal to its previous state. */
diff --git a/src/text.c b/src/text.c
index 2b121995..e3ee1079 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1894,7 +1894,8 @@ const char *do_alt_speller(char *tempfile_name)
     /* Wait for the alternate spell checker to finish. */
     wait(&alt_spell_status);
 
-    refresh();
+    /* Reenter curses mode. */
+    doupdate();
 
     /* Restore the terminal to its previous state. */
     terminal_init();
-- 
GitLab