From ee4b6a4a2d6b2779cdcf662938b5c81dc2fd2bef Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 16 Sep 2023 10:38:46 +0800 Subject: Update Android port * java/org/gnu/emacs/EmacsContextMenu.java (display): Return false if the list of menu buttons is empty, lest Android cease displaying menus on the assumption that Emacs is defective. * java/org/gnu/emacs/EmacsView.java (popupMenu): Likewise. * src/fns.c (sort_list): Render sentence motion commands functional within commentary * src/sfntfont.c (sfntfont_list_family): Sort and deduplicate the returned family list and make it a list of symbols. (syms_of_sfntfont) : New defsym. --- java/org/gnu/emacs/EmacsContextMenu.java | 7 +++++++ java/org/gnu/emacs/EmacsView.java | 7 +++++++ 2 files changed, 14 insertions(+) (limited to 'java/org') diff --git a/java/org/gnu/emacs/EmacsContextMenu.java b/java/org/gnu/emacs/EmacsContextMenu.java index c5b87aa804a..c415ba59c79 100644 --- a/java/org/gnu/emacs/EmacsContextMenu.java +++ b/java/org/gnu/emacs/EmacsContextMenu.java @@ -347,6 +347,13 @@ public final class EmacsContextMenu Runnable runnable; final EmacsHolder rc; + /* Android will permanently cease to display any popup menus at + all if the list of menu items is empty. Prevent this by + promptly returning if there are no menu items. */ + + if (menuItems.isEmpty ()) + return false; + rc = new EmacsHolder (); rc.thing = false; diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java index 04c3d824027..0f83af882ae 100644 --- a/java/org/gnu/emacs/EmacsView.java +++ b/java/org/gnu/emacs/EmacsView.java @@ -622,6 +622,13 @@ public final class EmacsView extends ViewGroup if (popupActive && !force) return false; + /* Android will permanently cease to display any popup menus at + all if the list of menu items is empty. Prevent this by + promptly returning if there are no menu items. */ + + if (menu.menuItems.isEmpty ()) + return false; + contextMenu = menu; popupActive = true; -- cgit v1.2.1