diff --git a/ChangeLog b/ChangeLog
index c2c788b4e43147d5bddef94981dadc25d68c48d8..4c4c199822e5ff4f02c711f97c6b4d8264e21e16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,17 @@
 CVS code -
+- General:
+	- Miscellaneous comment fixes. (DLR)
+- nano.c:
+  allow_pending_sigwinch()
+	- Simplify by using the "?" operator instead of an if clause.
+	  (DLR)
+  do_verbatim_input()
+	- If constant cursor position display is on when we finish, make
+	  sure the cursor position is displayed properly. (DLR)
+  main()
+	- When constant cursor position display is on, only display the
+	  cursor position if there are no keys waiting in the buffer.
+	  (DLR)
 
 GNU nano 1.3.8 - 2005.06.30
 - General:
diff --git a/src/files.c b/src/files.c
index 3ca03e55a1c361fa9da56c0248c844ee68a60244..c4bd32656c9cf44ca2db27321d1c044a41f69d8c 100644
--- a/src/files.c
+++ b/src/files.c
@@ -2339,6 +2339,7 @@ char *input_tab(char *buf, size_t *place, bool *lastwastab, bool *list)
 		if ((match + 1) % columns == 0)
 		    editline++;
 	    }
+
 	    wrefresh(edit);
 	    *list = TRUE;
 	}
@@ -2899,6 +2900,7 @@ char *histfilename(void)
     return nanohist;
 }
 
+/* Load histories from ~/.nano_history. */
 void load_history(void)
 {
     char *nanohist = histfilename();
diff --git a/src/nano.c b/src/nano.c
index c6a8eb60eefddf1d0f0e2c9df5a634fa9d689499..5da58473cf3db7962a119a048921aaee09bbb182 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1299,6 +1299,11 @@ void do_verbatim_input(void)
     do_output(output, kbinput_len, TRUE);
 
     free(output);
+
+    /* If constant cursor position display is on, make sure the current
+     * cursor position is properly displayed on the statusbar. */
+    if (ISSET(CONST_UPDATE))
+	do_cursorpos(TRUE);
 }
 
 void do_backspace(void)
@@ -3683,10 +3688,7 @@ void allow_pending_sigwinch(bool allow)
     sigset_t winch;
     sigemptyset(&winch);
     sigaddset(&winch, SIGWINCH);
-    if (allow)
-	sigprocmask(SIG_UNBLOCK, &winch, NULL);
-    else
-	sigprocmask(SIG_BLOCK, &winch, NULL);
+    sigprocmask(allow ? SIG_UNBLOCK : SIG_BLOCK, &winch, NULL);
 }
 #endif /* !NANO_SMALL */
 
@@ -3911,7 +3913,7 @@ int do_input(bool *meta_key, bool *func_key, bool *s_or_t, bool
 
 	if (have_shortcut) {
 	    switch (input) {
-		/* Handle the "universal" statusbar prompt shortcuts. */
+		/* Handle the "universal" edit window shortcuts. */
 		case NANO_XON_KEY:
 		    statusbar(_("XON ignored, mumble mumble."));
 		    break;
@@ -4682,9 +4684,10 @@ int main(int argc, char **argv)
 	/* Make sure the cursor is in the edit window. */
 	reset_cursor();
 
-	/* If constant cursor position display is on, display the
-	 * current cursor position on the statusbar. */
-	if (ISSET(CONST_UPDATE))
+	/* If constant cursor position display is on, and there are no
+	 * keys waiting in the buffer, display the current cursor
+	 * position on the statusbar. */
+	if (ISSET(CONST_UPDATE) && get_buffer_len() == 0)
 	    do_cursorpos(TRUE);
 
 	currshortcut = main_list;