patch 9.1.0642: Check that mapping rhs starts with lhs fails if not simplified
Problem: Check that mapping rhs starts with lhs doesn't work if lhs is
not simplified.
Solution: Keep track of the mapblock containing the alternative lhs and
also compare with it (zeertzjq).
fixes: #15376
closes: #15384
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/structs.h b/src/structs.h
index 32c35b7..fe4704a 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1309,6 +1309,9 @@
struct mapblock
{
mapblock_T *m_next; // next mapblock in list
+ mapblock_T *m_alt; // pointer to mapblock of the same mapping
+ // with an alternative form of m_keys, or NULL
+ // if there is no such mapblock
char_u *m_keys; // mapped from, lhs
char_u *m_str; // mapped to, rhs
char_u *m_orig_str; // rhs as entered by the user