diff --git a/src/drawscreen.c b/src/drawscreen.c
index a0801e5..e90da5f 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -1930,24 +1930,9 @@
 	    }
 	}
 
-	// When starting redraw in the first line, redraw all lines.  When
-	// there is only one window it's probably faster to clear the screen
-	// first.
+	// When starting redraw in the first line, redraw all lines.
 	if (mid_start == 0)
-	{
 	    mid_end = wp->w_height;
-	    if (ONE_WINDOW && !WIN_IS_POPUP(wp))
-	    {
-		// Clear the screen when it was not done by win_del_lines() or
-		// win_ins_lines() above, "screen_cleared" is FALSE or MAYBE
-		// then.
-		if (screen_cleared != TRUE)
-		    screenclear();
-		// The screen was cleared, redraw the tab pages line.
-		if (redraw_tabline)
-		    draw_tabline();
-	    }
-	}
 
 	// When win_del_lines() or win_ins_lines() caused the screen to be
 	// cleared (only happens for the first window) or when screenclear()
@@ -3183,7 +3168,7 @@
 }
 
 /*
- * Mark all windows to be redrawn later.
+ * Mark all windows to be redrawn later.  Except popup windows.
  */
     void
 redraw_all_later(int type)
@@ -3196,6 +3181,20 @@
     set_must_redraw(type);
 }
 
+#if 0  // not actually used yet, it probably should
+/*
+ * Mark all windows, including popup windows, to be redrawn.
+ */
+    void
+redraw_all_windows_later(int type)
+{
+    redraw_all_later(type);
+#ifdef FEAT_PROP_POPUP
+    popup_redraw_all();		// redraw all popup windows
+#endif
+}
+#endif
+
 /*
  * Set "must_redraw" to "type" unless it already has a higher value
  * or it is currently not allowed.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 9630252..d9f1c99 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1151,7 +1151,8 @@
 #if defined(FEAT_EVAL)
 	if (!aborting())
 #endif
-	    (void)semsg(_(e_cant_create_file_str), itmp);	// will call wait_return
+	    // will call wait_return()
+	    (void)semsg(_(e_cant_create_file_str), itmp);
 	goto filterend;
     }
     if (curbuf != old_curbuf)
@@ -4331,7 +4332,7 @@
 							// needed
 			    msg_no_more = TRUE;
 			    // write message same highlighting as for
-			    // wait_return
+			    // wait_return()
 			    smsg_attr(HL_ATTR(HLF_R),
 				_("replace with %s (y/n/a/q/l/^E/^Y)?"), sub);
 			    msg_no_more = FALSE;
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index a41e067..3db1592 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -348,7 +348,7 @@
     if (!(p_confirm || (cmdmod.cmod_flags & CMOD_CONFIRM)))
 #endif
     {
-	// There must be a wait_return for this message, do_buffer()
+	// There must be a wait_return() for this message, do_buffer()
 	// may cause a redraw.  But wait_return() is a no-op when vgetc()
 	// is busy (Quit used from window menu), then make sure we don't
 	// cause a scroll up.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 598c6b7..1891d80 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -879,7 +879,7 @@
 		    , in_vim9script() ? GETLINE_CONCAT_CONTBAR
 					       : GETLINE_CONCAT_CONT)) == NULL)
 	    {
-		// Don't call wait_return for aborted command line.  The NULL
+		// Don't call wait_return() for aborted command line.  The NULL
 		// returned for the end of a sourced file or executed function
 		// doesn't do this.
 		if (KeyTyped && !(flags & DOCMD_REPEAT))
@@ -1355,7 +1355,7 @@
 	else if (need_wait_return)
 	{
 	    /*
-	     * The msg_start() above clears msg_didout. The wait_return we do
+	     * The msg_start() above clears msg_didout. The wait_return() we do
 	     * here should not overwrite the command that may be shown before
 	     * doing that.
 	     */
diff --git a/src/ex_getln.c b/src/ex_getln.c
index f28ce8a..dadcfef 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1666,7 +1666,7 @@
     if (!cmd_silent)
     {
 	i = msg_scrolled;
-	msg_scrolled = 0;		// avoid wait_return message
+	msg_scrolled = 0;		// avoid wait_return() message
 	gotocmdline(TRUE);
 	msg_scrolled += i;
 	redrawcmdprompt();		// draw prompt or indent
diff --git a/src/getchar.c b/src/getchar.c
index 4134eb9..b598997 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2098,7 +2098,7 @@
 
     // redraw the screen after getchar()
     if (p_ch == 0)
-	update_screen(UPD_CLEAR);
+	update_screen(UPD_NOT_VALID);
 
     set_vim_var_nr(VV_MOUSE_WIN, 0);
     set_vim_var_nr(VV_MOUSE_WINID, 0);
diff --git a/src/if_cscope.c b/src/if_cscope.c
index 5d24533..945b019 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -2474,7 +2474,7 @@
 	}
     }
 
-    wait_return(TRUE);
+    wait_return(FALSE);
     return CSCOPE_SUCCESS;
 }
 
diff --git a/src/main.c b/src/main.c
index f4db631..7a42463 100644
--- a/src/main.c
+++ b/src/main.c
@@ -651,7 +651,7 @@
 
     /*
      * When done something that is not allowed or given an error message call
-     * wait_return.  This must be done before starttermcap(), because it may
+     * wait_return().  This must be done before starttermcap(), because it may
      * switch to another screen. It must be done after settmode(TMODE_RAW),
      * because we want to react on a single key stroke.
      * Call settmode and starttermcap here, so the T_KS and T_TI may be
@@ -1226,7 +1226,7 @@
 	    did_check_timestamps = FALSE;
 	    if (need_check_timestamps)
 		check_timestamps(FALSE);
-	    if (need_wait_return)	// if wait_return still needed ...
+	    if (need_wait_return)	// if wait_return() still needed ...
 		wait_return(FALSE);	// ... call it now
 	    if (need_start_insertmode && goto_im() && !VIsual_active)
 	    {
diff --git a/src/memline.c b/src/memline.c
index 3911213..6651cda 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -822,7 +822,7 @@
 
     if (*p_dir != NUL && mfp->mf_fname == NULL)
     {
-	need_wait_return = TRUE;	// call wait_return later
+	need_wait_return = TRUE;	// call wait_return() later
 	++no_wait_return;
 	(void)semsg(_(e_unable_to_open_swap_file_for_str_recovery_impossible),
 		    buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname);
diff --git a/src/message.c b/src/message.c
index 5c5e378..ebf1985 100644
--- a/src/message.c
+++ b/src/message.c
@@ -94,7 +94,7 @@
 /*
  * msg(s) - displays the string 's' on the status line
  * When terminal not initialized (yet) mch_errmsg(..) is used.
- * return TRUE if wait_return not called
+ * return TRUE if wait_return() not called
  */
     int
 msg(char *s)
@@ -631,7 +631,7 @@
  * Rings the bell, if appropriate, and calls message() to do the real work
  * When terminal not initialized (yet) mch_errmsg(..) is used.
  *
- * Return TRUE if wait_return not called.
+ * Return TRUE if wait_return() not called.
  * Note: caller must check 'emsg_not_now()' before calling this.
  */
     static int
@@ -758,7 +758,7 @@
     attr = HL_ATTR(HLF_E);	    // set highlight mode for error messages
     if (msg_scrolled != 0)
 	need_wait_return = TRUE;    // needed in case emsg() is called after
-				    // wait_return has reset need_wait_return
+				    // wait_return() has reset need_wait_return
 				    // and a redraw is expected because
 				    // msg_scrolled is non-zero
 
@@ -2456,7 +2456,7 @@
 	    {
 #endif
 		inc_msg_scrolled();
-		need_wait_return = TRUE; // may need wait_return in main()
+		need_wait_return = TRUE; // may need wait_return() in main()
 		redraw_cmdline = TRUE;
 		if (cmdline_row > 0 && !exmode_active)
 		    --cmdline_row;
@@ -3716,8 +3716,8 @@
 
 /*
  * end putting a message on the screen
- * call wait_return if the message does not fit in the available space
- * return TRUE if wait_return not called.
+ * call wait_return() if the message does not fit in the available space
+ * return TRUE if wait_return() not called.
  */
     int
 msg_end(void)
diff --git a/src/misc1.c b/src/misc1.c
index e8216a0..8257f76 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -616,7 +616,7 @@
 
     while (r != 'y' && r != 'n')
     {
-	// same highlighting as for wait_return
+	// same highlighting as for wait_return()
 	smsg_attr(HL_ATTR(HLF_R), "%s (y/n)?", str);
 	if (direct)
 	    r = get_keystroke();
diff --git a/src/option.c b/src/option.c
index 3e1473f..9573351 100644
--- a/src/option.c
+++ b/src/option.c
@@ -2184,7 +2184,7 @@
 	    // make sure all characters are printable
 	    trans_characters(IObuff, IOSIZE);
 
-	    ++no_wait_return;		// wait_return done later
+	    ++no_wait_return;		// wait_return() done later
 	    emsg((char *)IObuff);	// show error highlighted
 	    --no_wait_return;
 
diff --git a/src/version.c b/src/version.c
index 6cd7bd2..6c9a330 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    318,
+/**/
     317,
 /**/
     316,
diff --git a/src/viminfo.c b/src/viminfo.c
index cd73413..acdf618 100644
--- a/src/viminfo.c
+++ b/src/viminfo.c
@@ -3095,7 +3095,7 @@
 	{
 	    int	tt = msg_didany;
 
-	    // avoid a wait_return for this message, it's annoying
+	    // avoid a wait_return() for this message, it's annoying
 	    semsg(_(e_viminfo_file_is_not_writable_str), fname);
 	    msg_didany = tt;
 	    fclose(fp_in);
