From: Paul Eggert <eggert@cs.ucla.edu>
To: Andrea Corallo <akrl@sdf.org>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: Inlining policy
Date: Tue, 7 Apr 2020 21:03:08 -0700 [thread overview]
Message-ID: <2818498c-24f9-0873-80d7-afd7899b68ac@cs.ucla.edu> (raw)
In-Reply-To: <xjfd08mb591.fsf_-_@sdf.org>
[-- Attachment #1: Type: text/plain, Size: 1146 bytes --]
On 4/5/20 3:23 AM, Andrea Corallo wrote:
> what about having a new macro to control the key operations we want to
> always have inlined at -O0 and -Og instead of falling back into defining
> these as macros?
I looked into this some more, and found some problems with using
__attribute__((always_inline)), such as GCC complaining that it can't inline
some functions in some cases on some platforms. It was a pain to suss out what
would improve performance while avoiding the warnings, and while fiddling with
this a bit I found a simpler change that had even better performance than
__attribute__((always_inline)) did, at least on one platform for my standard
benchmark of 'make compile-always'. So I installed the two attached patches
instead. Together they improve Emacs CPU performance for 'gcc -Og' by about 60%
on my benchmark.
I kept the DEFINE_KEY_OPS_AS_MACROS stuff because of the -O0 performance issues
that we discussed earlier. Once we no longer need to worry about -O0 performance
when debugging, we can get rid of that stuff.
Thanks for suggesting inlining as a way to improve Emacs performance when
compiled with -Og.
[-- Attachment #2: 0001-Improve-inlining-when-compiling-with-Og.patch --]
[-- Type: text/x-patch, Size: 2538 bytes --]
From b9b32074cecb0e0d20cf527eadacbb0b7f5cced9 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 7 Apr 2020 16:57:04 -0700
Subject: [PATCH 1/2] Improve inlining when compiling with -Og
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* src/conf_post.h (EXTERN_INLINE) [!EMACS_EXTERN_INLINE]:
Make it static inline, not merely static. This is a worthwhile
performance improvement on my two platforms A and B (see below).
On my platform A this change improves user+system CPU performance of
‘make compile-always’ by 52% on an -Og build, and by 1.4% on the
default -O2 build. On my platform B this improves the same benchmark
by 41% on an -Og build, and by -0.8% on the default -O2 build.
That "-0.8%" is a small negative for this change, and I recall that
it is why I didn't make this change earlier. However, Platform B uses
an older GCC so we needn't worry overmuch about this small negative.
With this change the performance advantage of -O2 over -Og has dropped
on platform A; formerly -O2 was 87% faster than -Og, and now it is
only 25% faster. On platform B the performance advantage of -O2 over
-Og has dropped from being 62% faster to being 14% faster.
Platform A is GCC 9.3.1 20200317 (Red Hat 9.3.1-1) on Fedora 31
x86-64 (AMD Phenom II X4 910e, circa 2010). Platform B is GCC (Ubuntu
7.5.0-3ubuntu1~18.04) 7.5.0 on Ubuntu 18.04.4 (Intel Xeon E3-1225 V2,
circa 2012).
This patch was inspired by a suggestion by Andrea Corallo in:
https://lists.gnu.org/r/emacs-devel/2020-04/msg00263.html
---
src/conf_post.h | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/conf_post.h b/src/conf_post.h
index eb8fb18c00..79fb4cfe8a 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -432,15 +432,13 @@ extern int emacs_setenv_TZ (char const *);
#else
-/* Use 'static' instead of 'extern inline' because 'static' typically
- has better performance for Emacs. Do not use the 'inline' keyword,
- as modern compilers inline automatically. ATTRIBUTE_UNUSED
- pacifies gcc -Wunused-function. */
+/* Use 'static inline' instead of 'extern inline' because 'static inline'
+ has much better performance for Emacs when compiled with 'gcc -Og'. */
# ifndef INLINE
# define INLINE EXTERN_INLINE
# endif
-# define EXTERN_INLINE static ATTRIBUTE_UNUSED
+# define EXTERN_INLINE static inline
# define INLINE_HEADER_BEGIN
# define INLINE_HEADER_END
--
2.17.1
[-- Attachment #3: 0002-Revert-my-KEY_OPS_CFLAGS-change-to-src-Makefile.in.patch --]
[-- Type: text/x-patch, Size: 1777 bytes --]
From c36792bd79f3a97f292ab0612aa5c3ab1b4d9e70 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 7 Apr 2020 20:52:28 -0700
Subject: [PATCH 2/2] Revert my KEY_OPS_CFLAGS change to src/Makefile.in
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Now that -Og inlining has been improved this is no longer helpful.
* src/Makefile.in (KEY_OPS_CFLAGS): Remove. All uses removed.
This improved CPU performance of ‘make compile-always’ by 5% on my
platform, which was gcc -Og, GCC 9.3.1 20200317 (Red Hat 9.3.1-1),
Fedora 31 x86-64 (AMD Phenom II X4 910e, circa 2010).
---
src/Makefile.in | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/Makefile.in b/src/Makefile.in
index dfd322553b..552dd2e50a 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -377,14 +377,11 @@ pdmp :=
# Flags that might be in WARN_CFLAGS but are not valid for Objective C.
NON_OBJC_CFLAGS = -Wignored-attributes -Wignored-qualifiers -Wopenmp-simd
-# Cajole GCC into inlining key ops even if it wouldn't normally.
-KEY_OPS_CFLAGS = $(if $(filter -Og,$(CFLAGS)),-DDEFINE_KEY_OPS_AS_MACROS)
-
# -Demacs makes some files produce the correct version for use in Emacs.
# MYCPPFLAGS is for by-hand Emacs-specific overrides, e.g.,
# "make MYCPPFLAGS='-DDBUS_DEBUG'".
-EMACS_CFLAGS = -Demacs $(KEY_OPS_CFLAGS) $(MYCPPFLAGS) \
- -I. -I$(srcdir) -I$(lib) -I$(top_srcdir)/lib \
+EMACS_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I$(srcdir) \
+ -I$(lib) -I$(top_srcdir)/lib \
$(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
$(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
$(PNG_CFLAGS) $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
--
2.17.1
next prev parent reply other threads:[~2020-04-08 4:03 UTC|newest]
Thread overview: 359+ 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 [this message]
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
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
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=2818498c-24f9-0873-80d7-afd7899b68ac@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=akrl@sdf.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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).