From: Jorgen Schaefer <forcer@forcix.cx>
To: emacs-devel@gnu.org
Subject: Re: Emacs Lisp's future (was: Guile emacs thread (again))
Date: Wed, 17 Sep 2014 20:24:18 +0200 [thread overview]
Message-ID: <20140917202418.240bbd2c@forcix> (raw)
In-Reply-To: <CANbX366JmWZZrVrwfevMfDtLvizY1r2ApDtoQXbn7dEVrRGCrQ@mail.gmail.com>
On Tue, 16 Sep 2014 18:03:17 +0200
Lennart Borgman <lennart.borgman@gmail.com> wrote:
> On Tue, Sep 16, 2014 at 5:50 PM, Stefan Monnier
> <monnier@iro.umontreal.ca> wrote:
>
> > The main problems I see with that:
> > - Elisp is slow and as CPUs aren't getting faster, its slowness
> > makes itself
> > noticed more often.
> > - Lack of some features, most notably FFI and concurrency.
> > - Lack of manpower.
> >
>
> Perhaps also the lack of possibility to enhance Emacs with code
> written in other languages? I think for example that Javascript will
> be something most future programmers will know. Could Guile make it
> easier to enhance Emacs with Javascript (as an alternative to Elisp)?
I think the (often-cited, not just here) idea of supporting multiple
languages is a red herring, mostly. Every extension language supported
adds some burden on those who want to understand what their editor
does, not just use pre-packaged code. One of the great things about
Emacs is that, once I know ELisp, I have a good chance of understanding
and modifying any extension I see. And learning Emacs Lisp is not
exactly hard.
But we do not have to be all theoretical here. There is an editor which
supports a dozen extension languages. The paradoxical thing to notice
when you look at vim plugins is that most of them are written in VimL,
including rather complex ones like NERD-tree and fugitive. I'd argue
that VimL is a tiny bit harder to learn and use than ELisp. There are
various reasons for why most plugins are written in it, but I do think
that this is a pretty good indicator that the lack of "common" languages
for extension is not exactly high on the list of problems for an editor.
There are plenty of things in ELisp itself that I'd put much higher on
that list.
- Lack of a common structured datatype. While there's cl-defstruct, the
support is a bit limited (C-h f does not work well with it), and a
lot of code simply does not use it, making it seem a bit like a
red-haired stepchild instead of a core recommended language feature.
Alists and plists are usually used where modern languages would use
structured datatypes, or even some hack with cons cells or lists and
indexed access.
- Hashes are one of those data types that are used all over the place
in other languages, but you see them rarely in Emacs Lisp, again often
losing out to alists and plists. This might be related to the
standard library functions being a bit baroque. (There's some
third-party hash library somewhere.)
- Speaking of third-party libraries, s.el, dash.el and f.el provide
things that really ought to be in core Emacs.
- The regex engine is annoying to use. Providing some interface to PCRE
would be a great step forward, and does not even have to be
backwards-incompatible.
- There are tons of warts in Emacs Lisp. nth vs. elt for example,
with their exciting incompatible calling conventions.
One thing I think would benefit Emacs Lisp as a language a lot would be
a standard library cleanup. An effort to go through the libraries that
come with Emacs, separate them into "standard library" and "extensions
that come with Emacs", and then go through the "standard library",
provide sane names when necessary (like setcar is provided for rplaca)
and deprecating the old ones, or simply deprecate all but one version of
functions with overlapping use (nth or elt, pick one). Finally, add
standard libraries for common functionality that is currently lacking
(see above).
The next step would be going through the "extensions that come with
Emacs" and make sure they all use namespace prefixes for anything but
very specific commands meant for users to use with M-x. Only standard
library functions are allowed to be namespace-free.
These things would make Emacs Lisp a lot easier to use and also easier
to learn for new users.
This is all doable, but it needs manpower (#3 on Stefans list). Which
is manpower that would not be doing other cool stuff on Emacs.
Regards,
Jorgen
next prev parent reply other threads:[~2014-09-17 18:24 UTC|newest]
Thread overview: 354+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-11 16:29 Guile emacs thread (again) Christopher Allan Webber
2014-09-14 16:20 ` Eli Zaretskii
2014-09-16 14:43 ` Grim Schjetne
2014-09-16 15:50 ` Emacs Lisp's future (was: Guile emacs thread (again)) Stefan Monnier
2014-09-16 16:03 ` Lennart Borgman
2014-09-17 18:24 ` Jorgen Schaefer [this message]
2014-09-17 18:42 ` Emacs Lisp's future Lars Brinkhoff
2014-09-17 19:25 ` Emacs Lisp's future (was: Guile emacs thread (again)) Lally Singh
2014-09-18 2:07 ` Alexis
2014-09-18 16:40 ` Emacs Lisp's future Daniel Colascione
2014-09-18 21:54 ` Regular expression creation [was: Re: Emacs Lisp's future] Alexis
2014-09-18 23:37 ` Aurélien Aptel
2014-09-19 0:00 ` Alexis
2014-09-19 2:12 ` Stefan Monnier
2014-09-19 10:07 ` Alexis
2014-09-26 15:25 ` Filipp Gunbin
2014-09-19 18:04 ` Daniel Colascione
2014-09-18 6:35 ` Emacs Lisp's future Andreas Röhler
2014-09-18 15:17 ` Richard Stallman
2014-09-18 16:19 ` Ivan Andrus
2014-09-18 23:19 ` Richard Stallman
2014-09-19 7:18 ` Andreas Röhler
2014-09-19 8:10 ` Andreas Schwab
2014-09-19 8:46 ` David Kastrup
2014-09-18 8:43 ` Emacs Lisp's future (was: Guile emacs thread (again)) Emilio Lopes
2014-09-16 16:09 ` Eli Zaretskii
2014-09-16 16:54 ` Lars Brinkhoff
2014-09-17 15:14 ` Emacs Lisp's future Stefan Monnier
2014-09-17 16:57 ` Lars Brinkhoff
2014-09-16 16:59 ` David Kastrup
2014-09-16 22:58 ` Mark H Weaver
2014-09-16 23:10 ` Mark H Weaver
2014-09-17 13:55 ` David Kastrup
2014-09-17 15:19 ` Mark H Weaver
2014-09-17 16:23 ` David Kastrup
2014-09-17 18:10 ` Nic Ferrier
2014-09-17 5:04 ` mhw
2014-09-17 14:03 ` David Kastrup
2014-09-17 14:39 ` Mark H Weaver
2014-09-17 15:11 ` David Kastrup
2014-09-17 10:48 ` Lars Magne Ingebrigtsen
2014-09-17 10:53 ` Nic Ferrier
2014-09-17 11:21 ` David Kastrup
2014-09-17 11:22 ` Eli Zaretskii
2014-09-17 13:50 ` Phillip Lord
2014-09-17 11:17 ` Phillip Lord
2014-09-17 11:35 ` Nic Ferrier
2014-09-17 12:50 ` Stefan Monnier
2014-09-17 13:54 ` Phillip Lord
2014-09-17 14:24 ` Eli Zaretskii
2014-09-17 14:30 ` David Kastrup
2014-09-17 15:03 ` Eli Zaretskii
2014-09-17 15:10 ` Phillip Lord
2014-09-17 18:04 ` performance isn't a concern in ... " Nic Ferrier
2014-09-17 19:08 ` David Kastrup
2014-09-18 7:54 ` Thorsten Jolitz
2014-09-17 15:09 ` Stefan Monnier
2014-09-17 15:07 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 15:33 ` David Kastrup
2014-09-17 20:11 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 22:42 ` Daniel Colascione
2014-09-18 2:34 ` Stefan Monnier
2014-09-18 3:17 ` David Kastrup
2014-09-18 9:04 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 9:27 ` David Kastrup
2014-09-18 11:15 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 3:46 ` David Kastrup
2014-09-18 9:53 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 10:09 ` David Kastrup
2014-09-18 11:29 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 12:07 ` David Kastrup
2014-09-18 14:12 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 14:56 ` David Kastrup
2014-09-18 15:36 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 16:44 ` David Kastrup
2014-09-17 17:13 ` Eli Zaretskii
2014-09-17 17:33 ` Stefan Monnier
2014-09-17 20:21 ` Richard Stallman
2014-09-18 12:48 ` Phillip Lord
2014-09-18 14:15 ` Rasmus
2014-09-18 14:34 ` Phillip Lord
2014-09-18 15:01 ` Rasmus
2014-09-18 16:08 ` Phillip Lord
2014-09-18 16:18 ` Rasmus
2014-09-18 19:23 ` Stefan Monnier
2014-09-18 23:18 ` Richard Stallman
2014-09-19 0:00 ` Rasmus
2014-09-19 8:00 ` Nic Ferrier
2014-09-19 10:46 ` Stephen J. Turnbull
2014-09-19 11:12 ` David Kastrup
2014-09-19 16:16 ` Stephen J. Turnbull
2014-09-19 11:38 ` Nic Ferrier
2014-09-19 18:02 ` Richard Stallman
2014-09-19 11:53 ` Rasmus
2014-09-19 18:01 ` Richard Stallman
[not found] ` <<E1XV2UO-0005CA-Vk@fencepost.gnu.org>
2014-09-19 18:43 ` Drew Adams
2014-09-18 23:17 ` Richard Stallman
2014-09-19 0:03 ` Rasmus
2014-09-19 10:27 ` Eric S. Raymond
2014-09-23 7:45 ` Emilio Lopes
2014-09-26 16:50 ` Jonas Bernoulli
2014-09-26 18:23 ` Christopher Allan Webber
2014-09-29 8:33 ` Phillip Lord
2014-09-29 13:19 ` Stefan Monnier
2014-09-29 14:47 ` Phillip Lord
2014-09-30 7:58 ` Thorsten Jolitz
2014-09-30 12:19 ` Phillip Lord
2014-09-30 16:15 ` Nic Ferrier
2014-09-30 18:21 ` Thorsten Jolitz
2014-09-30 19:18 ` Thorsten Jolitz
2014-09-30 16:15 ` Nicolas Richard
2014-09-30 17:54 ` Thorsten Jolitz
2014-09-30 18:19 ` Drew Adams
2014-09-26 20:37 ` Stefan Monnier
2014-09-18 23:17 ` Richard Stallman
2014-09-18 23:37 ` Rasmus
2014-09-19 2:03 ` Stefan Monnier
2014-09-19 6:26 ` Adding packages to ELPA (was: Emacs Lisp's future) Eli Zaretskii
2014-09-19 6:47 ` Adding packages to ELPA Rasmus
2014-09-19 13:47 ` Stefan Monnier
2014-09-19 13:56 ` Nic Ferrier
2014-09-19 16:27 ` Stefan Monnier
2014-09-19 12:31 ` Sam Steingold
2014-09-19 13:08 ` Eli Zaretskii
2014-09-19 14:29 ` Sam Steingold
2014-09-19 13:26 ` Stefan Monnier
2014-09-19 13:39 ` Eli Zaretskii
2014-09-19 14:44 ` Stefan Monnier
2014-09-19 15:00 ` Eli Zaretskii
2014-09-19 15:41 ` Phillip Lord
2014-09-19 15:45 ` Eli Zaretskii
2014-09-19 18:03 ` Richard Stallman
2014-09-19 16:34 ` Stefan Monnier
2014-09-19 17:30 ` Eli Zaretskii
2014-09-19 18:13 ` Stefan Monnier
2014-09-20 16:09 ` Stephen Leake
2014-09-20 16:23 ` Eli Zaretskii
2014-09-21 15:05 ` Stephen Leake
2014-09-20 20:02 ` Stefan Monnier
2014-09-20 16:00 ` Stephen Leake
2014-09-20 16:21 ` Eli Zaretskii
2014-09-22 7:53 ` Phillip Lord
2014-09-22 14:50 ` Eli Zaretskii
2014-09-22 19:34 ` SP? {Spam?} " Phillip Lord
2014-09-19 18:02 ` Richard Stallman
2014-09-19 18:02 ` Richard Stallman
2014-09-17 22:49 ` Emacs Lisp's future Daniel Colascione
2014-09-17 12:46 ` Eric Brown
2014-09-17 13:33 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 13:52 ` Eli Zaretskii
2014-09-17 15:11 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 20:23 ` Richard Stallman
2014-09-17 21:13 ` Lars Magne Ingebrigtsen
2014-09-20 19:31 ` Robin Templeton
2016-10-07 10:47 ` Lars Brinkhoff
2016-10-07 11:03 ` Nikolay Kudryavtsev
2016-10-07 11:27 ` Philippe Vaucher
2016-10-07 11:48 ` Nikolay Kudryavtsev
2016-10-08 14:00 ` Ben
2016-10-08 15:39 ` Stefan Monnier
2016-10-07 12:52 ` Stefan Monnier
2016-10-08 8:23 ` Helmut Eller
2016-10-08 12:07 ` Clément Pit--Claudel
2016-10-08 14:26 ` Nicolas Petton
2016-10-08 20:57 ` Richard Stallman
2016-10-08 21:40 ` Nicolas Petton
2016-10-08 22:15 ` Helmut Eller
2016-10-10 9:00 ` Richard Stallman
2016-10-11 1:42 ` Richard Stallman
2016-10-11 7:47 ` Helmut Eller
2016-10-11 14:44 ` Elias Mårtenson
2016-10-12 3:17 ` Tom Tromey
2016-10-13 21:23 ` Richard Stallman
2016-10-13 21:35 ` Tom Tromey
2016-10-17 0:44 ` Richard Stallman
2016-10-10 4:09 ` Georges Ko
2016-10-10 4:51 ` Clément Pit--Claudel
2016-10-10 13:56 ` Georges Ko
2016-10-11 4:06 ` Marcin Borkowski
2016-10-11 4:18 ` Clément Pit--Claudel
2016-10-11 7:16 ` Marcin Borkowski
2016-10-11 13:33 ` Clément Pit--Claudel
2016-10-11 14:54 ` Elias Mårtenson
2016-10-11 15:10 ` Clément Pit--Claudel
2016-10-11 17:55 ` Elias Mårtenson
2016-10-11 17:08 ` Marcin Borkowski
2016-10-10 15:26 ` raman
2016-10-07 15:32 ` Kelvin White
2016-10-07 16:18 ` Søren Pilgård
2016-10-07 16:25 ` Kaushal Modi
2016-10-08 2:09 ` Tom Tromey
2016-10-08 20:58 ` Richard Stallman
2016-10-07 17:07 ` John Wiegley
2016-10-09 12:03 ` Toon Claes
2016-10-09 12:33 ` Eli Zaretskii
2016-10-10 2:59 ` John Wiegley
2016-10-10 7:17 ` Concurrency, again (was: Emacs Lisp's future) Eli Zaretskii
2016-10-10 15:42 ` Concurrency, again Paul Eggert
2016-10-12 12:47 ` Stefan Monnier
2016-10-12 15:24 ` raman
2016-10-12 16:42 ` John Wiegley
2016-10-12 17:17 ` Eli Zaretskii
2016-10-12 18:01 ` John Wiegley
2016-10-12 19:26 ` Eli Zaretskii
2016-10-12 19:43 ` Stefan Monnier
2016-10-12 20:59 ` Perry E. Metzger
2016-10-12 21:20 ` Søren Pilgård
2016-10-12 21:33 ` Perry E. Metzger
2016-10-12 22:31 ` Stefan Monnier
2016-10-12 23:33 ` John Wiegley
2016-10-13 5:55 ` Eli Zaretskii
2016-10-13 13:27 ` Perry E. Metzger
2016-10-13 15:05 ` Stefan Monnier
2016-10-13 17:25 ` John Wiegley
2016-10-13 18:14 ` Stefan Monnier
2016-10-14 21:01 ` Richard Stallman
2016-10-14 21:48 ` Stefan Monnier
2016-10-15 1:24 ` John Wiegley
2016-10-15 5:48 ` Eli Zaretskii
2016-10-15 22:03 ` Richard Stallman
2016-10-16 0:38 ` John Wiegley
2016-10-16 6:40 ` Eli Zaretskii
2016-10-17 0:43 ` Richard Stallman
2016-10-17 6:10 ` Eli Zaretskii
2016-10-25 13:34 ` Philipp Stephani
2016-10-25 22:28 ` Dmitry Gutov
2016-10-13 19:34 ` Clément Pit--Claudel
2016-10-13 19:49 ` John Wiegley
2016-10-14 15:26 ` Ted Zlatanov
2016-10-14 15:47 ` Michael Albinus
2016-10-14 16:57 ` John Wiegley
2016-10-14 18:03 ` John Wiegley
2016-10-14 18:06 ` Ted Zlatanov
2016-10-15 7:16 ` Michael Albinus
2016-10-17 14:13 ` Ted Zlatanov
2016-10-17 18:33 ` Ken Raeburn
2016-10-17 18:41 ` Stefan Monnier
2016-10-14 17:01 ` Stefan Huchler
2016-10-17 14:53 ` Perry E. Metzger
2016-10-17 16:07 ` Eli Zaretskii
2016-10-17 16:34 ` Perry E. Metzger
2016-10-17 16:57 ` Eli Zaretskii
2016-10-17 17:53 ` Perry E. Metzger
2016-10-17 18:06 ` Lars Ingebrigtsen
2016-10-18 3:27 ` Stefan Huchler
2016-10-18 14:34 ` Lars Ingebrigtsen
2016-10-18 14:58 ` Eli Zaretskii
2016-10-18 15:05 ` Lars Ingebrigtsen
2016-10-18 15:36 ` Eli Zaretskii
2016-10-18 19:26 ` Lars Ingebrigtsen
2016-10-18 15:15 ` joakim
2016-10-18 16:20 ` Stefan Huchler
2016-10-18 18:37 ` Browsers inside Emacs (was Re: Concurrency, again) Perry E. Metzger
2016-10-17 18:19 ` Concurrency, again Eli Zaretskii
2016-10-18 19:47 ` Richard Stallman
2016-10-18 19:47 ` Richard Stallman
2016-10-18 20:29 ` Web browsing (was Re: Concurrency, again) Perry E. Metzger
2016-10-19 19:57 ` Richard Stallman
2016-10-19 20:44 ` Perry E. Metzger
2016-10-20 18:04 ` Richard Stallman
2016-10-19 8:52 ` Concurrency, again Ricardo Wurmus
2016-10-19 13:07 ` Emacs as browser (was Re: Concurrency, again) Perry E. Metzger
2016-10-19 20:02 ` Richard Stallman
2016-10-19 20:38 ` Perry E. Metzger
2016-10-20 7:33 ` Eli Zaretskii
2016-10-20 15:15 ` Perry E. Metzger
2016-10-20 15:42 ` Eli Zaretskii
2016-10-20 22:22 ` Cairo bugs (was Re: Emacs as browser (was Re: Concurrency, again)) Perry E. Metzger
2016-10-21 7:31 ` Emacs as browser (was Re: Concurrency, again) Dov Grobgeld
2016-10-21 19:43 ` Paul Eggert
2016-10-23 6:23 ` Dov Grobgeld
2016-10-23 9:39 ` Dov Grobgeld
2016-10-23 10:26 ` Paul Eggert
2016-10-20 18:15 ` Philippe Vaucher
2016-10-20 18:41 ` Perry E. Metzger
2016-10-20 20:56 ` Philippe Vaucher
2016-10-21 1:45 ` Richard Stallman
2016-10-20 19:24 ` Eli Zaretskii
2016-10-20 20:33 ` Philippe Vaucher
2016-10-21 6:53 ` Eli Zaretskii
2016-10-21 12:39 ` Tookits (was Re: Emacs as browser) Perry E. Metzger
2016-10-21 12:57 ` Eli Zaretskii
2016-10-21 13:45 ` Perry E. Metzger
2016-10-20 18:04 ` Emacs as browser (was Re: Concurrency, again) Richard Stallman
2016-10-20 18:30 ` Perry E. Metzger
2016-10-20 18:57 ` Paul Eggert
2016-10-21 1:45 ` Richard Stallman
2016-10-21 3:09 ` Perry E. Metzger
2016-10-25 13:30 ` Concurrency, again Philipp Stephani
2016-10-12 21:24 ` joakim
2016-10-12 18:19 ` John Wiegley
2016-10-15 4:45 ` SAKURAI Masashi
2016-10-17 15:29 ` Perry E. Metzger
2016-10-18 3:14 ` Tom Tromey
2016-10-18 6:18 ` Eli Zaretskii
2016-10-18 7:58 ` Ken Raeburn
2016-10-18 9:22 ` Eli Zaretskii
2016-10-18 10:08 ` Ken Raeburn
2016-10-18 10:41 ` Eli Zaretskii
2016-10-19 10:18 ` Ken Raeburn
2016-10-19 11:57 ` Eli Zaretskii
2016-10-20 6:08 ` Ken Raeburn
2016-10-20 7:54 ` Eli Zaretskii
2016-10-20 7:12 ` Herring, Davis
2016-10-20 7:55 ` Ken Raeburn
2016-10-20 16:22 ` Paul Eggert
2016-10-18 10:46 ` Alan Third
2016-10-19 7:02 ` Ken Raeburn
2016-10-18 14:04 ` Tom Tromey
2016-10-25 13:27 ` Philipp Stephani
2016-10-25 16:28 ` Eli Zaretskii
2016-10-25 16:45 ` John Wiegley
2016-10-25 16:48 ` Philipp Stephani
2016-10-25 17:04 ` Stefan Huchler
2016-10-25 18:43 ` Philipp Stephani
2016-10-25 21:44 ` John Wiegley
2016-10-25 23:28 ` Philipp Stephani
2016-10-27 17:27 ` Eli Zaretskii
2016-10-27 19:13 ` Daniel Colascione
2016-10-27 20:55 ` Christopher Allan Webber
2016-10-27 21:50 ` Daniel Colascione
2016-10-28 7:53 ` Eli Zaretskii
2016-10-31 6:42 ` Tom Tromey
2016-10-26 14:03 ` Ted Zlatanov
2016-10-26 15:09 ` Eli Zaretskii
2016-10-25 17:12 ` Eli Zaretskii
2016-10-25 13:22 ` Philipp Stephani
2016-10-25 14:24 ` Stefan Monnier
2016-10-25 14:41 ` Philipp Stephani
2016-10-26 13:50 ` Ted Zlatanov
2016-10-26 14:32 ` Stefan Monnier
2016-10-26 14:39 ` Ted Zlatanov
2016-10-25 16:25 ` Eli Zaretskii
2016-10-25 23:47 ` Richard Stallman
2016-10-10 15:24 ` Emacs Lisp's future raman
2016-10-09 12:43 ` Søren Pilgård
2016-10-09 13:13 ` Philipp Stephani
2016-10-09 13:15 ` Eli Zaretskii
2014-09-17 19:29 ` Guile emacs thread (again) Lluís
2014-09-17 19:34 ` Lally Singh
2014-09-18 12:23 ` Robin Templeton
2014-09-19 1:15 ` Christopher Allan Webber
2014-09-20 13:20 ` Richard Stallman
2014-09-20 15:54 ` Eli Zaretskii
2014-09-21 13:35 ` Richard Stallman
2014-09-21 16:16 ` Stefan Monnier
2014-09-21 17:00 ` Eli Zaretskii
2014-09-21 20:09 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2014-09-17 2:57 Emacs Lisp's future (was: Guile emacs thread (again)) Lally Singh
2014-09-17 11:01 ` Tom
2014-09-17 11:43 ` Richard Stallman
2014-09-17 14:21 ` Lally Singh
2014-09-17 7:38 Kristian Nygaard Jensen
2014-09-17 8:22 Nic Ferrier
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=20140917202418.240bbd2c@forcix \
--to=forcer@forcix.cx \
--cc=emacs-devel@gnu.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).