vim-patch:8.1.0020: cannot tell whether a register is executing or recording

Problem:    Cannot tell whether a register is being used for executing or
            recording.
Solution:   Add reg_executing() and reg_recording(). (Hirohito Higashi,
            closes vim/vim#2745)  Rename the global variables for consistency.  Store
            the register name in reg_executing.
0b6d911e5d
This commit is contained in:
Jan Edmund Lazo
2019-05-26 19:39:38 -04:00
parent fb4d5a1846
commit 21f160746a
13 changed files with 83 additions and 21 deletions

View File

@@ -6412,7 +6412,7 @@ int showmode(void)
|| restart_edit
|| VIsual_active
));
if (do_mode || Recording) {
if (do_mode || reg_recording != 0) {
/*
* Don't show mode right now, when not redrawing or inside a mapping.
* Call char_avail() only when we are going to show something, because
@@ -6533,7 +6533,7 @@ int showmode(void)
need_clear = TRUE;
}
if (Recording
if (reg_recording != 0
&& edit_submode == NULL /* otherwise it gets too long */
) {
recording_mode(attr);
@@ -6600,7 +6600,7 @@ void clearmode(void)
{
msg_ext_ui_flush();
msg_pos_mode();
if (Recording) {
if (reg_recording != 0) {
recording_mode(HL_ATTR(HLF_CM));
}
msg_clr_eos();
@@ -6612,7 +6612,7 @@ static void recording_mode(int attr)
MSG_PUTS_ATTR(_("recording"), attr);
if (!shortmess(SHM_RECORDING)) {
char_u s[4];
vim_snprintf((char *)s, ARRAY_SIZE(s), " @%c", Recording);
snprintf((char *)s, ARRAY_SIZE(s), " @%c", reg_recording);
MSG_PUTS_ATTR(s, attr);
}
}