From: Po Lu <luangruo@yahoo.com>
To: "Arsen Arsenović" <arsen@aarsen.me>
Cc: emacs-devel@gnu.org
Subject: Re: Android port
Date: Mon, 20 Feb 2023 10:37:44 +0800 [thread overview]
Message-ID: <87wn4df4ef.fsf@yahoo.com> (raw)
In-Reply-To: <865ybxr80g.fsf@aarsen.me> ("Arsen Arsenović"'s message of "Sun, 19 Feb 2023 16:13:47 +0100")
Arsen Arsenović <arsen@aarsen.me> writes:
> Hi,
>
> I encountered another one:
>
> javac -classpath "/home/arsen/Android/Sdk/platforms/android-Tiramisu/android.jar:." -target 1.7 -source 1.7 -Xlint:d
> eprecation org/gnu/emacs/EmacsContextMenu.java
> warning: [options] bootstrap class path not set in conjunction with -source 7
> warning: [options] source value 7 is obsolete and will be removed in a future release
> warning: [options] target value 7 is obsolete and will be removed in a future release
> warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
> org/gnu/emacs/EmacsContextMenu.java:265: error: cannot find symbol
> final Holder<Boolean> rc;
> ^
> symbol: class Holder
> location: class EmacsContextMenu
> org/gnu/emacs/EmacsContextMenu.java:267: error: cannot find symbol
> rc = new Holder<Boolean> ();
> ^
> symbol: class Holder
> location: class EmacsContextMenu
> 2 errors
> 4 warnings
> make[2]: *** [Makefile:261: org/gnu/emacs/EmacsContextMenu.class] Error 1 shuffle=2758590628
>
> I tried replicating with that shuffle= value, but it seems that I did
> not get lucky twice. However, I believe I have the reason why:
>
> ~/gnu/emacs-android2 130 $ grep -r --include='*.java' Holder
> java/org/gnu/emacs/EmacsService.java:class Holder<T>
> java/org/gnu/emacs/EmacsService.java: final Holder<EmacsView> view;
> java/org/gnu/emacs/EmacsService.java: view = new Holder<EmacsView> ();
> java/org/gnu/emacs/EmacsService.java: final Holder<ClipboardManager> manager;
> java/org/gnu/emacs/EmacsService.java: manager = new Holder<ClipboardManager> ();
> java/org/gnu/emacs/EmacsDialog.java: final Holder<Boolean> rc;
> java/org/gnu/emacs/EmacsDialog.java: rc = new Holder<Boolean> ();
> java/org/gnu/emacs/EmacsContextMenu.java: final Holder<Boolean> rc;
> java/org/gnu/emacs/EmacsContextMenu.java: rc = new Holder<Boolean> ();
>
> There is no dependency between these Holder<T> users and the .java that
> provides it:
>
> ~/gnu/emacs-android2/java$ rm org/gnu/emacs/EmacsDialog.class
> ~/gnu/emacs-android2/java$ make org/gnu/emacs/EmacsDialog.class
> JAVAC org/gnu/emacs/EmacsDialog.class
> warning: [options] bootstrap class path not set in conjunction with -source 7
> warning: [options] source value 7 is obsolete and will be removed in a future release
> warning: [options] target value 7 is obsolete and will be removed in a future release
> warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
> org/gnu/emacs/EmacsDialog.java:302: error: cannot find symbol
> final Holder<Boolean> rc;
> ^
> symbol: class Holder
> location: class EmacsDialog
> org/gnu/emacs/EmacsDialog.java:304: error: cannot find symbol
> rc = new Holder<Boolean> ();
> ^
> symbol: class Holder
> location: class EmacsDialog
> 2 errors
> 4 warnings
> make: *** [Makefile:261: org/gnu/emacs/EmacsDialog.class] Error 1
> ~/gnu/emacs-android2/java 2 $ rm org/gnu/emacs/EmacsService.class; make org/gnu/emacs/EmacsService.class
> JAVAC org/gnu/emacs/EmacsService.class
> warning: [options] bootstrap class path not set in conjunction with -source 7
> warning: [options] source value 7 is obsolete and will be removed in a future release
> warning: [options] target value 7 is obsolete and will be removed in a future release
> warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
> 4 warnings
> ~/gnu/emacs-android2/java$ make org/gnu/emacs/EmacsDialog.class
> JAVAC org/gnu/emacs/EmacsDialog.class
> warning: [options] bootstrap class path not set in conjunction with -source 7
> warning: [options] source value 7 is obsolete and will be removed in a future release
> warning: [options] target value 7 is obsolete and will be removed in a future release
> warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
> 4 warnings
> ~/gnu/emacs-android2/java$
>
> The simplest way to fix it is probably to break out Holder<T> into
> Holder.java, as that won't require manually bookkeeping the
> dependencies. I attached a patch, which builds on x86_64-pc-linux-gnu.
>
> From faf8fc54ad1d835d843e33833715eed2af83d517 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
> Date: Sun, 19 Feb 2023 16:21:02 +0100
> Subject: [PATCH] java: Resolve possible parallelism error across Holder class
>
> * java/org/gnu/emacs/EmacsService.java (Holder): Move from here
> to...
> * java/org/gnu/emacs/Holder.java: ... here. New file.
> ---
> java/org/gnu/emacs/EmacsService.java | 5 -----
> java/org/gnu/emacs/Holder.java | 6 ++++++
> 2 files changed, 6 insertions(+), 5 deletions(-)
> create mode 100644 java/org/gnu/emacs/Holder.java
>
> diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
> index ba6ec485d62..18cbb06eaa8 100644
> --- a/java/org/gnu/emacs/EmacsService.java
> +++ b/java/org/gnu/emacs/EmacsService.java
> @@ -62,11 +62,6 @@
>
> import android.hardware.input.InputManager;
>
> -class Holder<T>
> -{
> - T thing;
> -};
> -
> /* EmacsService is the service that starts the thread running Emacs
> and handles requests by that Emacs instance. */
>
> diff --git a/java/org/gnu/emacs/Holder.java b/java/org/gnu/emacs/Holder.java
> new file mode 100644
> index 00000000000..41866084ab9
> --- /dev/null
> +++ b/java/org/gnu/emacs/Holder.java
> @@ -0,0 +1,6 @@
> +package org.gnu.emacs;
> +
> +class Holder<T>
> +{
> + T thing;
> +};
> --
> 2.39.2
>
>
> I also tested the above by making EmacsDialog.class on a clean
> configure, triggering the edge case.
>
> Thanks in advance.
Thanks. The make depends thing is supposed to be done by javac
internally, and it should scan through source files in
org/gnu/emacs to find missing definitions.
I will try to fix the group rule definition.
next prev parent reply other threads:[~2023-02-20 2:37 UTC|newest]
Thread overview: 211+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87ttzkmrw1.fsf.ref@yahoo.com>
2023-02-17 11:51 ` Android port Po Lu
2023-02-17 12:26 ` Eric S Fraga
2023-02-17 12:56 ` Arsen Arsenović
2023-02-17 13:05 ` Po Lu
2023-02-17 13:21 ` Arsen Arsenović
2023-02-19 11:17 ` Arsen Arsenović
2023-02-19 12:21 ` Po Lu
2023-02-19 14:16 ` Po Lu
2023-02-19 14:40 ` Arsen Arsenović
2023-02-19 15:13 ` Arsen Arsenović
2023-02-20 2:37 ` Po Lu [this message]
2023-02-20 15:33 ` Arsen Arsenović
2023-02-20 15:46 ` Po Lu
2023-02-20 16:05 ` Arsen Arsenović
2023-02-19 14:42 ` Arsen Arsenović
2023-02-17 13:50 ` tomas
2023-02-20 14:23 ` tree-sitter and " Po Lu
2023-02-20 15:38 ` Arsen Arsenović
2023-02-21 2:27 ` Po Lu
2023-02-21 2:56 ` Yuan Fu
2023-02-21 5:33 ` Po Lu
2023-02-21 13:41 ` Po Lu
2023-03-10 20:07 ` Etienne Prud'homme
2023-03-10 23:50 ` Po Lu
2023-08-04 7:42 Angelo Graziosi
2023-08-04 7:54 ` Eli Zaretskii
2023-08-04 9:45 ` Po Lu
2023-08-04 10:40 ` Eli Zaretskii
2023-08-04 12:12 ` Po Lu
2023-08-04 12:59 ` Eli Zaretskii
2023-08-04 13:23 ` Po Lu
2023-08-04 14:00 ` Eli Zaretskii
2023-08-05 0:48 ` Po Lu
2023-08-05 6:39 ` Eli Zaretskii
2023-08-05 7:00 ` Po Lu
2023-08-05 8:39 ` Angelo Graziosi
2023-08-05 9:15 ` Po Lu
2023-08-05 10:04 ` Bruno Haible
2023-08-05 11:05 ` Angelo Graziosi
2023-08-05 11:20 ` Bruno Haible
2023-08-05 12:06 ` Angelo Graziosi
2023-08-05 12:12 ` Eli Zaretskii
2023-08-05 12:16 ` Po Lu
2023-08-05 12:31 ` Eli Zaretskii
2023-08-05 12:35 ` Po Lu
2023-08-05 12:42 ` Po Lu
2023-08-05 12:25 ` Bruno Haible
2023-08-05 12:42 ` Eli Zaretskii
2023-08-05 12:47 ` Bruno Haible
2023-08-05 13:00 ` Eli Zaretskii
2023-08-05 13:13 ` Po Lu
2023-08-05 15:26 ` Eli Zaretskii
2023-08-05 15:35 ` Eli Zaretskii
2023-08-05 23:37 ` Po Lu
2023-08-06 5:00 ` Eli Zaretskii
2023-08-06 5:07 ` Po Lu
2023-08-06 5:24 ` Eli Zaretskii
2023-08-06 8:48 ` Paul Eggert
2023-08-06 8:58 ` Eli Zaretskii
2023-08-06 9:24 ` Po Lu
2023-08-06 9:35 ` Eli Zaretskii
2023-08-06 9:41 ` Po Lu
2023-08-06 9:44 ` Eli Zaretskii
2023-08-06 9:54 ` Po Lu
2023-08-06 10:00 ` Eli Zaretskii
2023-08-06 10:10 ` Po Lu
2023-08-06 10:40 ` Eli Zaretskii
2023-08-06 11:02 ` Bruno Haible
2023-08-06 11:56 ` Eli Zaretskii
2023-08-06 12:30 ` Po Lu
2023-08-06 12:42 ` Eli Zaretskii
2023-08-06 14:40 ` Bruno Haible
2023-08-06 15:09 ` Eli Zaretskii
2023-08-06 15:46 ` Bruno Haible
2023-08-06 17:44 ` Eli Zaretskii
2023-08-06 18:54 ` Bruno Haible
2023-08-06 19:14 ` Eli Zaretskii
2023-08-06 13:05 ` Eli Zaretskii
2023-08-06 13:12 ` Bruno Haible
2023-08-06 13:18 ` Eli Zaretskii
2023-08-06 13:41 ` Po Lu
2023-08-06 15:09 ` Angelo Graziosi
2023-08-06 15:35 ` Angelo Graziosi
2023-08-06 15:44 ` Angelo Graziosi
2023-08-06 17:36 ` Eli Zaretskii
2023-08-06 18:11 ` Angelo Graziosi
2023-08-06 18:19 ` Eli Zaretskii
2023-08-06 18:34 ` Angelo Graziosi
2023-08-06 18:53 ` Eli Zaretskii
2023-08-06 20:26 ` Angelo Graziosi
2023-08-07 2:26 ` Eli Zaretskii
2023-08-07 7:20 ` Angelo Graziosi
2023-08-07 7:22 ` Po Lu
2023-08-07 8:19 ` Corwin Brust
2023-08-07 8:44 ` Po Lu
2023-08-07 11:11 ` Eli Zaretskii
2023-08-07 11:22 ` Eli Zaretskii
2023-08-07 12:03 ` Angelo Graziosi
2023-08-07 15:48 ` Corwin Brust
2023-08-06 15:39 ` Eli Zaretskii
2023-08-06 15:48 ` Angelo Graziosi
2023-08-06 10:41 ` Bruno Haible
2023-08-06 11:07 ` Manuel Giraud via Emacs development discussions.
2023-08-06 11:39 ` Eli Zaretskii
2023-08-06 12:47 ` Po Lu
2023-08-06 16:21 ` Paul Eggert
2023-08-06 12:16 ` Po Lu
2023-08-06 12:23 ` Eli Zaretskii
2023-08-06 9:39 ` Arsen Arsenović
2023-08-06 9:43 ` Eli Zaretskii
2023-08-06 10:33 ` Bruno Haible
2023-08-06 12:20 ` Po Lu
2023-08-06 12:26 ` Eli Zaretskii
2023-08-06 12:33 ` Po Lu
2023-08-06 12:43 ` Bruno Haible
2023-08-06 12:51 ` Po Lu
2023-08-06 13:13 ` Eli Zaretskii
2023-08-06 13:07 ` Bruno Haible
2023-08-06 18:10 ` Paul Eggert
2023-08-06 18:15 ` Eli Zaretskii
2023-08-06 17:44 ` Paul Eggert
2023-08-06 17:51 ` Eli Zaretskii
2023-08-06 23:55 ` Po Lu
2023-08-07 0:49 ` Po Lu
2023-08-07 11:19 ` Eli Zaretskii
2023-08-07 12:03 ` Eli Zaretskii
2023-08-07 14:47 ` Eli Zaretskii
2023-08-04 9:44 ` Po Lu
2023-08-04 10:34 ` Eli Zaretskii
2023-08-04 12:02 ` Po Lu
2023-08-04 12:58 ` Angelo Graziosi
2023-08-04 13:17 ` Po Lu
2023-08-04 13:37 ` Corwin Brust
2023-08-05 3:24 ` Corwin Brust
2023-08-05 6:46 ` Eli Zaretskii
2023-08-05 7:11 ` Corwin Brust
2023-08-04 13:48 ` Angelo Graziosi
2023-08-04 14:09 ` Eli Zaretskii
2023-08-05 1:04 ` Po Lu
2023-08-05 6:41 ` Eli Zaretskii
2023-08-04 10:53 ` Angelo Graziosi
[not found] <87pm43a1jp.fsf.ref@yahoo.com>
2023-08-04 4:12 ` Po Lu
2023-08-04 6:27 ` Eli Zaretskii
2023-08-04 6:37 ` Po Lu
[not found] <ygeednymfh3.fsf@PML-1006.intra>
2023-05-03 0:37 ` Po Lu
-- strict thread matches above, loose matches on Subject: below --
2023-02-18 8:35 Angelo Graziosi
2023-02-18 8:42 ` Po Lu
2023-02-18 21:58 ` Angelo Graziosi
2023-02-19 2:13 ` Po Lu
2023-02-19 9:01 ` Angelo Graziosi
2023-02-19 9:24 ` Dov Grobgeld
2023-02-19 10:17 ` Michael Albinus
2023-02-19 10:55 ` Po Lu
2023-02-19 11:49 ` Michael Albinus
2023-02-19 10:55 ` Po Lu
2023-02-19 11:11 ` Angelo Graziosi
2023-02-19 11:24 ` Peter Oliver
2023-02-19 12:01 ` Po Lu
2023-02-19 10:40 ` Arsen Arsenović
2023-02-19 10:53 ` Po Lu
2023-02-19 11:19 ` Angelo Graziosi
2023-02-19 11:59 ` Po Lu
2023-02-19 17:10 ` Angelo Graziosi
2023-02-20 2:39 ` Po Lu
2023-02-20 17:05 ` Angelo Graziosi
2023-02-21 2:28 ` Po Lu
2023-02-21 17:39 ` Angelo Graziosi
2023-02-21 17:51 ` Jonathan Kenyon
2023-02-21 18:24 ` Jonathan Kenyon
2023-02-21 18:48 ` Simon Pugnet
2023-02-22 2:33 ` Po Lu
2023-02-22 3:21 ` Jonathan Kenyon
2023-02-22 3:35 ` Po Lu
2023-02-22 14:11 ` Po Lu
2023-02-22 15:16 ` Simon Pugnet
2023-02-22 16:01 ` Angelo Graziosi
2023-02-23 14:47 ` Angelo Graziosi
2023-02-24 0:56 ` Po Lu
2023-02-24 1:01 ` Po Lu
2023-02-24 17:49 ` Angelo Graziosi
2023-02-22 2:31 ` Po Lu
2023-02-22 2:30 ` Po Lu
2023-02-22 8:04 ` Angelo Graziosi
2023-02-22 8:31 ` Angelo Graziosi
2023-03-05 22:03 ` Angelo Graziosi
2023-03-05 23:57 ` Po Lu
2023-03-07 15:47 ` Angelo Graziosi
2023-03-07 23:58 ` Po Lu
2023-03-08 16:12 ` Angelo Graziosi
2023-03-09 1:22 ` Po Lu
2023-03-09 16:38 ` Angelo Graziosi
2023-07-17 8:21 ` Angelo Graziosi
2023-07-17 8:30 ` Po Lu
2023-08-31 5:51 ` Jean Louis
2023-08-31 10:27 ` Angelo Graziosi
2023-07-17 8:40 ` Takesi Ayanokoji
2023-07-18 7:31 ` Angelo Graziosi
2023-07-18 7:41 ` Po Lu
2023-02-19 11:30 ` Peter Oliver
2023-02-18 18:12 ` Jean Louis
2023-02-19 8:31 ` Po Lu
[not found] <87bkmv6z36.fsf.ref@yahoo.com>
2023-01-19 2:24 ` gnulib fsusage Po Lu
2023-01-19 6:44 ` Eli Zaretskii
2023-01-19 10:11 ` Po Lu
2023-01-19 10:26 ` Eli Zaretskii
2023-01-19 11:59 ` Po Lu
2023-01-19 13:33 ` Eli Zaretskii
2023-01-19 13:40 ` Po Lu
2023-01-19 14:27 ` Android port (was: gnulib fsusage) Eli Zaretskii
2023-01-19 14:34 ` Android port Po Lu
2023-01-19 14:56 ` Eli Zaretskii
2023-01-20 0:18 ` Po Lu
2023-01-20 7:09 ` Eli Zaretskii
2023-01-20 9:39 ` Po Lu
2023-01-25 10:48 ` Po Lu
2023-01-26 8:59 ` Eli Zaretskii
2023-01-20 6:47 ` Android port (was: gnulib fsusage) Jean Louis
2023-01-20 7:19 ` Eli Zaretskii
2023-01-28 7:50 ` Konstantin Kharlamov
2023-01-28 8:49 ` Eli Zaretskii
2023-01-28 9:06 ` Konstantin Kharlamov
2023-01-28 9:21 ` Eli Zaretskii
2023-01-28 9:31 ` Konstantin Kharlamov
2023-01-28 9:59 ` Android port Po Lu
2023-01-28 9:57 ` Po Lu
2023-01-28 10:23 ` Konstantin Kharlamov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wn4df4ef.fsf@yahoo.com \
--to=luangruo@yahoo.com \
--cc=arsen@aarsen.me \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.