To: vim-dev@vim.org
Subject: Patch 6.0.005
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
------------

Patch 6.0.005
Problem:    In Insert mode, "CTRL-O :ls" has a delay before redrawing.
Solution:   Don't delay just after wait_return() was called.  Added the
	    did_wait_return flag.
Files:	    src/globals.h, src/messsage.c, src/normal.c, src/screen.c


*** ../vim60.4/src/globals.h	Sun Sep 16 17:25:35 2001
--- src/globals.h	Fri Sep 28 21:55:27 2001
***************
*** 149,154 ****
--- 149,156 ----
  
  EXTERN int	no_wait_return INIT(= 0);   /* don't wait for return for now */
  EXTERN int	need_wait_return INIT(= 0); /* need to wait for return later */
+ EXTERN int	did_wait_return INIT(= FALSE);	/* wait_return() was used and
+ 						   nothing written since then */
  #ifdef FEAT_TITLE
  EXTERN int	need_maketitle INIT(= TRUE); /* call maketitle() soon */
  #endif
*** ../vim60.4/src/message.c	Tue Aug 28 20:04:53 2001
--- src/message.c	Fri Sep 28 21:51:05 2001
***************
*** 846,851 ****
--- 846,852 ----
  #endif
  
      need_wait_return = FALSE;
+     did_wait_return = TRUE;
      emsg_on_display = FALSE;	/* can delete error message now */
      lines_left = -1;		/* reset lines_left at next msg_start() */
      reset_last_sourcing();
***************
*** 1564,1569 ****
--- 1565,1571 ----
      }
  
      msg_didany = TRUE;		/* remember that something was outputted */
+     did_wait_return = FALSE;
      while (*s)
      {
  	/*
*** ../vim60.4/src/normal.c	Wed Sep 26 16:21:24 2001
--- src/normal.c	Fri Sep 28 21:59:34 2001
***************
*** 1086,1091 ****
--- 1086,1092 ----
  	    && stuff_empty()
  	    && typebuf_typed()
  	    && emsg_silent == 0
+ 	    && !did_wait_return
  	    && oap->op_type == OP_NOP)
      {
  	int	save_State = State;
*** ../vim60.4/src/screen.c	Wed Sep 26 09:57:36 2001
--- src/screen.c	Fri Sep 28 21:50:43 2001
***************
*** 5851,5856 ****
--- 5851,5857 ----
      int	    check_msg_scroll;
  {
      if ((emsg_on_display || (check_msg_scroll && msg_scroll))
+ 	    && !did_wait_return
  	    && emsg_silent == 0)
      {
  	out_flush();
*** ../vim60.4/src/version.c	Fri Sep 28 17:48:07 2001
--- src/version.c	Fri Sep 28 22:06:12 2001
***************
*** 608,609 ****
--- 608,611 ----
  {   /* Add new patch number below this line */
+ /**/
+     5,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
40. You tell the cab driver you live at
    http://123.elm.street/house/bluetrim.html
41. You actually try that 123.elm.street address.

 ///  Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net  \\\
(((   Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim   )))
 \\\  Help me helping AIDS orphans in Uganda - http://iccf-holland.org  ///