vim-patch:8.1.0362: cannot get the script line number when executing a function

Problem:    Cannot get the script line number when executing a function.
Solution:   Store the line number besides the script ID. (Ozaki Kiichi,
            closes vim/vim#3362)  Also display the line number with ":verbose set".
f29c1c6aa3
This commit is contained in:
erw7
2019-08-25 13:45:45 +09:00
parent 38806f23ed
commit a2e48b556b
24 changed files with 342 additions and 197 deletions

View File

@@ -2957,7 +2957,8 @@ int buf_do_map(int maptype, MapArguments *args, int mode, bool is_abbrev,
mp->m_silent = args->silent;
mp->m_mode = mode;
mp->m_expr = args->expr;
mp->m_script_ID = current_SID;
mp->m_script_ctx = current_sctx;
mp->m_script_ctx.sc_lnum += sourcing_lnum;
did_it = true;
}
}
@@ -3032,7 +3033,8 @@ int buf_do_map(int maptype, MapArguments *args, int mode, bool is_abbrev,
mp->m_silent = args->silent;
mp->m_mode = mode;
mp->m_expr = args->expr;
mp->m_script_ID = current_SID;
mp->m_script_ctx = current_sctx;
mp->m_script_ctx.sc_lnum += sourcing_lnum;
// add the new entry in front of the abbrlist or maphash[] list
if (is_abbrev) {
@@ -3375,9 +3377,10 @@ showmap (
msg_outtrans_special(s, FALSE);
xfree(s);
}
if (p_verbose > 0)
last_set_msg(mp->m_script_ID);
ui_flush(); /* show one line at a time */
if (p_verbose > 0) {
last_set_msg(mp->m_script_ctx);
}
ui_flush(); // show one line at a time
}
/// Check if a map exists that has given string in the rhs