From a2e48b556b7537acd26353b6cc201410be7cf3dc Mon Sep 17 00:00:00 2001 From: erw7 Date: Sun, 25 Aug 2019 13:45:45 +0900 Subject: 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 --- src/nvim/api/private/helpers.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/nvim/api') diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index fb3a73ad4a..2056cb07e3 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -391,8 +391,10 @@ void set_option_to(uint64_t channel_id, void *to, int type, stringval = (char *)value.data.string.data; } - const scid_T save_current_SID = current_SID; - current_SID = channel_id == LUA_INTERNAL_CALL ? SID_LUA : SID_API_CLIENT; + const sctx_T save_current_sctx = current_sctx; + current_sctx.sc_sid = + channel_id == LUA_INTERNAL_CALL ? SID_LUA : SID_API_CLIENT; + current_sctx.sc_lnum = 0; current_channel_id = channel_id; const int opt_flags = (type == SREQ_WIN && !(flags & SOPT_GLOBAL)) @@ -401,7 +403,7 @@ void set_option_to(uint64_t channel_id, void *to, int type, set_option_value_for(name.data, numval, stringval, opt_flags, type, to, err); - current_SID = save_current_SID; + current_sctx = save_current_sctx; } #define TYPVAL_ENCODE_ALLOW_SPECIALS false -- cgit