0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 9.1.0814: mapset() may remove unrelated mapping

Problem:  mapset() may remove unrelated mapping whose {rhs} matches the
          restored mapping's {lhs}.
Solution: only match by {lhs} when unmapping for mapset() (zeertzjq).

closes: #15935

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2024-10-24 21:43:43 +02:00
committed by Christian Brabandt
parent 118072862b
commit fdf135a052
4 changed files with 41 additions and 9 deletions

View File

@@ -1013,9 +1013,10 @@ extern int (*dyn_libintl_wputenv)(const wchar_t *envstring);
#define KEY_COMPLETE 0x103 // end of completion
// Used for the first argument of do_map()
#define MAPTYPE_MAP 0
#define MAPTYPE_UNMAP 1
#define MAPTYPE_NOREMAP 2
#define MAPTYPE_MAP 0
#define MAPTYPE_UNMAP 1
#define MAPTYPE_NOREMAP 2
#define MAPTYPE_UNMAP_LHS 3
// Values for "noremap" argument of ins_typebuf(). Also used for
// map->m_noremap and menu->noremap[].