patch 8.1.2143: cannot see each command even when 'verbose' is set
Problem: Cannot see each command even when 'verbose' is set.
Solution: List each command when 'verbose' is at least 16.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index a4a8756..f4c3271 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -559,6 +559,27 @@
}
/*
+ * Print the executed command for when 'verbose' is set.
+ * When "lnum" is 0 only print the command.
+ */
+ static void
+msg_verbose_cmd(linenr_T lnum, char_u *cmd)
+{
+ ++no_wait_return;
+ verbose_enter_scroll();
+
+ if (lnum == 0)
+ smsg(_("Executing: %s"), cmd);
+ else
+ smsg(_("line %ld: %s"), (long)lnum, cmd);
+ if (msg_silent == 0)
+ msg_puts("\n"); // don't overwrite this
+
+ verbose_leave_scroll();
+ --no_wait_return;
+}
+
+/*
* Execute a simple command line. Used for translated commands like "*".
*/
int
@@ -944,18 +965,7 @@
}
if (p_verbose >= 15 && sourcing_name != NULL)
- {
- ++no_wait_return;
- verbose_enter_scroll();
-
- smsg(_("line %ld: %s"),
- (long)sourcing_lnum, cmdline_copy);
- if (msg_silent == 0)
- msg_puts("\n"); /* don't overwrite this */
-
- verbose_leave_scroll();
- --no_wait_return;
- }
+ msg_verbose_cmd(sourcing_lnum, cmdline_copy);
/*
* 2. Execute one '|' separated command.
@@ -1666,6 +1676,9 @@
if ((*cmdlinep)[0] == '#' && (*cmdlinep)[1] == '!')
goto doend;
+ if (p_verbose >= 16)
+ msg_verbose_cmd(0, *cmdlinep);
+
/*
* 1. Skip comment lines and leading white space and colons.
* 2. Handle command modifiers.
@@ -8534,9 +8547,9 @@
{
linenr_T lnum;
-#ifdef FEAT_CLIPBOARD
+# ifdef FEAT_CLIPBOARD
start_global_changes();
-#endif
+# endif
/* First set the marks for all lines closed/open. */
for (lnum = eap->line1; lnum <= eap->line2; ++lnum)
@@ -8546,9 +8559,9 @@
/* Execute the command on the marked lines. */
global_exe(eap->arg);
ml_clearmarked(); /* clear rest of the marks */
-#ifdef FEAT_CLIPBOARD
+# ifdef FEAT_CLIPBOARD
end_global_changes();
-#endif
+# endif
}
#endif
@@ -8566,7 +8579,7 @@
}
#endif
-# if defined(FEAT_TIMERS) || defined(PROTO)
+#if defined(FEAT_TIMERS) || defined(PROTO)
int
get_pressedreturn(void)
{