summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsThread.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-05-26 15:20:39 +0800
committerPo Lu <luangruo@yahoo.com>2023-05-26 15:20:39 +0800
commit0eb1f4e57125117006f109a5549082008fc9fbb1 (patch)
tree12fdeab1893c34654b31cb3ad5efae188d08e405 /java/org/gnu/emacs/EmacsThread.java
parentddaca337e3a81e811de6e0f61ed78c414a1986be (diff)
Allow starting Emacs --debug-init on Android
* doc/emacs/android.texi (Android Troubleshooting): Document `debug-init' option. * java/AndroidManifest.xml.in (EmacsLauncherPreferencesActivity): New activity. Export on systems older than Android 7.0. * java/org/gnu/emacs/EmacsActivity.java (onCreate): Adjust for string startup argument. * java/org/gnu/emacs/EmacsLauncherPreferencesActivity.java: New file. * java/org/gnu/emacs/EmacsPreferencesActivity.java (EmacsPreferencesActivity): Don't make final. (startEmacsQ): Give start-up argument as an argument, not as a boolean. (startEmacsDebugInit): New function. (onCreate): Register new listener; make final. * java/org/gnu/emacs/EmacsService.java (onCreate): Pass extraStartupArgument. * java/org/gnu/emacs/EmacsThread.java (EmacsThread): Rename startDashQ to extraStartupArgument. (run): Adjust accordingly. * java/res/values-v24/bool.xml: * java/res/values/bool.xml: * java/res/values/strings.xml: New files. * java/res/xml/preferences.xml: Add new option. Move string resources around.
Diffstat (limited to 'java/org/gnu/emacs/EmacsThread.java')
-rw-r--r--java/org/gnu/emacs/EmacsThread.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/java/org/gnu/emacs/EmacsThread.java b/java/org/gnu/emacs/EmacsThread.java
index d175fe332b5..468c6530af0 100644
--- a/java/org/gnu/emacs/EmacsThread.java
+++ b/java/org/gnu/emacs/EmacsThread.java
@@ -29,8 +29,9 @@ public class EmacsThread extends Thread
{
private static final String TAG = "EmacsThread";
- /* Whether or not Emacs should be started -Q. */
- private boolean startDashQ;
+ /* Whether or not Emacs should be started with an additional
+ argument, and that additional argument if non-NULL. */
+ private String extraStartupArgument;
/* Runnable run to initialize Emacs. */
private Runnable paramsClosure;
@@ -40,10 +41,10 @@ public class EmacsThread extends Thread
public
EmacsThread (EmacsService service, Runnable paramsClosure,
- boolean startDashQ, String fileToOpen)
+ String extraStartupArgument, String fileToOpen)
{
super ("Emacs main thread");
- this.startDashQ = startDashQ;
+ this.extraStartupArgument = extraStartupArgument;
this.paramsClosure = paramsClosure;
this.fileToOpen = fileToOpen;
}
@@ -56,18 +57,20 @@ public class EmacsThread extends Thread
if (fileToOpen == null)
{
- if (!startDashQ)
+ if (extraStartupArgument == null)
args = new String[] { "libandroid-emacs.so", };
else
- args = new String[] { "libandroid-emacs.so", "-Q", };
+ args = new String[] { "libandroid-emacs.so",
+ extraStartupArgument, };
}
else
{
- if (!startDashQ)
+ if (extraStartupArgument != null)
args = new String[] { "libandroid-emacs.so",
fileToOpen, };
else
- args = new String[] { "libandroid-emacs.so", "-Q",
+ args = new String[] { "libandroid-emacs.so",
+ extraStartupArgument,
fileToOpen, };
}