From: Richard Stallman <rms@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: owinebar@gmail.com, emacs-devel@gnu.org
Subject: Re: Emacs design and architecture (was: Shrinking the C core)
Date: Tue, 19 Sep 2023 06:22:36 -0400 [thread overview]
Message-ID: <E1qiXsK-0004vx-VS@fencepost.gnu.org> (raw)
In-Reply-To: <83cyyhgvjq.fsf@gnu.org> (message from Eli Zaretskii on Sun, 17 Sep 2023 09:31:37 +0300)
[[[ 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. ]]]
> > These are internal design decisions.
> > The last one does relate to some user-level features
> > such as data in the buffer. The first three don't.
> >
> > So I don't see these as being related to simplicity
> > that benefits the users.
> That is true, by and large, but the simplicity that benefits users is
> not the only issue at stake. There's also the issue of being capable
> of performing complex computations efficiently, i.e. quickly and
> without locking up Emacs; multi-threading and a more modern GC could
> give us at least some of that.
I agree, these kinds of changes
> > . "buffer with gap" for storing buffer text
> > . "mark and sweep" GC
> > . basic single-threaded MVC architecture
> > . display engine design around the rectangular canvas model and
> > on-the-fly layout decisions
could possibly be improvements. I was arguing only against one
putative benefit, "simplicity".
> In off-line discussions with Stefan Monnier, we both arrived at the
> conclusion that some basic limitations of the current display engine
> cannot be lifted without redesigning how buffer text is stored and
> accessed.
I agree they would require something more powerful than text
properties and overlays as they are now. Text properties were
designed to work consistently with copying text between buffers and
strings, and that imposed a limit. What made this conceptually simple was
the idea that each character individually has its own properties.
If we add a more powerful method of attaching non-text data to
buffers, the design phase should include specifying precisely how they
would behave when copying text between buffers and strings.
--
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)
next prev parent reply other threads:[~2023-09-19 10:22 UTC|newest]
Thread overview: 371+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-27 15:14 Shrinking the C core Arthur Miller
2023-08-27 16:29 ` Eli Zaretskii
2023-08-28 5:32 ` Gerd Möllmann
2023-08-28 6:23 ` Arthur Miller
2023-08-28 6:21 ` Arthur Miller
2023-08-28 1:31 ` Richard Stallman
2023-08-28 5:50 ` Arthur Miller
2023-08-28 12:20 ` Po Lu
2023-08-28 14:39 ` Arthur Miller
2023-08-28 15:17 ` Po Lu
2023-08-29 2:41 ` Arthur Miller
2023-08-28 1:41 ` Po Lu
2023-08-28 2:53 ` chad
2023-08-28 3:43 ` Emanuel Berg
2023-08-28 4:53 ` Arthur Miller
2023-08-28 5:36 ` Po Lu
2023-08-28 6:55 ` Arthur Miller
2023-08-28 7:31 ` Po Lu
2023-08-28 8:06 ` Ihor Radchenko
2023-08-28 14:30 ` Arthur Miller
2023-08-28 15:09 ` Ihor Radchenko
2023-08-29 2:20 ` Arthur Miller
2023-08-28 15:14 ` Po Lu
2023-08-29 2:36 ` Arthur Miller
2023-08-29 4:07 ` Po Lu
2023-08-31 1:07 ` Emanuel Berg
2023-08-28 14:08 ` Arthur Miller
2023-08-28 15:08 ` Po Lu
2023-08-29 2:06 ` Arthur Miller
2023-08-29 4:15 ` Po Lu
2023-08-29 11:50 ` Eli Zaretskii
2023-08-29 3:57 ` Arthur Miller
2023-09-01 1:18 ` Richard Stallman
2023-08-31 2:07 ` Richard Stallman
2023-09-01 14:58 ` Arthur Miller
2023-09-01 16:36 ` tomas
2023-09-04 1:32 ` Richard Stallman
2023-09-04 1:44 ` Emanuel Berg
2023-09-04 5:49 ` Rudolf Schlatte
2023-09-04 14:08 ` Emanuel Berg
2023-09-07 1:21 ` Richard Stallman
2023-09-07 1:54 ` Emanuel Berg
2023-09-07 7:02 ` tomas
2023-09-07 7:36 ` Alfred M. Szmidt
2023-09-07 7:56 ` Emanuel Berg
2023-09-07 8:19 ` Ihor Radchenko
2023-09-07 8:39 ` Emanuel Berg
2023-09-07 9:28 ` Alfred M. Szmidt
2023-09-09 1:00 ` Emanuel Berg
2023-09-09 6:25 ` Po Lu
2023-09-09 7:24 ` Eli Zaretskii
2023-09-07 9:31 ` Eli Zaretskii
2023-09-07 9:39 ` Ihor Radchenko
2023-09-09 1:06 ` Emanuel Berg
2023-09-11 0:43 ` Richard Stallman
2023-09-11 12:24 ` Eli Zaretskii
2023-09-11 12:43 ` tomas
2023-09-13 5:59 ` Emanuel Berg
2023-09-12 4:44 ` Gerd Möllmann
2023-09-12 12:25 ` João Távora
2023-09-12 11:31 ` Lynn Winebarger
2023-09-12 13:00 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-13 20:52 ` Lynn Winebarger
2023-09-13 21:19 ` Christopher Dimech
2023-09-14 6:01 ` Eli Zaretskii
2023-09-15 0:13 ` Richard Stallman
2023-09-15 4:39 ` Emacs design and architecture Werner LEMBERG
2023-09-17 0:43 ` Richard Stallman
2023-09-17 13:22 ` Werner LEMBERG
2023-09-14 5:57 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-14 6:30 ` Emacs design and architecture Gerd Möllmann
2023-09-14 6:38 ` Po Lu
2023-09-14 6:49 ` Gerd Möllmann
2023-09-14 15:03 ` Helmut Eller
2023-09-14 15:30 ` Gerd Möllmann
2023-09-14 16:21 ` Helmut Eller
2023-09-17 0:46 ` Richard Stallman
2023-09-17 13:02 ` Björn Bidar
2023-09-19 10:19 ` Richard Stallman
2023-09-14 16:23 ` Philip Kaludercic
2023-09-14 16:50 ` joakim
2023-09-14 16:30 ` Emacs design and architecture (was: Shrinking the C core) Lynn Winebarger
2023-09-14 16:52 ` Eli Zaretskii
2023-09-14 21:35 ` Dmitry Gutov
2023-09-15 5:50 ` Eli Zaretskii
2023-09-15 6:51 ` Yuri Khan
2023-09-15 7:23 ` Emacs design and architecture Max Brieiev
2023-09-15 7:30 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-15 9:32 ` Emacs design and architecture Gerd Möllmann
2023-09-15 15:52 ` Dmitry Gutov
2023-09-15 18:36 ` Gerd Möllmann
2023-09-15 18:42 ` Eli Zaretskii
2023-09-15 19:19 ` Gerd Möllmann
2023-09-15 22:20 ` Dmitry Gutov
2023-09-15 23:58 ` Emanuel Berg
2023-09-16 6:00 ` Eli Zaretskii
2023-09-17 12:16 ` Emanuel Berg
2023-09-17 14:24 ` Eli Zaretskii
2023-09-17 15:36 ` Emacs design and architecture. How about copy-on-write? Alan Mackenzie
2023-09-18 10:30 ` Eli Zaretskii
2023-09-18 11:38 ` Alan Mackenzie
2023-09-18 12:08 ` Eli Zaretskii
2023-09-18 12:49 ` Ihor Radchenko
2023-09-18 14:27 ` Eli Zaretskii
2023-09-18 15:55 ` Ihor Radchenko
2023-09-18 17:47 ` Eli Zaretskii
2023-09-18 22:48 ` Emanuel Berg
2023-09-19 10:53 ` Eli Zaretskii
2023-09-19 11:14 ` Emanuel Berg
2023-09-19 12:37 ` Ihor Radchenko
2023-09-19 19:21 ` Emanuel Berg
2023-09-20 9:56 ` Ihor Radchenko
2023-09-22 15:50 ` Emanuel Berg
2023-09-22 16:15 ` Ihor Radchenko
2023-09-22 16:22 ` Emanuel Berg
2023-09-22 18:08 ` Eli Zaretskii
2023-09-19 19:34 ` Emanuel Berg
2023-09-20 9:59 ` Ihor Radchenko
2023-09-20 10:22 ` Po Lu
2023-09-20 10:56 ` Ihor Radchenko
2023-09-20 11:11 ` Po Lu
2023-09-20 11:53 ` Ihor Radchenko
2023-09-20 11:58 ` Po Lu
2023-09-20 12:05 ` Ihor Radchenko
2023-09-20 13:35 ` Po Lu
2023-09-20 15:53 ` Eli Zaretskii
2023-09-21 0:55 ` Po Lu
2023-09-21 3:35 ` Po Lu
2023-09-21 7:27 ` Eli Zaretskii
2023-09-21 7:34 ` Po Lu
2023-09-21 8:13 ` Eli Zaretskii
2023-09-21 8:35 ` Ihor Radchenko
2023-09-21 9:59 ` Eli Zaretskii
2023-09-21 10:13 ` Ihor Radchenko
2023-09-21 11:49 ` Po Lu
2023-09-21 23:43 ` Dmitry Gutov
2023-09-21 12:57 ` Eli Zaretskii
2023-09-21 13:12 ` Po Lu
2023-09-21 13:29 ` Eli Zaretskii
2023-09-21 13:35 ` Po Lu
2023-09-21 13:49 ` Eli Zaretskii
2023-09-21 13:57 ` Po Lu
2023-09-21 14:10 ` Eli Zaretskii
2023-09-21 9:14 ` Po Lu
2023-09-22 15:59 ` Emanuel Berg
2023-09-22 16:45 ` [External] : " Drew Adams
2023-09-25 13:31 ` Emanuel Berg
2023-09-19 12:38 ` Eli Zaretskii
2023-09-19 12:57 ` Po Lu
2023-09-19 14:36 ` Eli Zaretskii
2023-09-20 1:05 ` Po Lu
2023-09-20 12:02 ` Eli Zaretskii
2023-09-20 12:09 ` Ihor Radchenko
2023-09-20 12:27 ` Po Lu
2023-09-19 19:38 ` Emanuel Berg
2023-09-20 12:35 ` Eli Zaretskii
2023-09-22 14:22 ` Emanuel Berg
2023-09-22 15:51 ` Eli Zaretskii
2023-09-22 16:00 ` Emanuel Berg
2023-09-22 19:00 ` Eli Zaretskii
2023-09-22 21:14 ` Emanuel Berg
2023-09-22 16:11 ` Ihor Radchenko
2023-09-22 16:14 ` Eli Zaretskii
2023-09-22 16:27 ` Ihor Radchenko
2023-09-22 17:19 ` Emanuel Berg
2023-09-22 16:13 ` tomas
2023-09-19 11:36 ` Ihor Radchenko
2023-09-19 12:34 ` Eli Zaretskii
2023-09-19 13:35 ` Ihor Radchenko
2023-09-19 14:14 ` Eli Zaretskii
2023-09-19 15:15 ` Dmitry Gutov
2023-09-19 15:37 ` Eli Zaretskii
2023-09-19 16:01 ` Dmitry Gutov
2023-09-19 17:54 ` Eli Zaretskii
2023-09-19 20:21 ` Dmitry Gutov
2023-09-20 11:28 ` Eli Zaretskii
2023-09-20 11:38 ` Ihor Radchenko
2023-09-20 14:35 ` Eli Zaretskii
2023-09-21 10:41 ` Ihor Radchenko
2023-09-21 13:26 ` Eli Zaretskii
2023-09-22 10:05 ` Ihor Radchenko
2023-09-22 11:53 ` Eli Zaretskii
2023-09-22 12:49 ` Ihor Radchenko
2023-09-22 13:01 ` Eli Zaretskii
2023-09-22 13:08 ` Ihor Radchenko
2023-09-20 12:21 ` Po Lu
2023-09-20 14:51 ` Eli Zaretskii
2023-09-20 19:39 ` Dmitry Gutov
2023-09-21 4:31 ` Eli Zaretskii
2023-09-21 10:41 ` Dmitry Gutov
2023-09-21 22:21 ` Stefan Kangas
2023-09-21 23:01 ` Dmitry Gutov
2023-09-21 0:41 ` Po Lu
2023-09-21 2:23 ` Adam Porter
2023-09-21 2:53 ` Po Lu
2023-09-21 7:25 ` Eli Zaretskii
2023-09-21 7:48 ` Po Lu
2023-09-21 8:18 ` Eli Zaretskii
2023-09-21 9:25 ` Po Lu
2023-09-21 9:39 ` Ihor Radchenko
2023-09-21 10:36 ` Dmitry Gutov
2023-09-21 10:48 ` Ihor Radchenko
2023-09-21 11:10 ` Dmitry Gutov
2023-09-21 11:17 ` Ihor Radchenko
2023-09-21 11:27 ` Dmitry Gutov
2023-09-21 11:36 ` Debouncing slow mode line constructs (was: Emacs design and architecture. How about copy-on-write?) Ihor Radchenko
2023-09-21 11:56 ` Dmitry Gutov
2023-09-22 10:07 ` Ihor Radchenko
2023-09-22 11:55 ` Eli Zaretskii
2023-09-22 12:50 ` Ihor Radchenko
2023-09-22 13:04 ` Eli Zaretskii
2023-09-22 13:10 ` Ihor Radchenko
2023-09-22 13:14 ` Eli Zaretskii
2023-09-23 10:54 ` Ihor Radchenko
2023-09-21 13:48 ` Eli Zaretskii
2023-09-22 10:23 ` Ihor Radchenko
2023-09-22 12:08 ` Eli Zaretskii
2023-09-22 13:03 ` Ihor Radchenko
2023-09-22 13:06 ` Eli Zaretskii
2023-09-22 13:19 ` Ihor Radchenko
2023-09-22 14:41 ` Eli Zaretskii
2023-09-23 11:10 ` Ihor Radchenko
2023-09-22 12:52 ` Dmitry Gutov
2023-09-22 15:05 ` [External] : " Drew Adams
2023-09-21 13:00 ` Emacs design and architecture. How about copy-on-write? Eli Zaretskii
2023-09-21 13:30 ` Dmitry Gutov
2023-09-21 13:44 ` Eli Zaretskii
2023-09-22 1:29 ` Dmitry Gutov
2023-09-22 10:51 ` Ihor Radchenko
2023-09-22 10:28 ` Ihor Radchenko
2023-09-22 12:26 ` Eli Zaretskii
2023-09-22 13:06 ` Ihor Radchenko
2023-09-22 13:12 ` Eli Zaretskii
2023-09-21 10:03 ` Eli Zaretskii
2023-09-20 19:22 ` Dmitry Gutov
2023-09-21 4:29 ` Eli Zaretskii
2023-09-21 20:24 ` Richard Stallman
2023-09-20 9:47 ` Ihor Radchenko
2023-09-20 14:02 ` Eli Zaretskii
2023-09-21 10:29 ` Ihor Radchenko
2023-09-21 14:02 ` Eli Zaretskii
2023-09-22 10:48 ` Ihor Radchenko
2023-09-22 12:34 ` Eli Zaretskii
2023-09-23 11:07 ` Ihor Radchenko
2023-09-23 11:23 ` Eli Zaretskii
2023-09-23 12:53 ` Dmitry Gutov
2023-09-23 13:01 ` Eli Zaretskii
2023-09-23 13:08 ` Dmitry Gutov
2023-09-23 13:15 ` Eli Zaretskii
2023-09-23 14:09 ` Ihor Radchenko
2023-09-24 0:29 ` Dmitry Gutov
2023-09-23 14:23 ` Yuri Khan
2023-09-23 14:25 ` Dmitry Gutov
2023-09-18 13:30 ` Po Lu
2023-09-18 13:34 ` Po Lu
2023-09-18 13:55 ` Ihor Radchenko
2023-09-18 15:04 ` Eli Zaretskii
2023-09-18 23:41 ` Po Lu
2023-09-19 14:25 ` Eli Zaretskii
2023-09-20 1:01 ` Po Lu
2023-09-20 11:56 ` Eli Zaretskii
2023-09-20 12:13 ` Po Lu
2023-09-20 14:46 ` Eli Zaretskii
2023-09-20 18:50 ` Dmitry Gutov
2023-09-21 4:23 ` Eli Zaretskii
2023-09-21 10:08 ` Ihor Radchenko
2023-09-21 10:12 ` Eli Zaretskii
2023-09-21 10:35 ` Ihor Radchenko
2023-09-21 13:13 ` Eli Zaretskii
2023-09-19 21:37 ` Björn Bidar
2023-09-19 10:20 ` Richard Stallman
2023-09-18 21:38 ` Emacs design and architecture Emanuel Berg
2023-09-16 8:41 ` Gerd Möllmann
2023-09-16 11:02 ` Dmitry Gutov
2023-09-16 11:59 ` Sebastian Miele
2023-09-16 13:00 ` Po Lu
2023-09-16 13:08 ` Gerd Möllmann
2023-09-16 13:25 ` Po Lu
2023-09-16 14:20 ` Björn Bidar
2023-09-16 16:33 ` Dmitry Gutov
2023-09-16 17:07 ` Gerd Möllmann
2023-09-16 17:30 ` Dmitry Gutov
2023-09-16 18:33 ` Gerd Möllmann
2023-09-16 19:18 ` Lynn Winebarger
2023-09-16 20:02 ` Gerd Möllmann
2023-09-16 19:40 ` Dmitry Gutov
2023-09-16 20:01 ` Gerd Möllmann
2023-09-16 23:50 ` Po Lu
2023-09-16 16:24 ` Dmitry Gutov
2023-09-16 23:46 ` Po Lu
2023-09-17 6:08 ` Immanuel Litzroth
2023-09-17 6:43 ` Po Lu
2023-09-17 18:51 ` Dmitry Gutov
2023-09-18 0:11 ` Po Lu
2023-09-18 10:46 ` Dmitry Gutov
2023-09-18 11:12 ` Po Lu
2023-09-18 11:19 ` Dmitry Gutov
2023-09-20 18:35 ` Richard Stallman
2023-09-20 18:59 ` Eli Zaretskii
2023-09-17 23:02 ` Richard Stallman
2023-09-19 18:22 ` chad
2023-09-21 20:26 ` Richard Stallman
2023-09-22 0:31 ` Bob Rogers
2023-09-23 7:13 ` Richard Stallman
2023-09-18 18:48 ` Dmitry Gutov
2023-09-19 23:14 ` Richard Stallman
2023-09-17 23:03 ` Richard Stallman
2023-09-15 23:26 ` Emanuel Berg
2023-09-16 9:09 ` Gerd Möllmann
2023-09-17 7:34 ` Gerd Möllmann
2023-09-17 15:44 ` Helmut Eller
2023-09-17 16:23 ` Eli Zaretskii
2023-09-18 6:36 ` Gerd Möllmann
2023-09-15 15:10 ` Emacs design and architecture (was: Shrinking the C core) Dmitry Gutov
2023-09-15 15:13 ` Dmitry Gutov
2023-09-17 0:45 ` Richard Stallman
2023-09-17 6:31 ` Eli Zaretskii
2023-09-19 10:22 ` Richard Stallman [this message]
2023-09-19 14:31 ` Eli Zaretskii
2023-10-12 12:27 ` Richard Stallman
2023-09-13 6:12 ` Shrinking the C core Emanuel Berg
2023-09-05 4:23 ` Arthur Miller
2023-09-06 0:58 ` Richard Stallman
2023-09-06 1:12 ` Emanuel Berg
2023-09-06 5:04 ` Arthur Miller
2023-09-06 11:29 ` Alan Mackenzie
2023-09-06 23:03 ` Emanuel Berg
2023-09-07 7:00 ` tomas
2023-09-07 7:23 ` Emanuel Berg
2023-09-07 5:30 ` Po Lu
2023-09-07 6:15 ` Emanuel Berg
2023-09-11 0:43 ` Richard Stallman
2023-09-11 12:05 ` Eli Zaretskii
2023-09-12 23:55 ` Richard Stallman
2023-09-13 6:34 ` Emanuel Berg
2023-09-07 8:51 ` Manuel Giraud via Emacs development discussions.
2023-09-07 9:20 ` Po Lu
2023-09-07 9:34 ` Eli Zaretskii
2023-09-08 2:00 ` Arthur Miller
2023-09-08 7:35 ` Gerd Möllmann
2023-09-09 10:05 ` João Távora
2023-09-08 15:38 ` [External] : " Drew Adams
2023-09-09 11:55 ` Arthur Miller
2023-09-09 12:55 ` Eli Zaretskii
2023-09-09 13:20 ` Arthur Miller
2023-09-10 0:09 ` Drew Adams
2023-09-11 0:40 ` Richard Stallman
2023-09-11 15:10 ` João Távora
2023-09-11 16:12 ` Drew Adams
2023-09-11 20:37 ` Tomas Hlavaty
2023-09-11 21:10 ` João Távora
2023-09-12 19:52 ` Tomas Hlavaty
2023-09-12 20:52 ` João Távora
2023-09-15 8:43 ` Emanuel Berg
2023-09-11 21:09 ` Eric S. Raymond
2023-09-12 2:05 ` Arthur Miller
2023-09-12 4:38 ` Gerd Möllmann
2023-09-12 5:48 ` Arthur Miller
2023-09-12 2:30 ` Arthur Miller
2023-09-12 12:15 ` Emanuel Berg
2023-09-12 12:32 ` Emanuel Berg
2023-09-12 19:57 ` Tomas Hlavaty
2023-09-13 0:00 ` Richard Stallman
2023-09-08 17:58 ` Bob Rogers
2023-09-15 21:59 ` Emanuel Berg
2023-09-17 23:03 ` Richard Stallman
2023-09-09 0:39 ` Richard Stallman
2023-09-09 12:50 ` Arthur Miller
2023-09-12 0:27 ` Richard Stallman
2023-08-28 7:45 ` Andrea Monaco
2023-08-28 14:35 ` Arthur Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1qiXsK-0004vx-VS@fencepost.gnu.org \
--to=rms@gnu.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=owinebar@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).