patch 9.1.0139: MS-Windows: ligatures map cleared on startup
Problem: MS-Windows: ligatures map cleared on startup
Solution: Don't clear the ligatures_map, if the guiligatures
option has already been set (Erik S. V. Jansson)
If guiligatures is set from a .vimrc it's possible
that it will be cleared on start-up (e.g. in Win32
that's what happens).
So don't clear the ligatures map if gui_set_ligatures()
has already been called (e.g. after setting 'ligatures'
from .vimrc)
closes: #14094
Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/gui.c b/src/gui.c
index 78299f0..1953691 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -456,7 +456,11 @@
gui.prev_wrap = -1;
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
- CLEAR_FIELD(gui.ligatures_map);
+ // Note: gui_set_ligatures() might already have been called e.g. from .vimrc,
+ // and in that case we don't want to overwrite ligatures map that has already
+ // been correctly populated (as that would lead to a cleared ligatures maps).
+ if (*p_guiligatures == NUL)
+ CLEAR_FIELD(gui.ligatures_map);
#endif
#if defined(ALWAYS_USE_GUI) || defined(VIMDLL)