all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Po Lu <luangruo@yahoo.com>
To: "Óscar Fuentes" <ofv@wanadoo.es>
Cc: emacs-devel@gnu.org
Subject: Re: Motif support
Date: Sun, 19 Dec 2021 20:23:35 +0800	[thread overview]
Message-ID: <878rwg7ph4.fsf@yahoo.com> (raw)
In-Reply-To: <878rwgztoc.fsf@telefonica.net> ("Óscar Fuentes"'s message of "Sun, 19 Dec 2021 13:05:23 +0100")

Ó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.



  reply	other threads:[~2021-12-19 12:23 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=878rwg7ph4.fsf@yahoo.com \
    --to=luangruo@yahoo.com \
    --cc=emacs-devel@gnu.org \
    --cc=ofv@wanadoo.es \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.