updated for version 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)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 311f4f0..97b836e 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1536,6 +1536,8 @@
     if_level = 0;
 #endif
 
+    did_endif = FALSE;  /* in case do_cmdline used recursively */
+
     --call_depth;
     return retval;
 }