diff --git a/java/org/gnu/emacs/EmacsOpenActivity.java b/java/org/gnu/emacs/EmacsOpenActivity.java
index fddd5331d2f..ac643ae8a13 100644
--- a/java/org/gnu/emacs/EmacsOpenActivity.java
+++ b/java/org/gnu/emacs/EmacsOpenActivity.java
@@ -380,11 +380,6 @@ else if (apiLevel >= Build.VERSION_CODES.DONUT)
return;
}
- /* Set an appropriate theme. */
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
- setTheme (android.R.style.Theme_DeviceDefault);
-
/* Now see if the action specified is supported by Emacs. */
if (action.equals ("android.intent.action.VIEW")
diff --git a/java/res/values-v11/style.xml b/java/res/values-v11/style.xml
index 50cf96e8bc5..b114758bf0d 100644
--- a/java/res/values-v11/style.xml
+++ b/java/res/values-v11/style.xml
@@ -20,4 +20,5 @@
+
diff --git a/java/res/values-v14/style.xml b/java/res/values-v14/style.xml
index 4124887ab5a..2cb54dc301b 100644
--- a/java/res/values-v14/style.xml
+++ b/java/res/values-v14/style.xml
@@ -21,4 +21,5 @@
+
diff --git a/java/res/values-v29/style.xml b/java/res/values-v29/style.xml
index cd4a6dd1fec..ec7b8d14554 100644
--- a/java/res/values-v29/style.xml
+++ b/java/res/values-v29/style.xml
@@ -27,4 +27,6 @@
- @android:color/black
+
diff --git a/java/res/values/style.xml b/java/res/values/style.xml
index 396b7d8da39..498e844fda0 100644
--- a/java/res/values/style.xml
+++ b/java/res/values/style.xml
@@ -22,4 +22,5 @@
2.3. Styles used for newer Android versions are defined in
the res/values- directories for their respective API levels. -->
+
diff --git a/src/keyboard.c b/src/keyboard.c
index 8cdc5027ebd..a38c7394543 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -10215,14 +10215,30 @@ read_key_sequence (Lisp_Object *keybuf, Lisp_Object prompt,
effect, turn it off after the first character read. This
makes input methods send actual key events instead.
- Make sure only to do this once. */
+ Make sure only to do this once. Also, disabling text
+ conversion seems to interact badly with menus, so don't
+ disable text conversion if a menu was displayed. */
- if (!disabled_conversion && t)
+ if (!disabled_conversion && t && !used_mouse_menu)
{
- disable_text_conversion ();
- record_unwind_protect_void (resume_text_conversion);
+ int i;
- disabled_conversion = true;
+ /* used_mouse_menu isn't set if a menu bar prefix key has
+ just been stored. It appears necessary to look for the
+ prefix key itself. */
+
+ for (i = 0; i < t; ++i)
+ {
+ if (EQ (keybuf[i], Qmenu_bar))
+ break;
+ }
+
+ if (i == t)
+ {
+ disable_text_conversion ();
+ record_unwind_protect_void (resume_text_conversion);
+ disabled_conversion = true;
+ }
}
#endif