unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Andrea Corallo <akrl@sdf.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Liliana Marie Prikler <liliana.prikler@gmail.com>,
	rlb@defaultvalue.org, emacs-devel@gnu.org
Subject: Re: Suppressing native compilation (short and long term)
Date: Sat, 15 Oct 2022 15:53:40 +0000	[thread overview]
Message-ID: <xjfv8olw0aj.fsf@ma.sdf.org> (raw)
In-Reply-To: <83czat79mt.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 15 Oct 2022 11:51:06 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Liliana Marie Prikler <liliana.prikler@gmail.com>
>> Cc: rlb@defaultvalue.org, emacs-devel@gnu.org
>> Date: Fri, 14 Oct 2022 21:46:09 +0200
>> 
>> > > > When you encounter bugs in native compilation, please report them
>> > > > to us, so we could fix them.  As of now, we are not aware of any
>> > > > such bugs that were reported and haven't been fixed.  So if you
>> > > > still have such problem, please report them ASAP.
>> > > Of course, that's the intention, but this fix will only make it
>> > > into the next Emacs release.  Thus, if you're between releases, you
>> > > still need a workaround.
>> > 
>> > If the fix is urgent, why can't you patch the sources when you
>> > prepare your distribution?
>> Guix prides itself in being a package manager that can work around many
>> failures (even as the proper workaround to bugs is discussed in mailing
>> lists).  The fact, that the solutions to this issue is "compile 28.1
>> without native-comp" or "use Emacs 27" does not reflect that
>> particularly well.
>
> I think this answers a different question.  I asked why you cannot
> patch the Emacs you distribute when you consider a fix to be important
> enough to not wait until the next Emacs release.  My point is that
> reporting bugs in a timely fashion will help us fix them early on, and
> you will then have a possibility of backporting the fixes to a
> released Emacs and distributing an updated package with the fix, if
> you think that's important enough.
>
>> > > A particular candidate known to cause issues with the currently
>> > > packaged 28.1 is [1].
>> > 
>> > Where's the description of the actual problem with natively compiling
>> > that package?  And would you please submit a bug report with the
>> > details, if you know them?
>> I am not personally affected, so I can't.  I could direct people to the
>> Emacs mailing lists, but it seems people in other threads have already
>> started debugging.  Do you still wish me to do so? 
>
> Which threads are you alluding to here?  Your [1] is just a reference
> to ido-completing-read-plus package, and I don't see the description
> of the problems with native-compilation on that site.  So yes, I'd
> like to hear a description of the problem in that case.
>
>> > > > Why isn't it sufficient to use no-native-compile?  It just means
>> > > > that on some architectures the corresponding file will be loaded
>> > > > as byte-compiled, and thus will be slightly slower (how much
>> > > > slower depends on the code, so if you are worried, my
>> > > > recommendation is first to measure the difference -- you might be
>> > > > surprised).
>> > > Because it'd require a distro-wide fix to address something that
>> > > e.g. only happens on some AMD CPUs.
>> > 
>> > I'm asking why doing so is a problem?  Did you measure the effect on
>> > performance and found it to be unacceptable in some cases?
>> Isn't performance one of the main reasons to use native compilation? 
>
> On average, yes.  But it depends on what the original Lisp code does.
> We've found that in some cases the performance gains are minimal, and
> in at least one very special case we found that native-compilation
> produces a slightly slower code.  Which is why I asked the question
> above: it is quite possible that the (hopefully, few) packages where
> you need to avoid native-compilation for now don't gain performance
> from using native-compilation enough for justify any more elaborate
> measures.  And this is a temporary measure anyway, because those
> problems will eventually be fixed, whether in the packages themselves
> or in Emacs core.
>
>> Note that I am talking in hypotheticals here when mentioning the AMD
>> thing, i.e. we could very well imagine a performance-critical Emacs
>> package having a native-compilation bug (I imagine those to be
>> particularly likely for those trailing unreleased Emacs versions,
>> though thankfully I don't think we've encountered one so far.)
>
> Let's not be bothered by hypothetical cases until they actually
> emerge.  When there are specific situations where this happens and
> performance gains from native-compilation are critical, we can always
> look for specific solutions for those cases, something that is
> impossible without concrete cases.
>
>> > OK, so why is this relevant to the issue of disabling?  Those who
>> > choose ahead-of-time compilation will never see async JIT
>> > compilation, and those who selected not to do ahead-of-time will
>> > naturally see JIT compilation, as they've chosen.  What is the
>> > problem here?
>> The problem is that I can't meaningfully choose the "I don't want JIT
>> for stuff I haven't AOT'd" option, especially not combined with "but I
>> do want to load what I have AOT'd".
>
> As I already explained, this mode of operation doesn't make sense to
> me, and is currently not supported for that reason.  I fail to see why
> people would want native-compilation for some parts of Emacs, but not
> for others.  I haven't yet seen a valid use case where that would make
> sense as the desired, clean, and non-kludgey solution.
>
> Only one valid use case was brought p to this date, where it would be
> desirable to delay JIT native-compilation temporarily: when the user
> runs a laptop on batteries.  We will probably provide a solution for
> that, which will automatically re-enable JIT compilation when AC power
> is connected.  This would be a clean, non-kludgey solution for that
> case.
>
> None of the problems you describe are of that nature.  They all sound
> like someone wants to arbitrarily disable native-compilation in some
> cases, but not others, where reasonable solutions already exist.
>
> And if you still disagree, then let's agree to disagree, because we
> are just repeating the same arguments over and over again.
>
>> > > > If a package is a single file or a small number of files, those
>> > > > users can add the no-native-compile cookies in those files.
>> > > This is not trivial in the case where the Elisp code is placed in
>> > > system-managed storage and thus requires elevated privileges to
>> > > modify (as is the default in most package managers, I assume).  Of
>> > > course, you can copy the file to your $HOME, but editing it with a
>> > > broken Emacs is rather painful.
>> > 
>> > Using broken packages is always painful, and native compilation
>> > doesn't change that.
>> Using broken packages normally doesn't result in the OOM killer firing
>> off.
>
> It could, rarely.
>
> And which problem of native-compilation caused the OOM killer?  Where
> is that problem described in enough detail for us to investigate it?
> Was it reported to the Emacs bug-tracker, and if so, what is the bug
> number, please?
>
> IOW, we'd definitely want to avoid such catastrophic failures, but we
> need the details to investigate and fix them.  I can tell you that I'm
> using Emacs 28 with JIT native-compilation enabled for the best part
> of this year, and have yet to see any problems even approaching the
> one mentioned above.  So such problems are quite exceptional, and need
> to be reported with every possible detail for us to be able to fix
> them quickly.  They are definitely not a reason to disable
> native-compilation.  We generally try to provide at least a workaround
> for critical problems, once we have enough detail to understand what's
> going on, so reporting a problem quickly will in many cases yield a
> quick solution that doesn't hamper unrelated parts of the user's usage
> patterns.
>
>> > Packages provided by a distribution and installed into directories
>> > where users cannot easily write should be well tested by the
>> > distributor.  
>> I think you're underestimating the number of breakages that can happen
>> in a rolling release model.  Not every distro is as stable as Debian,
>> but the joke's still on you because despite Debian's hard requirements,
>> they still ended up encountering this bug.
>
> Sure, that's understandable.  But each new problem that is found and
> reported should cause the corresponding package to be updated with a
> fix.  I don't see why such problems are deemed as reasons to disable
> native-compilation for the entire Emacs session, or for requirements
> that they be "fixed" in core.  Bugs should be fixed where their root
> cause is.
>
>> > You mean, you find the loading of preloaded *.eln files at startup
>> > annoying?  Then you should know that this is the best solution we
>> > found for dumping Emacs with natively-compiled preloaded code.
>> No, I find it annoying that Emacs supposes it has a writable eln-cache
>> always.
>
> The user's home directory should always be writable.  This is required
> by many Emacs features regardless of native-compilation.  For example,
> saving customizations writes to a subdirectory of the user's home
> directory, as does desktop.el or save-place etc.
>
> If this is a problem during installation of packages, which run at
> root level, the installation procedure can tweak
> native-comp-eln-load-path to make sure there's a writable directory
> there, or point HOME to a non-existent directory.
>
>> This is not the case in typical package manager scenarios and
>> it also isn't the case when users choose to make (parts of) their $HOME
>> read-only, which is a supported configuration in Nix and Guix.
>
> Users make ~/.emacs.d/ read-only?  Then how do they use all the
> features, some of which mentioned above, that write to that directory?
>
>> I can't think of a good reason why one would want to assume this
>> invariant.
>
> If this use case is supported by pointing the relevant variables, like
> save-place-file, eshell-directory-name, desktop-dirname, etc., to
> non-default places, then they can do the same with
> native-comp-eln-load-path.  If this is not what you mean, please
> describe how Nix and Guix support this use case where parts of $HOME
> are read-only, and let's see how native-compilation should support it.
>
>> > If you know of a better solution that doesn't suffer from any fatal
>> > issues we found with the alternatives, please suggest such solutions,
>> > and we will definitely consider them.
>> I haven't read the discussions around the alternatives, but couldn't
>> you just generate one trampoline per function which you use as soon as
>> it's advised?
>
> And then re-generate it again each time the advised function is called
> again?
>
>> Also, how come advice isn't breaking byte-compilation in exactly the
>> same manner?
>
> Andrea, can you please answer that?  I have only a very general
> understanding of why trampolines are needed for native-compilation.

The quick answer is that advising or redefining primitive functions
breaks byte-code as well.  Liliana can try redefining `+' and let us
know if it works as expected :/

To be more precise byte-code breaks for redefining each primitive that
got a dedicated byte-opcode.

Now, the situation is even worst!  Redefining primitives fails to take
effect for *all* calls to primitives happening from C code.

Actually the Elisp manual suggests not to redefine primitives *but*...
users kept on doing it since forever and just got used to this bizarre
scenario where it does "often" works.

When I introduced native compilation being native code the newest into
the game it was deemed not acceptable to increase the level of existing
incompatibility.  Unfortunately Emacs is defined also by what's on the
field and not only by what's written the manual, not every behavior or
corner case is defined by a spec we comply to.  Not supporting this use
case would have translated in tons of bug reports from users probably
angrier than Liliana.

So I added this trampoline mechanism.  And yeah, funny enough, as a
consequence at present native Lisp (and interpreted Lisp) are the only
execution modes supporting for real primitive redefinition!

End of the tale :)

  Andrea



  reply	other threads:[~2022-10-15 15:53 UTC|newest]

Thread overview: 343+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28  1:04 Suppressing native compilation (short and long term) Rob Browning
2022-09-28 11:02 ` Lars Ingebrigtsen
2022-09-28 11:35 ` Eli Zaretskii
2022-10-12 20:22   ` Liliana Marie Prikler
2022-10-13  5:46     ` Eli Zaretskii
2022-10-13 19:20       ` Liliana Marie Prikler
2022-10-13 20:10         ` Stefan Monnier
2022-10-13 20:26           ` Eli Zaretskii
2022-10-13 20:57             ` Lars Ingebrigtsen
2022-10-13 21:29               ` Lars Ingebrigtsen
2022-10-14 22:37                 ` Andrea Corallo
2022-10-15  3:09                   ` Stefan Monnier
2022-10-15 15:06                     ` Andrea Corallo
2022-10-15 16:16                       ` Stefan Monnier
2022-10-15  9:24                   ` Lars Ingebrigtsen
2022-10-15 15:02                     ` Andrea Corallo
2022-10-16  8:52                       ` Lars Ingebrigtsen
2022-10-16  9:29                         ` Liliana Marie Prikler
2022-10-16 13:45                         ` Stefan Monnier
2022-10-16 13:47                           ` Lars Ingebrigtsen
2022-10-19 19:39                       ` Andrea Corallo
2022-10-14  6:08               ` Eli Zaretskii
2022-10-14 23:20                 ` Andrea Corallo
2022-10-15  3:14                   ` Stefan Monnier
2022-10-15  6:40                     ` Liliana Marie Prikler
2022-10-15  7:14                     ` Eli Zaretskii
2022-10-15 14:00                       ` Stefan Monnier
2022-10-15 14:10                         ` Lynn Winebarger
2022-10-15 14:29                           ` Eli Zaretskii
2022-10-16 11:55                             ` Lynn Winebarger
2022-10-17  7:34                               ` Andrea Corallo
2022-10-18 22:26                                 ` Lynn Winebarger
2022-10-19 19:33                                   ` Andrea Corallo
2022-10-15 15:10                     ` Andrea Corallo
2022-10-15 16:17                       ` Stefan Monnier
2022-10-17  7:20                         ` Andrea Corallo
2022-10-15  7:04                   ` Eli Zaretskii
2022-10-15 15:19                     ` Andrea Corallo
2022-10-15 16:26                       ` Eli Zaretskii
2022-10-15 17:19                         ` Eli Zaretskii
2022-10-17  7:21                           ` Andrea Corallo
2022-10-18  8:52                             ` Andrea Corallo
2022-10-18 11:27                               ` Lars Ingebrigtsen
2022-10-18 13:56                                 ` Andrea Corallo
2022-10-18 18:12                                   ` Lars Ingebrigtsen
2022-10-18 13:55                               ` Stefan Monnier
2022-10-15  9:25                   ` Lars Ingebrigtsen
2022-10-15 15:20                     ` Andrea Corallo
2022-10-15 14:18                   ` Lynn Winebarger
2022-10-15 17:06           ` Sean Whitton
2022-10-15 17:12             ` Eli Zaretskii
2022-10-15 17:36               ` Sean Whitton
2022-10-13 20:22         ` Eli Zaretskii
2022-10-14 19:46           ` Liliana Marie Prikler
2022-10-15  8:51             ` Eli Zaretskii
2022-10-15 15:53               ` Andrea Corallo [this message]
2022-10-15  9:33             ` Lars Ingebrigtsen
2022-10-15 14:35               ` Liliana Marie Prikler
2022-10-15 15:56               ` Andrea Corallo
2022-10-15 16:24                 ` Liliana Marie Prikler
2022-10-17  7:23                   ` Andrea Corallo
2022-10-17 16:59                     ` Liliana Marie Prikler
2022-10-17 17:07                       ` Eli Zaretskii
2022-10-16  8:55                 ` Lars Ingebrigtsen
2022-10-16  9:27                   ` Liliana Marie Prikler
2022-10-16  9:35                     ` Lars Ingebrigtsen
2022-10-17  7:30                       ` Andrea Corallo
2022-10-17 11:20                         ` Lars Ingebrigtsen
2022-09-28 12:52 ` Andrea Corallo
2022-09-28 17:04   ` Eli Zaretskii
2022-09-28 18:49     ` Andrea Corallo
2022-09-28 19:10       ` Eli Zaretskii
2022-09-28 21:32         ` Andrea Corallo
2022-09-29  5:56           ` Eli Zaretskii
2022-09-29  8:18             ` Andrea Corallo
2022-09-29  9:01               ` Eli Zaretskii
2022-09-29 14:32                 ` Andrea Corallo
2022-09-29 15:50                   ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2022-09-30 13:13 David Bremner
2022-09-30 13:56 ` Eli Zaretskii
2022-09-30 14:33   ` David Bremner
2022-09-30 15:47     ` Eli Zaretskii
2022-09-30 14:55   ` Sean Whitton
2022-09-30 16:02     ` Eli Zaretskii
2022-09-30 15:32   ` Stefan Monnier
2022-09-30 16:06     ` Eli Zaretskii
2022-10-01 16:38       ` Rob Browning
2022-10-01 16:52         ` Eli Zaretskii
2022-10-01 20:42           ` Rob Browning
2022-10-02  5:57             ` Eli Zaretskii
2022-10-02  6:10               ` tomas
2022-10-02  6:44                 ` Eli Zaretskii
2022-10-02 15:54                   ` tomas
2022-10-02 16:02                     ` Eli Zaretskii
2022-10-02 16:13                       ` chad
2022-10-02 16:55                         ` Eli Zaretskii
2022-10-02 17:13                           ` Stefan Monnier
2022-10-02 17:24                             ` Eli Zaretskii
2022-10-02 17:25                       ` Rob Browning
2022-10-02 16:53               ` Stefan Monnier
2022-10-02 17:16                 ` Eli Zaretskii
2022-10-02 18:12                   ` Rob Browning
2022-10-02 18:40                     ` Eli Zaretskii
2022-10-02 18:51                       ` Rob Browning
2022-10-02 17:17                 ` Lars Ingebrigtsen
2022-10-02 17:28                   ` Stefan Monnier
2022-10-02 17:36                     ` Lars Ingebrigtsen
2022-10-02 17:38                       ` Eli Zaretskii
2022-10-02 18:17                       ` Rob Browning
2022-10-02 19:08                         ` Lars Ingebrigtsen
2022-10-02 19:15                           ` Eli Zaretskii
2022-10-03  9:12                             ` Lars Ingebrigtsen
2022-10-03 11:32                               ` Lars Ingebrigtsen
2022-10-03 13:07                                 ` Stefan Monnier
2022-10-03 13:29                                   ` Lars Ingebrigtsen
2022-10-03 13:42                                     ` Stefan Monnier
2022-10-03 14:09                                       ` Lars Ingebrigtsen
2022-10-03 14:42                                         ` Stefan Monnier
2022-10-03 14:45                                           ` Lars Ingebrigtsen
2022-10-03 14:52                                             ` Stefan Monnier
2022-10-03 15:14                                               ` Lars Ingebrigtsen
2022-10-05 12:55                                                 ` Andrea Corallo
2022-10-05 13:14                                                   ` Lars Ingebrigtsen
2022-10-05 13:47                                                     ` Andrea Corallo
2022-10-05 13:55                                                   ` Eli Zaretskii
2022-10-05 14:08                                                     ` Andrea Corallo
2022-10-03 17:21                                         ` Eli Zaretskii
2022-10-03 17:39                                           ` Lars Ingebrigtsen
2022-10-03 17:52                                             ` Eli Zaretskii
2022-10-05 13:05                                             ` Andrea Corallo
2022-10-05 13:09                                           ` Andrea Corallo
2022-10-05 12:51                                       ` Andrea Corallo
2022-10-03 17:16                                     ` Eli Zaretskii
2022-10-03 18:21                                   ` Sean Whitton
2022-10-03 20:43                                     ` Stefan Monnier
2022-10-03 17:44                               ` Eli Zaretskii
2022-10-05 13:18                               ` Andrea Corallo
2022-10-05 14:01                                 ` Lars Ingebrigtsen
2022-10-05 14:17                                   ` Eli Zaretskii
2022-10-05 14:27                                     ` Lars Ingebrigtsen
2022-10-05 16:42                                       ` Eli Zaretskii
2022-10-05 17:08                                         ` Lars Ingebrigtsen
2022-10-05 17:15                                           ` Eli Zaretskii
2022-10-06  0:41                                             ` Po Lu
2022-10-06  0:40                                           ` Po Lu
2022-10-06  6:26                                             ` Eli Zaretskii
2022-10-05 14:25                                   ` Andrea Corallo
2022-10-05 14:29                                     ` Lars Ingebrigtsen
2022-10-05 14:48                                       ` Andrea Corallo
2022-10-05 14:58                                         ` Lars Ingebrigtsen
2022-10-05 15:12                                           ` Andrea Corallo
2022-10-05 15:24                                             ` Lars Ingebrigtsen
2022-10-05 15:36                                               ` Lars Ingebrigtsen
2022-10-05 16:10                                                 ` Andrea Corallo
2022-10-05 16:13                                                   ` Lars Ingebrigtsen
2022-10-05 17:58                                                     ` Andrea Corallo
2022-10-05 18:28                                                       ` Lars Ingebrigtsen
2022-10-05 23:25                                                         ` Andrea Corallo
2022-10-05 23:33                                                           ` Lars Ingebrigtsen
2022-10-06  0:45                                                             ` Andrea Corallo
2022-10-06  0:55                                                               ` Lars Ingebrigtsen
2022-10-06  6:33                                                               ` Eli Zaretskii
2022-11-05  1:09                                                 ` Juanma Barranquero
2022-11-05  6:44                                                   ` Eli Zaretskii
2022-11-05 10:12                                                     ` Dr. Arne Babenhauserheide
2022-11-05 11:19                                                       ` Eli Zaretskii
2022-11-06 11:06                                                       ` Max Brieiev
2022-11-06 16:31                                                         ` Dr. Arne Babenhauserheide
2022-11-06 18:00                                                           ` Stefan Monnier
2022-11-07  9:22                                                         ` Andrea Corallo
2022-11-08  5:51                                                           ` Björn Bidar
2022-11-08 11:23                                                             ` Andrea Corallo
2022-11-08 12:13                                                             ` Eli Zaretskii
2022-11-05 11:53                                                     ` Juanma Barranquero
2022-11-05 12:44                                                       ` Eli Zaretskii
2022-11-05 13:12                                                         ` Juanma Barranquero
2022-11-05 13:35                                                           ` Eli Zaretskii
2022-11-05 14:09                                                             ` Juanma Barranquero
2022-10-05 16:04                                               ` Andrea Corallo
2022-10-05 16:12                                                 ` Lars Ingebrigtsen
2022-10-05 16:28                                                   ` Andrea Corallo
2022-10-05 16:43                                       ` Eli Zaretskii
2022-10-06  0:44                                         ` Po Lu
2022-10-06  0:56                                           ` Lars Ingebrigtsen
2022-10-06  6:41                                             ` Eli Zaretskii
2022-10-06  6:28                                           ` Eli Zaretskii
2022-10-14 17:53                                             ` Rob Browning
2022-10-14 18:36                                               ` Stefan Monnier
2022-10-14 19:06                                               ` Eli Zaretskii
2022-10-14 21:17                                                 ` Rob Browning
2022-10-15  3:07                                                   ` Stefan Monnier
2022-10-15 16:34                                                     ` Rob Browning
2022-10-15 23:16                                                       ` Stefan Monnier
2022-10-15  6:30                                                   ` Eli Zaretskii
2022-10-15 17:00                                                     ` Rob Browning
2022-10-15  9:32                                               ` Lars Ingebrigtsen
2022-10-15 16:48                                                 ` Sean Whitton
2022-10-16  8:56                                                   ` Lars Ingebrigtsen
2022-10-15 17:21                                                 ` Rob Browning
2022-10-15 17:25                                                   ` Eli Zaretskii
2022-10-16  9:01                                                   ` Lars Ingebrigtsen
2022-10-16 16:59                                                     ` Rob Browning
2022-10-17 10:37                                                       ` Lars Ingebrigtsen
2022-10-05 20:37                                 ` Lars Ingebrigtsen
2022-10-05 23:40                                   ` Andrea Corallo
2022-10-05 23:46                                     ` Lars Ingebrigtsen
2022-10-06  0:34                                       ` Andrea Corallo
2022-10-06  0:39                                         ` Lars Ingebrigtsen
2022-10-06  1:03                                           ` Andrea Corallo
2022-10-06  1:07                                             ` Lars Ingebrigtsen
2022-10-06  1:19                                               ` Andrea Corallo
2022-10-06  1:26                                                 ` Lars Ingebrigtsen
2022-10-06  1:39                                                   ` Andrea Corallo
2022-10-06 12:07                                                     ` Lars Ingebrigtsen
2022-10-02 20:05                           ` Rob Browning
2022-10-02 20:10                             ` Lars Ingebrigtsen
2022-10-05 13:19                               ` Andrea Corallo
2022-10-05 12:43                           ` Andrea Corallo
2022-10-05 13:16                             ` Lars Ingebrigtsen
2022-10-05 13:29                               ` Andrea Corallo
2022-10-05 14:03                               ` Eli Zaretskii
2022-10-02 17:30                   ` Eli Zaretskii
2022-10-02 17:38                     ` Lars Ingebrigtsen
2022-10-02 17:48                       ` Eli Zaretskii
2022-10-02 17:37                 ` Rob Browning
2022-10-02 17:44                   ` Eli Zaretskii
2022-10-02 18:21                     ` Rob Browning
2022-10-02 18:43                       ` Eli Zaretskii
2022-10-02 23:53                 ` Sean Whitton
2022-10-02 17:15               ` Rob Browning
2022-10-02 17:25                 ` Stefan Monnier
2022-10-02 18:11                   ` Stefan Kangas
2022-10-02 18:26                     ` Stefan Monnier
2022-10-02 18:57                       ` Stefan Kangas
2022-10-02 17:26                 ` Eli Zaretskii
2022-10-02 23:51               ` Sean Whitton
2022-10-03 16:19                 ` Eli Zaretskii
2022-10-03 18:23                   ` Sean Whitton
2022-10-03 18:44                     ` Eli Zaretskii
2022-10-04  0:31                 ` Po Lu
2022-10-04  6:57                   ` Eli Zaretskii
2022-10-04  8:37                     ` Po Lu
2022-10-04  9:25                       ` Eli Zaretskii
2022-10-04  9:51                         ` Po Lu
2022-10-05 13:58                           ` Po Lu
2022-10-05 15:02                             ` Lars Ingebrigtsen
2022-10-05 16:47                               ` Eli Zaretskii
2022-10-05 17:59                                 ` tomas
2022-10-05 18:28                                   ` Eli Zaretskii
2022-10-05 18:56                                     ` tomas
2022-10-05 19:04                                       ` Eli Zaretskii
2022-10-05 19:40                                         ` tomas
2022-10-05 19:29                                     ` Gregory Heytings
2022-10-05 19:38                                       ` Eli Zaretskii
2022-10-05 20:04                                         ` Gregory Heytings
2022-10-06  5:28                                           ` Eli Zaretskii
2022-10-06  6:35                                             ` tomas
2022-10-05 16:43                             ` Eli Zaretskii
2022-10-06  0:34                               ` Po Lu
2022-10-06  6:21                                 ` Eli Zaretskii
2022-10-06  7:11                                   ` Po Lu
2022-10-06  8:03                                     ` Eli Zaretskii
2022-10-06  9:02                                       ` tomas
2022-10-06 10:13                                         ` Eli Zaretskii
2022-10-06 11:49                                           ` tomas
2022-10-07 12:40                                             ` Eli Zaretskii
2022-10-06  9:52                                       ` Po Lu
2022-10-06 10:17                                         ` Eli Zaretskii
2022-10-06 10:41                                           ` Andrea Corallo
2022-10-06 10:54                                             ` Eli Zaretskii
2022-10-04 23:26                   ` Sean Whitton
2022-10-02  5:58   ` tomas
2022-10-02  6:42     ` Eli Zaretskii
2022-10-02 15:53       ` tomas
2022-10-02 16:11         ` Eli Zaretskii
2022-10-02 16:23           ` chad
2022-10-02 16:59             ` Eli Zaretskii
2022-10-02 18:35               ` Rob Browning
2022-10-02 18:54                 ` Eli Zaretskii
2022-10-02 19:37                   ` Rob Browning
2022-10-02 17:57             ` Rob Browning
2022-10-02 18:06               ` Lars Ingebrigtsen
2022-10-02 18:35                 ` Eli Zaretskii
2022-10-02 18:41                   ` Rob Browning
2022-10-02 19:00                     ` Eli Zaretskii
2022-10-02 19:50                       ` Rob Browning
2022-10-03 17:41                         ` Eli Zaretskii
2022-10-03 18:17                           ` tomas
2022-10-03 18:41                             ` Eli Zaretskii
2022-10-03 19:02                               ` tomas
2022-10-03 19:04                                 ` Eli Zaretskii
2022-10-03 18:45                           ` Stefan Monnier
2022-10-03 18:52                             ` Eli Zaretskii
2022-10-04  0:16                           ` Rob Browning
2022-10-04  9:30                             ` Eli Zaretskii
2022-10-05  0:48                               ` Rob Browning
2022-10-05  7:39                                 ` Eli Zaretskii
2022-10-08 17:47                                 ` Michael Welsh Duggan
2022-10-15 17:39                                   ` Rob Browning
2022-10-02 18:25               ` Stefan Monnier
2022-10-02 18:32               ` Eli Zaretskii
2022-10-02 18:37                 ` Lars Ingebrigtsen
2022-10-02 18:46                   ` Rob Browning
2022-10-02 18:57                   ` Eli Zaretskii
2022-10-02 19:01                     ` Lars Ingebrigtsen
2022-10-02 19:03                       ` Eli Zaretskii
2022-10-02 19:58                     ` Stefan Monnier
2022-10-02 20:09                       ` Stefan Monnier
2022-10-02 16:27           ` tomas
2022-10-02 17:01             ` Eli Zaretskii
2022-10-02 18:37               ` Rob Browning
2022-10-02 18:58                 ` Eli Zaretskii
2022-10-02 19:58                   ` Rob Browning
2022-10-02 20:51               ` tomas
2022-10-02 23:58           ` Sean Whitton
2022-10-03 16:24             ` Eli Zaretskii
2022-10-03 18:23               ` Sean Whitton
2022-10-03 18:46                 ` Eli Zaretskii
2022-10-02 18:32       ` Rob Browning
2022-10-02 18:51         ` Eli Zaretskii
2022-10-02 19:57           ` Rob Browning
2022-10-03 15:48             ` Eli Zaretskii
2022-10-03 16:39               ` Stefan Monnier
2022-10-03 17:30                 ` Eli Zaretskii
2022-10-03 18:33                   ` Stefan Monnier
2022-10-03 18:49                     ` Eli Zaretskii
2022-10-03 21:58                       ` Stefan Kangas
2022-10-04  6:10                         ` Eli Zaretskii
2022-10-04 13:30                         ` Stefan Monnier
2022-09-30 15:38 ` Stefan Monnier
2022-09-30 17:05   ` David Bremner
2022-09-30 17:32     ` David Bremner
2022-10-23 15:22 Gregor Zattler
2022-10-23 16:07 ` Eli Zaretskii
2022-10-23 17:08   ` Gregor Zattler
2022-10-23 17:30     ` Eli Zaretskii
2022-10-23 17:33     ` Gregor Zattler
2022-10-23 17:34       ` Eli Zaretskii
2022-10-23 17:39 ` Eli Zaretskii
2022-10-23 18:55   ` Gregor Zattler
2022-10-24 18:35     ` Gregor Zattler
2022-10-24 19:04       ` Eli Zaretskii
2022-10-23 18:43 Gregor Zattler

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=xjfv8olw0aj.fsf@ma.sdf.org \
    --to=akrl@sdf.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=liliana.prikler@gmail.com \
    --cc=rlb@defaultvalue.org \
    /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).