From: Alan Mackenzie <acm@muc.de>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: rudalics@gmx.at, Eli Zaretskii <eliz@gnu.org>,
rrandresf@gmail.com, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: emacs rendering comparisson between emacs23 and emacs26.3
Date: Mon, 20 Apr 2020 21:19:41 +0000 [thread overview]
Message-ID: <20200420211941.GC8796@ACM> (raw)
In-Reply-To: <34fc9563-479e-f026-9640-1b70ca9885b9@yandex.ru>
Hello, Dmitry.
On Sun, Apr 19, 2020 at 21:12:57 +0300, Dmitry Gutov wrote:
> On 19.04.2020 20:12, Alan Mackenzie wrote:
[ .... ]
> >>> Inserting a C++ raw string opener does typically necessitate a full
> >>> scan (a search for a matching closer), but that would also be the
> >>> case using syntax-propertize.
> >> Not really. It would just mark the opener as a string opener (maybe with
> >> some extra text property), and that's that.
> > You don't know whether it's an unterminated raw string (the usual case)
> > until you've scanned for a potential closing delimiter.
> Is C++ syntax so ambiguous? Can R"( mean something else?
C++ syntax is ambiguous in several places, but not here. R"foo(,
assuming it's not itself inside a literal, means exactly one thing. But
you don't know whether it starts an unterminated string unless you seach
for a closing delimiter.
> > This affects the font locking. (An unterminated opening delimiter
> > gets font-lock-warning-face, a terminated one doesn't.)
> If everything after R"( is fontified as a string, it serves as a
> "warning" of sort as well.
That means putting syntax-table properties on every " after the R"foo(,
otherwise that string would only extend to the first such ".
But it wouldn't work well, since it wouldn't tell the user whether her
string was already closed.
> > This is the sort of feature which I'm not willing to sacrifice.
> Is it worth a full buffer scan every time you write a new raw string
> literal?
Yes, definitely.
> >> Then font-lock would fontify the following text as string contents
> >> (until the end of the window or a little bit farther). Then you type
> >> the closer, it only has to scan a little far back (it'll call
> >> syntax-ppss to find the string opener), the closer is propertized as
> >> appropriate, and that's that. No full buffer scans at any step.
> >> I recall that fontifying the rest of the buffer as text after a simple
> >> string opener could be a sore topic for you, but raw strings should be
> >> rare enough (aren't they?), or if they are not, fontification logic
> >> could opt to do something different, while syntax-table properties will
> >> be applied the "correct" way.
> > I'm not sure what you mean by "as text".
> Sorry, I meant "as string".
OK.
Same procedure for a simple string - if it's a terminated string the "
gets font-lock-string-face, if it's not it gets f-l-warning face.
> > I've no reason to think raw strings are at all rare. I've had
> > several bug reports for them. I'm not sure what you mean by
> > "fontification logic ... something different" - do you mean in the
> > raw string case?
> I mean that if a raw string is unterminated, the default behavior should
> be to fontify the rest of the buffer as string. But then again, you
> could choose some different highliting in font-lock rules.
The current strategy is to fontify the unterminated R"foo( with
warning-face, and let the devil deal with the rest of the string (i.e. no
attempt is made to apply syntax-table properties). The first portion of
the raw string will indeed get string-face.
As soon as the closing delimiter is typed, the warning-face is removed
from the opener and syntax-table text properties applied throughout the
string. The entire string then gets string-face.
[ .... ]
> >> Yes, I think before-change-functions should become empty. Or much
> >> emptier.
> > It can't become empty. after-change-functions is fine for dealing
> > with insertions, but can't do much after a deletion. Consider the
> > case where you're in a string and all you know is that 5 characters
> > have been deleted. Those characters might have been )foo", so after
> > checking the beginning of the string starts off with R"bar(, you've
> > then got to scan a long way forward looking for )bar". Effectively
> > every deletion within a string would involve scanning to the end of
> > that string.
> This is an example of extra complexity you have to retain to implement
> the above feature the way you do.
It will become more complex and slower, if information from
before-change-functions is ignored, or discarded. The alternative is,
after each deletion, to scan forward checking that the terminating
delimiter still exists. This is slower and more complicated than
checking in b-c-f whether it's about to be removed.
> It's probably also an example of how before/after-change-functions
> essentially duplicate the knowledge of language syntax. I'm guessing
> here, but to make it work like that, you need to have multiple functions
> "understand" the raw string syntax.
b/a-c-f implement the language syntax. It's one of the places the
language is codified. The mechanism is in several functions, yes. If
you're interested, go into cc-engine.el and search for "raw string".
> Whereas with syntax-propertize-function, that knowledge is concentrated
> in one place (maybe two, if font-lock rules do something unusual). This
> way, the code is simplified.
No, it gets complicated, assuming no loss of functionality. A given
amount of functionality would get squashed into a smaller place. The
current implementation (of C++ raw strings) is optimised such that normal
insertion and deletion don't cause the s-t properties on the entire
string to be modified. That requires details of the buffer before the
insertions and deletions.
[ .... ]
> >>> Maybe, but with a slowdown. More of these properties will get erased
> >>> than needed (with nested template forms), and they will all need to get
> >>> put back again.
> >> We won't really know until we can measure the result.
> > What's the point in investing all the effort to make the change, when
> > there's not even a prediction of a speed up?
> In principle, the speed-up will come from:
> - Deferred execution (where several buffer changes can be handled
> together and not right away),
I've never been wholly convinced by laziness. Sooner or later these
changes need to be handled, and delaying them is not going to accelerate
them.
> - No parsing the buffer contents much farther than the current window,
> in most cases. Which can speed up the majority of user actions. The
> exceptions will remain slower, but that is often a good tradeoff.
This will involve loss of functionality, as already noted. And bugs;
whilst typing in normal text, CC Mode has to search backwards for a safe
place, otherwise context fontification can mess things up. This is an
area where optimisation would be useful.
> > And I'm not sure where the proof of the syntax-propertize mechanism
> > being helpful is. Has anybody but its originator positively chosen
> > to use it, whilst being aware of the alternatives?
> The alternatives being reinventing the relevant logic from zero in each
> major mode? And writing syntax caching logic each time?
Or writing and using a better framework.
The question remains: has anybody other than Stefan M. freely chosen to
use syntax-ppss and syntax-propertize-function, whilst being aware of
their disadvantages and of alternatives?
Remember, that for an extended period of time syntax-ppss didn't work
properly, and even now it doesn't do the right thing in narrowed buffers,
at least for a programming mode such as CC Mode. The syntax-propertize
mechanism erases s-t p's in a manner not under the control of the major
mode, which means the major mode needs to implement workarounds (which
are liable to be slow).
> > To become usable for CC Mode, it would need to provide something on
> > before-change-functions to complement what's on a-c-f, and it would need
> > to provide some control to the major mode over which syntax-table
> > properties get erased.
> Not something I can comment on.
Hmmm.
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2020-04-20 21:19 UTC|newest]
Thread overview: 363+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-21 22:19 emacs rendering comparisson between emacs23 and emacs26.3 rrandresf
2020-03-21 22:47 ` Stefan Monnier
2020-03-22 3:32 ` Eli Zaretskii
2020-03-22 12:38 ` Alan Mackenzie
2020-03-22 15:08 ` Amin Bandali
2020-03-22 16:58 ` Eli Zaretskii
2020-03-23 2:51 ` Richard Stallman
2020-03-26 19:31 ` Alan Mackenzie
2020-03-26 20:25 ` Stefan Monnier
2020-03-26 20:38 ` rrandresf
2020-03-27 7:00 ` Eli Zaretskii
2020-03-27 18:36 ` andrés ramírez
2020-03-28 2:48 ` Richard Stallman
2020-03-28 7:09 ` Eli Zaretskii
2020-03-28 9:08 ` Eli Zaretskii
2020-03-28 11:58 ` Alan Mackenzie
2020-03-28 11:43 ` Alan Mackenzie
2020-03-28 12:05 ` Eli Zaretskii
2020-03-28 12:18 ` Alan Mackenzie
2020-03-28 12:28 ` Eli Zaretskii
2020-03-28 13:14 ` Alan Mackenzie
2020-03-28 13:28 ` Eli Zaretskii
2020-03-29 14:13 ` andrés ramírez
2020-03-28 13:54 ` Stefan Monnier
2020-03-28 12:43 ` Stefan Monnier
2020-03-28 2:40 ` Richard Stallman
2020-03-28 9:21 ` Michael Albinus
2020-03-28 9:58 ` Eli Zaretskii
2020-03-28 10:09 ` Eli Zaretskii
2020-03-28 14:43 ` Clément Pit-Claudel
2020-03-28 15:03 ` Eli Zaretskii
2020-03-28 15:17 ` Clément Pit-Claudel
2020-03-28 15:44 ` Eli Zaretskii
2020-03-28 16:10 ` Dmitry Gutov
2020-03-28 16:11 ` Dmitry Gutov
2020-03-28 16:25 ` Eli Zaretskii
2020-03-28 16:43 ` Dmitry Gutov
2020-03-28 21:08 ` rrandresf
2020-03-28 21:20 ` Dmitry Gutov
2020-03-28 21:38 ` andrés ramírez
2020-03-28 21:41 ` Dmitry Gutov
2020-03-28 22:15 ` andres.ramirez
2020-03-28 22:24 ` Dmitry Gutov
2020-03-29 14:30 ` Eli Zaretskii
2020-03-29 16:39 ` Stefan Monnier
2020-03-29 17:28 ` Eli Zaretskii
2020-03-29 18:10 ` Dmitry Gutov
2020-03-29 18:54 ` emacs-tree-sitter and font-lock (was: emacs rendering comparisson between emacs23 and emacs26.3) Stefan Monnier
2020-03-29 19:20 ` emacs-tree-sitter and font-lock Dmitry Gutov
2020-03-31 10:15 ` font lock with functions (was: emacs rendering comparisson between emacs23 and emacs26.3) David Engster
2020-03-31 10:42 ` font lock with functions Adam Porter
2020-03-31 13:20 ` Stefan Monnier
2020-03-31 14:25 ` Dmitry Gutov
2020-03-31 14:56 ` Stefan Monnier
2020-03-31 15:04 ` Dmitry Gutov
2020-04-01 10:13 ` David Engster
2020-04-01 1:02 ` Stephen Leake
2020-03-29 18:27 ` emacs rendering comparisson between emacs23 and emacs26.3 Dmitry Gutov
2020-03-29 18:39 ` Eli Zaretskii
2020-03-29 19:11 ` Dmitry Gutov
2020-03-29 19:04 ` 조성빈
2020-03-29 19:12 ` Eli Zaretskii
2020-03-30 3:42 ` Richard Stallman
2020-03-30 13:01 ` Eli Zaretskii
2020-03-31 2:28 ` Richard Stallman
2020-03-31 13:07 ` Eli Zaretskii
2020-03-31 16:05 ` Andrea Corallo
2020-03-31 17:34 ` Eli Zaretskii
2020-03-31 18:00 ` Andrea Corallo
2020-03-31 18:19 ` Eli Zaretskii
2020-03-31 18:34 ` Andrea Corallo
2020-03-31 19:05 ` Stefan Monnier
2020-04-01 2:07 ` Richard Stallman
2020-04-01 13:23 ` Eli Zaretskii
2020-04-02 2:32 ` Richard Stallman
2020-04-02 7:32 ` martin rudalics
2020-04-03 2:52 ` Richard Stallman
2020-04-03 6:59 ` martin rudalics
2020-04-03 13:38 ` Stefan Monnier
2020-04-03 16:23 ` martin rudalics
2020-04-03 16:56 ` Stefan Monnier
2020-04-04 8:54 ` martin rudalics
2020-04-03 18:08 ` Paul Eggert
2020-04-04 8:55 ` martin rudalics
2020-04-05 0:07 ` Paul Eggert
2020-04-05 1:50 ` Dmitry Gutov
2020-04-05 8:46 ` martin rudalics
2020-04-05 20:38 ` Paul Eggert
2020-04-05 10:23 ` Inlining policy (was: emacs rendering comparisson between emacs23 and emacs26.3) Andrea Corallo
2020-04-06 18:15 ` Inlining policy Stefan Monnier
2020-04-06 18:26 ` Paul Eggert
2020-04-06 19:17 ` Andrea Corallo
2020-04-06 21:45 ` Stefan Monnier
2020-04-08 4:03 ` Paul Eggert
2020-04-08 18:28 ` Andrea Corallo
2020-04-08 18:44 ` Paul Eggert
2020-04-08 19:09 ` Andrea Corallo
2020-04-08 21:00 ` Paul Eggert
2020-04-08 21:31 ` Andrea Corallo
2020-04-03 17:47 ` emacs rendering comparisson between emacs23 and emacs26.3 Alan Mackenzie
2020-04-04 8:56 ` martin rudalics
2020-04-04 10:45 ` Alan Mackenzie
2020-04-04 11:10 ` martin rudalics
2020-04-04 11:29 ` Eli Zaretskii
2020-04-05 8:44 ` martin rudalics
2020-04-05 13:08 ` Eli Zaretskii
2020-04-05 15:50 ` martin rudalics
2020-04-05 16:15 ` Eli Zaretskii
2020-04-05 18:05 ` Dmitry Gutov
2020-04-05 18:16 ` Eli Zaretskii
2020-04-05 18:20 ` Dmitry Gutov
2020-04-05 18:27 ` Eli Zaretskii
2020-04-05 18:42 ` Dmitry Gutov
2020-04-05 19:03 ` Eli Zaretskii
2020-04-05 19:25 ` Dmitry Gutov
2020-04-06 2:25 ` Eli Zaretskii
2020-04-06 18:59 ` Dmitry Gutov
2020-04-07 14:30 ` Eli Zaretskii
2020-04-07 15:04 ` Dmitry Gutov
2020-04-07 17:42 ` Alan Mackenzie
2020-04-07 19:45 ` Dmitry Gutov
2020-04-08 2:09 ` Alan Mackenzie
2020-04-10 3:33 ` Dmitry Gutov
2020-04-12 15:34 ` Alan Mackenzie
2020-04-16 1:43 ` Dmitry Gutov
2020-04-19 17:12 ` Alan Mackenzie
2020-04-19 18:12 ` Dmitry Gutov
2020-04-19 23:21 ` Stefan Monnier
2020-04-20 13:33 ` Dmitry Gutov
2020-04-20 19:01 ` Stefan Monnier
2020-04-20 19:51 ` Alan Mackenzie
2020-04-20 21:58 ` Stefan Monnier
2020-04-20 20:06 ` Alan Mackenzie
2020-04-20 20:08 ` Dmitry Gutov
2020-04-20 21:19 ` Alan Mackenzie [this message]
2020-04-21 1:41 ` Dmitry Gutov
2020-04-21 3:41 ` Stefan Monnier
2020-04-16 13:52 ` Stefan Monnier
2020-04-07 19:22 ` Eli Zaretskii
2020-04-07 20:05 ` Dmitry Gutov
2020-04-08 6:17 ` Eli Zaretskii
2020-04-07 20:10 ` Alan Mackenzie
2020-04-08 6:15 ` Eli Zaretskii
2020-04-08 7:02 ` Alan Mackenzie
2020-04-08 7:10 ` Eli Zaretskii
2020-04-08 7:40 ` Eli Zaretskii
2020-04-08 14:22 ` Stefan Monnier
2020-04-08 15:06 ` Eli Zaretskii
2020-04-08 15:16 ` Stefan Monnier
2020-04-08 15:36 ` Eli Zaretskii
2020-04-08 8:38 ` martin rudalics
2020-04-08 9:44 ` Eli Zaretskii
2020-04-08 14:25 ` Stefan Monnier
2020-04-05 18:23 ` Eli Zaretskii
2020-04-05 18:55 ` Dmitry Gutov
2020-04-05 19:03 ` Stefan Monnier
2020-04-05 19:14 ` Eli Zaretskii
2020-04-05 19:21 ` Dmitry Gutov
2020-04-06 2:16 ` Stefan Monnier
2020-04-06 18:39 ` Dmitry Gutov
2020-04-06 21:27 ` Stefan Monnier
2020-04-06 21:40 ` Dmitry Gutov
2020-04-06 23:43 ` Stefan Monnier
2020-04-06 23:53 ` Dmitry Gutov
2020-04-07 3:17 ` Stefan Monnier
2020-04-05 19:06 ` Eli Zaretskii
2020-04-05 19:16 ` andrés ramírez
2020-04-05 19:19 ` Eli Zaretskii
2020-04-05 19:28 ` Dmitry Gutov
2020-04-05 19:57 ` Alan Mackenzie
2020-04-05 20:48 ` Dmitry Gutov
2020-04-06 12:43 ` Dmitry Gutov
2020-04-06 13:39 ` Eli Zaretskii
2020-04-06 13:55 ` Dmitry Gutov
2020-04-06 14:44 ` Eli Zaretskii
2020-04-06 17:16 ` Dmitry Gutov
2020-04-07 14:26 ` Eli Zaretskii
2020-04-08 2:29 ` Richard Stallman
2020-04-08 6:45 ` Eli Zaretskii
2020-04-08 8:37 ` martin rudalics
2020-04-08 13:59 ` Eli Zaretskii
2020-04-08 14:45 ` Stefan Monnier
2020-04-09 0:32 ` Scrolling commands and skipping redisplay, was: " Dmitry Gutov
2020-04-09 7:46 ` Eli Zaretskii
2020-04-09 13:19 ` Stefan Monnier
2020-04-09 18:37 ` Dmitry Gutov
2020-04-09 19:16 ` Stefan Monnier
2020-04-09 19:30 ` Dmitry Gutov
2020-04-09 19:46 ` Stefan Monnier
2020-04-09 21:50 ` Dmitry Gutov
2020-04-10 6:13 ` Eli Zaretskii
2020-04-10 12:38 ` Dmitry Gutov
2020-04-10 13:34 ` Eli Zaretskii
2020-04-10 14:34 ` Dmitry Gutov
2020-04-10 14:45 ` Stefan Monnier
2020-04-10 17:23 ` Dmitry Gutov
2020-04-10 17:46 ` Stefan Monnier
2020-04-11 4:44 ` Dmitry Gutov
2020-04-11 13:45 ` Stefan Monnier
2020-04-11 21:32 ` Dmitry Gutov
2020-04-12 5:03 ` Stefan Monnier
2020-04-16 2:04 ` Dmitry Gutov
2020-04-10 18:25 ` Eli Zaretskii
2020-04-10 15:47 ` Eli Zaretskii
2020-04-11 0:21 ` Dmitry Gutov
2020-04-11 7:55 ` Eli Zaretskii
2020-04-12 2:51 ` Dmitry Gutov
2020-04-12 7:01 ` Eli Zaretskii
2020-04-09 19:20 ` Eli Zaretskii
2020-04-09 19:28 ` Dmitry Gutov
2020-04-10 6:08 ` Eli Zaretskii
2020-04-10 14:38 ` Dmitry Gutov
2020-04-09 19:33 ` Stefan Monnier
2020-04-09 22:17 ` Dmitry Gutov
2020-04-10 6:47 ` Eli Zaretskii
2020-04-10 13:00 ` Stefan Monnier
2020-04-10 13:38 ` Eli Zaretskii
2020-04-10 14:29 ` Stefan Monnier
2020-04-10 14:41 ` Stefan Monnier
2020-04-10 15:36 ` Eli Zaretskii
2020-04-10 15:55 ` Dmitry Gutov
2020-04-10 14:45 ` Dmitry Gutov
2020-04-10 15:56 ` Eli Zaretskii
2020-04-12 3:07 ` Dmitry Gutov
2020-04-12 7:10 ` Eli Zaretskii
2020-04-16 2:18 ` Dmitry Gutov
2020-04-16 5:22 ` Eli Zaretskii
2020-04-16 20:13 ` Dmitry Gutov
2020-04-17 6:11 ` Eli Zaretskii
2020-04-17 17:04 ` Dmitry Gutov
2020-04-17 17:35 ` Eli Zaretskii
2020-04-17 17:52 ` Dmitry Gutov
2020-04-17 18:48 ` Eli Zaretskii
2020-04-19 17:09 ` Dmitry Gutov
2020-04-19 17:17 ` Stefan Monnier
2020-04-19 18:51 ` Eli Zaretskii
2020-04-19 23:22 ` Stefan Monnier
2020-04-20 14:23 ` Eli Zaretskii
2020-04-20 15:36 ` Stefan Monnier
2020-04-20 16:42 ` Dmitry Gutov
2020-04-20 16:51 ` Eli Zaretskii
2020-04-20 16:56 ` Dmitry Gutov
2020-04-20 17:02 ` Andreas Schwab
2020-04-20 17:35 ` Eli Zaretskii
2020-04-20 17:47 ` Stefan Monnier
2020-04-20 18:12 ` Eli Zaretskii
2020-04-20 18:19 ` Eli Zaretskii
2020-04-20 18:29 ` Dmitry Gutov
2020-04-20 18:52 ` Eli Zaretskii
2020-04-20 19:03 ` Dmitry Gutov
2020-04-20 18:51 ` Stefan Monnier
2020-04-20 19:09 ` Eli Zaretskii
2020-04-20 21:50 ` Stefan Monnier
2020-04-21 13:27 ` Eli Zaretskii
2020-04-22 3:14 ` Richard Stallman
2020-04-22 13:26 ` Eli Zaretskii
2020-04-23 2:37 ` Richard Stallman
2020-04-23 13:17 ` Stefan Monnier
2020-04-23 14:46 ` Eli Zaretskii
2020-04-24 2:39 ` Richard Stallman
2020-04-20 18:27 ` Dmitry Gutov
2020-04-20 17:39 ` Stefan Monnier
2020-04-20 17:42 ` Eli Zaretskii
2020-04-19 19:06 ` Eli Zaretskii
2020-04-20 3:17 ` Dmitry Gutov
2020-04-20 15:01 ` Eli Zaretskii
2020-04-20 17:04 ` Dmitry Gutov
2020-04-20 17:39 ` Eli Zaretskii
2020-04-20 18:26 ` Dmitry Gutov
2020-04-20 3:27 ` Dmitry Gutov
2020-04-20 15:16 ` Eli Zaretskii
2020-04-21 1:27 ` Dmitry Gutov
2020-04-21 14:02 ` Eli Zaretskii
2020-04-24 1:23 ` Dmitry Gutov
2020-04-24 9:51 ` Eli Zaretskii
2020-04-25 0:21 ` Dmitry Gutov
2020-04-16 20:20 ` Stefan Monnier
2020-04-17 6:18 ` Eli Zaretskii
2020-04-17 15:13 ` Stefan Monnier
2020-04-17 15:25 ` Eli Zaretskii
2020-04-17 16:39 ` Dmitry Gutov
2020-04-11 13:21 ` Scrolling commands and skipping redisplay Alan Mackenzie
2020-04-11 13:45 ` Eli Zaretskii
2020-04-11 17:04 ` Alan Mackenzie
2020-04-11 17:15 ` Eli Zaretskii
2020-04-11 21:13 ` Alan Mackenzie
2020-04-06 2:27 ` emacs rendering comparisson between emacs23 and emacs26.3 Eli Zaretskii
2020-04-06 12:26 ` Alan Mackenzie
2020-04-07 8:31 ` martin rudalics
2020-04-07 11:47 ` Alan Mackenzie
2020-04-07 12:45 ` martin rudalics
2020-04-07 13:11 ` Dmitry Gutov
2020-04-08 8:36 ` martin rudalics
2020-04-08 10:37 ` Dmitry Gutov
2020-04-08 11:22 ` Eli Zaretskii
2020-04-08 14:01 ` Dmitry Gutov
2020-04-07 14:15 ` Eli Zaretskii
2020-04-07 12:07 ` Dmitry Gutov
2020-04-07 12:35 ` Dmitry Gutov
2020-04-07 12:45 ` martin rudalics
2020-04-06 9:05 ` martin rudalics
2020-04-06 13:29 ` Eli Zaretskii
2020-04-06 15:29 ` Stefan Monnier
2020-04-06 17:40 ` martin rudalics
2020-04-05 18:48 ` Stefan Monnier
2020-04-06 9:05 ` martin rudalics
2020-04-06 15:25 ` Stefan Monnier
2020-04-06 15:30 ` Eli Zaretskii
2020-04-06 16:23 ` Stefan Monnier
2020-04-04 12:01 ` Alan Mackenzie
2020-04-05 8:45 ` martin rudalics
2020-04-06 3:49 ` Ravine Var
2020-04-06 9:05 ` martin rudalics
2020-04-06 9:04 ` martin rudalics
2020-04-04 19:20 ` Alan Mackenzie
2020-04-04 22:53 ` Stefan Monnier
2020-04-06 9:04 ` martin rudalics
2020-04-05 3:12 ` Richard Stallman
2020-04-05 11:16 ` Alan Mackenzie
2020-04-05 14:10 ` Stefan Monnier
2020-04-06 2:36 ` Richard Stallman
2020-04-06 14:43 ` Stefan Monnier
2020-04-07 2:48 ` Richard Stallman
2020-04-07 3:23 ` Stefan Monnier
2020-04-06 14:55 ` Dmitry Gutov
2020-04-06 19:36 ` Alan Mackenzie
2020-04-06 22:12 ` Dmitry Gutov
2020-04-06 23:41 ` Stefan Monnier
2020-04-07 14:17 ` Dmitry Gutov
2020-04-06 2:36 ` Richard Stallman
2020-04-06 12:14 ` Alan Mackenzie
2020-04-07 2:49 ` Richard Stallman
2020-04-07 3:26 ` Stefan Monnier
2020-04-08 2:29 ` Richard Stallman
2020-04-08 3:48 ` Stefan Monnier
2020-04-09 3:10 ` Richard Stallman
2020-04-09 6:43 ` Eli Zaretskii
2020-04-10 2:08 ` Richard Stallman
2020-04-10 3:07 ` Stefan Monnier
2020-04-11 2:31 ` Richard Stallman
2020-04-11 4:20 ` Stefan Monnier
2020-04-06 2:36 ` Richard Stallman
2020-04-05 13:27 ` Alan Mackenzie
2020-04-05 15:50 ` martin rudalics
2020-04-06 2:36 ` Richard Stallman
2020-04-06 13:21 ` Eli Zaretskii
2020-04-07 8:32 ` martin rudalics
2020-04-07 12:52 ` Dmitry Gutov
2020-04-08 8:36 ` martin rudalics
2020-04-07 14:03 ` Eli Zaretskii
2020-04-08 8:37 ` martin rudalics
2020-04-11 15:13 ` Noam Postavsky
2020-04-08 2:29 ` Richard Stallman
2020-04-08 6:40 ` Eli Zaretskii
2020-04-09 3:10 ` Richard Stallman
2020-04-06 14:46 ` Stefan Monnier
2020-04-02 13:30 ` Eli Zaretskii
2020-04-03 2:54 ` Richard Stallman
2020-03-28 20:08 ` andrés ramírez
[not found] <mailman.2407.1585380720.3017.emacs-devel@gnu.org>
2020-03-28 11:20 ` Ulrich Mueller
2020-03-28 12:52 ` Stefan Monnier
2020-03-29 2:16 ` Richard Stallman
[not found] <<E1jJ6dO-0002BR-D1@fencepost.gnu.org>
[not found] ` <<E1jJpeO-0004Xf-AO@fencepost.gnu.org>
[not found] ` <<e0ad3c6a-46f0-ae75-fd7a-477d46d3034d@gmx.at>
[not found] ` <<E1jKCRN-0001vd-OA@fencepost.gnu.org>
[not found] ` <<054393f3-3873-ab6e-b325-0eca354d8838@gmx.at>
[not found] ` <<20200403174757.GA8266@ACM>
[not found] ` <<daf5e7b0-3781-b910-541a-4437454b238d@gmx.at>
[not found] ` <<20200404104553.GA5329@ACM>
[not found] ` <<07fe3b69-3ab2-3173-0696-cb17809e2b91@gmx.at>
[not found] ` <<83blo7v68b.fsf@gnu.org>
[not found] ` <<1845d7aa-9ae4-3d95-6a30-c7b1d8d8adec@gmx.at>
[not found] ` <<83a73qt6zs.fsf@gnu.org>
[not found] ` <<97c4254e-ff43-8402-3645-f713c408c245@gmx.at>
[not found] ` <<83y2r9syby.fsf@gnu.org>
[not found] ` <<f3d39312-f03e-c4e9-09d8-63afd7ba390d@yandex.ru>
[not found] ` <<83v9mdssqx.fsf@gnu.org>
[not found] ` <<679ab47b-6e3e-65e6-f955-be58d59ed092@yandex.ru>
[not found] ` <<83sghhss8v.fsf@gnu.org>
[not found] ` <<671b5b41-663d-5ab9-f022-dc6c5ce54dd0@yandex.ru>
[not found] ` <<83r1x1sqkx.fsf@gnu.org>
[not found] ` <<c60ad734-cee1-a40b-1027-e4575799d161@yandex.ru>
[not found] ` <<83lfn9s63n.fsf@gnu.org>
[not found] ` <<c73564b8-f6af-5c61-5fe6-4fa142010323@yandex.ru>
[not found] ` <<83h7xvqsgc.fsf@gnu.org>
[not found] ` <<90749329-ccb1-f96e-29c0-b4ecbb81d1d4@yandex.ru>
[not found] ` <<837dyrqews.fsf@gnu.org>
[not found] ` <<b1122699-fc83-8738-58e4-bcf3669c2db8@yandex.ru>
[not found] ` <<834ktuqz5a.fsf@gnu.org>
2020-04-08 16:04 ` Drew Adams
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=20200420211941.GC8796@ACM \
--to=acm@muc.de \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=rms@gnu.org \
--cc=rrandresf@gmail.com \
--cc=rudalics@gmx.at \
/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).