all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Motif support
       [not found] <878rwhbb91.fsf.ref@yahoo.com>
@ 2021-12-19  2:04 ` Po Lu
  2021-12-19  7:05   ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-19  2:04 UTC (permalink / raw)
  To: emacs-devel

`--with-x-toolkit=motif' is documented in INSTALL, but configure
complained that it was not an option.  At first I thought this was
related to the PGTK merge, but apparently someone removed the single
line in configure.ac that enables the Motif build some time last year.

After adding it back, the Motif build works perfectly on both master and
emacs-28.  So I see no harm in reenabling it (possibly in the release
branch as well.)

If people are concerned about the Motif support being a maintenance
burden, then no worries: you will be free to break the Motif build
whenever you want, and I will notice and fix the lossage.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  2:04 ` Motif support Po Lu
@ 2021-12-19  7:05   ` Eli Zaretskii
  2021-12-19  7:14     ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-19  7:05 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel

> From: Po Lu <luangruo@yahoo.com>
> Date: Sun, 19 Dec 2021 10:04:58 +0800
> 
> `--with-x-toolkit=motif' is documented in INSTALL, but configure
> complained that it was not an option.  At first I thought this was
> related to the PGTK merge, but apparently someone removed the single
> line in configure.ac that enables the Motif build some time last year.
> 
> After adding it back, the Motif build works perfectly on both master and
> emacs-28.  So I see no harm in reenabling it (possibly in the release
> branch as well.)
> 
> If people are concerned about the Motif support being a maintenance
> burden, then no worries: you will be free to break the Motif build
> whenever you want, and I will notice and fix the lossage.

The Motif support was deliberately removed after a long discussion,
which started here:

  https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00768.html

The fact that it wasn't removed from INSTALL is a mistake that should
be fixed.

I don't think we want to reinstate Motif support.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:05   ` Eli Zaretskii
@ 2021-12-19  7:14     ` Po Lu
  2021-12-19  7:35       ` Po Lu
                         ` (3 more replies)
  0 siblings, 4 replies; 168+ messages in thread
From: Po Lu @ 2021-12-19  7:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> I don't think we want to reinstate Motif support.

The code still works perfectly: reinstating that line allowed me to
configure and build a functioning Motif Emacs, even with new features
such as XInput2.

The Motif build also has some technical advantages over others these
days.  For example, Motif at present has the only working toolkit
scrollbars on X where the thumb size is adjusted when it is dragged.

I spent a while trying to fix bug#51343 a few weeks ago and didn't get
anywhere, and implementing toolkit scrollbars correctly on GTK isn't
possible anyway, as the GTK developers don't want programs to control
the thumb size.

Icon window menus on mwm also work correctly only with Motif Emacs.

Also, I think that discussion boiled down to "let's remove it and see if
anyone notices"... well, I noticed :)

It won't hurt to keep that code, especially since nobody has managed to
break in close to a year since it was disabled, even with large features
such as XInput2 and the xwidgets update.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:14     ` Po Lu
@ 2021-12-19  7:35       ` Po Lu
  2021-12-19  7:50       ` Eli Zaretskii
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-19  7:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> It won't hurt to keep that code, especially since nobody has managed
> to break in close to a year since it was disabled, even with large
> features such as XInput2 and the xwidgets update.

I find most of the discussion alarming on other fronts as well.  The
PGTK branch is hardly ready to become the default, much less replace the
existing X and GTK 3 build.  People are also talking about removing
support for Xft and lwlib!

There are quite a few features that the PGTK build cannot, by design,
support.  Aside from the ones I listed earlier, there's also:

  - The inability to support session management.  (To accomplish that
    with only GTK, you have to use GtkApplication, whose architecture is
    simply incompatible with Emacs.)
  - The inability to understand X resources.
  - The inability to support popular existing packages, such as EXWM.
  - The inability to have `yank-media' work.  (Though this can probably
    be fixed.)

There are also a few other limitations shared by both the cairo and PGTK
builds:

  - The inability to function correctly without the X Render Extension.
  - The inability to work at all with a pseudo color visual, or a
    private colormap, because Cairo was not designed to work this way.

The last problem means Xft is the only way to get FreeType fonts on a
server using a pseudo color visual.  This feature is often used to get
better performance on X running over the network, so removing it would
be a very bad idea.  It's okay to trade a few crashes when loading color
fonts for this functionality, as long as it isn't the default build
configuration.

From personal experience, there are a few more, but I can't list them
off-hand right now.

In short: please don't rush to remove either the existing GTK build, Xft
support, or the lwlib build, or the non-Cairo X build.  They are still
useful, and more importantly, there is no reason at all to rush things.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:14     ` Po Lu
  2021-12-19  7:35       ` Po Lu
@ 2021-12-19  7:50       ` Eli Zaretskii
  2021-12-19  7:56         ` Bozhidar Batsov
  2021-12-19 10:28         ` Lars Ingebrigtsen
  2021-12-19  8:48       ` Dmitry Gutov
  2021-12-19 10:14       ` martin rudalics
  3 siblings, 2 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-19  7:50 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel

> From: Po Lu <luangruo@yahoo.com>
> Cc: emacs-devel@gnu.org
> Date: Sun, 19 Dec 2021 15:14:30 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > I don't think we want to reinstate Motif support.
> 
> The code still works perfectly: reinstating that line allowed me to
> configure and build a functioning Motif Emacs, even with new features
> such as XInput2.

We didn't remove Motif because it was broken, we removed it because
the consensus was it was relatively unused and unsupported by distros.

> It won't hurt to keep that code, especially since nobody has managed to
> break in close to a year since it was disabled, even with large features
> such as XInput2 and the xwidgets update.

I don't like to go back on our decisions except if they turn out to be
grave mistakes.  So, unless there are very good reasons to reinstate
Motif support, I'd like to leave it unsupported.

Let's see what others think about this.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:50       ` Eli Zaretskii
@ 2021-12-19  7:56         ` Bozhidar Batsov
  2021-12-19  9:12           ` Po Lu
  2021-12-19 10:28         ` Lars Ingebrigtsen
  1 sibling, 1 reply; 168+ messages in thread
From: Bozhidar Batsov @ 2021-12-19  7:56 UTC (permalink / raw)
  To: Emacs Devel

[-- Attachment #1: Type: text/plain, Size: 1585 bytes --]

Emacs is already huge and I think Motif is pretty much dead at this point (I think I haven't seen any Motif-based apps in 10+ years), which makes Motif support in Emacs dead weight IMO. A case can be made for keeping everything indefinitely, but I think the practical approach is to focus on what matters (is used) the most and shed the rest for the sake of simplicity and easier long-term maintenance.

Having less code is almost always better, so I don't agree with the assessment that keeping some legacy code around won't hurt. Less is more. 

On Sun, Dec 19, 2021, at 9:50 AM, Eli Zaretskii wrote:
> > From: Po Lu <luangruo@yahoo.com>
> > Cc: emacs-devel@gnu.org
> > Date: Sun, 19 Dec 2021 15:14:30 +0800
> > 
> > Eli Zaretskii <eliz@gnu.org> writes:
> > 
> > > I don't think we want to reinstate Motif support.
> > 
> > The code still works perfectly: reinstating that line allowed me to
> > configure and build a functioning Motif Emacs, even with new features
> > such as XInput2.
> 
> We didn't remove Motif because it was broken, we removed it because
> the consensus was it was relatively unused and unsupported by distros.
> 
> > It won't hurt to keep that code, especially since nobody has managed to
> > break in close to a year since it was disabled, even with large features
> > such as XInput2 and the xwidgets update.
> 
> I don't like to go back on our decisions except if they turn out to be
> grave mistakes.  So, unless there are very good reasons to reinstate
> Motif support, I'd like to leave it unsupported.
> 
> Let's see what others think about this.
> 
> 

[-- Attachment #2: Type: text/html, Size: 2369 bytes --]

^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:14     ` Po Lu
  2021-12-19  7:35       ` Po Lu
  2021-12-19  7:50       ` Eli Zaretskii
@ 2021-12-19  8:48       ` Dmitry Gutov
  2021-12-19  9:13         ` Po Lu
  2021-12-19 10:14       ` martin rudalics
  3 siblings, 1 reply; 168+ messages in thread
From: Dmitry Gutov @ 2021-12-19  8:48 UTC (permalink / raw)
  To: Po Lu, Eli Zaretskii; +Cc: emacs-devel

On 19.12.2021 10:14, Po Lu wrote:
> The Motif build also has some technical advantages over others these
> days.  For example, Motif at present has the only working toolkit
> scrollbars on X where the thumb size is adjusted when it is dragged.

What about the Lucid build?

Last I checked, they had been very similar.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:56         ` Bozhidar Batsov
@ 2021-12-19  9:12           ` Po Lu
  2021-12-19 10:38             ` Óscar Fuentes
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-19  9:12 UTC (permalink / raw)
  To: Bozhidar Batsov; +Cc: Emacs Devel

"Bozhidar Batsov" <bozhidar@batsov.dev> writes:

> Emacs is already huge and I think Motif is pretty much dead at this
> point (I think I haven't seen any Motif-based apps in 10+ years),
> which makes Motif support in Emacs dead weight IMO.

~2 years ago I was involved in the development of a Motif based ORM
program, so I have to disagree here.

> Having less code is almost always better, so I don't agree with the
> assessment that keeping some legacy code around won't hurt. Less is
> more.

Not if nobody else but me has to worry about it.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  8:48       ` Dmitry Gutov
@ 2021-12-19  9:13         ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-19  9:13 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Eli Zaretskii, emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> On 19.12.2021 10:14, Po Lu wrote:
>> The Motif build also has some technical advantages over others these
>> days.  For example, Motif at present has the only working toolkit
>> scrollbars on X where the thumb size is adjusted when it is dragged.
>
> What about the Lucid build?

The Lucid build doesn't have it's own toolkit scroll bars, it uses
whatever is available.

Xaw3d scroll bars (the only toolkit scrollbars that are available these
days) are broken: see bug#51343.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:14     ` Po Lu
                         ` (2 preceding siblings ...)
  2021-12-19  8:48       ` Dmitry Gutov
@ 2021-12-19 10:14       ` martin rudalics
  2021-12-20  0:15         ` Madhu
  3 siblings, 1 reply; 168+ messages in thread
From: martin rudalics @ 2021-12-19 10:14 UTC (permalink / raw)
  To: Po Lu, Eli Zaretskii; +Cc: emacs-devel

 >> I don't think we want to reinstate Motif support.
 >
 > The code still works perfectly: reinstating that line allowed me to
 > configure and build a functioning Motif Emacs, even with new features
 > such as XInput2.

I am building with Motif regularly ever since support for it was dropped
and still think it comes up as the best graphical build on GNU/Linux.

 > The Motif build also has some technical advantages over others these
 > days.  For example, Motif at present has the only working toolkit
 > scrollbars on X where the thumb size is adjusted when it is dragged.
 >
 > I spent a while trying to fix bug#51343 a few weeks ago and didn't get
 > anywhere, and implementing toolkit scrollbars correctly on GTK isn't
 > possible anyway, as the GTK developers don't want programs to control
 > the thumb size.

As someone who spent considerable time to control the appearance of
scroll bars and tooltips via gtk.css and eventually gave up, I can only
concur.  We have, for example, bug reports that the GTK slider width
cannot be controlled by Emacs.  Unfortunately, GTK (and GNOME) settings
are sometimes considered as God-given here, something an earthly Emacser
is not supposed to contest.

 > Icon window menus on mwm also work correctly only with Motif Emacs.
 >
 > Also, I think that discussion boiled down to "let's remove it and see if
 > anyone notices"... well, I noticed :)
 >
 > It won't hurt to keep that code, especially since nobody has managed to
 > break in close to a year since it was disabled, even with large features
 > such as XInput2 and the xwidgets update.

It's not too late (so far nobody bothered to change the Wikipedia entry

   GNU Emacs runs both on text terminals and in graphical user interface
   (GUI) environments. On Unix-like operating systems, GNU Emacs can use
   the X Window System to produce its GUI either directly using Athena
   widgets or by using a "widget toolkit" such as Motif, LessTif, or
   GTK+.

).

martin



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  7:50       ` Eli Zaretskii
  2021-12-19  7:56         ` Bozhidar Batsov
@ 2021-12-19 10:28         ` Lars Ingebrigtsen
  2021-12-20 10:05           ` Robert Pluim
  1 sibling, 1 reply; 168+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-19 10:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Po Lu, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> I don't like to go back on our decisions except if they turn out to be
> grave mistakes.  So, unless there are very good reasons to reinstate
> Motif support, I'd like to leave it unsupported.
>
> Let's see what others think about this.

Well, we ended the thread with:

> > We could just remove support for '--with-x-toolkit=motif' from
> > configure.ac for a while, and see if anyone complains. If not, we rip
> > out the actual Motif code.
> 
> Sounds like a plan.

And now we've had (at least) a couple complaints, so perhaps we should
reconsider.  It did take almost a full year, so the complaints aren't...
vigorous, though.

(I don't have an opinion myself, one way or another.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19  9:12           ` Po Lu
@ 2021-12-19 10:38             ` Óscar Fuentes
  2021-12-19 10:41               ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-19 10:38 UTC (permalink / raw)
  To: emacs-devel

Po Lu <luangruo@yahoo.com> writes:

>> Having less code is almost always better, so I don't agree with the
>> assessment that keeping some legacy code around won't hurt. Less is
>> more.
>
> Not if nobody else but me has to worry about it.

Anyone who reads or hacks the sources has to worry about it.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:38             ` Óscar Fuentes
@ 2021-12-19 10:41               ` Po Lu
  2021-12-19 10:52                 ` Óscar Fuentes
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-19 10:41 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> Po Lu <luangruo@yahoo.com> writes:
>
>>> Having less code is almost always better, so I don't agree with the
>>> assessment that keeping some legacy code around won't hurt. Less is
>>> more.
>>
>> Not if nobody else but me has to worry about it.
>
> Anyone who reads or hacks the sources has to worry about it.

You don't have to.  The Motif code is well contained behind Motif
conditionals, and it is also conceptually simple.

And as of this moment, you have no obligation to keep the Motif build
working after hacking: I volunteer myself to keep it working.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:41               ` Po Lu
@ 2021-12-19 10:52                 ` Óscar Fuentes
  2021-12-19 10:58                   ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-19 10:52 UTC (permalink / raw)
  To: emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>
>> Po Lu <luangruo@yahoo.com> writes:
>>
>>>> Having less code is almost always better, so I don't agree with the
>>>> assessment that keeping some legacy code around won't hurt. Less is
>>>> more.
>>>
>>> Not if nobody else but me has to worry about it.
>>
>> Anyone who reads or hacks the sources has to worry about it.
>
> You don't have to.  The Motif code is well contained behind Motif
> conditionals,

The hacker must track those conditionals while reading the source.

> and it is also conceptually simple.
>
> And as of this moment, you have no obligation to keep the Motif build
> working after hacking: I volunteer myself to keep it working.

Somehow we must ensure that the existing and future hackers should know
about this ;-)

What I've read from you about motif on this thread convinced me to give
it a try, but let's face it, the display code is rotten spaghetti (much
of Emacs' C sources are rotten spaghetti, but the display part is far
worse) and removing some of the umpteen backends would be a start to
improve things.

If Motif is so good, maybe remove Lucid? (which is what I use, BTW)




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:52                 ` Óscar Fuentes
@ 2021-12-19 10:58                   ` Po Lu
  2021-12-19 11:07                     ` Po Lu
  2021-12-19 11:25                     ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: Po Lu @ 2021-12-19 10:58 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> The hacker must track those conditionals while reading the source.

Which takes very little effort.

> Somehow we must ensure that the existing and future hackers should know
> about this ;-)

If you are right and nobody cares about Motif, then they won't bother to
keep the Motif port building either.

> What I've read from you about motif on this thread convinced me to give
> it a try, but let's face it, the display code is rotten spaghetti (much
> of Emacs' C sources are rotten spaghetti, but the display part is far
> worse) and removing some of the umpteen backends would be a start to
> improve things.

Removing tiny pieces of code, most of which are tucked away in lwlib/,
will not improve the "rotten spaghetti" that is the display code (which
is already a statement I disagree with.)

> If Motif is so good, maybe remove Lucid?

"Lucid" is just the widget library used to interface with (partially)
both Motif and the variants of Athena widgets.

Both the Motif build and the "Lucid" build use the Lucid library.  Even
the GTK build, PGTK port, NS port and W32 port use parts of the Lucid
library for handling menus.  The only GUI port that is completely free
of lwlib is the Haiku port.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:58                   ` Po Lu
@ 2021-12-19 11:07                     ` Po Lu
  2021-12-19 11:29                       ` Óscar Fuentes
  2021-12-19 11:25                     ` Eli Zaretskii
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-19 11:07 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>
>> The hacker must track those conditionals while reading the source.
>
> Which takes very little effort.
>
>> Somehow we must ensure that the existing and future hackers should know
>> about this ;-)
>
> If you are right and nobody cares about Motif, then they won't bother to
> keep the Motif port building either.
>
>> What I've read from you about motif on this thread convinced me to give
>> it a try, but let's face it, the display code is rotten spaghetti (much
>> of Emacs' C sources are rotten spaghetti, but the display part is far
>> worse) and removing some of the umpteen backends would be a start to
>> improve things.
>
> Removing tiny pieces of code, most of which are tucked away in lwlib/,
> will not improve the "rotten spaghetti" that is the display code (which
> is already a statement I disagree with.)
>
>> If Motif is so good, maybe remove Lucid?
>
> "Lucid" is just the widget library used to interface with (partially)
> both Motif and the variants of Athena widgets.
>
> Both the Motif build and the "Lucid" build use the Lucid library.  Even
> the GTK build, PGTK port, NS port and W32 port use parts of the Lucid
> library for handling menus.  The only GUI port that is completely free
> of lwlib is the Haiku port.

In short: you (and many other people who have not worked with the X
port) are grossly overstating the amount of work needed to keep the
Motif build working, and how difficult it is to comprehend.

New hackers will likely have much more trouble understanding the GTK
code than the code for a well-behaved X toolkit such as Motif.  IME,
they will also have more difficulties understanding X in general, which
is quite different from other contemporary window systems.

For example, do you really understand what we do in `XTflash' with the
various versions of GTK and Cairo?

I apologize in advance if this reply appears to have an accausatory
tone: if it does, I didn't intend for it to be that way, but I couldn't
find another wording that would get the point accross.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:58                   ` Po Lu
  2021-12-19 11:07                     ` Po Lu
@ 2021-12-19 11:25                     ` Eli Zaretskii
  2021-12-19 11:29                       ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-19 11:25 UTC (permalink / raw)
  To: Po Lu; +Cc: ofv, emacs-devel

> From: Po Lu <luangruo@yahoo.com>
> Cc: emacs-devel@gnu.org
> Date: Sun, 19 Dec 2021 18:58:01 +0800
> 
> Both the Motif build and the "Lucid" build use the Lucid library.  Even
> the GTK build, PGTK port, NS port and W32 port use parts of the Lucid
> library for handling menus.  The only GUI port that is completely free
> of lwlib is the Haiku port.

I think you are mistaken: the MS-Windows build doesn't use lwlib
code.  Its menu code is entirely native w32 code, see w32menu.c.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 11:07                     ` Po Lu
@ 2021-12-19 11:29                       ` Óscar Fuentes
  2021-12-19 11:39                         ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-19 11:29 UTC (permalink / raw)
  To: emacs-devel

Po Lu <luangruo@yahoo.com> writes:

>> "Lucid" is just the widget library used to interface with (partially)
>> both Motif and the variants of Athena widgets.
>>
>> Both the Motif build and the "Lucid" build use the Lucid library.  Even
>> the GTK build, PGTK port, NS port and W32 port use parts of the Lucid
>> library for handling menus.  The only GUI port that is completely free
>> of lwlib is the Haiku port.
>
> In short: you (and many other people who have not worked with the X
> port)

I looked at the sources and quickly decided that I would only work with
that under duress.

> are grossly overstating the amount of work needed to keep the
> Motif build working, and how difficult it is to comprehend.

I'm afraid that on this topic there are a lot of self-fulling prophecies
and selection biases. Whenever somebody mentions the complexity of the
source, some seasoned hacker pops up saying that the assessment is
wrong, without realizing that he is precisely the worst placed person to
dispute the assessment.

> New hackers will likely have much more trouble understanding the GTK
> code than the code for a well-behaved X toolkit such as Motif.

New hackers probably are more comfortable with GTK than with legacy X
libraries.

> IME, they will also have more difficulties understanding X in general,
> which is quite different from other contemporary window systems.

Yes.

> For example, do you really understand what we do in `XTflash' with the
> various versions of GTK and Cairo?

I prefer to keep those horrible thoughts out of my mind ;-)

> I apologize in advance if this reply appears to have an accausatory
> tone: if it does, I didn't intend for it to be that way, but I couldn't
> find another wording that would get the point accross.

No worries, I understand your position. On the past I supported Eli he
objected to removing the DOS port, so I say the same on your case: if
that is the price for keeping you hacking on Emacs, it is a good
trade-off. But let's not pretend that all that extra complexity has no
impact on others.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 11:25                     ` Eli Zaretskii
@ 2021-12-19 11:29                       ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-19 11:29 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: ofv, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Both the Motif build and the "Lucid" build use the Lucid library.  Even
>> the GTK build, PGTK port, NS port and W32 port use parts of the Lucid
                                                      ^^^^^
>> library for handling menus.  The only GUI port that is completely free
>> of lwlib is the Haiku port.

> I think you are mistaken: the MS-Windows build doesn't use lwlib
> code.  Its menu code is entirely native w32 code, see w32menu.c.

It uses some of the lwlib code (mostly related to the data structure
`struct widget_value'), which is what I meant by "parts" here.  The
Haiku port doesn't, and the parts of menu.c that relate to the
construction of those data structures isn't built there either.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 11:29                       ` Óscar Fuentes
@ 2021-12-19 11:39                         ` Po Lu
  2021-12-19 12:05                           ` Óscar Fuentes
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-19 11:39 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> I looked at the sources and quickly decided that I would only work with
> that under duress.

That applies to any large code one is not used to working with, be it
based on GTK or Motif.

> New hackers probably are more comfortable with GTK than with legacy X
> libraries.

Please take a look at `XTflash' and decide whether or not you are
comfortable with the GTK code: it is representative of the many hoops we
go through in order to work with GTK.  Ditto for the pgtk port, which I
found to somehow not be much better in this aspect.

> No worries, I understand your position. On the past I supported Eli he
> objected to removing the DOS port, so I say the same on your case: if
> that is the price for keeping you hacking on Emacs, it is a good
> trade-off. But let's not pretend that all that extra complexity has no
> impact on others.

I'm not pretending that any "extra complexity" has no impact on others,
I'm saying that the Motif support adds so negligible an amount of
complexity that it's not even possible to quantify whether or not it's
extraneous.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 11:39                         ` Po Lu
@ 2021-12-19 12:05                           ` Óscar Fuentes
  2021-12-19 12:23                             ` Po Lu
  2021-12-19 13:02                             ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-19 12:05 UTC (permalink / raw)
  To: emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>
>> I looked at the sources and quickly decided that I would only work with
>> that under duress.
>
> That applies to any large code one is not used to working with, be it
> based on GTK or Motif.

I disagree. I worked on some code bases much larger than Emacs' C part,
with an application domain much more technical and specialized, and
achieved productivity on non-trivial tasks after a few hours of study.
Those are projects that put a lot of thought on code architecture, both
macro and micro, with no tolerance for long-lived hacks or "somehow this
seems to work" changes.

Emacs does not fit that description at all. And please do not take this
as a criticism towards the contributors, I have much respect for their
work seeing how stable Emacs is.

>> New hackers probably are more comfortable with GTK than with legacy X
>> libraries.
>
> Please take a look at `XTflash' and decide whether or not you are
> comfortable with the GTK code: it is representative of the many hoops we
> go through in order to work with GTK.  Ditto for the pgtk port, which I
> found to somehow not be much better in this aspect.

Well, we always can pick a counter-example where GTK simplifies the job,
can't we? What XTflash does is somewhat weird, but for other more
mundane tasks GTK can be better. Or so I'll guess, since I don't know
that library and I've heard lots of times that it is a bit difficult to
work with in comparison with other contemporary toolkits.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 12:05                           ` Óscar Fuentes
@ 2021-12-19 12:23                             ` Po Lu
  2021-12-19 13:02                             ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-19 12:23 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> Po Lu <luangruo@yahoo.com> writes:

> I disagree. I worked on some code bases much larger than Emacs' C part,
> with an application domain much more technical and specialized, and
> achieved productivity on non-trivial tasks after a few hours of study.
> Those are projects that put a lot of thought on code architecture, both
> macro and micro, with no tolerance for long-lived hacks or "somehow this
> seems to work" changes.

If you spend a week of study on X-Windows and Xt, along with spending
some time to read the comments in keyboard.c, you will be able to
understand the code in the X port fairly well.  I've personally seen
both the "no tolerance for long-lived-hacks" and the "you don't have to
understand it to work on it" attitudes destroy decades-old pieces of
software, so I don't recommend following it unconditionally.

X is a very complicated system, so people interested in working on its
support in Emacs are recommended to spend at least a week of study on it
beforehand, just as they must also study C.

Either way, the discussion has turned to a tangent.  The original point
was that the complexity added by Motif is too negligble to be considered
extra.

> Well, we always can pick a counter-example where GTK simplifies the job,
> can't we? What XTflash does is somewhat weird, but for other more
> mundane tasks GTK can be better. Or so I'll guess, since I don't know
> that library and I've heard lots of times that it is a bit difficult to
> work with in comparison with other contemporary toolkits.

That sort of counter-example doesn't exist in the code in both kinds of
GTK builds, IME.  Both types of GTK build consistently need large
amounts of hacks to work correctly, which are usually one or to five
lines of straightforward code in an Xt or a no-toolkit build.

For example, you can look at the function `xg_update_scrollbar_pos', and
compare it to the code `XTset_vertical_scroll_bar' runs on an Xt or
no-toolkit scroll bars build:

This is run on Xt:

    XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar),
                       left, top, width, max (height, 1), 0);

And this is run on when there are no toolkit scroll bars:

      /* Move/size the scroll bar window.  */
      if (mask)
	{
	  XWindowChanges wc;

	  wc.x = left;
	  wc.y = top;
	  wc.width = width;
	  wc.height = height;
	  XConfigureWindow (FRAME_X_DISPLAY (f), bar->x_window,
			    mask, &wc);
	}

Both of which are more straightforward to understand and work with than
`xg_update_scrollbar_pos', where even the tiniest detail can cause the
function to stop working correctly.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 12:05                           ` Óscar Fuentes
  2021-12-19 12:23                             ` Po Lu
@ 2021-12-19 13:02                             ` Eli Zaretskii
  2021-12-19 14:15                               ` Óscar Fuentes
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-19 13:02 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Sun, 19 Dec 2021 13:05:23 +0100
> 
> I worked on some code bases much larger than Emacs' C part,
> with an application domain much more technical and specialized, and
> achieved productivity on non-trivial tasks after a few hours of study.
> Those are projects that put a lot of thought on code architecture, both
> macro and micro, with no tolerance for long-lived hacks or "somehow this
> seems to work" changes.

Either those projects were redesigned and rewritten every few years,
or they stopped getting significant changes after several years.

Emacs has its major part rewritten only very rarely (the display
engine in Emacs 21 and the handling of non-ASCII in Emacs 20 and then
again in Emacs 23 are basically the only examples that come to mind).
Emacs is also a highly interactive program with many extensions "in
the wild", so it must stay compatible throughout the changes.  And
finally, I very much doubt that any other project supports so many
different UI frameworks.

These differences explain why you don't frequently see the complexity
we have in Emacs.

And please don't take this as a defense of what we have, it's just a
statement of some facts we should keep in mind.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 13:02                             ` Eli Zaretskii
@ 2021-12-19 14:15                               ` Óscar Fuentes
  2021-12-19 14:27                                 ` dick
  2021-12-19 15:10                                 ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-19 14:15 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> I worked on some code bases much larger than Emacs' C part,
>> with an application domain much more technical and specialized, and
>> achieved productivity on non-trivial tasks after a few hours of study.
>> Those are projects that put a lot of thought on code architecture, both
>> macro and micro, with no tolerance for long-lived hacks or "somehow this
>> seems to work" changes.
>
> Either those projects were redesigned and rewritten every few years,

Yes.

Well, sort of. Not really rewritten as in "let's scrap everything an
begin anew", but there were no misgivings about rethinking, changing and
scraping things when they seemed to start going out of hands.

> or they stopped getting significant changes after several years.
>
> Emacs has its major part rewritten only very rarely (the display
> engine in Emacs 21 and the handling of non-ASCII in Emacs 20 and then
> again in Emacs 23 are basically the only examples that come to mind).
> Emacs is also a highly interactive program with many extensions "in
> the wild", so it must stay compatible throughout the changes.  And
> finally, I very much doubt that any other project supports so many
> different UI frameworks.

AFAIK a lot of the complexity on the display engine comes from
shoehorning a GUI on top of a TUI design.

> These differences explain why you don't frequently see the complexity
> we have in Emacs.
>
> And please don't take this as a defense of what we have, it's just a
> statement of some facts we should keep in mind.

Agreed. If the technical exigence on Emacs were as high as in those
other projects, probably Emacs would be dead by now for lack of
contributors. Different environments, different applications, different
state of mind of contributors (vocational payjob vs scratch-an-itch on
free time), etc.

That said, the combination of micro-changes (features plus bug fixes)
combined with the principle of "if it works, don't fix it" is too easily
perceptible on Emacs :-)




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 14:15                               ` Óscar Fuentes
@ 2021-12-19 14:27                                 ` dick
  2021-12-19 15:10                                 ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: dick @ 2021-12-19 14:27 UTC (permalink / raw)
  Cc: emacs-devel

ÓF> AFAIK a lot of the complexity on the display engine comes from
ÓF> shoehorning a GUI on top of a TUI design.

Yes, although to someone's credit, GUI was retrofitted on TUI as well as
one could expect.

ÓF> That said, the combination of micro-changes

The micro-changes which minimize impact while maximizing obfuscation
perpetuate a vicious cycle of increasing incomprehensibility and
recalcitrance towards taking one step back for two steps forward.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 14:15                               ` Óscar Fuentes
  2021-12-19 14:27                                 ` dick
@ 2021-12-19 15:10                                 ` Eli Zaretskii
  2021-12-20  2:12                                   ` Aiko Kyle
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-19 15:10 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Sun, 19 Dec 2021 15:15:03 +0100
> 
> > Emacs has its major part rewritten only very rarely (the display
> > engine in Emacs 21 and the handling of non-ASCII in Emacs 20 and then
> > again in Emacs 23 are basically the only examples that come to mind).
> > Emacs is also a highly interactive program with many extensions "in
> > the wild", so it must stay compatible throughout the changes.  And
> > finally, I very much doubt that any other project supports so many
> > different UI frameworks.
> 
> AFAIK a lot of the complexity on the display engine comes from
> shoehorning a GUI on top of a TUI design.

That's a myth that doesn't endure meeting with the reality.  Just read
the code.  If anything, the Emacs 21 display engine is the other way
around: TTY display built on top of the GUI display.

> That said, the combination of micro-changes (features plus bug fixes)
> combined with the principle of "if it works, don't fix it" is too easily
> perceptible on Emacs :-)

There's no other policy that would keep Emacs so stable for so long.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:14       ` martin rudalics
@ 2021-12-20  0:15         ` Madhu
  2021-12-20  1:42           ` Po Lu
  2021-12-20  1:42           ` Po Lu
  0 siblings, 2 replies; 168+ messages in thread
From: Madhu @ 2021-12-20  0:15 UTC (permalink / raw)
  To: emacs-devel


* martin rudalics <13ceca98-ccb5-8ed7-6d1f-4921e9b2554a@gmx.at> :
Wrote on Sun, 19 Dec 2021 11:14:59 +0100:

>>> I don't think we want to reinstate Motif support.
>>
>> The code still works perfectly: reinstating that line allowed me to
>> configure and build a functioning Motif Emacs, even with new features
>> such as XInput2.
>
> I am building with Motif regularly ever since support for it was dropped
> and still think it comes up as the best graphical build on GNU/Linux.

Same here.  And I hear there is an opensource revival of CDE, which
should be encouraged.

It always helps to test "standard emacs" behaviour on another toolkit
rather than letting the behaviour slide

>> The Motif build also has some technical advantages over others these
>> days.  For example, Motif at present has the only working toolkit
>> scrollbars on X where the thumb size is adjusted when it is dragged.
>>
>> I spent a while trying to fix bug#51343 a few weeks ago and didn't get
>> anywhere, and implementing toolkit scrollbars correctly on GTK isn't
>> possible anyway, as the GTK developers don't want programs to control
>> the thumb size.
>
> As someone who spent considerable time to control the appearance of
> scroll bars and tooltips via gtk.css and eventually gave up, I can only
> concur.  We have, for example, bug reports that the GTK slider width
> cannot be controlled by Emacs.  Unfortunately, GTK (and GNOME) settings
> are sometimes considered as God-given here, something an earthly Emacser
> is not supposed to contest.
>
>> Icon window menus on mwm also work correctly only with Motif Emacs.
>>
>> Also, I think that discussion boiled down to "let's remove it and see if
>> anyone notices"... well, I noticed :)
>>
>> It won't hurt to keep that code, especially since nobody has managed to
>> break in close to a year since it was disabled, even with large features
>> such as XInput2 and the xwidgets update.
>
> It's not too late (so far nobody bothered to change the Wikipedia entry
>
>   GNU Emacs runs both on text terminals and in graphical user interface
>   (GUI) environments. On Unix-like operating systems, GNU Emacs can use
>   the X Window System to produce its GUI either directly using Athena
>   widgets or by using a "widget toolkit" such as Motif, LessTif, or
>   GTK+.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  0:15         ` Madhu
@ 2021-12-20  1:42           ` Po Lu
  2021-12-20  1:42           ` Po Lu
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-20  1:42 UTC (permalink / raw)
  To: Madhu; +Cc: emacs-devel, Lars Ingebrigtsen

Madhu <enometh@meer.net> writes:

> Same here.  And I hear there is an opensource revival of CDE, which
> should be encouraged.
>
> It always helps to test "standard emacs" behaviour on another toolkit
> rather than letting the behaviour slide

Lars Ingebrigtsen <larsi@gnus.org> writes:

> > > We could just remove support for '--with-x-toolkit=motif' from
> > > configure.ac for a while, and see if anyone complains. If not, we rip
> > > out the actual Motif code.
> > 
> > Sounds like a plan.
> 
> And now we've had (at least) a couple complaints, so perhaps we should
> reconsider.  It did take almost a full year, so the complaints
> aren't...  vigorous, though.

For the reasons mentioned above, and also because Martin and I think
someone else was also using the Motif build even though support was
dropped, I think we should back out of this change.  It's not too late,
and I don't think the discussion ever ended conclusively either.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  0:15         ` Madhu
  2021-12-20  1:42           ` Po Lu
@ 2021-12-20  1:42           ` Po Lu
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-20  1:42 UTC (permalink / raw)
  To: Madhu; +Cc: emacs-devel, Lars Ingebrigtsen

Madhu <enometh@meer.net> writes:

> Same here.  And I hear there is an opensource revival of CDE, which
> should be encouraged.
>
> It always helps to test "standard emacs" behaviour on another toolkit
> rather than letting the behaviour slide

Lars Ingebrigtsen <larsi@gnus.org> writes:

> > > We could just remove support for '--with-x-toolkit=motif' from
> > > configure.ac for a while, and see if anyone complains. If not, we rip
> > > out the actual Motif code.
> > 
> > Sounds like a plan.
> 
> And now we've had (at least) a couple complaints, so perhaps we should
> reconsider.  It did take almost a full year, so the complaints
> aren't...  vigorous, though.

For the reasons mentioned above, and also because Martin and I think
someone else was also using the Motif build even though support was
dropped, I think we should back out of this change and restore Motif
support.  It's not too late, and I don't think the discussion ever ended
conclusively either.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 15:10                                 ` Eli Zaretskii
@ 2021-12-20  2:12                                   ` Aiko Kyle
  2021-12-20  3:13                                     ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Aiko Kyle @ 2021-12-20  2:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Óscar Fuentes, Emacs developers

On Sun, Dec 19, 2021 at 8:11 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > > Emacs has its major part rewritten only very rarely (the display
> > > engine in Emacs 21 and the handling of non-ASCII in Emacs 20 and then
> > > again in Emacs 23 are basically the only examples that come to mind).
> > > Emacs is also a highly interactive program with many extensions "in
> > > the wild", so it must stay compatible throughout the changes.  And
> > > finally, I very much doubt that any other project supports so many
> > > different UI frameworks.
> >
> > AFAIK a lot of the complexity on the display engine comes from
> > shoehorning a GUI on top of a TUI design.
>
> That's a myth that doesn't endure meeting with the reality.  Just read
> the code.  If anything, the Emacs 21 display engine is the other way
> around: TTY display built on top of the GUI display.

It seems we just passed the 20th anniversary of the release of Emacs
21! Since then, I think a lot of assumptions about hardware have
changed or are changing: GPUs are now ubiquitous, hidpi is here to
stay, laptops have precision multitouch trackpads and touch displays,
the end of Dennard scaling and subsequent move towards parallel
processing for performance gains. I often wonder what emacs "core"
would look like if it were rewritten from scratch today with an
emphasis on performance. I imagine Firefox's transition of gecko to
rust components from servo over the last several years is probably a
good indication of what such a rewrite looks like for a complex
codebase.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  2:12                                   ` Aiko Kyle
@ 2021-12-20  3:13                                     ` Po Lu
  2021-12-20  4:16                                       ` Akira Kyle
  2021-12-20  4:44                                       ` Richard Stallman
  0 siblings, 2 replies; 168+ messages in thread
From: Po Lu @ 2021-12-20  3:13 UTC (permalink / raw)
  To: Aiko Kyle; +Cc: Eli Zaretskii, Óscar Fuentes, Emacs developers

Aiko Kyle <aikokyle@gmail.com> writes:

> It seems we just passed the 20th anniversary of the release of Emacs
> 21! Since then, I think a lot of assumptions about hardware have
> changed or are changing: GPUs are now ubiquitous, hidpi is here to
> stay, laptops have precision multitouch trackpads and touch displays,

None of which will require a rewrite to support.  In fact, Emacs 29
already supports precision mice, high definition displays, multitouch
trackpads, and digitizers.  On X, both the non-Cairo and Cairo builds
make use of hardware acceleration whenever available through both the
Glamor component of the X server and the X render extension.

NS also makes use of hardware acceleration, and IIUC GDI (which is used
in MS-Windows) is also hardware accelerated.

> I imagine Firefox's transition of gecko to rust components from servo
> over the last several years is probably a good indication of what such
> a rewrite looks like for a complex codebase.

Gecko is still mostly C++, and hasn't gone through much of a rewrite
either.  (But please take the discussion about Gecko to emacs-tangents.)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  3:13                                     ` Po Lu
@ 2021-12-20  4:16                                       ` Akira Kyle
  2021-12-20  4:43                                         ` Po Lu
  2021-12-20 16:54                                         ` Eli Zaretskii
  2021-12-20  4:44                                       ` Richard Stallman
  1 sibling, 2 replies; 168+ messages in thread
From: Akira Kyle @ 2021-12-20  4:16 UTC (permalink / raw)
  To: Po Lu; +Cc: Óscar Fuentes, Eli Zaretskii, Emacs developers

On Sun, Dec 19, 2021 at 8:13 PM Po Lu <luangruo@yahoo.com> wrote:
>
> Aiko Kyle <aikokyle@gmail.com> writes:
>
> > It seems we just passed the 20th anniversary of the release of Emacs
> > 21! Since then, I think a lot of assumptions about hardware have
> > changed or are changing: GPUs are now ubiquitous, hidpi is here to
> > stay, laptops have precision multitouch trackpads and touch displays,
>
> None of which will require a rewrite to support.  In fact, Emacs 29
> already supports precision mice, high definition displays, multitouch
> trackpads, and digitizers.

I know emacs supports these, my point was more about things that
didn't exist when the current architecture of the display engine was
conceived and thus assumptions that were made about hardware for the
sake of performance do not necessarily now hold with newer hardware
(for example subpixel font rendering on hidpi). I'm by no means an
expert in how the display code has evolved since then so I can't say
whether a "rewrite from scratch" of that code today would look the
same as it does now. My point about firefox is that that code looks
vastly different today than it did 20 years ago (eg with webrender and
potential other components coming from servo) because the whole
architecture had to be rethought in order to take full advantage of
hardware acceleration (and they did a lot of experimenting to figure
out the "best" architecture).

>  On X, both the non-Cairo and Cairo builds
> make use of hardware acceleration whenever available through both the
> Glamor component of the X server and the X render extension.
>
> NS also makes use of hardware acceleration, and IIUC GDI (which is used
> in MS-Windows) is also hardware accelerated.

Sure, but the question isn't a binary one (hardware accelerated vs
not) but how well is the available hardware being utilized which is a
much more difficult question to answer.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  4:16                                       ` Akira Kyle
@ 2021-12-20  4:43                                         ` Po Lu
  2021-12-20 16:54                                         ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-20  4:43 UTC (permalink / raw)
  To: Akira Kyle; +Cc: Óscar Fuentes, Eli Zaretskii, Emacs developers

Akira Kyle <akira@akirakyle.com> writes:

> I know emacs supports these, my point was more about things that
> didn't exist when the current architecture of the display engine was
> conceived and thus assumptions that were made about hardware for the
> sake of performance do not necessarily now hold with newer hardware
> (for example subpixel font rendering on hidpi).

Subpixel font rendering is not the job of Emacs, or redisplay, it's the
job of the individual terminals and font drivers.  The Cairo and macOS
drivers do a pretty good job at that at present.

> Sure, but the question isn't a binary one (hardware accelerated vs
> not) but how well is the available hardware being utilized which is a
> much more difficult question to answer.

It's utilized very well, in the case of XRender and Glamor.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  3:13                                     ` Po Lu
  2021-12-20  4:16                                       ` Akira Kyle
@ 2021-12-20  4:44                                       ` Richard Stallman
  2021-12-20  4:56                                         ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Richard Stallman @ 2021-12-20  4:44 UTC (permalink / raw)
  To: Po Lu; +Cc: aikokyle, ofv, eliz, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > 21! Since then, I think a lot of assumptions about hardware have
  > changed or are changing: GPUs are now ubiquitous, 

In the free software community, GPUs are sometimes absent or
nonfunctional.  That's because many of them require the installed
operating system to contain nonfree software, and some of us refuse
to install a system which contains that.

What this means for Emacs is that we need to keep it working well
on the machines where some or all of the GPU's functionality is absent.
(I won't say "missing".)

Someday we will have processors that with GPUs that don't
require users to install nonfree software, and that problem will
cease.  But I don't expect that to happen next year.

  > None of which will require a rewrite to support.  In fact, Emacs 29
  > already supports precision mice, high definition displays, multitouch
  > trackpads, and digitizers.  On X, both the non-Cairo and Cairo builds
  > make use of hardware acceleration whenever available through both the
  > Glamor component of the X server and the X render extension.

We should take care not to add features to Emacs which _need_ the
acceleration, because they won't work well on the machines without
graphics acceleration.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  4:44                                       ` Richard Stallman
@ 2021-12-20  4:56                                         ` Po Lu
  2021-12-22  4:16                                           ` Richard Stallman
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-20  4:56 UTC (permalink / raw)
  To: Richard Stallman; +Cc: aikokyle, ofv, eliz, emacs-devel

Richard Stallman <rms@gnu.org> writes:

> We should take care not to add features to Emacs which _need_ the
> acceleration, because they won't work well on the machines without
> graphics acceleration.

They will both work very well without graphics acceleration and on the
machines for which free graphics drivers and firmware are available.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-19 10:28         ` Lars Ingebrigtsen
@ 2021-12-20 10:05           ` Robert Pluim
  2021-12-20 10:15             ` Lars Ingebrigtsen
                               ` (2 more replies)
  0 siblings, 3 replies; 168+ messages in thread
From: Robert Pluim @ 2021-12-20 10:05 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Po Lu, Eli Zaretskii, emacs-devel

>>>>> On Sun, 19 Dec 2021 11:28:47 +0100, Lars Ingebrigtsen <larsi@gnus.org> said:

    Lars> Well, we ended the thread with:

    >> > We could just remove support for '--with-x-toolkit=motif' from
    >> > configure.ac for a while, and see if anyone complains. If not, we rip
    >> > out the actual Motif code.
    >> 
    >> Sounds like a plan.

    Lars> And now we've had (at least) a couple complaints, so perhaps we should
    Lars> reconsider.  It did take almost a full year, so the complaints aren't...
    Lars> vigorous, though.

It looks like I wrongly assumed that the people who still build Emacs
with Motif support tracked master, and would thus all jump out and
complain instantly about my heinous crime. It looks more like they
wait for a new release, and this change is not in a released
version of Emacs (and Iʼve seen no messages from the alleged CDE
people affected by this).

If thereʼs a strong will to put it back, we can of course do so, but I
was hoping to achieve more removals of problematic display code. If
even such a small change is rejected, then I lose hope we will ever
achieve such simplifications.

Robert
-- 



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 10:05           ` Robert Pluim
@ 2021-12-20 10:15             ` Lars Ingebrigtsen
       [not found]               ` <87ee671s9o.fsf@yahoo.com>
       [not found]             ` <87a6gv1s47.fsf@yahoo.com>
  2021-12-22 15:58             ` Arthur Miller
  2 siblings, 1 reply; 168+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-20 10:15 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Po Lu, Eli Zaretskii, emacs-devel

Robert Pluim <rpluim@gmail.com> writes:

> If thereʼs a strong will to put it back, we can of course do so, but I
> was hoping to achieve more removals of problematic display code. If
> even such a small change is rejected, then I lose hope we will ever
> achieve such simplifications.

I'm all for simplifications -- the display code is indeed very
complicated, and the proliferation of #ifdefs is scary.

And there will always be protests when removing basically anything, so I
guess it's down to the number of protests, really.

In this specific instance, the number of protests has been small, and a
long time in coming.

But as I said, I don't really have much of an opinion on this specific
removal, so I'll let others decide.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
       [not found]               ` <87ee671s9o.fsf@yahoo.com>
@ 2021-12-20 10:38                 ` Lars Ingebrigtsen
  2021-12-21  1:01                   ` Po Lu
       [not found]                   ` <875yrj1ro7.fsf@yahoo.com>
  0 siblings, 2 replies; 168+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-20 10:38 UTC (permalink / raw)
  To: Po Lu; +Cc: Robert Pluim, Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> As I said, Motif is the least of the problems here.

Yes, it's not a lot of code, and that points towards keeping it.  But on
the other hand, simplification is simplification.

> I'd say the toolkit responsible for 90% of the mess we have in xterm.c
> is GTK, of which 70% is the responsibility of GTK 3.
>
> The PGTK code unfortunately suffers from the same problem, as GTK isn't
> very suited to software like Emacs.

I don't think we can avoid supporting GTK, though, so it's something we
necessarily have to live with.  The same isn't the case with Motif.

> (BTW, is everything under gnu.org down?  Anyone know why that might be
> so?  Thanks.)

Yup; it's totally down -- no mail to @gnu.org/@fsf.org is being
delivered now.  (Except to debbugs.gnu.org, but last time this happened,
that server accepted mail and then discarded it, so I'll probably have
to resend all the bug-related mail I've been doing today.  *sigh*)

https://www.isitdownrightnow.com/gnu.org.html

and the status page isn't saying anything, 

https://hostux.social/@fsfstatus

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
       [not found]             ` <87a6gv1s47.fsf@yahoo.com>
@ 2021-12-20 11:09               ` Robert Pluim
  2021-12-20 19:32                 ` Sean Whitton
  0 siblings, 1 reply; 168+ messages in thread
From: Robert Pluim @ 2021-12-20 11:09 UTC (permalink / raw)
  To: Po Lu; +Cc: Lars Ingebrigtsen, Eli Zaretskii, emacs-devel

>>>>> On Mon, 20 Dec 2021 18:35:20 +0800, Po Lu <luangruo@yahoo.com> said:

    Po> I think only a small percentage of Emacs users track master.  Most of us
    Po> probably wait for the pretests to come out before complaining about this
    Po> or that.

Emacs *users* yes. I expected packagers to live a bit closer to the
bleeding edge.

    >> If thereʼs a strong will to put it back, we can of course do so, but I
    >> was hoping to achieve more removals of problematic display code. If
    >> even such a small change is rejected, then I lose hope we will ever
    >> achieve such simplifications.

    Po> I've been slowly working on cleaning up xterm.c, and from that
    Po> experience it doesn't seem like removing Motif support will achieve any
    Po> real simplification.  But there are lots of GTK-related things that
    Po> simply aren't necessary anymore, and some of the workarounds for GTK 3
    Po> we used to have need to be updated for recent developments in the GTK
    Po> world.

Thatʼs good to hear. Iʼd still like to remove eg Xft support

    Po> So again, I hope we will agree to reinstate Motif support.

Thatʼs not up to me, but Iʼm not going to object either.

Robert
-- 



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  4:16                                       ` Akira Kyle
  2021-12-20  4:43                                         ` Po Lu
@ 2021-12-20 16:54                                         ` Eli Zaretskii
  2021-12-20 19:01                                           ` Stefan Monnier
  2021-12-20 21:07                                           ` Akira Kyle
  1 sibling, 2 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-20 16:54 UTC (permalink / raw)
  To: Akira Kyle; +Cc: luangruo, ofv, emacs-devel

> From: Akira Kyle <akira@akirakyle.com>
> Date: Sun, 19 Dec 2021 21:16:07 -0700
> Cc: Eli Zaretskii <eliz@gnu.org>, Óscar Fuentes <ofv@wanadoo.es>, 
> 	Emacs developers <emacs-devel@gnu.org>
> 
> I know emacs supports these, my point was more about things that
> didn't exist when the current architecture of the display engine was
> conceived and thus assumptions that were made about hardware for the
> sake of performance do not necessarily now hold with newer hardware
> (for example subpixel font rendering on hidpi). I'm by no means an
> expert in how the display code has evolved since then so I can't say
> whether a "rewrite from scratch" of that code today would look the
> same as it does now. My point about firefox is that that code looks
> vastly different today than it did 20 years ago (eg with webrender and
> potential other components coming from servo) because the whole
> architecture had to be rethought in order to take full advantage of
> hardware acceleration (and they did a lot of experimenting to figure
> out the "best" architecture).

I do know how the display code works and how it evolved, but frankly I
don't understand what you are trying to say, concretely.  I understand
the vague thoughts and ideas of the technological advances in GUI vs
the development of the Emacs display, but do you actually have
something specific to suggest about that, like what could the Emacs
display engine do differently using some of these technologies?
because I think we all understand the general issues; it's specific
practical ideas that are missing, if we really want to modernize the
Emacs display code.

And even if you are talking about a complete redesign of the display
engine, then again, to make that even marginally practical, please
present specific ideas of such a redesign.  That at least could give
someone motivation to sit down and develop those ideas at some point.

> Sure, but the question isn't a binary one (hardware accelerated vs
> not) but how well is the available hardware being utilized which is a
> much more difficult question to answer.

The question that interests me is which part(s) of the Emacs display
code you'd like to accelerate using this hardware.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 16:54                                         ` Eli Zaretskii
@ 2021-12-20 19:01                                           ` Stefan Monnier
  2021-12-20 19:21                                             ` Eli Zaretskii
  2021-12-20 21:07                                           ` Akira Kyle
  1 sibling, 1 reply; 168+ messages in thread
From: Stefan Monnier @ 2021-12-20 19:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Akira Kyle, luangruo, ofv, emacs-devel

> The question that interests me is which part(s) of the Emacs display
> code you'd like to accelerate using this hardware.

Indeed, and maybe for that a first step would be to try and get actual
numbers about where the time is spent.

My assumption has always been that the times when redisplay isn't fast
aren't related to the complexity of actually drawing on the glass, but
instead it's due to the time spent updating the glyph matrices (and
other things before that such as running jit-lock).

How this could take advantage of GPUs is very much unclear to me.
Instead, I tried to speed this up by reducing the number of cases where
we just re-render all the windows.

Then again, maybe my assumption here is completely wrong.

My impression is that would be "easier" to speed things up by making use
of multiple CPUs rather than making use of GPUs.  True concurrency when
running ELisp is hard, but there are other ways to make use of multiple
CPUs:

- make the GC parallel.
- make the GC concurrent.
- use a separate thread per window-redisplay (so when redisplaying 20
  windows we can use 20 CPUs to update their glyph matrices).
- ...

I don't consider these examples as easy, but at least I have
a fairly clear idea of what it could look like.


        Stefan




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 19:01                                           ` Stefan Monnier
@ 2021-12-20 19:21                                             ` Eli Zaretskii
  2021-12-20 19:59                                               ` Stefan Monnier
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-20 19:21 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: luangruo, ofv, akira, emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Akira Kyle <akira@akirakyle.com>,  luangruo@yahoo.com,  ofv@wanadoo.es,
>   emacs-devel@gnu.org
> Date: Mon, 20 Dec 2021 14:01:52 -0500
> 
> My impression is that would be "easier" to speed things up by making use
> of multiple CPUs rather than making use of GPUs.  True concurrency when
> running ELisp is hard, but there are other ways to make use of multiple
> CPUs:
> 
> - make the GC parallel.
> - make the GC concurrent.
> - use a separate thread per window-redisplay (so when redisplaying 20
>   windows we can use 20 CPUs to update their glyph matrices).
> - ...

I think in all cases where redisplay was really slow, it was either
due to slow Lisp being called by JIT font-lock, or by very long lines
in the buffer, or both.  If we have several such windows, then yes,
having that run in parallel could speed up things, but is that really
a frequent case?

And anyway, working on several windows in parallel will have to deal
with the buffer-local stuff that changes global state, since each
window generally displays a different buffer, and the display code
makes that buffer current for the duration of time it works on a
window.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 11:09               ` Robert Pluim
@ 2021-12-20 19:32                 ` Sean Whitton
  0 siblings, 0 replies; 168+ messages in thread
From: Sean Whitton @ 2021-12-20 19:32 UTC (permalink / raw)
  To: Robert Pluim, Po Lu; +Cc: Lars Ingebrigtsen, Eli Zaretskii, emacs-devel

Hello,

On Mon 20 Dec 2021 at 12:09PM +01, Robert Pluim wrote:

>>>>>> On Mon, 20 Dec 2021 18:35:20 +0800, Po Lu <luangruo@yahoo.com> said:
>
>     Po> I think only a small percentage of Emacs users track master.  Most of us
>     Po> probably wait for the pretests to come out before complaining about this
>     Po> or that.
>
> Emacs *users* yes. I expected packagers to live a bit closer to the
> bleeding edge.

The view from the Debian Emacs team is that I think I'm the only one
tracking master out of four or five of us, and I'm not the one with
primary responsibility for packaging Emacs itself.

-- 
Sean Whitton



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 19:21                                             ` Eli Zaretskii
@ 2021-12-20 19:59                                               ` Stefan Monnier
  0 siblings, 0 replies; 168+ messages in thread
From: Stefan Monnier @ 2021-12-20 19:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: akira, luangruo, ofv, emacs-devel

>> - make the GC parallel.
>> - make the GC concurrent.
>> - use a separate thread per window-redisplay (so when redisplaying 20
>>   windows we can use 20 CPUs to update their glyph matrices).
>> - ...
>
> I think in all cases where redisplay was really slow, it was either
> due to slow Lisp being called by JIT font-lock, or by very long lines
> in the buffer, or both.  If we have several such windows, then yes,
> having that run in parallel could speed up things,

The jit-lock part can't be run in parallel (at least until we figure
out how to make ELisp code run parallel).  And with very long lines, the
problem is algorithmic, so concurrency won't help either.

> but is that really a frequent case?

None of the things I suggest above will fix all the problems, no.
Especially not the ones where things are *really* slow.  I suspect they
could help a fraction of the "middle" cases.  How much it would help
those cases, how important it is, and how it would impact other cases is
hard to tell (except maybe for the concurrent GC where the impact is
easier to predict, especially since we can draw on the experience of the
XEmacs guys with their incremental GC).

> And anyway, working on several windows in parallel will have to deal
> with the buffer-local stuff that changes global state, since each
> window generally displays a different buffer, and the display code
> makes that buffer current for the duration of time it works on a
> window.

Indeed.


        Stefan




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 16:54                                         ` Eli Zaretskii
  2021-12-20 19:01                                           ` Stefan Monnier
@ 2021-12-20 21:07                                           ` Akira Kyle
  1 sibling, 0 replies; 168+ messages in thread
From: Akira Kyle @ 2021-12-20 21:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Po Lu, Óscar Fuentes, Emacs developers

On Mon, Dec 20, 2021 at 9:54 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> I do know how the display code works and how it evolved, but frankly I
> don't understand what you are trying to say, concretely.  I understand
> the vague thoughts and ideas of the technological advances in GUI vs
> the development of the Emacs display, but do you actually have
> something specific to suggest about that, like what could the Emacs
> display engine do differently using some of these technologies?
> because I think we all understand the general issues; it's specific
> practical ideas that are missing, if we really want to modernize the
> Emacs display code.
>

Sorry I don't have much to offer besides vague thoughts as I'm not an
expert in emacs' display code nor computer graphics in general, I was
more hoping it might prompt those who are experts to comment. Perhaps
the answer is, as Stefan suggested, that the largest slowness in
emacs' display is due to elisp, which has inherent difficulties in
being parallelized. I think, though, that it's probably best to
profile emacs' display to really understand what the bottlenecks are
before thinking about how things could be done more efficiently, and
often there are different approaches to parallelizing code that one
cannot a priori decide which will be the optimal. My cursory
understanding of the servo project is that they would often
implemented several different parallel approaches to see which ones
worked best in practice.

> And even if you are talking about a complete redesign of the display
> engine, then again, to make that even marginally practical, please
> present specific ideas of such a redesign.  That at least could give
> someone motivation to sit down and develop those ideas at some point.

I think the complexity of the current display code is a huge barrier
to this type of experimentation and I wonder if there would be a
cleaner abstraction for the various toolkits emacs can use than the
current "redisplay_interface" struct which if I understand correctly,
is the main way emacs currently abstracts each toolkit.

> > Sure, but the question isn't a binary one (hardware accelerated vs
> > not) but how well is the available hardware being utilized which is a
> > much more difficult question to answer.
>
> The question that interests me is which part(s) of the Emacs display
> code you'd like to accelerate using this hardware.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 10:38                 ` Lars Ingebrigtsen
@ 2021-12-21  1:01                   ` Po Lu
  2021-12-21  3:28                     ` Eli Zaretskii
       [not found]                   ` <875yrj1ro7.fsf@yahoo.com>
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-21  1:01 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Robert Pluim, Eli Zaretskii, emacs-devel

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Po Lu <luangruo@yahoo.com> writes:
>
>> As I said, Motif is the least of the problems here.
>
> Yes, it's not a lot of code, and that points towards keeping it.  But on
> the other hand, simplification is simplification.

A similar reply probably got lost during the gnu.org outage, and I
forgot what I sent it to, so apologies in advance if this doesn't make
sense in context.

Since at least two people seem to be using the Motif port, and it has
some technical advantages over the others, and the other people seem to
be neutral on the subject, I'll restore Motif support to the emacs-28
branch in a day or so.

Please let me know if you see a problem with that, thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21  1:01                   ` Po Lu
@ 2021-12-21  3:28                     ` Eli Zaretskii
  2021-12-21 17:01                       ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21  3:28 UTC (permalink / raw)
  To: Po Lu; +Cc: larsi, rpluim, emacs-devel

> From: Po Lu <luangruo@yahoo.com>
> Cc: Robert Pluim <rpluim@gmail.com>,  Eli Zaretskii <eliz@gnu.org>,
>   emacs-devel@gnu.org
> Date: Tue, 21 Dec 2021 09:01:21 +0800
> 
> Lars Ingebrigtsen <larsi@gnus.org> writes:
> 
> > Po Lu <luangruo@yahoo.com> writes:
> >
> >> As I said, Motif is the least of the problems here.
> >
> > Yes, it's not a lot of code, and that points towards keeping it.  But on
> > the other hand, simplification is simplification.
> 
> A similar reply probably got lost during the gnu.org outage, and I
> forgot what I sent it to, so apologies in advance if this doesn't make
> sense in context.
> 
> Since at least two people seem to be using the Motif port, and it has
> some technical advantages over the others, and the other people seem to
> be neutral on the subject, I'll restore Motif support to the emacs-28
> branch in a day or so.

I didn't yet decide that we should restore it, and doing that on
emacs-28 requires even more consideration.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
       [not found]                   ` <875yrj1ro7.fsf@yahoo.com>
@ 2021-12-21  5:19                     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 168+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-21  5:19 UTC (permalink / raw)
  To: Po Lu; +Cc: Robert Pluim, Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> I think I might be able to cut back some of the stuff we do in GTK
> builds on the X port in the next 6 months, which will make for some
> actual simplification of the code.

Sounds good.  😀

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
@ 2021-12-21 16:15 xenodasein--- via Emacs development discussions.
  2021-12-21 16:48 ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 16:15 UTC (permalink / raw)
  To: Emacs Devel

(Not sure if this is the thread to bring this up in.)

Why does Emacs use so many GUI libraries? What is their advantage over
simply creating our own window and drawing our own scroll/menu bar?
Especially considering GUI libraries like GTK are the poster-children of
code-horror? (Which I guess is expected since GNOME people like to spend
their time on this Earth with deeds like slandering RMS. :) )




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 16:15 xenodasein--- via Emacs development discussions.
@ 2021-12-21 16:48 ` Eli Zaretskii
  2021-12-21 17:58   ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 16:48 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 17:15:26 +0100 (CET)
> From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> Why does Emacs use so many GUI libraries? What is their advantage over
> simply creating our own window and drawing our own scroll/menu bar?
> Especially considering GUI libraries like GTK are the poster-children of
> code-horror? (Which I guess is expected since GNOME people like to spend
> their time on this Earth with deeds like slandering RMS. :) )

Various people like how various toolkits look and work, and want Emacs
to look and work similarly.  That's all there is to it.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21  3:28                     ` Eli Zaretskii
@ 2021-12-21 17:01                       ` Eli Zaretskii
  2021-12-21 17:47                         ` Robert Pluim
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 17:01 UTC (permalink / raw)
  To: luangruo, larsi, rpluim; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 05:28:18 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: larsi@gnus.org, rpluim@gmail.com, emacs-devel@gnu.org
> 
> > From: Po Lu <luangruo@yahoo.com>
> > Cc: Robert Pluim <rpluim@gmail.com>,  Eli Zaretskii <eliz@gnu.org>,
> >   emacs-devel@gnu.org
> > Date: Tue, 21 Dec 2021 09:01:21 +0800
> > 
> > Since at least two people seem to be using the Motif port, and it has
> > some technical advantages over the others, and the other people seem to
> > be neutral on the subject, I'll restore Motif support to the emacs-28
> > branch in a day or so.
> 
> I didn't yet decide that we should restore it, and doing that on
> emacs-28 requires even more consideration.

After re-reading that discussion, I don't object to restoring the
Motif build, but please show the patch before installing: I want to
make sure it is safe enough for the release branch at this point.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 17:01                       ` Eli Zaretskii
@ 2021-12-21 17:47                         ` Robert Pluim
  2021-12-21 17:53                           ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Robert Pluim @ 2021-12-21 17:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, larsi, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

>>>>> On Tue, 21 Dec 2021 19:01:28 +0200, Eli Zaretskii <eliz@gnu.org> said:

    >> I didn't yet decide that we should restore it, and doing that on
    >> emacs-28 requires even more consideration.

    Eli> After re-reading that discussion, I don't object to restoring the
    Eli> Motif build, but please show the patch before installing: I want to
    Eli> make sure it is safe enough for the release branch at this point.

    Eli> Thanks.

Attached


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Revert-Remove-Motif-support.patch --]
[-- Type: text/x-diff, Size: 2984 bytes --]

From b7d31d619247d1299d8a361945dddac8659811ee Mon Sep 17 00:00:00 2001
From: Robert Pluim <rpluim@gmail.com>
Date: Tue, 21 Dec 2021 18:39:39 +0100
Subject: [PATCH] Revert "Remove Motif support"
To: emacs-devel@gnu.org

This reverts commit db237850abc240e2c3e765e9cc7e15ee5681dcaf.
---
 configure.ac | 9 +++++----
 etc/NEWS     | 3 ---
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index 766811b8a8..357d2538e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -410,18 +410,19 @@ AC_DEFUN
 dnl added later on when we find the file name of X, and it's best to
 dnl keep them together visually.
 AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT],
- [use an X toolkit (KIT one of: yes or gtk, gtk2, gtk3, lucid or athena, no)])],
+ [use an X toolkit (KIT one of: yes or gtk, gtk2, gtk3, lucid or athena, motif, no)])],
 [	  case "${withval}" in
 	    y | ye | yes )	val=gtk ;;
 	    n | no )		val=no  ;;
 	    l | lu | luc | luci | lucid )	val=lucid ;;
 	    a | at | ath | athe | athen | athena )	val=athena ;;
+	    m | mo | mot | moti | motif )	val=motif ;;
 	    g | gt | gtk  )	val=gtk ;;
 	    gtk2  )	val=gtk2 ;;
 	    gtk3  )	val=gtk3 ;;
 	    * )
 AC_MSG_ERROR(['--with-x-toolkit=$withval' is invalid;
-this option's value should be 'yes', 'no', 'lucid', 'athena', 'gtk',
+this option's value should be 'yes', 'no', 'lucid', 'athena', 'motif', 'gtk',
 'gtk2' or 'gtk3'.  'yes' and 'gtk' are synonyms.
 'athena' and 'lucid' are synonyms.])
 	    ;;
@@ -460,7 +461,7 @@ AC_DEFUN
 OPTION_DEFAULT_ON([libotf],[don't use libotf for OpenType font support])
 OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping])
 
-OPTION_DEFAULT_ON([toolkit-scroll-bars],[don't use Xaw3d/GTK toolkit scroll bars])
+OPTION_DEFAULT_ON([toolkit-scroll-bars],[don't use Motif/Xaw3d/GTK toolkit scroll bars])
 OPTION_DEFAULT_ON([xaw3d],[don't use Xaw3d])
 OPTION_DEFAULT_ON([xim],[at runtime, default X11 XIM to off])
 OPTION_DEFAULT_ON([xdbe],[don't use X11 double buffering support])
@@ -2251,7 +2252,7 @@ AC_DEFUN
    then
         AC_MSG_ERROR([You seem to be running X, but no X development libraries
 were found.  You should install the relevant development files for X
-and for the toolkit you want, such as Gtk+.  Also make
+and for the toolkit you want, such as Gtk+ or Motif.  Also make
 sure you have development files for image handling, i.e.
 tiff, gif, jpeg, png and xpm.
 If you are sure you want Emacs compiled without X window support, pass
diff --git a/etc/NEWS b/etc/NEWS
index e7d7215902..02b6f665b0 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -77,9 +77,6 @@ shaping, so 'configure' now recommends that combination.
 'configure --with-xdbe=no' can now be used to disable double buffering
 at build time.
 
----
-** Support for building with Motif has been removed.
-
 ---
 ** The configure option '--without-makeinfo' has been removed.
 This was only ever relevant when building from a repository checkout.
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 17:47                         ` Robert Pluim
@ 2021-12-21 17:53                           ` Eli Zaretskii
  2021-12-21 18:02                             ` Robert Pluim
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 17:53 UTC (permalink / raw)
  To: Robert Pluim; +Cc: luangruo, larsi, emacs-devel

> From: Robert Pluim <rpluim@gmail.com>
> Cc: luangruo@yahoo.com,  larsi@gnus.org,  emacs-devel@gnu.org
> Date: Tue, 21 Dec 2021 18:47:07 +0100
> 
>     Eli> After re-reading that discussion, I don't object to restoring the
>     Eli> Motif build, but please show the patch before installing: I want to
>     Eli> make sure it is safe enough for the release branch at this point.
> 
>     Eli> Thanks.
> 
> Attached

Thanks, this looks safe enough (famous last words).



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 16:48 ` Eli Zaretskii
@ 2021-12-21 17:58   ` xenodasein--- via Emacs development discussions.
  2021-12-21 18:09     ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 17:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02025.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date:	Tue, 21 Dec 2021 18:48:35 +0200

> Various people like how various toolkits look and work, and want Emacs
> to look and work similarly.  That's all there is to it.

I see, plenitude of choices.  Since my interest is game development It
felt peculiar to me as the common practice there is to just draw your
interface as how you want it to look, make it customizable possibly.

If I wanted to work on something like --with-x-toolkit=no but pretty and
customizable, using simple software rendering to run on all platforms,
is this something desirable?  It could be enabled in early-init to be
used instead of win32 toolkit for example.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 17:53                           ` Eli Zaretskii
@ 2021-12-21 18:02                             ` Robert Pluim
  2021-12-21 18:12                               ` Eli Zaretskii
  2021-12-22  0:53                               ` Po Lu
  0 siblings, 2 replies; 168+ messages in thread
From: Robert Pluim @ 2021-12-21 18:02 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, larsi, emacs-devel

>>>>> On Tue, 21 Dec 2021 19:53:26 +0200, Eli Zaretskii <eliz@gnu.org> said:

    >> From: Robert Pluim <rpluim@gmail.com>
    >> Cc: luangruo@yahoo.com,  larsi@gnus.org,  emacs-devel@gnu.org
    >> Date: Tue, 21 Dec 2021 18:47:07 +0100
    >> 
    Eli> After re-reading that discussion, I don't object to restoring the
    Eli> Motif build, but please show the patch before installing: I want to
    Eli> make sure it is safe enough for the release branch at this point.
    >> 
    Eli> Thanks.
    >> 
    >> Attached

    Eli> Thanks, this looks safe enough (famous last words).

Hey, I tested it, and it produced the expected ugly-but-working Emacs.

Pushed as b7d31d6192

Robert
-- 



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 17:58   ` xenodasein--- via Emacs development discussions.
@ 2021-12-21 18:09     ` Eli Zaretskii
  2021-12-21 18:28       ` xenodasein--- via Emacs development discussions.
  2021-12-22 17:26       ` Arthur Miller
  0 siblings, 2 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 18:09 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 18:58:18 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> If I wanted to work on something like --with-x-toolkit=no but pretty and
> customizable, using simple software rendering to run on all platforms,
> is this something desirable?

I don't think I understand what that means in practice.  GUI
programming for drawing is inherently system-dependent; for example,
the --with-x-toolkit=no build uses Xlib calls all over the place.  Can
you explain how something like that can work on all platforms?



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:02                             ` Robert Pluim
@ 2021-12-21 18:12                               ` Eli Zaretskii
  2021-12-22  0:53                               ` Po Lu
  1 sibling, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 18:12 UTC (permalink / raw)
  To: Robert Pluim; +Cc: luangruo, larsi, emacs-devel

> From: Robert Pluim <rpluim@gmail.com>
> Cc: luangruo@yahoo.com,  larsi@gnus.org,  emacs-devel@gnu.org
> Date: Tue, 21 Dec 2021 19:02:46 +0100
> 
>     Eli> Thanks, this looks safe enough (famous last words).
> 
> Hey, I tested it, and it produced the expected ugly-but-working Emacs.
> 
> Pushed as b7d31d6192

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:09     ` Eli Zaretskii
@ 2021-12-21 18:28       ` xenodasein--- via Emacs development discussions.
  2021-12-21 18:37         ` Eli Zaretskii
  2021-12-22 17:26       ` Arthur Miller
  1 sibling, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 18:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02036.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date:	Tue, 21 Dec 2021 20:09:26 +0200

> I don't think I understand what that means in practice.  GUI
> programming for drawing is inherently system-dependent; for example,
> the --with-x-toolkit=no build uses Xlib calls all over the place.  Can
> you explain how something like that can work on all platforms?

For the maintenance of the frame, true, but we do not need the platform
to draw what we put inside that window, no? I still need to use X,
Wayland, win32 etc.  But they need not dictate what the program looks
like, as all video game look different.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:28       ` xenodasein--- via Emacs development discussions.
@ 2021-12-21 18:37         ` Eli Zaretskii
  2021-12-21 19:18           ` xenodasein--- via Emacs development discussions.
  2021-12-21 19:45           ` xenodasein--- via Emacs development discussions.
  0 siblings, 2 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 18:37 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 19:28:45 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02036.html
> From:	Eli Zaretskii
> Subject: Re: Motif support
> Date:	Tue, 21 Dec 2021 20:09:26 +0200
> 
> > I don't think I understand what that means in practice.  GUI
> > programming for drawing is inherently system-dependent; for example,
> > the --with-x-toolkit=no build uses Xlib calls all over the place.  Can
> > you explain how something like that can work on all platforms?
> 
> For the maintenance of the frame, true, but we do not need the platform
> to draw what we put inside that window, no?

Of course, we do.  Displaying text in a GUI window (a.k.a. "frame")
requires Xlib calls on X, Win32 API calls on MS-Windows, etc.  And the
fonts available on each platform OOTB are generally different.  And
then we have display of images, which again uses platform-dependent
GUI API calls, mouse and keyboard inputs and WM events that are
accessed using platform-dependent GUI API calls, etc.

> I still need to use X, Wayland, win32 etc.  But they need not
> dictate what the program looks like, as all video game look
> different.

Experience tells us that users on every platforms generally want Emacs
to look and feel like other GUI programs on that platform.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:37         ` Eli Zaretskii
@ 2021-12-21 19:18           ` xenodasein--- via Emacs development discussions.
  2021-12-21 19:29             ` Eli Zaretskii
  2021-12-21 19:45           ` xenodasein--- via Emacs development discussions.
  1 sibling, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 19:18 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02040.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date:	Tue, 21 Dec 2021 20:37:03 +0200

> And then we have display of images, which again uses platform-dependent
> GUI API calls, mouse and keyboard inputs and WM events that are
> accessed using platform-dependent GUI API calls, etc.

They are platform calls, a GUI toolkit need not be a middleman. Our GUI
elements here can be thought of as one of those images, as an example.
We simply tell system's window/frame to display it, like BitBlt or
StretchDIBits fron Win32 API.  Same for input.

> Of course, we do.  Displaying text in a GUI window (a.k.a. "frame")
> requires Xlib calls on X, Win32 API calls on MS-Windows, etc.  And the
> fonts available on each platform OOTB are generally different.

These are also simply platform layer calls right?  There's no widget toolkit
involved.  If a platform does not provide text rendering, we could use
something like FreeType, which is what Xft uses I presume?




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 19:18           ` xenodasein--- via Emacs development discussions.
@ 2021-12-21 19:29             ` Eli Zaretskii
  2021-12-22  0:51               ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 19:29 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 20:18:16 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> > And then we have display of images, which again uses platform-dependent
> > GUI API calls, mouse and keyboard inputs and WM events that are
> > accessed using platform-dependent GUI API calls, etc.
> 
> They are platform calls, a GUI toolkit need not be a middleman. Our GUI
> elements here can be thought of as one of those images, as an example.

Not necessarily.  On some platforms, the "toolkit" is built-in: you
cannot display a GUI window without using the toolkit.  MS-Windows is
one such platform (and I believe NS is another).

> We simply tell system's window/frame to display it, like BitBlt or
> StretchDIBits fron Win32 API.  Same for input.

That doesn't really work.  For example, the pixels that you want to
bitblt have to be created somehow, and how do you think you create
them, if not by drawing to some off-screen surface using those same
GUI API calls that you want to avoid.  (Assuming, that is, that you
don't really intend Emacs to construct those pixels bit by bit "by
hand", i.e. reinvent all the graphics programming from scratch.)

> > Of course, we do.  Displaying text in a GUI window (a.k.a. "frame")
> > requires Xlib calls on X, Win32 API calls on MS-Windows, etc.  And the
> > fonts available on each platform OOTB are generally different.
> 
> These are also simply platform layer calls right?  There's no widget toolkit
> involved.

Not necessarily.  For example, menus on Windows cannot be created
without going through the "toolkit".

> If a platform does not provide text rendering, we could use
> something like FreeType, which is what Xft uses I presume?

AFAIR, FreeType port for Windows calls Windows APIs where it needs to
access system services.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:37         ` Eli Zaretskii
  2021-12-21 19:18           ` xenodasein--- via Emacs development discussions.
@ 2021-12-21 19:45           ` xenodasein--- via Emacs development discussions.
  2021-12-21 19:51             ` Eli Zaretskii
  1 sibling, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 19:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02040.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date:	Tue, 21 Dec 2021 20:37:03 +0200

Sorry, forgot to answer the last part:

> Experience tells us that users on every platforms generally want Emacs
> to look and feel like other GUI programs on that platform.

I feels like this contradicts VSCode's popularity, which has it's unique
look?  Why shouldn't Emacs have a signature keewl look?

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02046.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date: Tue, 21 Dec 2021 21:29:55 +0200

> That doesn't really work.  For example, the pixels that you want to
> bitblt have to be created somehow, and how do you think you create
> them, if not by drawing to some off-screen surface using those same
> GUI API calls that you want to avoid.  (Assuming, that is, that you
> don't really intend Emacs to construct those pixels bit by bit "by
> hand", i.e. reinvent all the graphics programming from scratch.)
> ...
> Not necessarily.  For example, menus on Windows cannot be created
> without going through the "toolkit".

Yes, that is exactly what I meant all along by saying "a simple
software renderer".  It really isn't that hard to draw a 2D GUI, no
need to reinvent all graphics, only a miniscule part. Text rendering
is the hard part, which we delegate. We draw the menus how we want them
to look, then tell the platform to display them.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 19:45           ` xenodasein--- via Emacs development discussions.
@ 2021-12-21 19:51             ` Eli Zaretskii
  2021-12-21 20:15               ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 19:51 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 20:45:07 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> > Experience tells us that users on every platforms generally want Emacs
> > to look and feel like other GUI programs on that platform.
> 
> I feels like this contradicts VSCode's popularity, which has it's unique
> look?  Why shouldn't Emacs have a signature keewl look?

If this is true (I don't use VSCode, so I don't know), then perhaps
because VSCode users and Emacs users have different expectations?

> Yes, that is exactly what I meant all along by saying "a simple
> software renderer".  It really isn't that hard to draw a 2D GUI, no
> need to reinvent all graphics, only a miniscule part. Text rendering
> is the hard part, which we delegate. We draw the menus how we want them
> to look, then tell the platform to display them.

I very much doubt this will produce anything useful, let alone why
would we want yet another "toolkit".  But feel free to prove me wrong
by showing code that does this.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 19:51             ` Eli Zaretskii
@ 2021-12-21 20:15               ` xenodasein--- via Emacs development discussions.
  2021-12-21 20:23                 ` Eli Zaretskii
  2021-12-22  0:52                 ` Po Lu
  0 siblings, 2 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 20:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02048.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date: Tue, 21 Dec 2021 21:51:13 +0200

> If this is true (I don't use VSCode, so I don't know), then perhaps
> because VSCode users and Emacs users have different expectations?

I specifically mentioned that editor because it's popularity became
something ridiculous, almost monopolistic. If we steal even a drop
of that user base Emacs' could double.

> I very much doubt this will produce anything useful, let alone why
> would we want yet another "toolkit". But feel free to prove me wrong
> by showing code that does this.

The code you mention; is it enough for it to be a simple library in a
single C file? Or do you want to see it integrated and working in Emacs?
The latter wouldn't be too easy for me to, if it is not something wanted
in Emacs.  But that could be decided after looking at the former?




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 20:15               ` xenodasein--- via Emacs development discussions.
@ 2021-12-21 20:23                 ` Eli Zaretskii
  2021-12-21 20:50                   ` xenodasein--- via Emacs development discussions.
  2021-12-22  0:52                 ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-21 20:23 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Tue, 21 Dec 2021 21:15:12 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> > I very much doubt this will produce anything useful, let alone why
> > would we want yet another "toolkit". But feel free to prove me wrong
> > by showing code that does this.
> 
> The code you mention; is it enough for it to be a simple library in a
> single C file? Or do you want to see it integrated and working in Emacs?
> The latter wouldn't be too easy for me to, if it is not something wanted
> in Emacs.  But that could be decided after looking at the former?

What would the library be capable of?  You say that you can replace
all the window decorations we now implement via toolkits: menus,
dialogs, scroll bars, title and caption bar, the tool bar.  Will all
of this be in the library, complete with support for colors and other
stuff?  If not, what would such a library prove?



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 20:23                 ` Eli Zaretskii
@ 2021-12-21 20:50                   ` xenodasein--- via Emacs development discussions.
  2021-12-22 17:09                     ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 20:50 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02051.html
From:	Eli Zaretskii
Subject: Re: Motif support
Date: Tue, 21 Dec 2021 22:23:12 +0200

> What would the library be capable of? You say that you can replace
> all the window decorations we now implement via toolkits: menus,
> dialogs, scroll bars, title and caption bar, the tool bar. Will all
> of this be in the library, complete with support for colors and other
> stuff? If not, what would such a library prove?

Yes, I can do the listed elements (without text; I could use FreeType
but I'd rather keep build simple. And what is the caption bar? I normally
use --without-x), it would look like an Emacs frame with window area being
empty, elements interact-able.  Just rendering code with WinMain.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 19:29             ` Eli Zaretskii
@ 2021-12-22  0:51               ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-22  0:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: xenodasein, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Not necessarily.  On some platforms, the "toolkit" is built-in: you
> cannot display a GUI window without using the toolkit.  MS-Windows is
> one such platform (and I believe NS is another).

That's correct, and I'd like to add Haiku to that list as well.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 20:15               ` xenodasein--- via Emacs development discussions.
  2021-12-21 20:23                 ` Eli Zaretskii
@ 2021-12-22  0:52                 ` Po Lu
  2021-12-22 16:39                   ` xenodasein--- via Emacs development discussions.
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-22  0:52 UTC (permalink / raw)
  To: xenodasein--- via Emacs development discussions.
  Cc: Eli Zaretskii, xenodasein

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
writes:

> The code you mention; is it enough for it to be a simple library in a
> single C file? Or do you want to see it integrated and working in Emacs?
> The latter wouldn't be too easy for me to, if it is not something wanted
> in Emacs.  But that could be decided after looking at the former?

We tried with such a library, many eons ago.  It was named lwlib, and
you can judge for yourself how successful it is.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:02                             ` Robert Pluim
  2021-12-21 18:12                               ` Eli Zaretskii
@ 2021-12-22  0:53                               ` Po Lu
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-22  0:53 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Eli Zaretskii, larsi, emacs-devel

Robert Pluim <rpluim@gmail.com> writes:

>>>>>> On Tue, 21 Dec 2021 19:53:26 +0200, Eli Zaretskii <eliz@gnu.org> said:
>
>     >> From: Robert Pluim <rpluim@gmail.com>
>     >> Cc: luangruo@yahoo.com,  larsi@gnus.org,  emacs-devel@gnu.org
>     >> Date: Tue, 21 Dec 2021 18:47:07 +0100
>     >> 
>     Eli> After re-reading that discussion, I don't object to restoring the
>     Eli> Motif build, but please show the patch before installing: I want to
>     Eli> make sure it is safe enough for the release branch at this point.
>     >> 
>     Eli> Thanks.
>     >> 
>     >> Attached
>
>     Eli> Thanks, this looks safe enough (famous last words).
>
> Hey, I tested it, and it produced the expected ugly-but-working Emacs.
>
> Pushed as b7d31d6192

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20  4:56                                         ` Po Lu
@ 2021-12-22  4:16                                           ` Richard Stallman
  2021-12-22  4:40                                             ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Richard Stallman @ 2021-12-22  4:16 UTC (permalink / raw)
  To: Po Lu; +Cc: aikokyle, ofv, eliz, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > We should take care not to add features to Emacs which _need_ the
  > > acceleration, because they won't work well on the machines without
  > > graphics acceleration.

  > They will both work very well without graphics acceleration and on the
  > machines for which free graphics drivers and firmware are available.

That's how it should be.  But since we don't yet know what changes
would be required, to achieve that abstract goal, how can anyone be
sure of this a priori?

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22  4:16                                           ` Richard Stallman
@ 2021-12-22  4:40                                             ` Po Lu
  2021-12-23  3:43                                               ` Richard Stallman
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-22  4:40 UTC (permalink / raw)
  To: Richard Stallman; +Cc: aikokyle, ofv, eliz, emacs-devel

Richard Stallman <rms@gnu.org> writes:

>   > They will both work very well without graphics acceleration and on the
>   > machines for which free graphics drivers and firmware are available.

> That's how it should be.  But since we don't yet know what changes
> would be required, to achieve that abstract goal, how can anyone be
> sure of this a priori?

I regularly test Emacs on obscure X configurations, including those that
use software rendering, and also non-X.Org servers which do not support
hardware acceleration.

Emacs performs very well on all of them.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-20 10:05           ` Robert Pluim
  2021-12-20 10:15             ` Lars Ingebrigtsen
       [not found]             ` <87a6gv1s47.fsf@yahoo.com>
@ 2021-12-22 15:58             ` Arthur Miller
  2021-12-22 17:13               ` Eli Zaretskii
  2021-12-23  7:21               ` Madhu
  2 siblings, 2 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 15:58 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Po Lu, Lars Ingebrigtsen, Eli Zaretskii, emacs-devel

Robert Pluim <rpluim@gmail.com> writes:

>>>>>> On Sun, 19 Dec 2021 11:28:47 +0100, Lars Ingebrigtsen <larsi@gnus.org> said:
>
>     Lars> Well, we ended the thread with:
>
>     >> > We could just remove support for '--with-x-toolkit=motif' from
>     >> > configure.ac for a while, and see if anyone complains. If not, we rip
>     >> > out the actual Motif code.
>     >> 
>     >> Sounds like a plan.
>
>     Lars> And now we've had (at least) a couple complaints, so perhaps we should
>     Lars> reconsider.  It did take almost a full year, so the complaints aren't...
>     Lars> vigorous, though.
>
> It looks like I wrongly assumed that the people who still build Emacs
> with Motif support tracked master, and would thus all jump out and
> complain instantly about my heinous crime. It looks more like they
> wait for a new release, and this change is not in a released
> version of Emacs (and Iʼve seen no messages from the alleged CDE
> people affected by this).
>
> If thereʼs a strong will to put it back, we can of course do so, but I
> was hoping to achieve more removals of problematic display code. If
> even such a small change is rejected, then I lose hope we will ever
> achieve such simplifications.

I feel said. Is there really anyone in the world who cares for Motif?

Emacs C source is full of spaghetti-if-defs all over the place. It would be nice
if it was cleaned of some old stuff not cared by more than 5 people.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22  0:52                 ` Po Lu
@ 2021-12-22 16:39                   ` xenodasein--- via Emacs development discussions.
  2021-12-22 17:32                     ` Eli Zaretskii
  2021-12-23  0:58                     ` Po Lu
  0 siblings, 2 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22 16:39 UTC (permalink / raw)
  To: eliz, luangruo, ofv; +Cc: emacs-devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02081.html
From: Po Lu
Subject: Re: Motif support
Date: Wed, 22 Dec 2021 08:52:49 +0800

Please try to understand what idea someone is trying to convey, and
ask for comments if you see any lack of clarity before dishing out
judgments.

Here is what lwlib README says:
"This subdirectory contains the Lucid Widget Library (lwlib), which
provides a uniform interface to a few different X toolkits..."

This is textbook case nightmare inside a nightmare, and NOT what I am
proposing at all.



Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02051.html
From:   Eli Zaretskii
Subject: Re: Motif support
Date: Tue, 21 Dec 2021 22:23:12 +0200

> What would the library be capable of? You say that you can replace
> all the window decorations we now implement via toolkits: menus,
> dialogs, scroll bars, title and caption bar, the tool bar. Will all
> of this be in the library, complete with support for colors and other
> stuff? If not, what would such a library prove?

Repeating my previous answer; it seems more suitable to continue here.

"Yes, I can do the listed elements (without text; I could use FreeType
but I'd rather keep build simple. And what is the caption bar? I normally
use --without-x), it would look like an Emacs frame with window area being
empty, elements interact-able.  Just rendering code with WinMain."

Addendum:

What this proves is that I am not fooling around, and it provides you
a convenient way to assess my code.  If satisfactory I can receive
the go and proceed integrating it on a test branch.

This opens a myriad of possibilities.  Off the top of my head, it
becomes almost trivial to use a minimap instead of the scrollbar.
It gives Elisp the ability to dictate how Emac looks.  For example
packages like this: https://github.com/org-roam/org-roam-ui will
start to pop up in lisp, instead of jAvAschRiPt.  It will make way
for "Office" level decorations.  Eat that, Microsoft!

I don't want to create the impression that I am trying to hastily
my slap machina-tion into Emacs.  I am fine with doing maintenance
work for some time first, until this feature is discussed again
sometime in the future.  For now it is more than enough that you take
the time to explain intricacies of Emacs platform layer to a total
stranger.  Thanks.

Relevant mail:

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02193.html
From: Óscar Fuentes
Subject: Re: Development Speed
Date: Wed, 22 Dec 2021 16:51:41 +0100




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 20:50                   ` xenodasein--- via Emacs development discussions.
@ 2021-12-22 17:09                     ` Arthur Miller
  2021-12-22 17:24                       ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 17:09 UTC (permalink / raw)
  To: xenodasein--- via Emacs development discussions.
  Cc: xenodasein, Eli Zaretskii

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org> writes:

> Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02051.html
> From:	Eli Zaretskii
> Subject: Re: Motif support
> Date: Tue, 21 Dec 2021 22:23:12 +0200
>
>> What would the library be capable of? You say that you can replace
>> all the window decorations we now implement via toolkits: menus,
>> dialogs, scroll bars, title and caption bar, the tool bar. Will all
>> of this be in the library, complete with support for colors and other
>> stuff? If not, what would such a library prove?
>
> Yes, I can do the listed elements (without text; I could use FreeType
> but I'd rather keep build simple. And what is the caption bar? I normally
> use --without-x), it would look like an Emacs frame with window area being
> empty, elements interact-able.  Just rendering code with WinMain.
Isn't Emacs already linked to FreeType2 library?

I am not sure how much work it would be, and how well it would play with
harfbuzz and what Emacs uses for text rendering, but at least in theory it could
be possibly to render text without system libraries. Or is it too much work? If
I am not misstaken, alacritty uses Freetype2 to load fonts and renders all text
on gpu. Emacs does not need to do it on gpu, but would it be too much work to go
that path?

In general, I share your opinion from the start of this thread, that Emacs could
in general do fine with just one OS window for the frame and do it's own thing
for the little GUI it does (menubar, toolbar, buttons and scrollbars,
fringes). They could maybe even be implemented in pure lisp, with help of svg
renderer or without. But, yes, the looks and feel wouldn't feel "native". 



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 15:58             ` Arthur Miller
@ 2021-12-22 17:13               ` Eli Zaretskii
  2021-12-22 17:56                 ` Arthur Miller
  2021-12-23  7:21               ` Madhu
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 17:13 UTC (permalink / raw)
  To: Arthur Miller; +Cc: luangruo, rpluim, larsi, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: Lars Ingebrigtsen <larsi@gnus.org>,  Po Lu <luangruo@yahoo.com>,  Eli
>  Zaretskii <eliz@gnu.org>,  emacs-devel@gnu.org
> Date: Wed, 22 Dec 2021 16:58:18 +0100
> 
> Emacs C source is full of spaghetti-if-defs all over the place. It would be nice
> if it was cleaned of some old stuff not cared by more than 5 people.

Reinstating Motif support didn't touch any C code, so what makes you
sad didn't happen.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:09                     ` Arthur Miller
@ 2021-12-22 17:24                       ` xenodasein--- via Emacs development discussions.
  2021-12-22 17:28                         ` xenodasein--- via Emacs development discussions.
  2021-12-22 18:07                         ` Arthur Miller
  0 siblings, 2 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22 17:24 UTC (permalink / raw)
  To: arthur.miller; +Cc: emacs-devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02040.html
From: Arthur Miller
Subject: Re: Motif support
Date: Wed, 22 Dec 2021 18:09:55 +0100

Hello, it'd make for a nicer mail experience if you reply to this:
https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02203.html
instead of here.

> Isn't Emacs already linked to FreeType2 library?

What I proposed was just a demonstration prototype, not something to
appear verbatim in emacs, otherwise you are correct.

> ... But, yes, the looks and feel wouldn't feel "native".

It could be trivially themed to look native too.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-21 18:09     ` Eli Zaretskii
  2021-12-21 18:28       ` xenodasein--- via Emacs development discussions.
@ 2021-12-22 17:26       ` Arthur Miller
  2021-12-22 17:40         ` Eli Zaretskii
  1 sibling, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 17:26 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: xenodasein, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Tue, 21 Dec 2021 18:58:18 +0100 (CET)
>> From: xenodasein@tutanota.de
>> Cc: Emacs Devel <emacs-devel@gnu.org>
>> 
>> If I wanted to work on something like --with-x-toolkit=no but pretty and
>> customizable, using simple software rendering to run on all platforms,
>> is this something desirable?
>
> I don't think I understand what that means in practice.  GUI
> programming for drawing is inherently system-dependent; for example,
> the --with-x-toolkit=no build uses Xlib calls all over the place.  Can
> you explain how something like that can work on all platforms?

Games usually do all GUI drawing themselves. Doesn't gdk/gtk use Cairo
to render it's own gui on a surface so they are not dependent on any OS toolkit?

I am not an expert on Gtk, and I am sure there are many paths there to render a
GUI, but it was something along those lines if I remember when Wayland
development was starting up.

Blender for example also uses this approach to render entire GUI in the
application, and just uses low level stuff from the OS to open a window and
obtain drawing contexts, to deal with input, keyboard, mouse and such, but gui
elements such as buttons and menus are created and managed by Blender itself.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:24                       ` xenodasein--- via Emacs development discussions.
@ 2021-12-22 17:28                         ` xenodasein--- via Emacs development discussions.
  2021-12-22 18:07                         ` Arthur Miller
  1 sibling, 0 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22 17:28 UTC (permalink / raw)
  To: Arthur Miller; +Cc: emacs-devel

Dec 22, 2021, 20:24 by xenodasein

> Quoting: > https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02040.html
> From: Arthur Miller
> Subject: Re: Motif support
> Date: Wed, 22 Dec 2021 18:09:55 +0100
>
> Hello, it'd make for a nicer mail experience if you reply to this:
> https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02203.html
> instead of here.
>
> > Isn't Emacs already linked to FreeType2 library?
>
> What I proposed was just a demonstration prototype, not something to
> appear verbatim in emacs, otherwise you are correct.
>
> > ... But, yes, the looks and feel wouldn't feel "native".
>
> It could be trivially themed to look native too.
>
>
Oops, wrong quote link. This one is the intended one:
https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02212.html



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 16:39                   ` xenodasein--- via Emacs development discussions.
@ 2021-12-22 17:32                     ` Eli Zaretskii
  2021-12-22 17:59                       ` xenodasein--- via Emacs development discussions.
  2021-12-23  0:58                     ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 17:32 UTC (permalink / raw)
  To: xenodasein; +Cc: luangruo, ofv, emacs-devel

> Date: Wed, 22 Dec 2021 17:39:14 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: emacs-devel@gnu.org
> 
> What this proves is that I am not fooling around, and it provides you
> a convenient way to assess my code.  If satisfactory I can receive
> the go and proceed integrating it on a test branch.

My preference would be for you to do this directly in Emacs code (on a
fork somewhere that's convenient for you).  The reason is that I have
gray hair from taking code that works stand-alone and then adapting it
to Emacs -- too many times it turns out that some key assumptions
about how Emacs works that are revealed to be false imply that some
design based on those assumptions is in fact unworkable without much
more serious surgery elsewhere in Emacs.

I've been in this kind of "reverse-eureka" situations a couple of
times myself, and saw others there.

So I grew suspicious to stand-alone demonstrations outside of the
Emacs codebase.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:26       ` Arthur Miller
@ 2021-12-22 17:40         ` Eli Zaretskii
  2021-12-22 19:14           ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 17:40 UTC (permalink / raw)
  To: Arthur Miller; +Cc: xenodasein, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: xenodasein@tutanota.de,  emacs-devel@gnu.org
> Date: Wed, 22 Dec 2021 18:26:41 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Date: Tue, 21 Dec 2021 18:58:18 +0100 (CET)
> >> From: xenodasein@tutanota.de
> >> Cc: Emacs Devel <emacs-devel@gnu.org>
> >> 
> >> If I wanted to work on something like --with-x-toolkit=no but pretty and
> >> customizable, using simple software rendering to run on all platforms,
> >> is this something desirable?
> >
> > I don't think I understand what that means in practice.  GUI
> > programming for drawing is inherently system-dependent; for example,
> > the --with-x-toolkit=no build uses Xlib calls all over the place.  Can
> > you explain how something like that can work on all platforms?
> 
> Games usually do all GUI drawing themselves.

So you are saying that so should we??

> Doesn't gdk/gtk use Cairo
> to render it's own gui on a surface so they are not dependent on any OS toolkit?

Did you look at, for example, the MS-Windows back-end of the Cairo
port to Windows?

> Blender for example also uses this approach to render entire GUI in the
> application, and just uses low level stuff from the OS to open a window and
> obtain drawing contexts, to deal with input, keyboard, mouse and such, but gui
> elements such as buttons and menus are created and managed by Blender itself.

I don't understand what you are saying.  Should we use GTK or should
we reinvent its code inside Emacs?



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:13               ` Eli Zaretskii
@ 2021-12-22 17:56                 ` Arthur Miller
  2021-12-22 18:21                   ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 17:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, rpluim, larsi, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Cc: Lars Ingebrigtsen <larsi@gnus.org>,  Po Lu <luangruo@yahoo.com>,  Eli
>>  Zaretskii <eliz@gnu.org>,  emacs-devel@gnu.org
>> Date: Wed, 22 Dec 2021 16:58:18 +0100
>> 
>> Emacs C source is full of spaghetti-if-defs all over the place. It would be nice
>> if it was cleaned of some old stuff not cared by more than 5 people.
>
> Reinstating Motif support didn't touch any C code, so what makes you
> sad didn't happen.

Oh, I hoped it would be removed from C code, but now when people complained it
will stay there :-).

No, I maybe sound annoying, it wasn't my goal, but my opinion is that code has
lots of paths which makes it quite hard to read and understand, so I generally
welcome anything that can make it less complex.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:32                     ` Eli Zaretskii
@ 2021-12-22 17:59                       ` xenodasein--- via Emacs development discussions.
  0 siblings, 0 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22 17:59 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02221.html
From: Eli Zaretskii
Subject: Re: Motif support
Date: Wed, 22 Dec 2021 19:32:06 +0200

Agreed.  Emacs is pretty unique amongst programs.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:24                       ` xenodasein--- via Emacs development discussions.
  2021-12-22 17:28                         ` xenodasein--- via Emacs development discussions.
@ 2021-12-22 18:07                         ` Arthur Miller
  2021-12-22 18:20                           ` xenodasein--- via Emacs development discussions.
  1 sibling, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 18:07 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

xenodasein@tutanota.de writes:

> Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02040.html
> From: Arthur Miller
> Subject: Re: Motif support
> Date: Wed, 22 Dec 2021 18:09:55 +0100
>
> Hello, it'd make for a nicer mail experience if you reply to this:
> https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02203.html
> instead of here.
>
>> Isn't Emacs already linked to FreeType2 library?
>
> What I proposed was just a demonstration prototype, not something to
> appear verbatim in emacs, otherwise you are correct.
>
>> ... But, yes, the looks and feel wouldn't feel "native".
>
> It could be trivially themed to look native too.

Trivially and trivially :). I would be very careful to call it so, but Emacs has
relatively modest GUI demands. Some things are maybe not so difficult to emulate
but some other would be harder. For example menus and buttons are not so hard to
emulate for gtk toolkit, but tooltips would need quite some work to look same. I
don't know, some other toolkits might need more work. No idea, but I would not
aim for fully themeable renderer. In that case it is better to just use gtk and
to render with gtk everywhere, but than you get people who prefer Motif to Gtk
and in practice it will probably never happen.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 18:07                         ` Arthur Miller
@ 2021-12-22 18:20                           ` xenodasein--- via Emacs development discussions.
  0 siblings, 0 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22 18:20 UTC (permalink / raw)
  To: Arthur Miller; +Cc: emacs-devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02235.html
From: Arthur Miller
Subject: Re: Motif support
Date: Wed, 22 Dec 2021 19:07:11 +0100

> Trivially and trivially :). I would be very careful to call it so, but Emacs has
> relatively modest GUI demands.

I am speaking of course in relative terms, with Emacs itself being
opposite of trivial; what is stretching and coloring a few pixels
in comparison?

> ...In that case it is better to just use gtk and to render with gtk...

All GTK achieves is effing with people's command loops while providing
a drop of the capability.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:56                 ` Arthur Miller
@ 2021-12-22 18:21                   ` Eli Zaretskii
  2021-12-22 19:46                     ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 18:21 UTC (permalink / raw)
  To: Arthur Miller; +Cc: luangruo, rpluim, larsi, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: luangruo@yahoo.com,  rpluim@gmail.com,  larsi@gnus.org,
>   emacs-devel@gnu.org
> Date: Wed, 22 Dec 2021 18:56:35 +0100
> 
> No, I maybe sound annoying, it wasn't my goal, but my opinion is that code has
> lots of paths which makes it quite hard to read and understand, so I generally
> welcome anything that can make it less complex.

We don't develop Emacs to make its code easy to understand, we develop
Emacs to make it useful on platforms and in configurations we want to
support.  How easy will the code be is secondary.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 17:40         ` Eli Zaretskii
@ 2021-12-22 19:14           ` Arthur Miller
  2021-12-22 19:25             ` Eli Zaretskii
  2021-12-23  0:47             ` Po Lu
  0 siblings, 2 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 19:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: xenodasein, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Cc: xenodasein@tutanota.de,  emacs-devel@gnu.org
>> Date: Wed, 22 Dec 2021 18:26:41 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> Date: Tue, 21 Dec 2021 18:58:18 +0100 (CET)
>> >> From: xenodasein@tutanota.de
>> >> Cc: Emacs Devel <emacs-devel@gnu.org>
>> >> 
>> >> If I wanted to work on something like --with-x-toolkit=no but pretty and
>> >> customizable, using simple software rendering to run on all platforms,
>> >> is this something desirable?
>> >
>> > I don't think I understand what that means in practice.  GUI
>> > programming for drawing is inherently system-dependent; for example,
>> > the --with-x-toolkit=no build uses Xlib calls all over the place.  Can
>> > you explain how something like that can work on all platforms?
>> 
>> Games usually do all GUI drawing themselves.
>
> So you are saying that so should we??
I'm not devil's advocate nor your enemy Eli. I don't say Emacs should do
this or that because someone else is doing it, or just to say it.

What I try to say is that it is possible to do gui on it's own. Emacs is not a
typical gui application anyway; it is not full of dialogs and views and what
not. Menus, toolbar and scrollbar are not very hard to do without external
toolkit, and since this thread took up that Emacs talks to numerous toolkits, it
may be pointed out that doing own thing might be a simplification of the code
base.


>> Doesn't gdk/gtk use Cairo
>> to render it's own gui on a surface so they are not dependent on any OS toolkit?
>
> Did you look at, for example, the MS-Windows back-end of the Cairo
> port to Windows?

Not really. I am quite sure they need to talk to the OS at some point, but
that is different to rely on OS to render menus and buttons, or just low level
stuff to open a window or blit ssurfaces.

>> Blender for example also uses this approach to render entire GUI in the
>> application, and just uses low level stuff from the OS to open a window and
>> obtain drawing contexts, to deal with input, keyboard, mouse and such, but gui
>> elements such as buttons and menus are created and managed by Blender itself.
>
> I don't understand what you are saying.  Should we use GTK or should
> we reinvent its code inside Emacs?

Emacs uses just small subset of Gtk, doesn't it? So if it wasn't for the look &
feel, as you said in some opening mail, because people want Emacs to look and
feel as the rest of the platform, Emacs wouldn't really need it?

I don't say you should use neither this or that. Emacs could probaly use only
Gtk to render it's gui on all platforms and remove other gui paths.

This thread was about Emacs talking to many different toolkits and someone
suggesting that situation could be simplified. I try to come med input, but as I
see, Motif is still important to someone. Is there Athena backend
somewhere still viable :)?

I am not trying to be devil't advocate, or annoying, I just believe that code
base would be easier to work and experiment with without so many different paths.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
@ 2021-12-22 19:19 xenodasein--- via Emacs development discussions.
  2021-12-22 19:35 ` Arthur Miller
  2021-12-22 19:37 ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22 19:19 UTC (permalink / raw)
  To: emacs-devel; +Cc: eliz, arthur.miller, ofv

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02225.html
From: Eli Zaretskii
Subject: Re: Motif support
Date: Wed, 22 Dec 2021 19:40:21 +0200

>> Games usually do all GUI drawing themselves.
> So you are saying that so should we??

Believe it or not, Emacs is much more reminiscent of a game engine than
a desktop app.  Also if definition of video game was; a software, use of
which instills high levels of fun to the user, by definition Emacs is one.
:)




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:14           ` Arthur Miller
@ 2021-12-22 19:25             ` Eli Zaretskii
  2021-12-22 20:08               ` Óscar Fuentes
  2021-12-23  0:47             ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 19:25 UTC (permalink / raw)
  To: Arthur Miller; +Cc: xenodasein, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: xenodasein@tutanota.de,  emacs-devel@gnu.org
> Date: Wed, 22 Dec 2021 20:14:39 +0100
> 
> >> Games usually do all GUI drawing themselves.
> >
> > So you are saying that so should we??
> I'm not devil's advocate nor your enemy Eli. I don't say Emacs should do
> this or that because someone else is doing it, or just to say it.
> 
> What I try to say is that it is possible to do gui on it's own.

It's possible, sure.  But why would we want to do that?  We have
enough work on our hands without that.

> Menus, toolbar and scrollbar are not very hard to do without external
> toolkit, and since this thread took up that Emacs talks to numerous toolkits, it
> may be pointed out that doing own thing might be a simplification of the code
> base.

If you read this thread since its beginning, you have read the message
where I explained that it won't simplify the code, because eventually
you'd need to call the GUI APIs that are different for different
platforms.

> > Did you look at, for example, the MS-Windows back-end of the Cairo
> > port to Windows?
> 
> Not really. I am quite sure they need to talk to the OS at some point, but
> that is different to rely on OS to render menus and buttons, or just low level
> stuff to open a window or blit ssurfaces.

I suggest that you look at the code, because the reality is quite
different from what you think.  The calls to Win32 APIs are all over
the place there.

> I am not trying to be devil't advocate, or annoying, I just believe that code
> base would be easier to work and experiment with without so many different paths.

If you can suggest reasonable practical ways of doing that, by all
means go ahead.  I didn't yet hear any such proposal in this
discussion.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:19 xenodasein--- via Emacs development discussions.
@ 2021-12-22 19:35 ` Arthur Miller
  2021-12-22 19:37 ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 19:35 UTC (permalink / raw)
  To: xenodasein; +Cc: ofv, eliz, emacs-devel

xenodasein@tutanota.de writes:

> Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02225.html
> From: Eli Zaretskii
> Subject: Re: Motif support
> Date: Wed, 22 Dec 2021 19:40:21 +0200
>
>>> Games usually do all GUI drawing themselves.
>> So you are saying that so should we??
>
> Believe it or not, Emacs is much more reminiscent of a game engine than
> a desktop app.
I was also thinking of same when I wrote my replay to Eli, but I didn't want to
took it up. :)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:19 xenodasein--- via Emacs development discussions.
  2021-12-22 19:35 ` Arthur Miller
@ 2021-12-22 19:37 ` Eli Zaretskii
  2021-12-22 20:24   ` Óscar Fuentes
  2021-12-23 15:05   ` xenodasein--- via Emacs development discussions.
  1 sibling, 2 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 19:37 UTC (permalink / raw)
  To: xenodasein; +Cc: ofv, arthur.miller, emacs-devel

> Date: Wed, 22 Dec 2021 20:19:24 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: eliz@gnu.org, arthur.miller@live.com, ofv@wanadoo.es
> 
> Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02225.html
> From: Eli Zaretskii
> Subject: Re: Motif support
> Date: Wed, 22 Dec 2021 19:40:21 +0200
> 
> >> Games usually do all GUI drawing themselves.
> > So you are saying that so should we??
> 
> Believe it or not, Emacs is much more reminiscent of a game engine than
> a desktop app.

I indeed don't believe it.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 18:21                   ` Eli Zaretskii
@ 2021-12-22 19:46                     ` Arthur Miller
  2021-12-22 20:14                       ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 19:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, rpluim, larsi, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Cc: luangruo@yahoo.com,  rpluim@gmail.com,  larsi@gnus.org,
>>   emacs-devel@gnu.org
>> Date: Wed, 22 Dec 2021 18:56:35 +0100
>> 
>> No, I maybe sound annoying, it wasn't my goal, but my opinion is that code has
>> lots of paths which makes it quite hard to read and understand, so I generally
>> welcome anything that can make it less complex.
>
> We don't develop Emacs to make its code easy to understand, we develop
> Emacs to make it useful on platforms and in configurations we want to
> support.  How easy will the code be is secondary.

Yes of course, I didn't meant it is priority to be easy to understand. But if
some old cruft that no one, or really very few people, use was removed, it would
implicitly also make the code base slightly less complicated to understand and
maintain. Would that be a bad thing?



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:25             ` Eli Zaretskii
@ 2021-12-22 20:08               ` Óscar Fuentes
  2021-12-22 20:16                 ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-22 20:08 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> What I try to say is that it is possible to do gui on it's own.
>
> It's possible, sure.  But why would we want to do that?

It gives you ultimate control over the GUI. Start with a surface and put
there whatever you want.

> We have enough work on our hands without that.

He is not asking you to do the work ;-)

>> Menus, toolbar and scrollbar are not very hard to do without external
>> toolkit, and since this thread took up that Emacs talks to numerous toolkits, it
>> may be pointed out that doing own thing might be a simplification of the code
>> base.
>
> If you read this thread since its beginning, you have read the message
> where I explained that it won't simplify the code, because eventually
> you'd need to call the GUI APIs that are different for different
> platforms.

You can use a cross-platform layer for that. There are many readily
available, developed by the game crowd. Some of them are ridiculously
simple and powerful at the same time.

>> > Did you look at, for example, the MS-Windows back-end of the Cairo
>> > port to Windows?
>> 
>> Not really. I am quite sure they need to talk to the OS at some point, but
>> that is different to rely on OS to render menus and buttons, or just low level
>> stuff to open a window or blit ssurfaces.
>
> I suggest that you look at the code, because the reality is quite
> different from what you think.  The calls to Win32 APIs are all over
> the place there.

See above.

>> I am not trying to be devil't advocate, or annoying, I just believe that code
>> base would be easier to work and experiment with without so many different paths.
>
> If you can suggest reasonable practical ways of doing that, by all
> means go ahead.  I didn't yet hear any such proposal in this
> discussion.

It would be not easy. Well, actually, the easier part would be the pure
graphical one. But integrating events and, above all, defining, exposing
and implementing on the display engine the new primitives for the
drawing features we wish to expose to Elisp looks like the most
difficult part to me.

And then every possible technique for the graphical part has its own
rough edges that you need to overcome. But if done right Emacs would
give any other modern editor a run for his money.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:46                     ` Arthur Miller
@ 2021-12-22 20:14                       ` Eli Zaretskii
  0 siblings, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 20:14 UTC (permalink / raw)
  To: Arthur Miller; +Cc: luangruo, rpluim, larsi, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: luangruo@yahoo.com,  rpluim@gmail.com,  larsi@gnus.org,
>   emacs-devel@gnu.org
> Date: Wed, 22 Dec 2021 20:46:37 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Arthur Miller <arthur.miller@live.com>
> >> Cc: luangruo@yahoo.com,  rpluim@gmail.com,  larsi@gnus.org,
> >>   emacs-devel@gnu.org
> >> Date: Wed, 22 Dec 2021 18:56:35 +0100
> >> 
> >> No, I maybe sound annoying, it wasn't my goal, but my opinion is that code has
> >> lots of paths which makes it quite hard to read and understand, so I generally
> >> welcome anything that can make it less complex.
> >
> > We don't develop Emacs to make its code easy to understand, we develop
> > Emacs to make it useful on platforms and in configurations we want to
> > support.  How easy will the code be is secondary.
> 
> Yes of course, I didn't meant it is priority to be easy to understand. But if
> some old cruft that no one, or really very few people, use was removed, it would
> implicitly also make the code base slightly less complicated to understand and
> maintain. Would that be a bad thing?

But we decided that we do want to support Motif for now.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 20:08               ` Óscar Fuentes
@ 2021-12-22 20:16                 ` Eli Zaretskii
  2021-12-22 23:44                   ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-22 20:16 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Wed, 22 Dec 2021 21:08:31 +0100
> 
> You can use a cross-platform layer for that.

That's a different suggestion.  This one does make sense, we "just"
need a volunteer to sit down and do it.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:37 ` Eli Zaretskii
@ 2021-12-22 20:24   ` Óscar Fuentes
  2021-12-23  6:42     ` Eli Zaretskii
  2021-12-23 15:05   ` xenodasein--- via Emacs development discussions.
  1 sibling, 1 reply; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-22 20:24 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> >> Games usually do all GUI drawing themselves.
>> > So you are saying that so should we??
>> 
>> Believe it or not, Emacs is much more reminiscent of a game engine than
>> a desktop app.
>
> I indeed don't believe it.

I agree with the OP. Emacs does a lot of micro-management of graphical
elements and does its own event processing. That's distinctive of games.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 20:16                 ` Eli Zaretskii
@ 2021-12-22 23:44                   ` Arthur Miller
  2021-12-23  0:53                     ` Po Lu
                                       ` (2 more replies)
  0 siblings, 3 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-22 23:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Óscar Fuentes, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Óscar Fuentes <ofv@wanadoo.es>
>> Date: Wed, 22 Dec 2021 21:08:31 +0100
>> 
>> You can use a cross-platform layer for that.
>
> That's a different suggestion.  This one does make sense, we "just"
> need a volunteer to sit down and do it.
But you already have one such layer om Emacs; Gtk, GDK is a cross platform
rendering layer Gtk uses, but Emacs could use just Cairo which is also used by
Emacs.

If I am not wrong Gtk runs pretty much everywhere where GUI Emacs run, isn't it
so? I am not sure how well it runs on Haiku, but otherwise.

So just let a volunteer remove pure xlib/win32/motif/ and make Emacs a pure Gtk
application and all good :).



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:14           ` Arthur Miller
  2021-12-22 19:25             ` Eli Zaretskii
@ 2021-12-23  0:47             ` Po Lu
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-23  0:47 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Eli Zaretskii, xenodasein, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> I don't say you should use neither this or that. Emacs could probaly use only
> Gtk to render it's gui on all platforms and remove other gui paths.

That would be a bad mistake.  For instance, we would lose the ability to
open frames in multiple displays without worrying about crashes.

GTK is also a pain to get working on MS-Windows and macOS.

> This thread was about Emacs talking to many different toolkits and someone
> suggesting that situation could be simplified.

We don't "talk to many (X) toolkits" in a significant fashion.  We talk
to X, and the toolkits are used to display trinkets.

> I try to come med input, but as I see, Motif is still important to
> someone. Is there Athena backend somewhere still viable :)?

That toolkit is called "Lucid".  (And it's not a backend, since the
important talking is done with X, not lwlib.)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 23:44                   ` Arthur Miller
@ 2021-12-23  0:53                     ` Po Lu
  2021-12-23  0:53                     ` Michael Welsh Duggan
  2021-12-23  6:54                     ` Eli Zaretskii
  2 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-23  0:53 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Eli Zaretskii, Óscar Fuentes, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> But you already have one such layer om Emacs; Gtk, GDK is a cross
> platform rendering layer Gtk uses, but Emacs could use just Cairo
> which is also used by Emacs.

Cairo is hardly cross-platform.  grep for `USE_BE_CAIRO' in
src/haiku_support.cc and you will see how much of a mess using it
anywhere other than a platform they explictly support is.

GDK only supports X and Wayland well: everywhere else, your mileage will
vary a lot.  Its support for macOS is particularly bad.

> If I am not wrong Gtk runs pretty much everywhere where GUI Emacs run,
> isn't it so? I am not sure how well it runs on Haiku, but otherwise.

It doesn't run on Haiku at all.

> So just let a volunteer remove pure xlib/win32/motif/ and make Emacs a
> pure Gtk application and all good :).

First you will have to fix the amazing attitude of the GTK+ developers
when it comes to fixing bugs from programs that don't fit within their
narrow worldview, such as programs that need to control the size of
their scroll bar thumbs, or programs that want to open windows on
multiple displays at once.

There is really no good "cross-platform toolkit" that suits our
purposes.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 23:44                   ` Arthur Miller
  2021-12-23  0:53                     ` Po Lu
@ 2021-12-23  0:53                     ` Michael Welsh Duggan
  2021-12-23  6:54                     ` Eli Zaretskii
  2 siblings, 0 replies; 168+ messages in thread
From: Michael Welsh Duggan @ 2021-12-23  0:53 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Óscar Fuentes, Eli Zaretskii, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Óscar Fuentes <ofv@wanadoo.es>
>>> Date: Wed, 22 Dec 2021 21:08:31 +0100
>>> 
>>> You can use a cross-platform layer for that.
>>
>> That's a different suggestion.  This one does make sense, we "just"
>> need a volunteer to sit down and do it.
> But you already have one such layer om Emacs; Gtk, GDK is a cross platform
> rendering layer Gtk uses, but Emacs could use just Cairo which is also used by
> Emacs.
>
> If I am not wrong Gtk runs pretty much everywhere where GUI Emacs run, isn't it
> so? I am not sure how well it runs on Haiku, but otherwise.
>
> So just let a volunteer remove pure xlib/win32/motif/ and make Emacs a pure Gtk
> application and all good :).

Except, doesn't the GTK version have a bug that we have been unable to
fix with respect to remote frames when a network connection crashes?  I
could have misremembered the exact problem, but I remember that I ran
into it frequently and do not use the Gtk version anymore due to this.
This would be a deal breaker for me.

-- 
Michael Welsh Duggan
(md5i@md5i.com)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 16:39                   ` xenodasein--- via Emacs development discussions.
  2021-12-22 17:32                     ` Eli Zaretskii
@ 2021-12-23  0:58                     ` Po Lu
  2021-12-23 10:48                       ` xenodasein--- via Emacs development discussions.
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23  0:58 UTC (permalink / raw)
  To: xenodasein--- via Emacs development discussions.; +Cc: eliz, ofv, xenodasein

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
writes:

> This is textbook case nightmare inside a nightmare, and NOT what I am
> proposing at all.

"Nightmare inside a nightmare" is what happens with _every_ attempt to
abstract between different window systems and toolkits.

Be it named lwlib, or wxWidgets, or GTK.

> "Yes, I can do the listed elements (without text; I could use FreeType
> but I'd rather keep build simple. And what is the caption bar? I normally
> use --without-x), it would look like an Emacs frame with window area being
> empty, elements interact-able.  Just rendering code with WinMain."

Now that you can expect everyone to use FreeType, why not also expect
them to have fontconfig installed on their systems?

> Addendum:
>
> For example packages like this:
> https://github.com/org-roam/org-roam-ui will start to pop up in lisp,
> instead of jAvAschRiPt.

Why is that so?

>   It will make way for "Office" level decorations.  Eat that,
> Microsoft!

We do not want "decorations" like MS-Office.  We want the ability to
edit documents like MS-Office, including the indentation of
variable-pitch text.  Feel free to work on that instead.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22  4:40                                             ` Po Lu
@ 2021-12-23  3:43                                               ` Richard Stallman
  2021-12-23  4:47                                                 ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Richard Stallman @ 2021-12-23  3:43 UTC (permalink / raw)
  To: Po Lu; +Cc: aikokyle, ofv, eliz, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > I regularly test Emacs on obscure X configurations, including those that
  > use software rendering, and also non-X.Org servers which do not support
  > hardware acceleration.

  > Emacs performs very well on all of them.

Can you undertake to do that frequently, so that if this ever ceases
to perform well, you'll inform us very soon?

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  3:43                                               ` Richard Stallman
@ 2021-12-23  4:47                                                 ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-23  4:47 UTC (permalink / raw)
  To: Richard Stallman; +Cc: aikokyle, ofv, eliz, emacs-devel

Richard Stallman <rms@gnu.org> writes:

>   > I regularly test Emacs on obscure X configurations, including those that
>   > use software rendering, and also non-X.Org servers which do not support
>   > hardware acceleration.
>
>   > Emacs performs very well on all of them.

> Can you undertake to do that frequently, so that if this ever ceases
> to perform well, you'll inform us very soon?

I will try.  In the short term I can probably arrange to test this way
every week, but that could change in the long term.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 20:24   ` Óscar Fuentes
@ 2021-12-23  6:42     ` Eli Zaretskii
  2021-12-23  7:58       ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23  6:42 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Wed, 22 Dec 2021 21:24:52 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> >> Games usually do all GUI drawing themselves.
> >> > So you are saying that so should we??
> >> 
> >> Believe it or not, Emacs is much more reminiscent of a game engine than
> >> a desktop app.
> >
> > I indeed don't believe it.
> 
> I agree with the OP. Emacs does a lot of micro-management of graphical
> elements and does its own event processing. That's distinctive of games.

There's a large chasm between "micro-management of graphical elements
and own event processing" and doing all the GUI by hand, bit by bit.
It is far from being black-and-white.  And Emacs is very far from the
edge you seem to be saying we are at or near.  You are invited to read
the code and see for yourself.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 23:44                   ` Arthur Miller
  2021-12-23  0:53                     ` Po Lu
  2021-12-23  0:53                     ` Michael Welsh Duggan
@ 2021-12-23  6:54                     ` Eli Zaretskii
  2021-12-23  7:43                       ` Arthur Miller
  2 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23  6:54 UTC (permalink / raw)
  To: Arthur Miller; +Cc: ofv, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: Óscar Fuentes <ofv@wanadoo.es>,  emacs-devel@gnu.org
> Date: Thu, 23 Dec 2021 00:44:06 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Óscar Fuentes <ofv@wanadoo.es>
> >> Date: Wed, 22 Dec 2021 21:08:31 +0100
> >> 
> >> You can use a cross-platform layer for that.
> >
> > That's a different suggestion.  This one does make sense, we "just"
> > need a volunteer to sit down and do it.
> But you already have one such layer om Emacs; Gtk, GDK is a cross platform
> rendering layer Gtk uses, but Emacs could use just Cairo which is also used by
> Emacs.

GTK is not really cross-platform, and more importantly, is being
developed in directions that make it harder and harder to use in
Emacs.  So Emacs should not throw all the eggs into the GTK basket,
quite the opposite: we should find a way of migrating away of GTK
(assuming we can find a good replacement).



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 15:58             ` Arthur Miller
  2021-12-22 17:13               ` Eli Zaretskii
@ 2021-12-23  7:21               ` Madhu
  2021-12-23  7:24                 ` Madhu
  2021-12-23  9:32                 ` Arthur Miller
  1 sibling, 2 replies; 168+ messages in thread
From: Madhu @ 2021-12-23  7:21 UTC (permalink / raw)
  To: emacs-devel


* Arthur Miller <DB9PR09MB498654A6B8A8D5B84A9B7CC8967D9@DB9PR09MB4986.eurprd09.prod.outlook.com> :
Wrote on Wed, 22 Dec 2021 16:58:18 +0100:

> I feel said. Is there really anyone in the world who cares for Motif?
>
> Emacs C source is full of spaghetti-if-defs all over the place. It
> would be nice if it was cleaned of some old stuff not cared by more
> than 5 people.

This is an example of one of the subtle ways in which a "freedoma
narrative" is introduced to remove freedom from software, destroy value,
and devalue the work of others by people who are not invested in the
code at all.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  7:21               ` Madhu
@ 2021-12-23  7:24                 ` Madhu
  2021-12-23  9:32                 ` Arthur Miller
  1 sibling, 0 replies; 168+ messages in thread
From: Madhu @ 2021-12-23  7:24 UTC (permalink / raw)
  To: emacs-devel


Sorry ignore my earlier message. I should've read ahead before
responding.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  6:54                     ` Eli Zaretskii
@ 2021-12-23  7:43                       ` Arthur Miller
  2021-12-23  9:05                         ` Po Lu
  2021-12-23  9:24                         ` Óscar Fuentes
  0 siblings, 2 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-23  7:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: ofv, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Cc: Óscar Fuentes <ofv@wanadoo.es>,  emacs-devel@gnu.org
>> Date: Thu, 23 Dec 2021 00:44:06 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> From: Óscar Fuentes <ofv@wanadoo.es>
>> >> Date: Wed, 22 Dec 2021 21:08:31 +0100
>> >> 
>> >> You can use a cross-platform layer for that.
>> >
>> > That's a different suggestion.  This one does make sense, we "just"
>> > need a volunteer to sit down and do it.
>> But you already have one such layer om Emacs; Gtk, GDK is a cross platform
>> rendering layer Gtk uses, but Emacs could use just Cairo which is also used by
>> Emacs.
>
> GTK is not really cross-platform, and more importantly, is being
> developed in directions that make it harder and harder to use in
> Emacs.  So Emacs should not throw all the eggs into the GTK basket,
> quite the opposite: we should find a way of migrating away of GTK
> (assuming we can find a good replacement).

Allright, didn't know you were not happy with Gtk as is. I had a feeling that
Emacs was moving towards Gtk.

Than yes, Emacs would need some other abstraction layer. Is it realistic to use
just Cairo, since it is already in use in Emacs? Also Cairo has support for
using GPU. It is just that there are rumors that Cairo is deprecated or not
developed any more, but I don't know how true it is, I don't really follow the
web rumors.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  6:42     ` Eli Zaretskii
@ 2021-12-23  7:58       ` Arthur Miller
  2021-12-23  8:55         ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23  7:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Óscar Fuentes, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Óscar Fuentes <ofv@wanadoo.es>
>> Date: Wed, 22 Dec 2021 21:24:52 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> >> Games usually do all GUI drawing themselves.
>> >> > So you are saying that so should we??
>> >> 
>> >> Believe it or not, Emacs is much more reminiscent of a game engine than
>> >> a desktop app.
>> >
>> > I indeed don't believe it.
>> 
>> I agree with the OP. Emacs does a lot of micro-management of graphical
>> elements and does its own event processing. That's distinctive of games.
>
> There's a large chasm between "micro-management of graphical elements
> and own event processing" and doing all the GUI by hand, bit by bit.
> It is far from being black-and-white.  And Emacs is very far from the
> edge you seem to be saying we are at or near.  You are invited to read
> the code and see for yourself.

In a way a repl is kind of similar to a game loop in that it reads input (read),
update the world (eval) and render the world (print). The other similarity is
that Emacs is also controlling it's loop rather than fitting into some
frameworks loop such as Gtk, or some other toolkits framework. You rather use
those as a library of functionality to draw things when they suit Emacs, while
desktop applications would usually fit into a framework and let toolkit do the
update and drawing when it needs to be done. GUI toolkits like Gtk are usually
"don't call us, we call you", while games, and I perecive Emacs, are rather, "do
this for me when I ask you".

Maybe I missunderstand how Emacs works, but that is how I understood it.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  7:58       ` Arthur Miller
@ 2021-12-23  8:55         ` Eli Zaretskii
  2021-12-23 11:46           ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23  8:55 UTC (permalink / raw)
  To: Arthur Miller; +Cc: ofv, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Date: Thu, 23 Dec 2021 08:58:29 +0100
> Cc: Óscar Fuentes <ofv@wanadoo.es>, emacs-devel@gnu.org
> 
> In a way a repl is kind of similar to a game loop in that it reads input (read),
> update the world (eval) and render the world (print). The other similarity is
> that Emacs is also controlling it's loop rather than fitting into some
> frameworks loop such as Gtk, or some other toolkits framework. You rather use
> those as a library of functionality to draw things when they suit Emacs, while
> desktop applications would usually fit into a framework and let toolkit do the
> update and drawing when it needs to be done. GUI toolkits like Gtk are usually
> "don't call us, we call you", while games, and I perecive Emacs, are rather, "do
> this for me when I ask you".

That difference is largely irrelevant in the context of this
particular discussion, since we are specifically talking about drawing
stuff, not about the framework or the main loop.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  7:43                       ` Arthur Miller
@ 2021-12-23  9:05                         ` Po Lu
  2021-12-23 11:21                           ` Arthur Miller
  2021-12-23  9:24                         ` Óscar Fuentes
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23  9:05 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Eli Zaretskii, ofv, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Than yes, Emacs would need some other abstraction layer. Is it
> realistic to use just Cairo, since it is already in use in Emacs? Also
> Cairo has support for using GPU. It is just that there are rumors that
> Cairo is deprecated or not developed any more, but I don't know how
> true it is, I don't really follow the web rumors.

These aren't rumors, the Cairo developers are indeed not very active
anymore.

GPU acceleration is also really just supported on X, and getting Cairo
to work on any other platform is a massive PITA.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  7:43                       ` Arthur Miller
  2021-12-23  9:05                         ` Po Lu
@ 2021-12-23  9:24                         ` Óscar Fuentes
  1 sibling, 0 replies; 168+ messages in thread
From: Óscar Fuentes @ 2021-12-23  9:24 UTC (permalink / raw)
  To: emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Allright, didn't know you were not happy with Gtk as is. I had a feeling that
> Emacs was moving towards Gtk.

The recent addition of Wayland support by means of adapting our Gtk
usage is great news, but I see many people which is not very happy about
having to deal with Gtk, here and elsewhere.

> Than yes, Emacs would need some other abstraction layer. Is it realistic to use
> just Cairo, since it is already in use in Emacs? Also Cairo has support for
> using GPU. It is just that there are rumors that Cairo is deprecated or not
> developed any more, but I don't know how true it is, I don't really follow the
> web rumors.

I just briefly looked at Cairo repo and it shows a fair amount of
activity. OTOH, all the rage nowadays is Skia. It is C++, though.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  7:21               ` Madhu
  2021-12-23  7:24                 ` Madhu
@ 2021-12-23  9:32                 ` Arthur Miller
  2021-12-23  9:38                   ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23  9:32 UTC (permalink / raw)
  To: Madhu; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 3283 bytes --]

Madhu <enometh@meer.net> writes:

> * Arthur Miller <DB9PR09MB498654A6B8A8D5B84A9B7CC8967D9@DB9PR09MB4986.eurprd09.prod.outlook.com> :
> Wrote on Wed, 22 Dec 2021 16:58:18 +0100:
>
>> I feel said. Is there really anyone in the world who cares for Motif?
>>
>> Emacs C source is full of spaghetti-if-defs all over the place. It
>> would be nice if it was cleaned of some old stuff not cared by more
>> than 5 people.
>

Actually, I percieve that for freedom of software it is equally important to
have documentation for the sources as the sources themselves. Situation with
docs is somewhat addressed in last years or so, but there were times when many
GNU projects came out with very few comments, usually no dev docs, and scarce
descriptions about internals. I said several times to Eli Z. to write a book
about Emacs internals; that would probably be the best boost to Emacs
development.

As time goes by, projects are growing, Emacs too, and it takes more and more
time to understand it for people new to the source. If you have a family and
full time job, you might not have the time for all the detective work that is
sometimes needed. It can be unfortunate, if you know what to do to implement
something, but have to spend lot of time to investigate how Emacs does it.

The popular belief is that Emacs development is hold back by lack of "modern
development" in form of some public git repository and pr-modell as used on
github & co. I don't think that is what hold more people to contribute to
Emacs. There is SXEmacs, a fork of XEmacs, that has git workflow as the popular 
request is for GNU Emacs. They even have tools to make it easier to work with
SXEmacs itself, and they also made some populistic changes of the time, like
reformatted the code to kernel style and removed Windows port and implemented
FFI. Yet, they have no active devs seems like. What is the problem? I don't know,
but I would rather say the complexity and that it is hard and time consuming to
do deeper changes if you are not quite familiar with internals. It will be
interesting to see if there will be a flood of developers incoming after a
change to sourcehut or whatever is chosen for future development. I would be
happy if I am wrong of course.

> This is an example of one of the subtle ways in which a "freedoma
> narrative" is introduced to remove freedom from software, destroy value,
> and devalue the work of others by people who are not invested in the
> code at all.

When it comes to Motif, the fact is that it is a dead toolkit. It is alive just
so its devs can milk money out of some existing customers and old code bases,
but I can't imagine anyone clear in their minds to use it for a new
project. Motif hasn't been relevant for like 15+ years, maybe 20, I don't
know. I don't understand why Debian maintainers build Emacs with Motif, when
even Debian stable comes with Gtk, but it is their choice of course.

Just for the fun I have attached comparison, side by side of SXEmacs and GNU
Emacs, SXEmacs uses Motif to render it's gui and pure X I guess to render
fonts. In my eyes it looks very ugly, I don't think it is representable of what
GNU Emacs can do to give to anyone an Emacs built on Motif nowadays. (I don't
have a build of GNU Emacs with Motif, so I took SXEmacs).


[-- Attachment #2: sxe-vs-gnu.png --]
[-- Type: image/png, Size: 184576 bytes --]

^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  9:32                 ` Arthur Miller
@ 2021-12-23  9:38                   ` Po Lu
  2021-12-23 11:53                     ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23  9:38 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Madhu, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Actually, I percieve that for freedom of software it is equally
> important to have documentation for the sources as the sources
> themselves. Situation with docs is somewhat addressed in last years or
> so, but there were times when many GNU projects came out with very few
> comments, usually no dev docs, and scarce descriptions about
> internals. I said several times to Eli Z. to write a book about Emacs
> internals; that would probably be the best boost to Emacs development.

Emacs internals are documented very well, inside both the relevant parts
of the Lisp reference manual and the code itself.  Writing a book would
not make for much benefit.  In fact, it would become tiresome to keep
that book up to date.

I think that there is a misconception floating around the internet that
Emacs internals are difficult to understand.  Certain individuals
spreading misinformation hold a great deal of responsibility for this
situation.  IOW, a significant boost to Emacs development will result
from combating this disinformation.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  0:58                     ` Po Lu
@ 2021-12-23 10:48                       ` xenodasein--- via Emacs development discussions.
  2021-12-23 10:54                         ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 10:48 UTC (permalink / raw)
  To: luangruo; +Cc: emacs-devel, eliz, ofv

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02275.html
From: Po Lu
Subject: Re: Motif support
Date: Thu, 23 Dec 2021 08:58:36 +0800

> "Nightmare inside a nightmare" is what happens with _every_ attempt to
> abstract between different window systems and toolkits.

That is why I am proposing something else, if you cared to read.

> Now that you can expect everyone to use FreeType, why not also expect
> them to have fontconfig installed on their systems?

You are still writing without reading or understanding what I explained
on this topic, so please do not reply to me ever again if this will keep
happening, it is a waste of whole emacs-devel's time, not just mine.

>> instead of jAvAschRiPt.
> Why is that so?

Why does Elisp exist? Please ponder, and do not answer.

>> It will make way for "Office" level decorations.
> We do not want "decorations" like MS-Office.  We want the ability to
> edit documents like MS-Office, including the indentation of
> variable-pitch text.

"Office level" does not mean the same thing as "Office like", same old
same old.  So you are saying that you want to do what Office does
without the same level of visual feedback?  I also want to be able to
move like a car without being one. :)

> Feel free to work on that instead.

I feel like what is going to happen is while working on a large change
it will become apparent that it will necessitate another one, then
someone else like you will appear and say that "We only want what
I want, don't do, change or discuss anything else."  Then the discussion
will become long and time-consuming, it will then get reprimands in the
form of "why are you wasting time talking and not producing cute little
commits?"  I hope I'm wrong but this is my impression so far.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 10:48                       ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 10:54                         ` Po Lu
  2021-12-23 11:10                           ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 10:54 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel, eliz, ofv

xenodasein@tutanota.de writes:

>> "Nightmare inside a nightmare" is what happens with _every_ attempt to
>> abstract between different window systems and toolkits.

> That is why I am proposing something else, if you cared to read.

I cared to read, and I don't understand why your proposed solution
doesn't fit the description of "abstraction between window systems".

> You are still writing without reading or understanding what I
> explained on this topic, so please do not reply to me ever again if
> this will keep happening, it is a waste of whole emacs-devel's time,
> not just mine.

You proposed to use FreeType for all text rendering, and I replied why
that is not desirable.

> "Office level" does not mean the same thing as "Office like", same old
> same old.  So you are saying that you want to do what Office does
> without the same level of visual feedback?  I also want to be able to
> move like a car without being one. :)

So you're saying we won't be able to correctly indent (for example)
variable pitch text if we don't have decorations that look like what
MS-Office has? Please demonstrate why that is the case, because I really
cannot believe that statement.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 10:54                         ` Po Lu
@ 2021-12-23 11:10                           ` xenodasein--- via Emacs development discussions.
  2021-12-23 11:17                             ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 11:10 UTC (permalink / raw)
  To: luangruo; +Cc: emacs-devel, eliz, ofv


Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02341.html
From: Po Lu
Subject: Re: Motif support
Date: Thu, 23 Dec 2021 18:54:38 +0800

> I cared to read, and I don't understand why your proposed solution
> doesn't fit the description of "abstraction between window systems"...

The answer is same as the answer to this question:
"How can the old game called Mario is able to have the same HUD on
countless platforms?"
If you study this the answer will become apparent.

> You proposed to use FreeType for all text rendering, and I replied why
> that is not desirable.

You did not read.  It was for a small demonstration prototype program,
not for Emacs.  You are making me write the things I have already
written.

> So you're saying we won't be able to correctly indent (for example)
> variable pitch text if we don't have decorations that look like what
> MS-Office has? Please demonstrate why that is the case, because I really
> cannot believe that statement.

I believe we have different pictures in our heads regarding how much of
the features of Office is desired inside Emacs, which cancels this
this conversation and opens another big one, which I do not want right
now.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:10                           ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 11:17                             ` Po Lu
  2021-12-23 12:40                               ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 11:17 UTC (permalink / raw)
  To: xenodasein--- via Emacs development discussions.; +Cc: xenodasein, eliz, ofv

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
writes:

> The answer is same as the answer to this question:
> "How can the old game called Mario is able to have the same HUD on
> countless platforms?"
> If you study this the answer will become apparent.

Emacs is not a game based on displaying 8-bit graphics tiles, if that's
what you mean.  But I'm afraid I don't understand what you're trying to
allude to here.

> I believe we have different pictures in our heads regarding how much of
> the features of Office is desired inside Emacs, which cancels this
> this conversation and opens another big one, which I do not want right
> now.

The features I am referring to are the features listed in etc/TODO.
Here is a copy of that list for your convenience:

 . import / export MS Office documents
 . import / export Open Document Format (.odt) files
 . import / export RTF files
 . export to a PDF file
 . select a font and its size
 . apply a bold / italic / underline / strikethrough effect
 . superscripts / subscripts
 . apply a left / center / right / justified effect
 . change the font color and the background color
 . pixel-level text fill, justification, and indentation (so that
   variable-pitch fonts could be freely used)
 . create a list
 . insert and change a table
 . insert a picture
 . define / use / modify styles
 . print preview / print, in a way that is similar to what's on screen
   (e.g., wrt the place where lines wrap)
 . use footnotes
 . support for "track changes" markings, including those which come
   from Office documents
 . multiple columns
 . change page headers and footers
 . save all the properties and settings mentioned above with the text
   to a file, so that they are restored when later visiting that file



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  9:05                         ` Po Lu
@ 2021-12-23 11:21                           ` Arthur Miller
  2021-12-23 11:34                             ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 11:21 UTC (permalink / raw)
  To: Po Lu; +Cc: ofv, Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> Than yes, Emacs would need some other abstraction layer. Is it
>> realistic to use just Cairo, since it is already in use in Emacs? Also
>> Cairo has support for using GPU. It is just that there are rumors that
>> Cairo is deprecated or not developed any more, but I don't know how
>> true it is, I don't really follow the web rumors.
>
> These aren't rumors, the Cairo developers are indeed not very active
> anymore.
Ok. Thanks for confirming. By the way, what is the reason? Maybe they have
implemented the functionality they needed? Is it considered complete?

> GPU acceleration is also really just supported on X
Hardware acceleration only on X is fine. Win32/Mac are
proprietary OS:s, so if Cairo does support gpu acceleration on those, I think it
is fine. Current Emacs does not use gpu acceleration anyway (more than what OS
uses to render windows), so I don't think it is a major issue.

>                                                          getting Cairo
> to work on any other platform is a massive PITA.

I can only speak for win32, since I have never owned a mac machine so have no
idea how it works overthere. It is PITA if you gonna compile Cairo on Win32
yourself from the sources because you have to chase and compile all the deps,
glib, libxm2 and co and so on. But it is not PITA if you install precompiled
one, or ou choose to install it via MSYS2 which is as simple as intalling it on
Arch Linux. Anyway, it wouldn't be problem for Emacs, Emacs does not include
Cairo sources, and even if you prefer to compile it yourself, since Emacs
is build on MSYS2 (is cygwin officially supported?), building Cairo is just one
command line away, just as in gnu/Linux, so I don't think it is PITA.

Anyway, if gdk or cairo itself as a 2d drawing library to implement guis is
not acceptable, there are others. Personally I would prefer emacs to do gui in
Lisp, not in C, so that C core could be simplifed to just deal with OS windows,
fonts and input, but as I understand from the discussion, it is not acceptable.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:21                           ` Arthur Miller
@ 2021-12-23 11:34                             ` Po Lu
  2021-12-23 12:15                               ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 11:34 UTC (permalink / raw)
  To: Arthur Miller; +Cc: ofv, Eli Zaretskii, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Ok. Thanks for confirming. By the way, what is the reason? Maybe they
> have implemented the functionality they needed? Is it considered
> complete?

No, it's because their last user (GTK+) has stopped using Cairo in its
latest release, replacing it with a custom alternative that can only be
used with GTK.

> Hardware acceleration only on X is fine. Win32/Mac are proprietary
> OS:s, so if Cairo does support gpu acceleration on those, I think it
> is fine. Current Emacs does not use gpu acceleration anyway (more than
> what OS uses to render windows), so I don't think it is a major issue.

Emacs does use GPU acceleration on every supported platform, as long as
that is present.

> I can only speak for win32, since I have never owned a mac machine so
> have no idea how it works overthere. It is PITA if you gonna compile
> Cairo on Win32 yourself from the sources because you have to chase and
> compile all the deps, glib, libxm2 and co and so on. But it is not
> PITA if you install precompiled one, or ou choose to install it via
> MSYS2 which is as simple as intalling it on Arch Linux. Anyway, it
> wouldn't be problem for Emacs, Emacs does not include Cairo sources,
> and even if you prefer to compile it yourself, since Emacs is build on
> MSYS2 (is cygwin officially supported?), building Cairo is just one
> command line away, just as in gnu/Linux, so I don't think it is PITA.

[..]

> Anyway, if gdk or cairo itself as a 2d drawing library to implement
> guis is not acceptable, there are others. Personally I would prefer
> emacs to do gui in Lisp, not in C, so that C core could be simplifed
> to just deal with OS windows, fonts and input, but as I understand
> from the discussion, it is not acceptable.

I can speak for Haiku at least when I say that Cairo isn't very
portable.  On every not-that-popular platform (such as Haiku), you can
only use image surfaces, and then you have to work out how to integrate
them well with the toolkit provided by that platform, and things start
to go downhill from there.

Besides, it will bring us no benefit at all, except to cause annoyance
to many users.  (Have you ever tried making Fontconfig work properly on
other platforms?  Cairo needs that for fonts.)  Most of the mess we have
results from having to take care of the idiosyncrasies of each window
system, and not implementing the basic drawing operations for that
window system.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
@ 2021-12-23 11:37 xenodasein--- via Emacs development discussions.
  2021-12-23 11:39 ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 11:37 UTC (permalink / raw)
  To: arthur.miller; +Cc: emacs-devel, eliz, ofv, luangruo

All the discussion on this line of thread about the pain third-party
"libs" like GTK inflict on Emacs.  Emacs drawing it's own interface is
an order of magnitude easier, and cross-platform.  I don't know, man.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:37 xenodasein--- via Emacs development discussions.
@ 2021-12-23 11:39 ` Po Lu
  2021-12-23 11:45   ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 11:39 UTC (permalink / raw)
  To: xenodasein; +Cc: arthur.miller, emacs-devel, eliz, ofv

xenodasein@tutanota.de writes:

> All the discussion on this line of thread about the pain third-party
> "libs" like GTK inflict on Emacs.  Emacs drawing it's own interface is
> an order of magnitude easier, and cross-platform.

That's exactly the situation here, especially with GTK+.  Whether or not
it seems plausible to you is not really relevant, as experience says
something very different from your expectations.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:39 ` Po Lu
@ 2021-12-23 11:45   ` xenodasein--- via Emacs development discussions.
  2021-12-23 11:50     ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 11:45 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel

Dec 23, 2021, 14:39 by Po Lu:

> xenodasein writes:
>
>> All the discussion on this line of thread about the pain third-party
>> "libs" like GTK inflict on Emacs.  Emacs drawing it's own interface is
>> an order of magnitude easier, and cross-platform.
>>
>
> That's exactly the situation here, especially with GTK+.  Whether or not
> it seems plausible to you is not really relevant, as experience says
> something very different from your expectations.
>

You don't even understand how Mario works, so don't come
here attacking me about my "expectations" and experience.





^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  8:55         ` Eli Zaretskii
@ 2021-12-23 11:46           ` Arthur Miller
  2021-12-23 11:52             ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 11:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: ofv, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Date: Thu, 23 Dec 2021 08:58:29 +0100
>> Cc: Óscar Fuentes <ofv@wanadoo.es>, emacs-devel@gnu.org
>> 
>> In a way a repl is kind of similar to a game loop in that it reads input (read),
>> update the world (eval) and render the world (print). The other similarity is
>> that Emacs is also controlling it's loop rather than fitting into some
>> frameworks loop such as Gtk, or some other toolkits framework. You rather use
>> those as a library of functionality to draw things when they suit Emacs, while
>> desktop applications would usually fit into a framework and let toolkit do the
>> update and drawing when it needs to be done. GUI toolkits like Gtk are usually
>> "don't call us, we call you", while games, and I perecive Emacs, are rather, "do
>> this for me when I ask you".
>
> That difference is largely irrelevant in the context of this
> particular discussion, since we are specifically talking about drawing
> stuff, not about the framework or the main loop.

Well it is what it is about, how Emacs draw the world (or rather buffers). Since
Emacs uses toolkit in that fashion, and it already pretends that a gui window is
a text terminal (as D. Colascione put it in one old text he wrote), Emacs can as
well use it's own library functions to do the gui, and just use a (relatively)
tiny wrapper for os/hardware to implement that abstraction.

I suggested Cairo or gdk as such, but that does not seem to be popular for
different reasons you and Po mentioned, but there might be other ones already
written that could be suitable.

I have understanding that you hae implemented quite advanced text renderer at
least on X; I am not sure if you do same on win32 or Emacs uses built-in OS text
rendering on Windows. In that light, I wonder if Emacs even need 3rd party
abstraction and toolkits other than for, as you said in the beginning of the
thread, to fit into looks of the platform.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:45   ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 11:50     ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-23 11:50 UTC (permalink / raw)
  To: xenodasein--- via Emacs development discussions.; +Cc: xenodasein

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
writes:

> You don't even understand how Mario works, so don't come here
> attacking me about my "expectations" and experience.

I wasn't referring to how Mario works, I'm referring to the conclusions
I've developed about cross-platform toolkits (GTK in particular) in the
course of my recent work on the X, Haiku and PGTK ports of Emacs, which
again is not "Mario" or any other video game.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:46           ` Arthur Miller
@ 2021-12-23 11:52             ` Po Lu
  2021-12-23 12:43               ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 11:52 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Eli Zaretskii, ofv, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> I have understanding that you hae implemented quite advanced text
> renderer at least on X;  I am not sure if you do same on win32 or Emacs
> uses built-in OS text rendering on Windows.

Emacs doesn't implement its own text renderer anywhere, I think.  We use
libraries that can be considered part of the system for that everywhere.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23  9:38                   ` Po Lu
@ 2021-12-23 11:53                     ` Arthur Miller
  2021-12-23 12:06                       ` Po Lu
  2021-12-23 14:16                       ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 11:53 UTC (permalink / raw)
  To: Po Lu; +Cc: Madhu, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> Actually, I percieve that for freedom of software it is equally
>> important to have documentation for the sources as the sources
>> themselves. Situation with docs is somewhat addressed in last years or
>> so, but there were times when many GNU projects came out with very few
>> comments, usually no dev docs, and scarce descriptions about
>> internals. I said several times to Eli Z. to write a book about Emacs
>> internals; that would probably be the best boost to Emacs development.
>
> Emacs internals are documented very well, inside both the relevant parts
> of the Lisp reference manual and the code itself.  Writing a book would
> not make for much benefit.  In fact, it would become tiresome to keep
> that book up to date.
Situation has got much better in late years. It wasn't always so.

> I think that there is a misconception floating around the internet that
> Emacs internals are difficult to understand.  Certain individuals
> spreading misinformation hold a great deal of responsibility for this
> situation.  IOW, a significant boost to Emacs development will result
> from combating this disinformation.
Ok. We have all seen how much personal guidance you have needed from
Eli on even a minor details to get your offsceen lines working. If you think it
is so easy, why didn't you just hand in a patch that worked? Cmon, seriosuly.

I don't know how much time you have on your disposal, but looking at how many
different things on Emacs you are commenting/working on, how many OS systems you
write you use, all from Windows 9x to Haiky, all kind of strange X
configurations and so on, you must have all days on your disposal to hack
Emacs. It is great, and your work is appreciated. But if you expect eveyrone to
have that time is unrealistic. To say certain individuals spread missinformation
is just plain immature. Nobody is spreading missinformation, and certainly not
on purpose.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:53                     ` Arthur Miller
@ 2021-12-23 12:06                       ` Po Lu
  2021-12-23 14:36                         ` dick
  2021-12-23 14:16                       ` Eli Zaretskii
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 12:06 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Madhu, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Ok. We have all seen how much personal guidance you have needed from
> Eli on even a minor details to get your offsceen lines working. If you
> think it is so easy, why didn't you just hand in a patch that worked?

Actually, it was due to a mistake in the documentation that the
discussion was started.  Such a mistake could happen anywhere, even
inside a book.

Then the discussion turned from "why doesn't it work" to "what would be
the best interface to expose for this".  Once again, not something a
book can solve.

> I don't know how much time you have on your disposal, but looking at
> how many different things on Emacs you are commenting/working on, how
> many OS systems you write you use, all from Windows 9x to Haiky, all
> kind of strange X configurations and so on, you must have all days on
> your disposal to hack Emacs. It is great, and your work is
> appreciated.

I don't have a lot of time to work on Emacs, I just try to make good use
of the time I do have (which probably comes out to around 1/7th of each
day.)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:34                             ` Po Lu
@ 2021-12-23 12:15                               ` Arthur Miller
  2021-12-23 12:25                                 ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 12:15 UTC (permalink / raw)
  To: Po Lu; +Cc: ofv, Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> Ok. Thanks for confirming. By the way, what is the reason? Maybe they
>> have implemented the functionality they needed? Is it considered
>> complete?
>
> No, it's because their last user (GTK+) has stopped using Cairo in its
> latest release, replacing it with a custom alternative that can only be
> used with GTK.
Ok. Thanks.

>> Hardware acceleration only on X is fine. Win32/Mac are proprietary
>> OS:s, so if Cairo does support gpu acceleration on those, I think it
>> is fine. Current Emacs does not use gpu acceleration anyway (more than
>> what OS uses to render windows), so I don't think it is a major issue.
>
> Emacs does use GPU acceleration on every supported platform, as long as
> that is present.
Than we are not talking about same thing here. Of course every OS window will
use gpu if it's present. I meant using something like opengl or other terms to
render stuff ourselves not via OS.

>> I can only speak for win32, since I have never owned a mac machine so
>> have no idea how it works overthere. It is PITA if you gonna compile
>> Cairo on Win32 yourself from the sources because you have to chase and
>> compile all the deps, glib, libxm2 and co and so on. But it is not
>> PITA if you install precompiled one, or ou choose to install it via
>> MSYS2 which is as simple as intalling it on Arch Linux. Anyway, it
>> wouldn't be problem for Emacs, Emacs does not include Cairo sources,
>> and even if you prefer to compile it yourself, since Emacs is build on
>> MSYS2 (is cygwin officially supported?), building Cairo is just one
>> command line away, just as in gnu/Linux, so I don't think it is PITA.
>
> [..]
>
>> Anyway, if gdk or cairo itself as a 2d drawing library to implement
>> guis is not acceptable, there are others. Personally I would prefer
>> emacs to do gui in Lisp, not in C, so that C core could be simplifed
>> to just deal with OS windows, fonts and input, but as I understand
>> from the discussion, it is not acceptable.
>
> I can speak for Haiku at least when I say that Cairo isn't very
> portable.  On every not-that-popular platform (such as Haiku), you can
> only use image surfaces, and then you have to work out how to integrate
> them well with the toolkit provided by that platform, and things start
> to go downhill from there.

Ok, I understand.

> Besides, it will bring us no benefit at all, except to cause annoyance
> to many users.  (Have you ever tried making Fontconfig work properly on
> other platforms?  Cairo needs that for fonts.)  Most of the mess we have
> results from having to take care of the idiosyncrasies of each window
> system, and not implementing the basic drawing operations for that
> window system.

So you are lobbying for implementing Emacs own graphic context abstraction? :)

In general I think Emacs already has the code needed, but refactoring it is
probably quite a work. But it can be done :).



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 12:15                               ` Arthur Miller
@ 2021-12-23 12:25                                 ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-23 12:25 UTC (permalink / raw)
  To: Arthur Miller; +Cc: ofv, Eli Zaretskii, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> So you are lobbying for implementing Emacs own graphic context
> abstraction? :)

No, I'm lobbying for keeping the status quo, which will continue to
serve us well (or at least, better than the competition.)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:17                             ` Po Lu
@ 2021-12-23 12:40                               ` Arthur Miller
  2021-12-23 12:46                                 ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 12:40 UTC (permalink / raw)
  To: Po Lu
  Cc: ofv, xenodasein, eliz,
	xenodasein--- via Emacs development discussions.

Po Lu <luangruo@yahoo.com> writes:

> xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> writes:
>
>> The answer is same as the answer to this question:
>> "How can the old game called Mario is able to have the same HUD on
>> countless platforms?"
>> If you study this the answer will become apparent.
>
> Emacs is not a game based on displaying 8-bit graphics tiles, if that's
> what you mean.  But I'm afraid I don't understand what you're trying to
> allude to here.

Not to be a devil's advocate, but if an 8-bit game can achieve this, than maybe
there is something to learn from it? Don't you think it is an achievement? I am
not trying to be rude or annyoing, just a reflection.

>> I believe we have different pictures in our heads regarding how much of
>> the features of Office is desired inside Emacs, which cancels this
>> this conversation and opens another big one, which I do not want right
>> now.

I have never looked at that list, but when I see it now, I think several of
those listed features are implementable already, as the Emacs is at the
moment. I have commented under those that I think are not impossible to
implement or are not very hard:

> The features I am referring to are the features listed in etc/TODO.
> Here is a copy of that list for your convenience:

>  . export to a PDF file
Isn't that already possible via 3rd party pacakges? Org-mode? 

>  . apply a bold / italic / underline / strikethrough effect
>  . superscripts / subscripts
>  . apply a left / center / right / justified effect
>  . change the font color and the background color
>  . pixel-level text fill, justification, and indentation (so that
>    variable-pitch fonts could be freely used)
Isn't all of this possible already? Anyone interested could attach that to an
svg button, or plain text button for an interested major/minor mode? I did
center, left, right and pixelwise when I tested transparency patach a couple
weeks ago. Org already have syntax to specify bold, italcis
(bugged). superscirpts etc. It could be instead connected to a menu choice or a button.

>  . create a list
What kind of list? Any symbol in emacs is a potential list, what is meant with this.

>  . insert and change a table
What kind of table? org-table? sql-table?

>  . insert a picture
Same as above, you could attach lisp functions to text or svg buttons already

>  . define / use / modify styles
What styles are we talking about here?

>  . use footnotes
>  . change page headers and footers
Doesn't org-mnode already implement this?

>  . save all the properties and settings mentioned above with the text
>    to a file, so that they are restored when later visiting that file
Which file? Emacs does not have custom format. I don't see reason for it to have
one either becaue probably most of people would prefer their text to be readable
in other software. Otherwise dump buffer + text properties as lisp objects to a
file with print and read them back with read. Is that not workable for some
reason? Texr properties are a plist, so they should be dumpable, right? I am not
sure if interval for a text property is internal to C core, of if it is exposed
to Lisp. If it is not exposed, and stored in text property list, than it would
need to be done so or to recieve special care. Sorry if I am not familiar with
all the details, I am not using Emacs in this way, so I never tried this either.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:52             ` Po Lu
@ 2021-12-23 12:43               ` Arthur Miller
  2021-12-23 12:52                 ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 12:43 UTC (permalink / raw)
  To: Po Lu; +Cc: ofv, Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> I have understanding that you hae implemented quite advanced text
>> renderer at least on X;  I am not sure if you do same on win32 or Emacs
>> uses built-in OS text rendering on Windows.
>
> Emacs doesn't implement its own text renderer anywhere, I think.  We use
> libraries that can be considered part of the system for that everywhere.
I think I have expressed myself badly here; anyway what I meant, Emacs could use
pango and harfbuzz and whatever else it uses on X together with freetype2 to render
text on all platforms. 



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 12:40                               ` Arthur Miller
@ 2021-12-23 12:46                                 ` Po Lu
  2021-12-23 16:41                                   ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 12:46 UTC (permalink / raw)
  To: Arthur Miller
  Cc: xenodasein--- via Emacs development discussions., xenodasein,
	eliz, ofv

Arthur Miller <arthur.miller@live.com> writes:

> I have never looked at that list, but when I see it now, I think
> several of those listed features are implementable already, as the
> Emacs is at the moment. I have commented under those that I think are
> not impossible to implement or are not very hard:

I think that those features are wanted in a complete system, and not as
individual pieces scattered around in random places such as org-mode
(which isn't WYSIWYG either.)



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 12:43               ` Arthur Miller
@ 2021-12-23 12:52                 ` Po Lu
  2021-12-23 17:35                   ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-23 12:52 UTC (permalink / raw)
  To: Arthur Miller; +Cc: Eli Zaretskii, ofv, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> I think I have expressed myself badly here; anyway what I meant, Emacs
> could use pango and harfbuzz and whatever else it uses on X together
> with freetype2 to render text on all platforms.

We don't use Pango on X for anything more than converting the output of
the GTK font selection dialog to a font spec.

HarfBuzz is already used on MS-Windows, and the idea is to eventually
use it on macOS as well.

As for using FreeType, what benefit would it bring?  Rendering text with
FreeType is not very easy and involves writing a lot of interface code
for each platform, often more than using the platform's built-in
interface.  (For simple examples, see the deleted ftx driver, or the
ftbe driver that was deleted, and for non-trivial examples, see
ftcrfont.c and xftfont.c.)

It usually involves Fontconfig as well, which doesn't work very well
non-Unix systems.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 11:53                     ` Arthur Miller
  2021-12-23 12:06                       ` Po Lu
@ 2021-12-23 14:16                       ` Eli Zaretskii
  2021-12-23 17:47                         ` Arthur Miller
  1 sibling, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 14:16 UTC (permalink / raw)
  To: Arthur Miller; +Cc: luangruo, enometh, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Date: Thu, 23 Dec 2021 12:53:18 +0100
> Cc: Madhu <enometh@meer.net>, emacs-devel@gnu.org
> 
> Ok. We have all seen how much personal guidance you have needed from
> Eli on even a minor details to get your offsceen lines working.

That was basically the second time Po Lu implemented something in the
display engine, and the first time he had to deal with layout code, so
some guidance should be expected, for a complex piece of software that
takes more than 40K LOC.  From my POV, the guidance he needed was
relatively minor; most of the discussion was about the various
implementation strategies.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 12:06                       ` Po Lu
@ 2021-12-23 14:36                         ` dick
  2021-12-23 14:42                           ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: dick @ 2021-12-23 14:36 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel

PL> I don't have a lot of time to work on Emacs, I just try to make good
PL> use of the time I do have (which probably comes out to around 1/7th
PL> of each day.)

GNU Emacs should be relieved to be spared of the other 6/7th.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 14:36                         ` dick
@ 2021-12-23 14:42                           ` Eli Zaretskii
  2021-12-23 15:01                             ` dick
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 14:42 UTC (permalink / raw)
  To: dick; +Cc: luangruo, emacs-devel

> From: dick <dick.r.chiang@gmail.com>
> Date: Thu, 23 Dec 2021 09:36:46 -0500
> Cc: emacs-devel@gnu.org
> 
> PL> I don't have a lot of time to work on Emacs, I just try to make good
> PL> use of the time I do have (which probably comes out to around 1/7th
> PL> of each day.)
> 
> GNU Emacs should be relieved to be spared of the other 6/7th.

What code should or shouldn't be admitted into Emacs is not up to you,
so please withhold your judgment, as we are not interested in it.

And once again, please stop ad-hominem attacks on people here.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 14:42                           ` Eli Zaretskii
@ 2021-12-23 15:01                             ` dick
  2021-12-23 15:07                               ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: dick @ 2021-12-23 15:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Your allowing someone to mangle an emacs primitive in d54d8a8 for the
benefit of his "precision" pixel scrolling pet project is inexcusable.

Yes, that is ad hominem, in the sense that bad code doesn't write itself.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-22 19:37 ` Eli Zaretskii
  2021-12-22 20:24   ` Óscar Fuentes
@ 2021-12-23 15:05   ` xenodasein--- via Emacs development discussions.
  2021-12-23 15:08     ` Eli Zaretskii
  1 sibling, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 15:05 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel, arthur.miller, ofv

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02250.html
From: Eli Zaretskii

> >>> Games usually do all GUI drawing themselves.
> >> So you are saying that so should we??
>
> > Believe it or not, Emacs is much more reminiscent of a game engine than
> > a desktop app.

> I indeed don't believe it.

Do you say this having used and inspected the source code of multiple
relatively recent game engines?  If that is the case, an elaboration
from someone of your experience level would be valuable.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 15:01                             ` dick
@ 2021-12-23 15:07                               ` Eli Zaretskii
  2021-12-23 15:33                                 ` dick
  2021-12-23 15:43                                 ` xenodasein--- via Emacs development discussions.
  0 siblings, 2 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 15:07 UTC (permalink / raw)
  To: dick; +Cc: emacs-devel

> From: dick <dick.r.chiang@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Thu, 23 Dec 2021 10:01:27 -0500
> 
> Your allowing someone to mangle an emacs primitive in d54d8a8 for the
> benefit of his "precision" pixel scrolling pet project is inexcusable.
> 
> Yes, that is ad hominem, in the sense that bad code doesn't write itself.

Quite a few people tell me off-list that we should ban you.  So here's
your last chance: either stop your obnoxious conduct and watch your
language and words on this list, or you will have the dubious honor to
be the first person, ever, to be banned from emacs-devel.

Your call.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 15:05   ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 15:08     ` Eli Zaretskii
  0 siblings, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 15:08 UTC (permalink / raw)
  To: xenodasein; +Cc: ofv, arthur.miller, emacs-devel

> Date: Thu, 23 Dec 2021 16:05:12 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: emacs-devel@gnu.org, arthur.miller@live.com, ofv@wanadoo.es
> 
> > > Believe it or not, Emacs is much more reminiscent of a game engine than
> > > a desktop app.
> 
> > I indeed don't believe it.
> 
> Do you say this having used and inspected the source code of multiple
> relatively recent game engines?  If that is the case, an elaboration
> from someone of your experience level would be valuable.

I'm saying this as someone who is familiar with the Emacs display
code.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 15:07                               ` Eli Zaretskii
@ 2021-12-23 15:33                                 ` dick
  2021-12-23 16:17                                   ` Eli Zaretskii
  2021-12-23 15:43                                 ` xenodasein--- via Emacs development discussions.
  1 sibling, 1 reply; 168+ messages in thread
From: dick @ 2021-12-23 15:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

I know my banning is an inevitability at this point.

At the same time, emacs has given me something to do in the waning years
of my productive life, and I'll continue to advocate for it in the
strongest possible terms.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 15:07                               ` Eli Zaretskii
  2021-12-23 15:33                                 ` dick
@ 2021-12-23 15:43                                 ` xenodasein--- via Emacs development discussions.
  1 sibling, 0 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 15:43 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel

Dec 23, 2021, 18:07 by Eli Zaretskii:

>> From: dick:
>> Cc: emacs-devel@gnu.org
>> Date: Thu, 23 Dec 2021 10:01:27 -0500
>>
>> Your allowing someone to mangle an emacs primitive in d54d8a8 for the
>> benefit of his "precision" pixel scrolling pet project is inexcusable.
>>
>> Yes, that is ad hominem, in the sense that bad code doesn't write itself.
>>
>
> Quite a few people tell me off-list that we should ban you.  So here's
> your last chance: either stop your obnoxious conduct and watch your
> language and words on this list, or you will have the dubious honor to
> be the first person, ever, to be banned from emacs-devel.
>
> Your call.
>

Surely it is desirable to have a critical voice, as long as it's grounded in
reality and is reasonably within emacs-devel tone parameters?  What I
would find more disturbing than an aggressive tone is the lack of these
kind of marginal discussions, and you having to be in Atlas' shoes
explaining everything.  I even encountered you at some point on some
obscure package's GitHub page, solving issues for people!  Kudos.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 15:33                                 ` dick
@ 2021-12-23 16:17                                   ` Eli Zaretskii
  0 siblings, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 16:17 UTC (permalink / raw)
  To: dick; +Cc: emacs-devel

> From: dick <dick.r.chiang@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Thu, 23 Dec 2021 10:33:40 -0500
> 
> I know my banning is an inevitability at this point.

It isn't.  It depends on how you behave here from this moment onwards.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 12:46                                 ` Po Lu
@ 2021-12-23 16:41                                   ` Arthur Miller
  2021-12-23 18:05                                     ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 16:41 UTC (permalink / raw)
  To: Po Lu; +Cc: ofv, eliz, xenodasein--- via Emacs development discussions.

Po Lu <luangruo@yahoo.com> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> I have never looked at that list, but when I see it now, I think
>> several of those listed features are implementable already, as the
>> Emacs is at the moment. I have commented under those that I think are
>> not impossible to implement or are not very hard:
>
> I think that those features are wanted in a complete system, and not as
> individual pieces scattered around in random places such as org-mode
> (which isn't WYSIWYG either.)
They are not in random places; they are in one place, emacs lisp. Org-mode is
not "scattered around", it is a coherent piece of work.

Put it the other way around, thse feature are implemented already in
emacslisp. Any mode can connect them to buttons and use them already.

There were few features on that list that require work, multiple columns are not
straightforward as it is now. Pdf/rtf importers are just labourous, but specs are
freely avialable, anyone could sit and write importer/exporter. I personally
don't think rtf is important and I dislike the pdf for many reasons. I
understand it is popular, but just becasuse something is popular it does not
mean it is good.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 12:52                 ` Po Lu
@ 2021-12-23 17:35                   ` Arthur Miller
  2021-12-24  0:38                     ` Po Lu
  2021-12-24  0:46                     ` Po Lu
  0 siblings, 2 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 17:35 UTC (permalink / raw)
  To: Po Lu; +Cc: ofv, Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> I think I have expressed myself badly here; anyway what I meant, Emacs
>> could use pango and harfbuzz and whatever else it uses on X together
>> with freetype2 to render text on all platforms.
>
> We don't use Pango on X for anything more than converting the output of
> the GTK font selection dialog to a font spec.
>
> HarfBuzz is already used on MS-Windows, and the idea is to eventually
> use it on macOS as well.
>
> As for using FreeType, what benefit would it bring?  Rendering text with
The benefit of using unified platform and not needing to use os built-ins?
This discussion started with someone wanted Emacs to do it's own drawing since
Emacs GUI is relatively simple and does not require full-fledged GUI
toolkit. Freetype would be one tool to achieve this.

>                                                      Rendering text with
> FreeType is not very easy and involves writing a lot of interface code
> for each platform, often more than using the platform's built-in
> interface.  (For simple examples, see the deleted ftx driver, or the
I dont understand what different interfaces are with freetype you are talking
about nor what is difficult with freetype? Freetype gives you platform
independent interface to read, parse and render fonts files to bitmaps. You can
also do your own rendering if you want. Lots of platform independent
applications use Freetype to render fonts.

> It usually involves Fontconfig as well, which doesn't work very well
> non-Unix systems.

Freetype does not need fontconfig. I don't understand why bring fontconfig
here. Fontcnfig uses freetype to read and parse font files, but freetype does
not need fontconfig. 

Anyway, I find this discusion with you immature. You are sitting here and trying
to find anything opposite for the sake of sake of saying opposite. Sorry, all
best to you, I wish you Merry Christmass and all best, but I am out.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 14:16                       ` Eli Zaretskii
@ 2021-12-23 17:47                         ` Arthur Miller
  2021-12-23 18:24                           ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 17:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, enometh, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Date: Thu, 23 Dec 2021 12:53:18 +0100
>> Cc: Madhu <enometh@meer.net>, emacs-devel@gnu.org
>> 
>> Ok. We have all seen how much personal guidance you have needed from
>> Eli on even a minor details to get your offsceen lines working.
>
> That was basically the second time Po Lu implemented something in the
> display engine, and the first time he had to deal with layout code, so
> some guidance should be expected, for a complex piece of software that
> takes more than 40K LOC.  From my POV, the guidance he needed was
> relatively minor; most of the discussion was about the various
> implementation strategies.
Of course guidance is needed and expected. I have no problem with that, I just
reac on him saying it is missinformation to say that Emacs is not so easy to
hack. You say it's complex, he says it's easy :).

And as said, amount of time he seems to have to spend on all kind of different
OS:s, Emacs parts and all different discussion seems to be quite
tremendous. Expecting everyone to have that time is unrealistic. 

But yes of course the guidance is needed for people new to it, and everyone
needs help; I have got help, and everyone else gets help, so it should be of
course. But nobody needs accusation for spreading missinformation when saying
things are complex and could be simpler.

Anyway, good for him if it's easy for him; kudos. Means he can improve Emacs
more, so everyone happy :).



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 16:41                                   ` Arthur Miller
@ 2021-12-23 18:05                                     ` xenodasein--- via Emacs development discussions.
  2021-12-23 18:33                                       ` Eli Zaretskii
  0 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 18:05 UTC (permalink / raw)
  To: arthur.miller; +Cc: emacs-devel, ofv, eliz, luangruo

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02409.html
From: Arthur Miller

I seriously suspect that he does this intentionally, to frustrate others
into giving up.  He did mention he is trying to maintain some kind of
status quo, so his reading comprehension is sometimes perfect and
sometimes inexplicable.  If Emacs did it's own drawing, that could be
easy to maintain for anyone who has done reading in introductory
Computer Graphics, and be cross-platform.  However, his "status quo"
requires the "specialty" of gluing together widget libraries for every
differnt platform.  Something stinks here.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 17:47                         ` Arthur Miller
@ 2021-12-23 18:24                           ` Eli Zaretskii
  2021-12-23 22:47                             ` Arthur Miller
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 18:24 UTC (permalink / raw)
  To: Arthur Miller; +Cc: luangruo, enometh, emacs-devel

> From: Arthur Miller <arthur.miller@live.com>
> Cc: luangruo@yahoo.com,  enometh@meer.net,  emacs-devel@gnu.org
> Date: Thu, 23 Dec 2021 18:47:09 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > That was basically the second time Po Lu implemented something in the
> > display engine, and the first time he had to deal with layout code, so
> > some guidance should be expected, for a complex piece of software that
> > takes more than 40K LOC.  From my POV, the guidance he needed was
> > relatively minor; most of the discussion was about the various
> > implementation strategies.
> Of course guidance is needed and expected. I have no problem with that, I just
> reac on him saying it is missinformation to say that Emacs is not so easy to
> hack. You say it's complex, he says it's easy :).

That's not a contradiction, however strange it may sound.  Doing
localized changes is relatively easy even in a complex piece of
software.  The guidance that is needed is just to point to the
relevant functions.

> And as said, amount of time he seems to have to spend on all kind of different
> OS:s, Emacs parts and all different discussion seems to be quite
> tremendous. Expecting everyone to have that time is unrealistic. 

The time you need for a change depends on how simple or complex the
change is.  Not everyone is expected to make significant changes,
there's a lot of place for relatively simple ones.

> But yes of course the guidance is needed for people new to it, and everyone
> needs help; I have got help, and everyone else gets help, so it should be of
> course. But nobody needs accusation for spreading missinformation when saying
> things are complex and could be simpler.

Accusations aside, I think your impression of the Emacs code being an
impenetrable undocumented mess is way too extreme.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 18:05                                     ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 18:33                                       ` Eli Zaretskii
  2021-12-23 18:57                                         ` dick
                                                           ` (2 more replies)
  0 siblings, 3 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 18:33 UTC (permalink / raw)
  To: xenodasein; +Cc: ofv, luangruo, arthur.miller, emacs-devel

> Date: Thu, 23 Dec 2021 19:05:37 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: emacs-devel@gnu.org, ofv@wanadoo.es, eliz@gnu.org, luangruo@yahoo.com
> 
> I seriously suspect that he does this intentionally, to frustrate others
> into giving up.

Please don't assume others here post not in good faith, it's unkind
and unfair.

> If Emacs did it's own drawing, that could be easy to maintain for
> anyone who has done reading in introductory Computer Graphics, and
> be cross-platform.

That is an exaggeration at best.  If you already studied the Emacs
display code, and that is your conclusion, then we are probably
reading two very different codebases, because I think an introductory
CG textbook is way insufficient for implementing anything close to the
Emacs display subsystem.  If you didn't yet study the code, I suggest
you do, and maybe you will then judge what Po Lu says less harshly.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 18:33                                       ` Eli Zaretskii
@ 2021-12-23 18:57                                         ` dick
  2021-12-23 19:29                                           ` Eli Zaretskii
  2021-12-23 19:04                                         ` xenodasein--- via Emacs development discussions.
  2021-12-23 22:41                                         ` Arthur Miller
  2 siblings, 1 reply; 168+ messages in thread
From: dick @ 2021-12-23 18:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

EZ> because I think an introductory CG textbook is way insufficient for implementing
EZ> anything close to the Emacs display subsystem.

I don't know whether to laugh or cry.

And now for my own bit of Po Lu-style grandstanding, I'll claim to be
the global authority on the display code, having largely rewritten it to
handle long lines.

If you can convert a two dimensional array into a single-dimensional
vector (something within reach of most first-year undergraduates), you
can understand the display code.  The hard part is brushing past the
obfuscative hacks, which is more than 50% of the code.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 18:33                                       ` Eli Zaretskii
  2021-12-23 18:57                                         ` dick
@ 2021-12-23 19:04                                         ` xenodasein--- via Emacs development discussions.
  2021-12-23 19:31                                           ` Eli Zaretskii
  2021-12-23 22:41                                         ` Arthur Miller
  2 siblings, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-23 19:04 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel, arthur.miller, luangruo, ofv

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02423.htmlFrom: Eli Zaretskii

> Please don't assume others here post not in good faith, it's unkind
> and unfair.

Apologies. I accept, but so is what Arthur Miller or I have been subjected
to by some of Po Lu's replies.

> That is an exaggeration at best. If you already studied the Emacs
> display code, and that is your conclusion, then we are probably
> reading two very different codebases, because I think an introductory
> CG textbook is way insufficient for implementing anything close to the
> Emacs display subsystem. If you didn't yet study the code, I suggest
> you do, and maybe you will then judge what Po Lu says less harshly.

May I request file/line pointer to a function where such an advanced
domain algorithm is implemented?  Those then don't apply to what
I argued but I doubt they are a large percentage in terms of LOC.
Or better yet, request where one is delegated to one those libraries?
(Except text rendering, which I didn't suggest Emacs should do all
by itself.)




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 18:57                                         ` dick
@ 2021-12-23 19:29                                           ` Eli Zaretskii
  0 siblings, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 19:29 UTC (permalink / raw)
  To: dick; +Cc: emacs-devel

> From: dick <dick.r.chiang@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Thu, 23 Dec 2021 13:57:28 -0500
> 
> EZ> because I think an introductory CG textbook is way insufficient for implementing
> EZ> anything close to the Emacs display subsystem.
> 
> I don't know whether to laugh or cry.
> 
> And now for my own bit of Po Lu-style grandstanding

OK, that's it: since all the warnings didn't help, and you continue
misbehaving in the same obnoxious ways, you are now banned from this
list.

Congratulations.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 19:04                                         ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 19:31                                           ` Eli Zaretskii
  2021-12-24  0:40                                             ` Po Lu
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-23 19:31 UTC (permalink / raw)
  To: xenodasein; +Cc: luangruo, ofv, arthur.miller, emacs-devel

> Date: Thu, 23 Dec 2021 20:04:36 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: emacs-devel@gnu.org, arthur.miller@live.com, luangruo@yahoo.com,
> 	ofv@wanadoo.es
> 
> > That is an exaggeration at best. If you already studied the Emacs
> > display code, and that is your conclusion, then we are probably
> > reading two very different codebases, because I think an introductory
> > CG textbook is way insufficient for implementing anything close to the
> > Emacs display subsystem. If you didn't yet study the code, I suggest
> > you do, and maybe you will then judge what Po Lu says less harshly.
> 
> May I request file/line pointer to a function where such an advanced
> domain algorithm is implemented?

Most low-level display-related code for X is in xterm.c and xfns.c.

> Or better yet, request where one is delegated to one those libraries?

Xlib calls are all over the place in those two files.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 18:33                                       ` Eli Zaretskii
  2021-12-23 18:57                                         ` dick
  2021-12-23 19:04                                         ` xenodasein--- via Emacs development discussions.
@ 2021-12-23 22:41                                         ` Arthur Miller
  2 siblings, 0 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 22:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: ofv, luangruo, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Thu, 23 Dec 2021 19:05:37 +0100 (CET)
>> From: xenodasein@tutanota.de
>> Cc: emacs-devel@gnu.org, ofv@wanadoo.es, eliz@gnu.org, luangruo@yahoo.com
>> 
>> I seriously suspect that he does this intentionally, to frustrate others
>> into giving up.
>
> Please don't assume others here post not in good faith, it's unkind
> and unfair.

That was my thought too, and that is why I didn't want to answer on that one. I
felt him syaing that, was admitting to trolling so I didn't want to continue
more there. The "todo list" was another such place as well as freetype
discussion. He is probably a good chap, but I find him immature. I would expect
that kind of conducting disussion on reddit not here. About the good faith he is
not shy of accusing others, so don't what to say you there.

Anyway, I do this for my own recreation and because I find solving problems
and experimenting with Emacs fun. That is my own free time and escape from
stress, so I don't poiseness discussions and crap from neither some Po or Schwab
or anyone else, so thank for you patience with me, and time, and of course the
help I got from you and others on this list. 

I do sicncerely with Merry Christmass and Happy New Year to you all.

Best wishes




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 18:24                           ` Eli Zaretskii
@ 2021-12-23 22:47                             ` Arthur Miller
  0 siblings, 0 replies; 168+ messages in thread
From: Arthur Miller @ 2021-12-23 22:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, enometh, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Cc: luangruo@yahoo.com,  enometh@meer.net,  emacs-devel@gnu.org
>> Date: Thu, 23 Dec 2021 18:47:09 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> > That was basically the second time Po Lu implemented something in the
>> > display engine, and the first time he had to deal with layout code, so
>> > some guidance should be expected, for a complex piece of software that
>> > takes more than 40K LOC.  From my POV, the guidance he needed was
>> > relatively minor; most of the discussion was about the various
>> > implementation strategies.
>> Of course guidance is needed and expected. I have no problem with that, I just
>> reac on him saying it is missinformation to say that Emacs is not so easy to
>> hack. You say it's complex, he says it's easy :).
>
> That's not a contradiction, however strange it may sound.  Doing
> localized changes is relatively easy even in a complex piece of
> software.  The guidance that is needed is just to point to the
> relevant functions.
>
>> And as said, amount of time he seems to have to spend on all kind of different
>> OS:s, Emacs parts and all different discussion seems to be quite
>> tremendous. Expecting everyone to have that time is unrealistic. 
>
> The time you need for a change depends on how simple or complex the
> change is.  Not everyone is expected to make significant changes,
> there's a lot of place for relatively simple ones.
>
>> But yes of course the guidance is needed for people new to it, and everyone
>> needs help; I have got help, and everyone else gets help, so it should be of
>> course. But nobody needs accusation for spreading missinformation when saying
>> things are complex and could be simpler.
>
> Accusations aside, I think your impression of the Emacs code being an
> impenetrable undocumented mess is way too extreme.

I didn't say it is "impentrenable undocumented mess", I said it could be
nicer. I also said it has got much better in later years, but 10k sloc files
with lots of if-defs are not very nice.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 17:35                   ` Arthur Miller
@ 2021-12-24  0:38                     ` Po Lu
  2021-12-24  1:17                       ` xenodasein--- via Emacs development discussions.
  2021-12-24  0:46                     ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Po Lu @ 2021-12-24  0:38 UTC (permalink / raw)
  To: Arthur Miller; +Cc: ofv, Eli Zaretskii, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> The benefit of using unified platform and not needing to use os
> built-ins?  This discussion started with someone wanted Emacs to do
> it's own drawing since Emacs GUI is relatively simple and does not
> require full-fledged GUI toolkit. Freetype would be one tool to
> achieve this.

That benefit is hardly established.

> I dont understand what different interfaces are with freetype you are
> talking about nor what is difficult with freetype? Freetype gives you
> platform independent interface to read, parse and render fonts files
> to bitmaps. You can also do your own rendering if you want. Lots of
> platform independent applications use Freetype to render fonts.

What about locating the font files to open? Scaling glyphs, which is
usually the job of the platform, and essentially required for color
Emoji? What about displaying the resulting bitmap, or decomposed glyph
outline?

All those tasks need platform-dependent code, and about the same amount
as supporting the native font rasterizer.

> Freetype does not need fontconfig. I don't understand why bring
> fontconfig here. Fontcnfig uses freetype to read and parse font files,
> but freetype does not need fontconfig.

Then take a look at ftfont.c, the "abstract" FreeType font driver,
unless you're saying we should also reinvent the (platform-specific)
code to detect and use installed fonts?



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 19:31                                           ` Eli Zaretskii
@ 2021-12-24  0:40                                             ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-24  0:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: xenodasein, ofv, arthur.miller, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Most low-level display-related code for X is in xterm.c and xfns.c.

There are also the three font drivers we use on X: ftcrfont.c, xftfont.c
and xfont.c.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-23 17:35                   ` Arthur Miller
  2021-12-24  0:38                     ` Po Lu
@ 2021-12-24  0:46                     ` Po Lu
  1 sibling, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-24  0:46 UTC (permalink / raw)
  To: Arthur Miller; +Cc: ofv, Eli Zaretskii, emacs-devel

Arthur Miller <arthur.miller@live.com> writes:

> Anyway, I find this discusion with you immature. You are sitting here
> and trying to find anything opposite for the sake of sake of saying
> opposite. Sorry, all best to you, I wish you Merry Christmass and all
> best, but I am out.

Merry Christmas.

You'll notice that I was not trying to find "anything opposite", but
mostly sticking to the same points, which a cursory inspection of the
existing FreeType-based font drivers (and also why it's "drivers" and
not "driver") will confirm.

Thanks.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  0:38                     ` Po Lu
@ 2021-12-24  1:17                       ` xenodasein--- via Emacs development discussions.
  2021-12-24  1:24                         ` Po Lu
  2021-12-24  7:17                         ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-24  1:17 UTC (permalink / raw)
  To: luangruo; +Cc: emacs-devel

Dec 24, 2021, 03:38 by luangruo@yahoo.com:

> That benefit is hardly established.
>

We could establish deeper, but any developer who worked
on both traditional desktop apps or graphical apps with their
own rendering like "games" will tell you same things.


> What about locating the font files to open? Scaling glyphs, which is
> usually the job of the platform, and essentially required for color
> Emoji? What about displaying the resulting bitmap, or decomposed glyph
> outline?
>
> All those tasks need platform-dependent code, and about the same amount
> as supporting the native font rasterizer.
>
> Then take a look at ftfont.c, the "abstract" FreeType font driver,
> unless you're saying we should also reinvent the (platform-specific)
> code to detect and use installed fonts?
>

You kinda have to use platform dependent features directly, as we
are not programming into aether.  However, painting menus isn't one.
You don't need a third-party solution, whether it is from platform itself
like legacy win32 GUI elements or another library.  Using them is like
using a sledgehammer to drive a nail in Emacs' case. We could even do
the text rendering itself too, provided an expert would contribute it to
Emacs.  But no one said let's do text rendering, AFAIK.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  1:17                       ` xenodasein--- via Emacs development discussions.
@ 2021-12-24  1:24                         ` Po Lu
  2021-12-24  1:37                           ` xenodasein--- via Emacs development discussions.
  2021-12-24  2:20                           ` Stefan Kangas
  2021-12-24  7:17                         ` Eli Zaretskii
  1 sibling, 2 replies; 168+ messages in thread
From: Po Lu @ 2021-12-24  1:24 UTC (permalink / raw)
  To: xenodasein--- via Emacs development discussions.; +Cc: xenodasein

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
writes:

> You kinda have to use platform dependent features directly, as we are
> not programming into aether. However, painting menus isn't one.  You
> don't need a third-party solution, whether it is from platform itself
> like legacy win32 GUI elements or another library. Using them is like
> using a sledgehammer to drive a nail in Emacs' case. We could even do
> the text rendering itself too, provided an expert would contribute it
> to Emacs.

That is simply untrue.  Besides, people _want_ the platform specific
widgets, or otherwise we'd just be porting oldXMenu everywhere.

> But no one said let's do text rendering, AFAIK.

That's what Authur said about FreeType.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  1:24                         ` Po Lu
@ 2021-12-24  1:37                           ` xenodasein--- via Emacs development discussions.
  2021-12-24  7:24                             ` Eli Zaretskii
  2021-12-24  2:20                           ` Stefan Kangas
  1 sibling, 1 reply; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-24  1:37 UTC (permalink / raw)
  To: luangruo; +Cc: emacs-devel

Dec 24, 2021, 04:24 by luangruo@yahoo.com:

> That is simply untrue.  Besides, people _want_ the platform specific
> widgets, or otherwise we'd just be porting oldXMenu everywhere.
>

I agree those should remain as long as there is demand and someone
who knows how to maintain them, just like text interface still works
despite being the less popular choice.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  1:24                         ` Po Lu
  2021-12-24  1:37                           ` xenodasein--- via Emacs development discussions.
@ 2021-12-24  2:20                           ` Stefan Kangas
  2021-12-24  2:43                             ` Po Lu
  1 sibling, 1 reply; 168+ messages in thread
From: Stefan Kangas @ 2021-12-24  2:20 UTC (permalink / raw)
  To: Po Lu, xenodasein--- via Emacs development discussions.

Po Lu <luangruo@yahoo.com> writes:

> That is simply untrue.  Besides, people _want_ the platform specific
> widgets,

Do they?  VSCode is pretty popular, and their users don't seem to care
about that at all.

FWIW, I think it would be highly preferable if Emacs could look and
behave the same across all platforms.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  2:20                           ` Stefan Kangas
@ 2021-12-24  2:43                             ` Po Lu
  0 siblings, 0 replies; 168+ messages in thread
From: Po Lu @ 2021-12-24  2:43 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: xenodasein--- via Emacs development discussions.

Stefan Kangas <stefankangas@gmail.com> writes:

> Do they?  VSCode is pretty popular, and their users don't seem to care
> about that at all.

I don't know about VS Code, but IntelliJ IDEA has the same decoration
style everywhere, and many people at work seem to complain about that.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  1:17                       ` xenodasein--- via Emacs development discussions.
  2021-12-24  1:24                         ` Po Lu
@ 2021-12-24  7:17                         ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-24  7:17 UTC (permalink / raw)
  To: xenodasein; +Cc: luangruo, emacs-devel

> Date: Fri, 24 Dec 2021 02:17:32 +0100 (CET)
> Cc: emacs-devel@gnu.org
> From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> You kinda have to use platform dependent features directly, as we
> are not programming into aether.  However, painting menus isn't one.
> You don't need a third-party solution, whether it is from platform itself
> like legacy win32 GUI elements or another library.  Using them is like
> using a sledgehammer to drive a nail in Emacs' case. We could even do
> the text rendering itself too, provided an expert would contribute it to
> Emacs.  But no one said let's do text rendering, AFAIK.

But we already have all that -- that's the X build without any
toolkits.  Almost no one uses it, because any toolkit version looks
much nicer, so we can conclude today what would be the result of your
suggestions.  Producing a good-looking GUI application is a lot of
low-level work, and suggesting that we do all or most of that "by
hand" is really a non-starter.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  1:37                           ` xenodasein--- via Emacs development discussions.
@ 2021-12-24  7:24                             ` Eli Zaretskii
  2021-12-24  8:06                               ` xenodasein--- via Emacs development discussions.
  0 siblings, 1 reply; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-24  7:24 UTC (permalink / raw)
  To: xenodasein; +Cc: luangruo, emacs-devel

> Date: Fri, 24 Dec 2021 02:37:32 +0100 (CET)
> Cc: emacs-devel@gnu.org
> From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> text interface still works despite being the less popular choice.

I invite you to read the Emacs Reddit for some time, where you will
learn that quite a few people use the text-mode UI _by_choice_.  It's
quite popular.



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  7:24                             ` Eli Zaretskii
@ 2021-12-24  8:06                               ` xenodasein--- via Emacs development discussions.
  2021-12-24  8:24                                 ` Stefan Kangas
  2021-12-24  8:37                                 ` Eli Zaretskii
  0 siblings, 2 replies; 168+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-24  8:06 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel

Dec 24, 2021, 10:24 by eliz@gnu.org:

>> Date: Fri, 24 Dec 2021 02:37:32 +0100 (CET)
>> Cc: emacs-devel@gnu.org
>> From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
>> text interface still works despite being the less popular choice.
>>
>
> I invite you to read the Emacs Reddit for some time, where you will
> learn that quite a few people use the text-mode UI _by_choice_.  It's
> quite popular.
>

I know, I am one of them, and I mentioned it several times.
Emacs' text interface is less popular than it's GUI.
Is previous statement false?  That is what I said there.




^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  8:06                               ` xenodasein--- via Emacs development discussions.
@ 2021-12-24  8:24                                 ` Stefan Kangas
  2021-12-24  8:37                                 ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: Stefan Kangas @ 2021-12-24  8:24 UTC (permalink / raw)
  To: xenodasein, eliz; +Cc: emacs-devel

xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
writes:

> Emacs' text interface is less popular than it's GUI.
> Is previous statement false?  That is what I said there.

Among the respondents in the Emacs Survey last year, 91.5 % used
graphical Emacs, and 31.9 % used it in the terminal.

    https://emacssurvey.org/2020/



^ permalink raw reply	[flat|nested] 168+ messages in thread

* Re: Motif support
  2021-12-24  8:06                               ` xenodasein--- via Emacs development discussions.
  2021-12-24  8:24                                 ` Stefan Kangas
@ 2021-12-24  8:37                                 ` Eli Zaretskii
  1 sibling, 0 replies; 168+ messages in thread
From: Eli Zaretskii @ 2021-12-24  8:37 UTC (permalink / raw)
  To: xenodasein; +Cc: emacs-devel

> Date: Fri, 24 Dec 2021 09:06:21 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: emacs-devel@gnu.org
> 
> Dec 24, 2021, 10:24 by eliz@gnu.org:
> 
> >> Date: Fri, 24 Dec 2021 02:37:32 +0100 (CET)
> >> Cc: emacs-devel@gnu.org
> >> From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> >> text interface still works despite being the less popular choice.
> >>
> >
> > I invite you to read the Emacs Reddit for some time, where you will
> > learn that quite a few people use the text-mode UI _by_choice_.  It's
> > quite popular.
> >
> 
> I know, I am one of them, and I mentioned it several times.
> Emacs' text interface is less popular than it's GUI.
> Is previous statement false?

It isn't clear to me whether it is true or false.  The text-mode UI is
popular enough to not make any assumptions here.



^ permalink raw reply	[flat|nested] 168+ messages in thread

end of thread, other threads:[~2021-12-24  8:37 UTC | newest]

Thread overview: 168+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <878rwhbb91.fsf.ref@yahoo.com>
2021-12-19  2:04 ` Motif support Po Lu
2021-12-19  7:05   ` Eli Zaretskii
2021-12-19  7:14     ` Po Lu
2021-12-19  7:35       ` Po Lu
2021-12-19  7:50       ` Eli Zaretskii
2021-12-19  7:56         ` Bozhidar Batsov
2021-12-19  9:12           ` Po Lu
2021-12-19 10:38             ` Óscar Fuentes
2021-12-19 10:41               ` Po Lu
2021-12-19 10:52                 ` Óscar Fuentes
2021-12-19 10:58                   ` Po Lu
2021-12-19 11:07                     ` Po Lu
2021-12-19 11:29                       ` Óscar Fuentes
2021-12-19 11:39                         ` Po Lu
2021-12-19 12:05                           ` Óscar Fuentes
2021-12-19 12:23                             ` Po Lu
2021-12-19 13:02                             ` Eli Zaretskii
2021-12-19 14:15                               ` Óscar Fuentes
2021-12-19 14:27                                 ` dick
2021-12-19 15:10                                 ` Eli Zaretskii
2021-12-20  2:12                                   ` Aiko Kyle
2021-12-20  3:13                                     ` Po Lu
2021-12-20  4:16                                       ` Akira Kyle
2021-12-20  4:43                                         ` Po Lu
2021-12-20 16:54                                         ` Eli Zaretskii
2021-12-20 19:01                                           ` Stefan Monnier
2021-12-20 19:21                                             ` Eli Zaretskii
2021-12-20 19:59                                               ` Stefan Monnier
2021-12-20 21:07                                           ` Akira Kyle
2021-12-20  4:44                                       ` Richard Stallman
2021-12-20  4:56                                         ` Po Lu
2021-12-22  4:16                                           ` Richard Stallman
2021-12-22  4:40                                             ` Po Lu
2021-12-23  3:43                                               ` Richard Stallman
2021-12-23  4:47                                                 ` Po Lu
2021-12-19 11:25                     ` Eli Zaretskii
2021-12-19 11:29                       ` Po Lu
2021-12-19 10:28         ` Lars Ingebrigtsen
2021-12-20 10:05           ` Robert Pluim
2021-12-20 10:15             ` Lars Ingebrigtsen
     [not found]               ` <87ee671s9o.fsf@yahoo.com>
2021-12-20 10:38                 ` Lars Ingebrigtsen
2021-12-21  1:01                   ` Po Lu
2021-12-21  3:28                     ` Eli Zaretskii
2021-12-21 17:01                       ` Eli Zaretskii
2021-12-21 17:47                         ` Robert Pluim
2021-12-21 17:53                           ` Eli Zaretskii
2021-12-21 18:02                             ` Robert Pluim
2021-12-21 18:12                               ` Eli Zaretskii
2021-12-22  0:53                               ` Po Lu
     [not found]                   ` <875yrj1ro7.fsf@yahoo.com>
2021-12-21  5:19                     ` Lars Ingebrigtsen
     [not found]             ` <87a6gv1s47.fsf@yahoo.com>
2021-12-20 11:09               ` Robert Pluim
2021-12-20 19:32                 ` Sean Whitton
2021-12-22 15:58             ` Arthur Miller
2021-12-22 17:13               ` Eli Zaretskii
2021-12-22 17:56                 ` Arthur Miller
2021-12-22 18:21                   ` Eli Zaretskii
2021-12-22 19:46                     ` Arthur Miller
2021-12-22 20:14                       ` Eli Zaretskii
2021-12-23  7:21               ` Madhu
2021-12-23  7:24                 ` Madhu
2021-12-23  9:32                 ` Arthur Miller
2021-12-23  9:38                   ` Po Lu
2021-12-23 11:53                     ` Arthur Miller
2021-12-23 12:06                       ` Po Lu
2021-12-23 14:36                         ` dick
2021-12-23 14:42                           ` Eli Zaretskii
2021-12-23 15:01                             ` dick
2021-12-23 15:07                               ` Eli Zaretskii
2021-12-23 15:33                                 ` dick
2021-12-23 16:17                                   ` Eli Zaretskii
2021-12-23 15:43                                 ` xenodasein--- via Emacs development discussions.
2021-12-23 14:16                       ` Eli Zaretskii
2021-12-23 17:47                         ` Arthur Miller
2021-12-23 18:24                           ` Eli Zaretskii
2021-12-23 22:47                             ` Arthur Miller
2021-12-19  8:48       ` Dmitry Gutov
2021-12-19  9:13         ` Po Lu
2021-12-19 10:14       ` martin rudalics
2021-12-20  0:15         ` Madhu
2021-12-20  1:42           ` Po Lu
2021-12-20  1:42           ` Po Lu
2021-12-21 16:15 xenodasein--- via Emacs development discussions.
2021-12-21 16:48 ` Eli Zaretskii
2021-12-21 17:58   ` xenodasein--- via Emacs development discussions.
2021-12-21 18:09     ` Eli Zaretskii
2021-12-21 18:28       ` xenodasein--- via Emacs development discussions.
2021-12-21 18:37         ` Eli Zaretskii
2021-12-21 19:18           ` xenodasein--- via Emacs development discussions.
2021-12-21 19:29             ` Eli Zaretskii
2021-12-22  0:51               ` Po Lu
2021-12-21 19:45           ` xenodasein--- via Emacs development discussions.
2021-12-21 19:51             ` Eli Zaretskii
2021-12-21 20:15               ` xenodasein--- via Emacs development discussions.
2021-12-21 20:23                 ` Eli Zaretskii
2021-12-21 20:50                   ` xenodasein--- via Emacs development discussions.
2021-12-22 17:09                     ` Arthur Miller
2021-12-22 17:24                       ` xenodasein--- via Emacs development discussions.
2021-12-22 17:28                         ` xenodasein--- via Emacs development discussions.
2021-12-22 18:07                         ` Arthur Miller
2021-12-22 18:20                           ` xenodasein--- via Emacs development discussions.
2021-12-22  0:52                 ` Po Lu
2021-12-22 16:39                   ` xenodasein--- via Emacs development discussions.
2021-12-22 17:32                     ` Eli Zaretskii
2021-12-22 17:59                       ` xenodasein--- via Emacs development discussions.
2021-12-23  0:58                     ` Po Lu
2021-12-23 10:48                       ` xenodasein--- via Emacs development discussions.
2021-12-23 10:54                         ` Po Lu
2021-12-23 11:10                           ` xenodasein--- via Emacs development discussions.
2021-12-23 11:17                             ` Po Lu
2021-12-23 12:40                               ` Arthur Miller
2021-12-23 12:46                                 ` Po Lu
2021-12-23 16:41                                   ` Arthur Miller
2021-12-23 18:05                                     ` xenodasein--- via Emacs development discussions.
2021-12-23 18:33                                       ` Eli Zaretskii
2021-12-23 18:57                                         ` dick
2021-12-23 19:29                                           ` Eli Zaretskii
2021-12-23 19:04                                         ` xenodasein--- via Emacs development discussions.
2021-12-23 19:31                                           ` Eli Zaretskii
2021-12-24  0:40                                             ` Po Lu
2021-12-23 22:41                                         ` Arthur Miller
2021-12-22 17:26       ` Arthur Miller
2021-12-22 17:40         ` Eli Zaretskii
2021-12-22 19:14           ` Arthur Miller
2021-12-22 19:25             ` Eli Zaretskii
2021-12-22 20:08               ` Óscar Fuentes
2021-12-22 20:16                 ` Eli Zaretskii
2021-12-22 23:44                   ` Arthur Miller
2021-12-23  0:53                     ` Po Lu
2021-12-23  0:53                     ` Michael Welsh Duggan
2021-12-23  6:54                     ` Eli Zaretskii
2021-12-23  7:43                       ` Arthur Miller
2021-12-23  9:05                         ` Po Lu
2021-12-23 11:21                           ` Arthur Miller
2021-12-23 11:34                             ` Po Lu
2021-12-23 12:15                               ` Arthur Miller
2021-12-23 12:25                                 ` Po Lu
2021-12-23  9:24                         ` Óscar Fuentes
2021-12-23  0:47             ` Po Lu
  -- strict thread matches above, loose matches on Subject: below --
2021-12-22 19:19 xenodasein--- via Emacs development discussions.
2021-12-22 19:35 ` Arthur Miller
2021-12-22 19:37 ` Eli Zaretskii
2021-12-22 20:24   ` Óscar Fuentes
2021-12-23  6:42     ` Eli Zaretskii
2021-12-23  7:58       ` Arthur Miller
2021-12-23  8:55         ` Eli Zaretskii
2021-12-23 11:46           ` Arthur Miller
2021-12-23 11:52             ` Po Lu
2021-12-23 12:43               ` Arthur Miller
2021-12-23 12:52                 ` Po Lu
2021-12-23 17:35                   ` Arthur Miller
2021-12-24  0:38                     ` Po Lu
2021-12-24  1:17                       ` xenodasein--- via Emacs development discussions.
2021-12-24  1:24                         ` Po Lu
2021-12-24  1:37                           ` xenodasein--- via Emacs development discussions.
2021-12-24  7:24                             ` Eli Zaretskii
2021-12-24  8:06                               ` xenodasein--- via Emacs development discussions.
2021-12-24  8:24                                 ` Stefan Kangas
2021-12-24  8:37                                 ` Eli Zaretskii
2021-12-24  2:20                           ` Stefan Kangas
2021-12-24  2:43                             ` Po Lu
2021-12-24  7:17                         ` Eli Zaretskii
2021-12-24  0:46                     ` Po Lu
2021-12-23 15:05   ` xenodasein--- via Emacs development discussions.
2021-12-23 15:08     ` Eli Zaretskii
2021-12-23 11:37 xenodasein--- via Emacs development discussions.
2021-12-23 11:39 ` Po Lu
2021-12-23 11:45   ` xenodasein--- via Emacs development discussions.
2021-12-23 11:50     ` Po Lu

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.