unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Development Speed
@ 2021-12-19 17:06 xenodasein--- via Emacs development discussions.
  2021-12-20  0:31 ` Po Lu
                   ` (2 more replies)
  0 siblings, 3 replies; 101+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-19 17:06 UTC (permalink / raw)
  To: Emacs Devel

  Over some time now I have been trying to familiarize myself with Emacs
code-base and to follow emacs-devel.  I have an observation I would like to
ask about, because of course I alone can not assess the level of it's validity
as a mere mortal who doesn't have the man-hours spent on Emacs internals.

  Is Emacs developing too fast?  Contributions seem to focus on increasing
code size rather than reducing it, on adding features and not on
"paying technical debt"?  Maybe these tendencies oscillate healthily over
years and I only observed a period of the former.

  Especially the graphical parts seem to suffer from high-coupling and
low-cohesion?  Where for example the Neovim project seems to have the ability
to arbitrarily change what GUI implementation it uses. This mail seems to have
the same observation about GUI situation:
https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg01866.html

  I couldn't find a "milestones" type of guide, and do not know of future
plans except the ones in TODO file, so maybe there is something regarding to
this topic?

  Large-scale refactoring would make it possible to pursue TODO list items
like "Emacs as word processor" or "Concurrency", or allow us to use C17?

Thoughts?




^ permalink raw reply	[flat|nested] 101+ messages in thread
* Re: Development Speed
@ 2021-12-21 10:52 xenodasein--- via Emacs development discussions.
  2021-12-21 11:05 ` Po Lu
                   ` (2 more replies)
  0 siblings, 3 replies; 101+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-21 10:52 UTC (permalink / raw)
  To: Po Lu; +Cc: Emacs Devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg01968.html
From: Po Lu
Date: Tue, 21 Dec 2021 09:06:40 +0800

> It's not much more modular than what we have in Emacs. The only real
> difference is that it runs in a separate process, which I think also
> poses freedom issues. AFAIK there is at least one proprietary frontend
> for neovim.

I don't know if it is more or much more, but credit where credit is due.
This does help them receive more contributions than both Vim and Emacs.
Structuring the code with respect to software freedom is a whole different
subject, (which I support) but current ifdef toolkit jungle is not that.

> Details, please. We want to fix any bugs that crop up anywhere, and I
> don't think we're missing out on any features.

I cannot see the future or what could've been, this is highly opinionated
but I do believe following latest C standard as early as possible is good
for an open source project.




^ permalink raw reply	[flat|nested] 101+ messages in thread
* Re: Development Speed
@ 2021-12-22  0:52 xenodasein--- via Emacs development discussions.
  2021-12-22  1:16 ` Po Lu
  2021-12-22 12:41 ` Eli Zaretskii
  0 siblings, 2 replies; 101+ messages in thread
From: xenodasein--- via Emacs development discussions. @ 2021-12-22  0:52 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02012.html
From: Eli Zaretskii
Subject: Re: Development Speed
Date: Tue, 21 Dec 2021 16:39:40 +0200

> ... I'm amazed that you think this is a disadvantage in Emacs.

But it doesn't work, it returns nil!  Shouldn't it just throw error
when called in TUI or just get not bound to it's symbol?

> This is a feature: Lisp programs almost never need to know whether
> they run on text-mode or GUI displays.  If a Lisp program had to ask
> on every step whether the display is TTY or GUI...

I think they have to, unless TUI and GUI capabilites of a program are
exactly the same, which would be unfortunate.  For example this package
https://github.com/tumashu/ivy-posframe only works on and is meaningful
for GUI. But:

> ... we deliberately implemented most of the GUI features on TTYs:
> multiple frames, colors (with transparent translation of X colors),
> mouse support, menus and dialogs -- in order to eliminate most of the
> differences on the Lisp level.

Shouldn't there exist a set of functions that exit for GUI, a set that
exist for TUI, and as their intersection a set of interface-agnostic
functions?  Things you mentioned mostly live in the intersection
anyway.

> ... One of the worst "surprises" when
> building a new version of a package is to find out it no longer
> supports your compiler/linker/libraries...

If a system has internet connection and is able to run the latest Emacs,
shouldn't it be able to get a reasonably recent GCC?  Asking for my own
education, feel free to pass...



> We are not talking about platforms, we are talking about GNU/Linux
> systems that still use old GCC versions.  There are quite a lot of
> those...

Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02014.html
From: Eli Zaretskii
Subject: Re: Development Speed
Date: Tue, 21 Dec 2021 16:48:47 +0200

> Why is that?  We are talking about a project most of whose codebase is
> extremely stable and proven by many years of use.  What could possibly
> new compilers give us except destabilize the code (due to bugs in
> early implementations of new standards)?

I don't know how bad the situation is but I feel like I mentioned C++20
and not C11? GCC is the backbone of GNU and C11 was implemented in it
like 10 years ago IIRC. Compiling Emacs 29 (assuming it is C11, which I
don't think it will or should) on a system system without C11 sounds,
rather unusual?  There is always 28.  I am certainly not an authority on this
subject, maybe there exists something like the "Steam Hardware Survey" but
for GNU/GCC?




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

end of thread, other threads:[~2021-12-25 15:55 UTC | newest]

Thread overview: 101+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-19 17:06 Development Speed xenodasein--- via Emacs development discussions.
2021-12-20  0:31 ` Po Lu
2021-12-20  4:16   ` xenodasein--- via Emacs development discussions.
2021-12-20  5:12     ` Po Lu
2021-12-20  8:16     ` Philip Kaludercic
2021-12-20 14:30     ` Stefan Monnier
2021-12-20 15:51       ` xenodasein--- via Emacs development discussions.
     [not found]     ` <MrLr14W--3-2@tutanota.de>
     [not found]       ` <87lf0f1vko.fsf@yahoo.com>
2021-12-20 15:49         ` xenodasein--- via Emacs development discussions.
2021-12-21  1:06           ` Po Lu
2021-12-21 10:25       ` xenodasein--- via Emacs development discussions.
2021-12-21 10:31         ` Po Lu
2021-12-21 14:39         ` Eli Zaretskii
2021-12-20 10:31 ` Lars Ingebrigtsen
2021-12-21  4:15 ` Richard Stallman
2021-12-21  5:55   ` Eli Zaretskii
2021-12-21 11:09   ` xenodasein--- via Emacs development discussions.
2021-12-21 14:52     ` Eli Zaretskii
2021-12-22  0:55       ` xenodasein--- via Emacs development discussions.
2021-12-22 12:44         ` Eli Zaretskii
2021-12-21 16:26   ` [External] : " Drew Adams
  -- strict thread matches above, loose matches on Subject: below --
2021-12-21 10:52 xenodasein--- via Emacs development discussions.
2021-12-21 11:05 ` Po Lu
2021-12-21 11:25   ` xenodasein--- via Emacs development discussions.
2021-12-21 11:37     ` Po Lu
2021-12-21 14:47       ` xenodasein--- via Emacs development discussions.
2021-12-22  0:56         ` Po Lu
2021-12-22  1:05           ` xenodasein--- via Emacs development discussions.
2021-12-21 12:05     ` Stefan Kangas
2021-12-21 12:20       ` Theodor Thornhill
2021-12-21 14:14       ` xenodasein--- via Emacs development discussions.
2021-12-21 14:48 ` Eli Zaretskii
2021-12-22  4:16 ` Richard Stallman
2021-12-22 10:09   ` Óscar Fuentes
2021-12-22 10:22     ` Po Lu
2021-12-22 10:38       ` Óscar Fuentes
2021-12-22 10:45         ` Po Lu
2021-12-22 13:47         ` Eli Zaretskii
2021-12-23  3:43         ` Richard Stallman
2021-12-23  9:50           ` Óscar Fuentes
2021-12-23 10:37             ` Po Lu
2021-12-23 10:52               ` Óscar Fuentes
2021-12-23 10:54               ` Arthur Miller
2021-12-24  4:13               ` Richard Stallman
2021-12-24  4:13             ` Richard Stallman
2021-12-22 14:21       ` Dmitry Gutov
2021-12-23  1:00         ` Po Lu
2021-12-23  1:05           ` Dmitry Gutov
2021-12-23  1:07             ` Po Lu
2021-12-23  2:18               ` dick
2021-12-23  6:39                 ` Eli Zaretskii
2021-12-23 10:46               ` Dmitry Gutov
2021-12-23 12:54                 ` Arthur Miller
2021-12-22 13:41     ` Eli Zaretskii
2021-12-22 15:51       ` Óscar Fuentes
2021-12-22 17:12         ` Eli Zaretskii
2021-12-22 18:49           ` Óscar Fuentes
2021-12-23  3:43     ` Richard Stallman
2021-12-23 10:13       ` Óscar Fuentes
2021-12-23 10:35         ` Po Lu
2021-12-23 10:47           ` Óscar Fuentes
2021-12-23 10:50             ` Po Lu
2021-12-23 10:59               ` Óscar Fuentes
2021-12-23 11:05                 ` Po Lu
2021-12-23 11:16                   ` Óscar Fuentes
2021-12-24  4:13           ` Richard Stallman
2021-12-24  4:13         ` Richard Stallman
2021-12-23 10:23       ` Arthur Miller
2021-12-24  4:13         ` Richard Stallman
2021-12-22 14:41   ` xenodasein--- via Emacs development discussions.
2021-12-22  0:52 xenodasein--- via Emacs development discussions.
2021-12-22  1:16 ` Po Lu
2021-12-22 12:41 ` Eli Zaretskii
2021-12-22 15:15   ` xenodasein--- via Emacs development discussions.
2021-12-22 16:37     ` Eli Zaretskii
2021-12-23 13:36       ` xenodasein--- via Emacs development discussions.
2021-12-23 13:42         ` Po Lu
2021-12-23 13:48           ` xenodasein--- via Emacs development discussions.
2021-12-23 16:36             ` Stefan Monnier
2021-12-23 17:02               ` xenodasein--- via Emacs development discussions.
2021-12-24  0:21                 ` Po Lu
2021-12-24 20:21               ` Tim Cross
2021-12-23 16:35         ` Stefan Monnier
2021-12-23 17:35           ` xenodasein--- via Emacs development discussions.
2021-12-23 19:12             ` Stefan Monnier
2021-12-23 19:53               ` xenodasein--- via Emacs development discussions.
2021-12-23 20:10                 ` Stefan Monnier
2021-12-23 20:16                   ` Eli Zaretskii
2021-12-23 22:07                     ` xenodasein--- via Emacs development discussions.
2021-12-24  7:00                       ` Eli Zaretskii
2021-12-25  5:16               ` Richard Stallman
2021-12-25  5:22                 ` Po Lu
2021-12-25  7:03                 ` Eli Zaretskii
2021-12-25 15:55                 ` Stefan Monnier
2021-12-25  5:16             ` Richard Stallman
2021-12-24  1:33           ` Sean Whitton
2021-12-24 14:06             ` Stefan Monnier
2021-12-24 14:39               ` Óscar Fuentes
2021-12-22 15:21   ` xenodasein--- via Emacs development discussions.
2021-12-22 16:42     ` Eli Zaretskii
2021-12-23 13:57       ` xenodasein--- via Emacs development discussions.
2021-12-23 14:37         ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

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