patch 8.1.0695: internal error when using :popup
Problem: Internal error when using :popup.
Solution: When a menu only exists in Terminal mode give an error. (Naruhiko
Nishino, closes #3765)
diff --git a/src/popupmnu.c b/src/popupmnu.c
index 6ef0af9..962a59a 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -1195,6 +1195,14 @@
|| (mp->modes & mp->enabled & mode))
++pum_size;
+ // When there are only Terminal mode menus, using "popup Edit" results in
+ // pum_size being zero.
+ if (pum_size <= 0)
+ {
+ EMSG(e_menuothermode);
+ return;
+ }
+
array = (pumitem_T *)alloc_clear((unsigned)sizeof(pumitem_T) * pum_size);
if (array == NULL)
return;