aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
diff options
context:
space:
mode:
authorerw7 <erw7.github@gmail.com>2019-08-25 13:45:45 +0900
committererw7 <erw7.github@gmail.com>2019-09-04 13:40:04 +0900
commita2e48b556b7537acd26353b6cc201410be7cf3dc (patch)
tree8608753784910578b9772905f9545bf45c282361 /src/nvim/getchar.c
parent38806f23edfcba8cb7f7b80039d268ae3ffb0557 (diff)
downloadrneovim-a2e48b556b7537acd26353b6cc201410be7cf3dc.tar.gz
rneovim-a2e48b556b7537acd26353b6cc201410be7cf3dc.tar.bz2
rneovim-a2e48b556b7537acd26353b6cc201410be7cf3dc.zip
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". https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
Diffstat (limited to 'src/nvim/getchar.c')
-rw-r--r--src/nvim/getchar.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index 0ef0c852a4..318b36860e 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -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