On Wed, Nov 28, 2012 at 05:35:03PM +0100, Bram Moolenaar wrote:
> 
> Patch 7.3.737
> Problem:    When using do_cmdline() recursively did_endif is not reset,
>           causing messages to be overwritten.
> Solution:   Reset did_endif. (Christian Brabandt)
> Files:            src/ex_docmd.c
> 
> 
> *** ../vim-7.3.736/src/ex_docmd.c     2012-10-03 18:24:55.000000000 +0200
> --- src/ex_docmd.c    2012-11-28 17:25:27.000000000 +0100
> ***************
> *** 1536,1541 ****
> --- 1536,1543 ----
>       if_level = 0;
>   #endif
>   
> +     did_endif = FALSE;  /* in case do_cmdline used recursively */
> + 
>       --call_depth;
>       return retval;
>   }
> *** ../vim-7.3.736/src/version.c      2012-11-28 16:49:53.000000000 +0100
> --- src/version.c     2012-11-28 17:33:54.000000000 +0100
> ***************
> *** 727,728 ****
> --- 727,730 ----
>   {   /* Add new patch number below this line */
> + /**/
> +     737,
>   /**/
> 
> -- 
> From "know your smileys":
>  :-)  Funny
>  |-)  Funny Oriental
>  (-:  Funny Australian
> 
>  /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
> ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
> \\\  an exciting new programming language -- http://www.Zimbu.org        ///
>  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
> 
> -- 
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php

this patch makes fails the tiny build.

i think the #endif must be below the 'did_endif = FALSE;'

attached small patch

-- 
Ike

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
diff -r eccae034465b src/ex_docmd.c
--- a/src/ex_docmd.c    Wed Nov 28 17:41:59 2012 +0100
+++ b/src/ex_docmd.c    Wed Nov 28 18:48:51 2012 +0100
@@ -1534,9 +1534,9 @@
      * ":endif" (could be ":if x | foo | endif").
      */
     if_level = 0;
-#endif
 
     did_endif = FALSE;  /* in case do_cmdline used recursively */
+#endif
 
     --call_depth;
     return retval;

Raspunde prin e-mail lui