1
0
forked from aniani/vim

patch 9.0.1442: mapset() does not restore non-script context

Problem:    mapset() does not restore non-script context.
Solution:   Also accept negative sid. (closes #12132)
This commit is contained in:
zeertzjq
2023-04-07 22:09:46 +01:00
committed by Bram Moolenaar
parent b6ebe5af74
commit bfc7cbd1d4
3 changed files with 28 additions and 3 deletions

View File

@@ -227,7 +227,7 @@ map_add(
int is_abbr,
#ifdef FEAT_EVAL
int expr,
scid_T sid, // -1 to use current_sctx
scid_T sid, // 0 to use current_sctx
int scriptversion,
linenr_T lnum,
#endif
@@ -266,7 +266,7 @@ map_add(
mp->m_simplified = simplified;
#ifdef FEAT_EVAL
mp->m_expr = expr;
if (sid > 0)
if (sid != 0)
{
mp->m_script_ctx.sc_sid = sid;
mp->m_script_ctx.sc_lnum = lnum;
@@ -924,7 +924,7 @@ do_map(
if (map_add(map_table, abbr_table, keys, rhs, orig_rhs,
noremap, nowait, silent, mode, abbrev,
#ifdef FEAT_EVAL
expr, /* sid */ -1, /* scriptversion */ 0, /* lnum */ 0,
expr, /* sid */ 0, /* scriptversion */ 0, /* lnum */ 0,
#endif
keyround1_simplified) == FAIL)
{