unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Po Lu <luangruo@yahoo.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: chad <yandros@gmail.com>,  emacs-devel@gnu.org
Subject: Re: Android port of Emacs
Date: Sat, 17 Jun 2023 14:57:40 +0800	[thread overview]
Message-ID: <874jn6fue3.fsf@yahoo.com> (raw)
In-Reply-To: <83edmask4z.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 17 Jun 2023 09:00:44 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

> The macOS/NS code is already written, and likewise the w32 code.  It
> took us many years to come up with that, but, incrementally, we did.
> So arguing that those platforms nowadays have lots of LOC doesn't
> help.  Moreover, the code specific to these two ports, by and large,
> closely resembles the corresponding parts of X code (xfns.c, xterm.c),

Just as androidterm.c is almost a direct translation of xterm.c, just as
androidfns.c is to xfns.c.  While OTOH, the NS port does not even try.

However, W32 requires extensive changes to file IO and subprocess
creation.  Android does not require as many.  Both platforms require C
constructs that are foreign to GNU and Unix programmers: count the
number of function pointers in w32xfns.c, and the amount of set-up code
involving W32-specific C APIs.

The NS port also shares a distinction with the Android port: a large
quantity of its code is written in a language other than C.  However, NS
was deliberately written to maximize the use of Objective-C features
within parts that are normally implemented in C, such as RIF functions
and event handling logic.  This mistake is what makes it decidedly non
trivial to move changes from X to NS, and is why (until the intervention
of yours truly) it was incapable of displaying glyph overhangs, image
reliefs, or the tab bar.

> with rather minimal deviations in the w32 case and more significant
> deviations in the case of NS.  And even so, the w32 and NS ports are
> already problematic: the former has basically a single
> maintainer/developer (yours truly), the latter doesn't have even that.

Then, perhaps, the NS port should be developed by ``other people'', in
another project?

Besides, X, PGTK, and Haiku, seem to have basically a single developer
at present; we both know who that is.

> The results are clear, if not for everyone: the w32 port falls behind
> in features, and the NS port is basically already badly broken, having
> unacceptable display problems on at least some modern systems.

The NS port is ``basically already badly broken'' due to bad choices
taken by the NS port developers, as I've explained above.

> So what bothers me is whether we as the project should take another
> such port upon ourselves, instead of leaving it to others to develop
> and maintain it outside of the upstream project.  Because if we take
> it upon ourselves, I don't see any way of making sure the Android port
> will not go the way of w32 and NS soon enough, maybe the moment we
> land it.

The same is much less likely to happen with the Android port, because it
is essentially built on top of a replica of the X APIs.

Anyway, having intentionally designed the Android port to minimize the
requirements placed on the part of Emacs developers, I cannot help but
believe that your concerns are undue.

thanks.



  reply	other threads:[~2023-06-17  6:57 UTC|newest]

Thread overview: 334+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-16 11:20 Android port of Emacs Eli Zaretskii
2023-06-16 13:03 ` Po Lu
2023-06-16 13:17   ` Po Lu
2023-06-16 15:16 ` Dr. Arne Babenhauserheide
2023-06-16 15:32   ` Eli Zaretskii
2023-06-16 16:34     ` Dr. Arne Babenhauserheide
2023-06-16 19:34       ` Bob Rogers
2023-06-16 23:46       ` Po Lu
2023-06-18  2:10       ` Richard Stallman
2023-06-17  0:49     ` Konstantin Kharlamov
2023-06-17  6:20       ` Eli Zaretskii
2023-06-17  9:28         ` Dr. Arne Babenhauserheide
2023-06-17 13:34         ` Konstantin Kharlamov
2023-06-17 16:47           ` Alfred M. Szmidt
2023-06-17 18:11             ` contributing to Emacs Konstantin Kharlamov
2023-06-17 18:36               ` Alfred M. Szmidt
2023-06-17 19:39                 ` Konstantin Kharlamov
2023-06-17 21:00                   ` Alfred M. Szmidt
2023-06-17 21:10                     ` Konstantin Kharlamov
2023-06-17 21:19                       ` Alfred M. Szmidt
2023-06-17 21:26                         ` Konstantin Kharlamov
2023-06-17 22:25                           ` Alfred M. Szmidt
2023-06-17 22:39                             ` Konstantin Kharlamov
2023-06-18  5:20                               ` Eli Zaretskii
2023-06-18  8:53                                 ` Konstantin Kharlamov
2023-06-18  9:01                                   ` Po Lu
2023-06-18  9:23                                     ` Konstantin Kharlamov
2023-06-18  9:25                                       ` Po Lu
2023-06-18 10:04                                         ` Konstantin Kharlamov
2023-06-18 10:07                                           ` Po Lu
2023-06-18  9:57                                       ` Alfred M. Szmidt
2023-06-18  9:01                                   ` Eli Zaretskii
2023-06-18  9:06                                     ` Eli Zaretskii
2023-06-18  9:21                                       ` Konstantin Kharlamov
2023-06-18 12:00                                         ` Michael Albinus
2023-06-18 13:29                                         ` [External] : " Drew Adams
2023-06-18 22:46                                           ` Konstantin Kharlamov
2023-06-19  2:30                                             ` Eli Zaretskii
2023-06-18  9:18                                     ` Konstantin Kharlamov
2023-06-18  9:35                                       ` Eli Zaretskii
2023-06-18 21:16                                         ` Dmitry Gutov
2023-06-18 10:00                                   ` Philip Kaludercic
2023-06-18 10:15                                     ` Konstantin Kharlamov
2023-06-18 10:22                                       ` Philip Kaludercic
2023-06-23  6:49                                         ` Sean Whitton
2023-06-24 15:37                                           ` Philip Kaludercic
2023-06-25  7:40                                             ` Sean Whitton
2023-06-25 11:32                                               ` Setting 'vc-default-patch-addressee' in .dir-locals.el Philip Kaludercic
2023-06-18 12:13                                       ` contributing to Emacs Po Lu
2023-06-18 12:26                                         ` Konstantin Kharlamov
2023-06-18 13:43                                           ` Alfred M. Szmidt
2023-06-18 14:57                                             ` Dr. Arne Babenhauserheide
2023-06-18 16:29                                               ` Eli Zaretskii
2023-06-18 18:52                                                 ` Dr. Arne Babenhauserheide
2023-06-18 19:10                                                   ` Alfred M. Szmidt
2023-06-18 19:11                                                   ` Eli Zaretskii
2023-06-18 20:10                                                     ` Konstantin Kharlamov
2023-06-19  2:24                                                       ` Eli Zaretskii
2023-06-19  6:05                                                         ` Dr. Arne Babenhauserheide
2023-06-19 18:07                                                         ` David Masterson
2023-06-19 18:50                                                           ` Eli Zaretskii
2023-06-19 21:29                                                             ` Konstantin Kharlamov
2023-06-19 22:49                                                               ` David Masterson
2023-06-20 11:14                                                               ` Eli Zaretskii
2023-06-20 15:45                                                                 ` Konstantin Kharlamov
2023-06-20 16:14                                                                   ` Eli Zaretskii
2023-06-20 16:32                                                                     ` Lynn Winebarger
2023-06-20 16:42                                                                       ` Eli Zaretskii
2023-06-20 19:49                                                                     ` Konstantin Kharlamov
2023-06-24  1:44                                                                     ` Björn Bidar
2023-06-24  3:10                                                                       ` Po Lu
2023-06-24  7:00                                                                       ` Eli Zaretskii
2023-06-24  7:54                                                                         ` Michael Albinus
2023-06-25  2:25                                                                       ` Richard Stallman
2023-06-25 16:41                                                                         ` Corwin Brust
2023-06-25 23:31                                                                           ` Björn Bidar
2023-06-26 16:47                                                                             ` Ian Kelling
2023-06-27 11:08                                                                             ` Yuchen Pei
2023-06-27 13:52                                                                               ` Corwin Brust
2023-06-28  4:33                                                                               ` Björn Bidar
2023-06-29  3:03                                                                               ` Richard Stallman
2023-07-03  2:32                                                                                 ` Björn Bidar
2023-07-03  4:25                                                                                   ` Dr. Arne Babenhauserheide
2023-07-05  2:07                                                                                     ` Richard Stallman
2023-07-04  1:58                                                                                   ` Richard Stallman
2023-07-05 13:19                                                                                 ` Yuchen Pei
2023-07-09  2:53                                                                                   ` Richard Stallman
2023-06-27  1:05                                                                           ` Richard Stallman
2023-06-28  2:18                                                                           ` Richard Stallman
2023-06-20 16:24                                                                   ` Alfred M. Szmidt
2023-06-20 16:33                                                                   ` Dr. Arne Babenhauserheide
2023-06-19 22:47                                                             ` David Masterson
2023-06-20  1:17                                                               ` Po Lu
2023-06-20  2:24                                                                 ` David Masterson
2023-06-20  7:01                                                                 ` Alfred M. Szmidt
2023-06-21  0:51                                                                 ` Richard Stallman
2023-06-21  4:13                                                                   ` Po Lu
2023-06-21  4:23                                                                   ` David Masterson
2023-06-23  1:47                                                                     ` Richard Stallman
2023-06-23  2:28                                                                       ` Po Lu
2023-06-25  2:25                                                                         ` Richard Stallman
2023-06-20 11:20                                                               ` Eli Zaretskii
2023-06-18  8:34                               ` Alfred M. Szmidt
2023-06-18  8:58                                 ` Konstantin Kharlamov
2023-06-18  0:50                             ` Po Lu
2023-06-20  2:55                               ` Richard Stallman
2023-06-20  3:39                                 ` Po Lu
2023-06-21  9:20                                   ` Gregory Heytings
2023-06-22  1:56                                   ` Richard Stallman
2023-06-22  2:23                                     ` Po Lu
2023-06-22  7:47                                       ` Philip Kaludercic
2023-06-22  7:59                                         ` Po Lu
2023-06-22  8:38                                         ` Dr. Arne Babenhauserheide
2023-06-20 11:30                                 ` Eli Zaretskii
2023-06-17 21:44                         ` chad
2023-06-18  9:26                     ` Dr. Arne Babenhauserheide
2023-06-18 10:05                       ` Eli Zaretskii
2023-06-18 10:30                         ` Dr. Arne Babenhauserheide
2023-06-18 10:52                           ` Eli Zaretskii
2023-06-18 11:00                             ` Dr. Arne Babenhauserheide
2023-06-18 10:57                       ` Konstantin Kharlamov
2023-06-18  8:59                   ` Dr. Arne Babenhauserheide
2023-06-18  9:30                     ` Konstantin Kharlamov
2023-06-18  9:34                       ` Konstantin Kharlamov
2023-06-18  9:56                       ` Konstantin Kharlamov
2023-06-18 10:02                         ` Eli Zaretskii
2023-06-18 10:13                           ` Konstantin Kharlamov
2023-06-18 10:22                             ` Eli Zaretskii
2023-06-18 10:27                               ` Konstantin Kharlamov
2023-06-18 10:36                                 ` Eli Zaretskii
2023-06-18 10:44                                   ` Konstantin Kharlamov
2023-06-18 10:59                                     ` Eli Zaretskii
2023-06-18 11:14                                       ` Konstantin Kharlamov
2023-06-18 11:32                                         ` Eli Zaretskii
2023-06-18 11:54                                           ` Konstantin Kharlamov
2023-06-18 12:18                                             ` Eli Zaretskii
2023-06-18 12:24                                               ` Konstantin Kharlamov
2023-06-18 15:20                                                 ` Dr. Arne Babenhauserheide
2023-06-18 10:54                                 ` Dr. Arne Babenhauserheide
2023-06-18 11:11                                   ` Konstantin Kharlamov
2023-06-18 12:10                                 ` Po Lu
2023-06-18 12:28                                   ` Konstantin Kharlamov
2023-06-18 12:51                                     ` Eli Zaretskii
2023-06-18 13:02                                       ` Konstantin Kharlamov
2023-06-18 13:13                                         ` Eli Zaretskii
2023-06-18 13:32                                     ` Po Lu
2023-06-18 13:50                                       ` Konstantin Kharlamov
2023-06-18 10:12                         ` Po Lu
2023-06-18 10:22                           ` Konstantin Kharlamov
2023-06-18 12:09                             ` Po Lu
2023-06-18 12:30                               ` Konstantin Kharlamov
2023-06-18 13:29                                 ` Po Lu
2023-06-18 13:55                                   ` Konstantin Kharlamov
2023-06-18 12:33                               ` Konstantin Kharlamov
2023-06-18 13:30                                 ` Po Lu
2023-06-18 13:57                                   ` Konstantin Kharlamov
2023-06-23  6:51                           ` Sean Whitton
2023-06-23  7:06                             ` Po Lu
2023-06-23  7:14                               ` Sean Whitton
2023-06-23  7:17                             ` Eli Zaretskii
2023-06-24  7:21                               ` Sean Whitton
2023-06-24  7:43                                 ` Eli Zaretskii
2023-06-24 12:36                                   ` Konstantin Kharlamov
2023-06-24 14:44                                     ` Eli Zaretskii
2023-06-24 16:17                                       ` Konstantin Kharlamov
2023-06-24 17:13                                         ` Eli Zaretskii
2023-06-25  7:39                                   ` Sean Whitton
2023-06-18  9:43                     ` Eli Zaretskii
2023-06-18 10:19                       ` Dr. Arne Babenhauserheide
2023-06-18 10:31                         ` Eli Zaretskii
2023-06-18 10:50                           ` Dr. Arne Babenhauserheide
2023-06-18 11:29                             ` Eli Zaretskii
2023-06-16 15:49 ` Android port of Emacs Thomas Fitzsimmons
2023-06-16 16:28   ` Eli Zaretskii
2023-06-16 23:45   ` Po Lu
2023-06-16 21:19 ` chad
2023-06-17  0:11   ` Po Lu
2023-06-17  6:18     ` Eli Zaretskii
2023-06-17  6:38       ` Po Lu
2023-06-17  6:47         ` Eli Zaretskii
2023-06-17  7:08           ` Po Lu
2023-06-17  7:27             ` Eli Zaretskii
2023-06-17  7:41               ` Po Lu
2023-06-17  8:47                 ` Eli Zaretskii
2023-06-17  9:36             ` Dr. Arne Babenhauserheide
2023-06-17  9:57               ` Po Lu
2023-06-18  7:33           ` Sean Whitton
2023-06-30 22:09       ` Stefan Monnier via Emacs development discussions.
2023-06-17  6:00   ` Eli Zaretskii
2023-06-17  6:57     ` Po Lu [this message]
2023-06-17  7:10       ` Po Lu
2023-06-17  7:21       ` Eli Zaretskii
2023-06-17  7:33         ` Po Lu
2023-06-17  7:54           ` Alfred M. Szmidt
2023-06-17  8:02             ` Po Lu
2023-06-17  8:43           ` Eli Zaretskii
2023-06-17 16:47             ` Alfred M. Szmidt
2023-06-18  0:36               ` Po Lu
2023-06-19  2:13               ` Richard Stallman
2023-06-19  7:51             ` Manuel Giraud via Emacs development discussions.
2023-06-19  8:22               ` Po Lu
2023-06-19 16:42                 ` Eli Zaretskii
2023-06-19 17:54               ` Eli Zaretskii
2023-06-18  1:10     ` Dmitry Gutov
2023-06-18  1:24       ` Po Lu
2023-06-18  2:07         ` Óscar Fuentes
2023-06-20 13:29           ` Po Lu
2023-06-22 22:49             ` Gregory Heytings
2023-06-23  0:22               ` Po Lu
2023-06-23  7:37                 ` Gregory Heytings
2023-06-23  8:52                   ` Po Lu
2023-06-26 15:18                     ` Gregory Heytings
2023-06-27  0:39                       ` Po Lu
2023-07-01 14:13                         ` Gregory Heytings
2023-06-24 12:17             ` Óscar Fuentes
2023-06-24 13:01               ` Po Lu
2023-06-24 13:57                 ` Óscar Fuentes
2023-06-25  0:07                   ` Po Lu
2023-06-25  2:02                     ` Óscar Fuentes
2023-06-25  4:04                       ` Po Lu
2023-07-01 19:02                         ` Spencer Baugh
2023-07-02  5:09                           ` Po Lu
2023-07-02 12:50                             ` Dmitry Gutov
2023-07-02 12:59                               ` Po Lu
2023-07-02 13:15                                 ` Eli Zaretskii
2023-07-13 13:54                                   ` Gregory Heytings
2023-07-13 23:56                                     ` Po Lu
2023-07-02 13:16                                 ` Dmitry Gutov
2023-07-02 15:45                                   ` Spencer Baugh
2023-07-02 16:29                                     ` Dmitry Gutov
2023-07-02 17:28                                       ` Dmitry Gutov
2023-07-02 18:48                                       ` Spencer Baugh
2023-07-02 23:53                                     ` Po Lu
2023-07-02 23:51                                   ` Po Lu
2023-07-04 12:34                               ` Jean Louis
2023-07-04 15:46                                 ` Dmitry Gutov
2023-07-05  0:18                                   ` Jean Louis
2023-07-11 20:53                                   ` Bryce
2023-07-02  9:31                         ` Arsen Arsenović
2023-07-02 11:29                           ` Po Lu
2023-07-02 14:52                             ` Dr. Arne Babenhauserheide
2023-07-02 15:26                             ` Arsen Arsenović
2023-07-03  0:03                               ` Po Lu
2023-07-04 18:59                                 ` Arsen Arsenović
2023-06-25  4:45                       ` Takesi Ayanokoji
2023-06-25  5:56                         ` Po Lu
2023-06-25 10:07                           ` Takesi Ayanokoji
2023-06-25 10:21                             ` Po Lu
2023-06-25 11:35                               ` Eli Zaretskii
2023-06-26  6:11                               ` Takesi Ayanokoji
2023-06-18  2:46         ` Dmitry Gutov
2023-06-18  3:05           ` Po Lu
2023-06-18 22:35             ` Dmitry Gutov
2023-06-19  0:39               ` Po Lu
2023-06-19 12:04                 ` Dmitry Gutov
2023-06-18  5:31       ` Eli Zaretskii
2023-06-18  5:48         ` Po Lu
2023-06-18  7:33           ` Eli Zaretskii
2023-06-18 22:26         ` Dmitry Gutov
2023-06-21  0:50       ` Richard Stallman
2023-06-21 11:32         ` Eli Zaretskii
2023-06-23  1:47           ` Richard Stallman
2023-06-23  7:04             ` Eli Zaretskii
2023-06-23  9:05               ` Po Lu
2023-06-23 10:23                 ` Eli Zaretskii
2023-06-23 11:38                   ` Po Lu
2023-06-23 12:08                     ` Eli Zaretskii
2023-06-24  1:19                       ` Po Lu
2023-06-24  6:54                         ` Eli Zaretskii
2023-06-24 15:19                           ` Robert Pluim
2023-06-24 18:56                           ` Alan Mackenzie
2023-06-25  0:12                             ` Po Lu
2023-06-29 20:34                           ` Filipp Gunbin
2023-06-30  0:35                             ` Po Lu
2023-06-30  3:21                             ` Takesi Ayanokoji
2023-06-30  4:54                             ` Jean Louis
2023-06-24  1:39                       ` Dmitry Gutov
2023-06-24  7:06                         ` Eli Zaretskii
2023-06-24 22:23                           ` Dmitry Gutov
2023-06-25  0:10                             ` Po Lu
2023-06-25  2:26                               ` Dmitry Gutov
2023-06-25  4:15                                 ` Po Lu
2023-06-25  5:10                             ` Jean Louis
2023-06-25  5:57                               ` Po Lu
2023-06-30  4:57                                 ` Jean Louis
2023-06-30  5:12                                   ` Po Lu
2023-07-04 12:27                                     ` Jean Louis
2023-06-26  2:12                       ` Richard Stallman
2023-06-23 12:33               ` Dr. Arne Babenhauserheide
2023-06-24  7:30               ` Sean Whitton
2023-06-25  2:25               ` Richard Stallman
2023-06-25  2:40                 ` Po Lu
2023-06-27  1:07                   ` Richard Stallman
2023-06-25  5:38                 ` Eli Zaretskii
2023-06-27  1:07                   ` Richard Stallman
2023-06-17 23:16 ` Gregory Heytings
2023-06-18  0:42   ` Po Lu
2023-06-18  6:20     ` Gregory Heytings
2023-06-18  6:56       ` Po Lu
2023-06-18 22:53         ` Gregory Heytings
2023-06-19  0:34           ` Po Lu
2023-06-19 14:27             ` Gregory Heytings
2023-06-21  0:52               ` Richard Stallman
2023-06-21  9:20                 ` Gregory Heytings
     [not found]                   ` <87r0q53vi7.fsf@dick>
2023-06-23  1:47                     ` Richard Stallman
2023-06-19 16:19             ` Eli Zaretskii
2023-06-20  1:13               ` Po Lu
2023-06-20  5:57                 ` chad
2023-06-20 11:25                 ` Eli Zaretskii
2023-06-21  9:19                 ` Gregory Heytings
2023-06-18  0:57   ` Po Lu
2023-06-30 21:53   ` Stefan Monnier via Emacs development discussions.
2023-07-01 14:13     ` Gregory Heytings
2023-07-01 14:35       ` Stefan Monnier
2023-07-01 15:09         ` Gregory Heytings
2023-07-02 15:43           ` Stefan Monnier
2023-07-13 13:55             ` Gregory Heytings
2023-07-13 16:53               ` Stefan Monnier
2023-07-13 23:55                 ` Po Lu
2023-07-17  1:50                 ` Po Lu
2023-08-10 11:28                 ` Gregory Heytings
2023-08-10 12:50                   ` Po Lu
2023-08-10 13:26                   ` Eric S Fraga
2023-08-10 13:45                     ` Eli Zaretskii
2023-08-10 13:33                   ` Stefan Monnier
2023-07-02  9:00       ` Dr. Arne Babenhauserheide
2023-06-18 20:39 ` Thanos Apollo
2023-06-19 16:08   ` Eli Zaretskii
2023-06-30 21:44   ` Stefan Monnier via Emacs development discussions.
2023-06-25 23:37 ` Björn Bidar
2023-06-30 21:40 ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2023-07-02 14:53 Ant
2023-07-06 15:48 Ant
2023-07-07  2:46 ` Po Lu

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874jn6fue3.fsf@yahoo.com \
    --to=luangruo@yahoo.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=yandros@gmail.com \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).