unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Re: Replace trivial pcase occurrences in the Emacs sources
Date: Wed, 24 Oct 2018 16:52:23 -0400	[thread overview]
Message-ID: <jwvefcfm6m6.fsf-monnier+gmane.emacs.devel@gnu.org> (raw)
In-Reply-To: 83ftwvs7y9.fsf@gnu.org

>     (pcase this-param
>       ('edit (todo-edit-item--text))
>       ('header (todo-edit-item--text 'include-header))
>       ('multiline (todo-edit-item--text 'multiline))
>       ('add/edit (todo-edit-item--text 'comment-edit))
>       ('delete (todo-edit-item--text 'comment-delete))
>       ('diary (todo-edit-item--diary-inclusion))
>       ('nonmarking (todo-edit-item--diary-inclusion 'nonmarking))
>       [...]

Is the below any better?

    (cond
      ((eq this-param 'edit) (todo-edit-item--text))
      ((eq this-param 'header) (todo-edit-item--text 'include-header))
      ((eq this-param 'multiline) (todo-edit-item--text 'multiline))
      ((eq this-paran 'add/edit) (todo-edit-item--text 'comment-edit))
      ((eq this-parom 'delete) (todo-edit-item--text 'comment-delete))
      ((eq this-param 'diary) (todo-edit-item--diary-inclusion))
      ((eq this-param 'nonmarking) (todo-edit-item--diary-inclusion 'nonmarking))
      [...]

To me, it's more verbose and more complex because you need to double
check that the same var is tested each time before you can know that it's
equivalent to a C-style `switch`.

IOW, I consider rewriting the `cond` to use `pcase` to be a form of
"common sub-expression elimination", or reduction of copy&paste.

I think rewriting those pcase uses into cond+eq would be equivalent for
me to rewriting dolists into while+pop loops (where you similarly can't
tell whether the loop advances by a single element each time without
consulting the loop body looking for all assignments to the temp var on
which the iteration is performed).

I prefer pcase to cl-case but I even much more strongly prefer cl-case
over cond+eq.

> My favorite is imap.el, which does something like the above in 3
> nested levels.  I will spare you the code, you can look it up.

We clearly have very different programming backgrounds: to me the "case
style" is much nicer and easier to read, closer to what I think in
my head, whereas the "cond+eq style" is like a "assembly-language"
version of the same.

> Is it because people are too lazy to write (eq a b) as part of 'cond'?
> Or is there something else I'm missing?

As a researcher in programming languages, I consider that my job is to
design and bring to practitioners tools that let them write in ways that
are closer to how they think than to how the machine thinks (while
still being able to turn it into something the machine can run efficiently).

The above argument of "too lazy to write ..." reminds me of the
resistance against the introduction of "high-level languages" instead of
the use of assembly language.

> You may wonder why I'm bothered by such uses.  It's because people are
> evidently confused by 'pcase's arcane syntax, and therefore produce
> obfuscated code even in the simple usage.  For example:
>
> apropos.el:
>
>       (pcase (car-safe x)
> 	;; (autoload (push (cdr x) autoloads))
> 	(`require (push (cdr x) requires))
> 	(`provide (push (cdr x) provides))
>         (`t nil) ; Skip "was an autoload" entries.
>         ;; FIXME: Print information about each individual method: both
>         ;; its docstring and specializers (bug#21422).
>         (`cl-defmethod (push (cadr x) provides))
> 	(_ (push (or (cdr-safe x) x) symbols))))
>
> (Quick: what's the difference between `require and 'require in this
> case?)

Same difference as between 'require and `require in normal Elisp code.
Why is that a problem in pcase and not in the rest of Elisp?

[ The story behind this is that the first version of pcase
  only supported the ` syntax and the syntax was added to provide
  a "target" for the expansion of ` when ` was made into
  a pcase-macro rather than a core pcase functionality.  ]

> easy-mmode.el:
>
>       (pcase keyw
> 	(`:group (setq group (nconc group (list :group (pop keys)))))
> 	(`:global (setq keys (cdr keys)))
> 	(_ (push keyw extra-keywords) (push (pop keys) extra-keywords))))
>
> (Aren't keywords supposed to be self-quoting? then why they are
> explicitly quoted?)

Same reason why keyaords might be (back)quoted in some Elisp code?
[ Or maybe also because keywords were originally not self-quoting in
  pcase macros?  ]

> So I think we should begin by rewriting all of such uses as simple
> 'cond', and ask contributors not to use 'pcase' where a simple 'cond'
> will do.

From where I stand it would be a very sad step backward.
Rewriting those to use ' quoting (or no quoting at all when not needed)
is fine (tho not important), but the cond form is clearly inferior IMO.


        Stefan




  parent reply	other threads:[~2018-10-24 20:52 UTC|newest]

Thread overview: 375+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-16 20:26 The poor state of documentation of pcase like things Alan Mackenzie
2015-12-16 20:53 ` Kaushal Modi
2015-12-17 16:34   ` John Wiegley
2015-12-17 19:22     ` Kaushal Modi
2015-12-17 21:16     ` Phillip Lord
2015-12-17 21:56       ` Drew Adams
2015-12-17 22:22         ` Phillip Lord
2015-12-18  7:15       ` Eli Zaretskii
2015-12-18  9:12         ` Rasmus
2015-12-18  9:21           ` Eli Zaretskii
2015-12-18  9:57             ` Rasmus
2015-12-18 10:13             ` David Kastrup
2015-12-18 10:47               ` Eli Zaretskii
2015-12-18 16:44                 ` Phillip Lord
2015-12-18 17:17                   ` Eli Zaretskii
2015-12-18 17:24                     ` David Kastrup
2015-12-18 18:47                       ` Eli Zaretskii
2015-12-19 11:23                     ` Eli Zaretskii
2015-12-19 11:39                       ` David Kastrup
2015-12-19 12:15                         ` Eli Zaretskii
2015-12-19 20:35                           ` Phillip Lord
2015-12-19 20:58                             ` Eli Zaretskii
2015-12-19 22:23                               ` Phillip Lord
2015-12-20  3:38                                 ` Eli Zaretskii
2015-12-20 22:54                                   ` Phillip Lord
2015-12-20 14:16                                 ` Michael Heerdegen
2015-12-18 12:23             ` Marcin Borkowski
2015-12-18 10:30         ` Phillip Lord
2015-12-18 12:21         ` Marcin Borkowski
2015-12-22  5:20         ` John Wiegley
2015-12-17 21:26     ` Alan Mackenzie
2015-12-17 23:34       ` John Wiegley
2015-12-18  7:16       ` Eli Zaretskii
2015-12-19 15:31     ` Michael Heerdegen
2015-12-22  5:25       ` John Wiegley
2015-12-22 13:16         ` Michael Heerdegen
2015-12-18  0:42   ` John Wiegley
2015-12-18  4:07     ` Richard Stallman
2015-12-18 10:39       ` Phillip Lord
2015-12-19 15:14         ` Michael Heerdegen
2015-12-19 19:23           ` Phillip Lord
2015-12-19 21:09             ` Michael Heerdegen
2015-12-19 21:57               ` Phillip Lord
2015-12-20  5:13                 ` Richard Stallman
2015-12-20  9:25                   ` Phillip Lord
2015-12-21  5:04                     ` Richard Stallman
2015-12-21 10:15                       ` Phillip Lord
2015-12-22  5:18                       ` John Wiegley
2015-12-20 13:45                   ` Michael Heerdegen
2015-12-20 13:33                 ` Michael Heerdegen
2015-12-20 18:51                   ` Phillip Lord
2015-12-24 17:46                     ` Michael Heerdegen
2015-12-24 17:51                       ` John Wiegley
2015-12-24 19:10                         ` Michael Heerdegen
2015-12-19 19:24           ` Phillip Lord
2015-12-18  8:55     ` Eli Zaretskii
2015-12-19 15:18       ` Michael Heerdegen
2015-12-22  5:22         ` John Wiegley
2015-12-19 15:55       ` Michael Heerdegen
2015-12-19 17:08         ` Eli Zaretskii
2015-12-19 17:19           ` Eli Zaretskii
2015-12-19 21:03             ` Michael Heerdegen
2015-12-19 17:40           ` Michael Heerdegen
2015-12-22  5:21             ` John Wiegley
2015-12-19 15:44     ` Michael Heerdegen
2015-12-19 17:02       ` Eli Zaretskii
2015-12-19 20:58         ` Michael Heerdegen
2015-12-22  5:28         ` John Wiegley
2015-12-19 20:31       ` Phillip Lord
2015-12-19 21:16         ` Michael Heerdegen
2015-12-19 22:11           ` Phillip Lord
2015-12-20 12:45             ` Michael Heerdegen
2015-12-24  5:49     ` Richard Stallman
2015-12-24  6:15       ` John Wiegley
2015-12-25  5:49         ` Richard Stallman
2015-12-25 14:59           ` Michael Heerdegen
2015-12-25 16:55             ` John Wiegley
2015-12-26  6:13             ` Richard Stallman
2015-12-26 17:10               ` Michael Heerdegen
2015-12-26 20:52                 ` Aaron Ecay
2015-12-26 23:17                   ` Michael Heerdegen
2016-01-01  7:57                     ` Eli Zaretskii
2016-01-01 17:46                       ` John Wiegley
2016-01-01 18:39                         ` David Kastrup
2016-01-01 19:05                           ` Daniel Colascione
2016-01-02  8:16                             ` Eli Zaretskii
2016-01-02  8:35                               ` David Kastrup
2016-01-03  0:19                                 ` Michael Heerdegen
2016-01-03  2:47                                   ` Drew Adams
2016-01-03  3:21                                     ` Michael Heerdegen
2016-01-03  3:46                                       ` Drew Adams
2016-01-03  5:17                                         ` Michael Heerdegen
2016-01-03  3:45                                   ` Eli Zaretskii
2016-01-03  4:21                                     ` Michael Heerdegen
2016-01-03  9:13                                       ` David Kastrup
2016-01-03 16:52                                         ` Clément Pit--Claudel
2016-01-04  1:28                                         ` Michael Heerdegen
2016-01-03 15:29                                       ` Eli Zaretskii
2016-01-04  2:05                                         ` Michael Heerdegen
2016-01-03  9:03                                   ` David Kastrup
2016-01-04  2:08                                     ` Michael Heerdegen
2016-01-04 22:05                                       ` John Wiegley
2016-01-03  0:41                               ` Dmitry Gutov
2016-01-03  1:07                                 ` Lars Magne Ingebrigtsen
2016-01-03  1:21                                   ` Dmitry Gutov
2016-01-03  2:49                                     ` Drew Adams
2016-01-03 10:49                                       ` David Kastrup
2016-01-03  1:32                                   ` Michael Heerdegen
2016-01-03  2:48                                   ` Drew Adams
2016-01-03  3:11                                     ` Noam Postavsky
2016-01-03  3:18                                       ` Dmitry Gutov
2016-01-03  3:55                                         ` John Wiegley
2016-01-03  3:45                                       ` Drew Adams
2016-01-03  3:47                                 ` Eli Zaretskii
     [not found]                                   ` <56889EC3.3040108@yandex.ru>
     [not found]                                     ` <877fjrkpdf.fsf@fencepost.gnu.org>
     [not found]                                       ` <56892334.4000106@yandex.ru>
     [not found]                                         ` <8760zakb7q.fsf@fencepost.gnu.org>
     [not found]                                           ` <56892BDA.6060103@dancol.org>
     [not found]                                             ` <871t9yk98g.fsf@fencepost.gnu.org>
     [not found]                                               ` <568936F0.3060505@yandex.ru>
     [not found]                                                 ` <87wprqitj5.fsf@fencepost.gnu.org>
     [not found]                                                   ` <56893C8C.3060200@yandex.ru>
2016-01-03 15:52                                                     ` David Kastrup
2016-01-03 15:59                                                       ` Dmitry Gutov
2016-01-03 17:15                                                         ` David Kastrup
2016-01-03 17:52                                                           ` Dmitry Gutov
2016-01-03 18:17                                                             ` David Kastrup
2016-01-04  2:34                                                               ` Michael Heerdegen
2016-01-04  6:19                                                                 ` Drew Adams
2016-01-04 22:07                                                                   ` John Wiegley
2016-01-04 15:52                                                                 ` Eli Zaretskii
2018-10-23 13:04                                                                 ` Replace trivial pcase occurrences in the Emacs sources (was: The poor state of documentation of pcase like things.) Michael Heerdegen
2018-10-23 14:43                                                                   ` Clément Pit-Claudel
2018-10-23 14:46                                                                     ` Replace trivial pcase occurrences in the Emacs sources Michael Heerdegen
2018-10-23 14:57                                                                       ` Clément Pit-Claudel
2018-10-23 15:16                                                                         ` Michael Heerdegen
2018-10-23 15:07                                                                       ` Noam Postavsky
2018-10-23 15:24                                                                         ` Michael Heerdegen
2018-10-23 15:31                                                                           ` Noam Postavsky
2018-10-24 13:15                                                                             ` Michael Heerdegen
2018-10-23 15:17                                                                   ` Replace trivial pcase occurrences in the Emacs sources (was: The poor state of documentation of pcase like things.) Eli Zaretskii
2018-10-23 17:14                                                                     ` Replace trivial pcase occurrences in the Emacs sources Stefan Monnier
2018-10-23 17:24                                                                       ` Michael Heerdegen
2018-10-23 18:12                                                                         ` Stefan Monnier
2018-10-23 19:52                                                                           ` pcase vs. case (where it could also be used) [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-23 20:19                                                                             ` Stefan Monnier
2018-10-23 22:24                                                                               ` Garreau, Alexandre
2018-10-24 15:03                                                                           ` Replace trivial pcase occurrences in the Emacs sources Eli Zaretskii
2018-10-24 15:30                                                                             ` Michael Heerdegen
2018-10-24 15:40                                                                               ` Eli Zaretskii
2018-10-24 15:48                                                                                 ` Michael Heerdegen
2018-10-24 17:35                                                                                   ` Eli Zaretskii
2018-10-24 17:55                                                                                     ` Michael Heerdegen
2018-10-24 18:32                                                                                       ` Eli Zaretskii
2018-10-24 18:47                                                                               ` Garreau, Alexandre
2018-10-27 15:19                                                                               ` Michael Heerdegen
2018-10-27 16:56                                                                                 ` Garreau, Alexandre
2018-10-27 22:37                                                                                 ` Dmitry Gutov
2018-10-28  0:21                                                                                   ` Michael Heerdegen
2018-10-28  2:07                                                                                     ` Garreau, Alexandre
2018-10-28  2:44                                                                                       ` pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-28  4:45                                                                                         ` How other pattern-matching lisps do [Was: Re: pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources]] Garreau, Alexandre
2018-10-28 13:44                                                                                           ` Stefan Monnier
2018-10-28 17:57                                                                                             ` Garreau, Alexandre
2018-10-28 23:16                                                                                           ` Michael Heerdegen
2018-10-28 22:54                                                                                         ` pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Michael Heerdegen
2018-10-28 23:09                                                                                           ` Garreau, Alexandre
2018-10-28 23:57                                                                                             ` Michael Heerdegen
2018-10-29 10:22                                                                                               ` Garreau, Alexandre
2018-10-29 21:33                                                                                                 ` Michael Heerdegen
2018-10-29 23:00                                                                                                   ` pcase ` meaning Garreau, Alexandre
2018-10-29 23:57                                                                                                     ` Michael Heerdegen
2018-10-30  0:17                                                                                                       ` Garreau, Alexandre
2018-10-30  1:40                                                                                                         ` Michael Heerdegen
2018-10-30 16:05                                                                                                         ` Yuri Khan
2018-10-29 17:26                                                                                             ` pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Clément Pit-Claudel
2018-10-30  0:27                                                                                               ` pcase ` meaning Garreau, Alexandre
2018-10-30 13:14                                                                                                 ` Stefan Monnier
2018-10-31 23:13                                                                                                   ` Garreau, Alexandre
2018-11-01 13:22                                                                                                     ` Clément Pit-Claudel
2018-11-01 14:11                                                                                                       ` Garreau, Alexandre
2018-10-29  3:26                                                                                 ` Replace trivial pcase occurrences in the Emacs sources Eli Zaretskii
2018-10-29 21:46                                                                                   ` Michael Heerdegen
2018-10-30  0:36                                                                                     ` What `case' have done you? [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-30  1:45                                                                                       ` Michael Heerdegen
2018-10-30  6:31                                                                                     ` Replace trivial pcase occurrences in the Emacs sources Eli Zaretskii
2018-10-30 15:47                                                                                       ` Michael Heerdegen
2018-10-30 17:29                                                                                         ` Eli Zaretskii
2018-10-30 22:09                                                                                           ` Michael Heerdegen
2018-10-31 15:59                                                                                             ` Eli Zaretskii
2018-10-31 19:37                                                                                               ` Stefan Monnier
2018-10-31 20:31                                                                                               ` Michael Heerdegen
2018-10-31 23:33                                                                                                 ` Garreau, Alexandre
2018-10-31 23:44                                                                                                 ` Garreau, Alexandre
2018-10-31 23:58                                                                                                   ` Michael Heerdegen
2018-11-01  4:15                                                                                                 ` Eli Zaretskii
2018-11-01 12:30                                                                                                 ` Stefan Monnier
2018-11-01 14:14                                                                                                   ` Michael Heerdegen
2018-11-01 14:18                                                                                                     ` Noam Postavsky
2018-11-01 14:20                                                                                                       ` Michael Heerdegen
2018-11-05  1:43                                                                                                         ` Michael Heerdegen
2018-11-05  1:46                                                                                                           ` Michael Heerdegen
2018-11-05 16:06                                                                                                           ` Eli Zaretskii
2018-11-06  1:04                                                                                                             ` Michael Heerdegen
2018-11-25 20:36                                                                                                               ` Michael Heerdegen
2018-11-25 20:42                                                                                                                 ` Nicolas Goaziou
2018-11-25 21:46                                                                                                                   ` Michael Heerdegen
2018-11-26  3:35                                                                                                                     ` Eli Zaretskii
2018-11-26 20:57                                                                                                                       ` Michael Heerdegen
2018-11-26 22:05                                                                                                                         ` Nicolas Goaziou
2018-11-27  5:35                                                                                                                         ` Eli Zaretskii
2018-10-24 15:47                                                                             ` Clément Pit-Claudel
2018-10-24 16:00                                                                               ` Eli Zaretskii
2018-10-24 19:00                                                                                 ` Clément Pit-Claudel
2018-10-24 19:09                                                                                   ` Eli Zaretskii
2018-10-24 16:12                                                                             ` Alan Mackenzie
2018-10-24 20:52                                                                             ` Stefan Monnier [this message]
2018-10-25  7:17                                                                               ` Stephen Berman
2018-10-25 14:47                                                                               ` Eli Zaretskii
2018-10-25 15:32                                                                                 ` Stefan Monnier
2018-10-26 15:34                                                                                   ` Stefan Monnier
2018-10-27 17:48                                                                                 ` Garreau, Alexandre
2018-10-24  4:51                                                                       ` Richard Stallman
2018-10-24  8:34                                                                         ` Joost Kremers
2018-10-24 12:37                                                                           ` Stefan Monnier
2018-10-24 13:08                                                                             ` Daniel Pittman
2018-10-24 14:35                                                                               ` Stefan Monnier
2018-10-24 13:03                                                                           ` pcase pattern syntax (was: Replace trivial pcase occurrences in the Emacs sources) Stefan Monnier
2018-10-26  7:16                                                                             ` Joost Kremers
2018-10-24 10:16                                                                         ` Replace trivial pcase occurrences in the Emacs sources João Távora
2018-10-24 13:05                                                                           ` Stefan Monnier
2018-10-25  3:11                                                                           ` Richard Stallman
2018-10-25 12:42                                                                             ` Stefan Monnier
2018-10-25 23:53                                                                               ` Andy Moreton
2018-10-26 14:59                                                                                 ` Stefan Monnier
2018-10-26 15:44                                                                                   ` Garreau, Alexandre
2018-10-27 12:09                                                                                   ` Andy Moreton
2018-10-28 21:44                                                                                 ` Stefan Monnier
2018-10-29 13:01                                                                                   ` Alan Mackenzie
2018-10-29 13:28                                                                                     ` Stefan Monnier
2018-10-29 13:47                                                                                       ` Alan Mackenzie
2018-10-29 21:08                                                                                         ` Stefan Monnier
2018-10-29 21:53                                                                                           ` Michael Heerdegen
2018-10-29 23:12                                                                                             ` Eric Abrahamsen
2018-10-29 23:18                                                                                               ` Eric Abrahamsen
2018-10-30  0:50                                                                                                 ` `pcase'/`case' implementation [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-30 13:07                                                                                                 ` Replace trivial pcase occurrences in the Emacs sources Stefan Monnier
2018-10-30 23:30                                                                                                   ` Eric Abrahamsen
2018-11-01  0:16                                                                                                   ` Garreau, Alexandre
2018-10-30 12:30                                                                                               ` Stefan Monnier
2018-10-30 17:16                                                                                                 ` Stefan Monnier
2018-10-30 19:03                                                                                                   ` Eli Zaretskii
2018-10-30 19:21                                                                                                     ` Stefan Monnier
2018-10-30 19:54                                                                                                       ` Eli Zaretskii
2018-10-30 20:44                                                                                                         ` Stefan Monnier
2018-10-31 15:57                                                                                                           ` Eli Zaretskii
2018-10-31 19:35                                                                                                             ` Stefan Monnier
2018-11-01  1:40                                                                                                         ` Garreau, Alexandre
2018-11-01  4:10                                                                                                           ` Eli Zaretskii
2018-11-01  5:21                                                                                                             ` Garreau, Alexandre
2018-11-01 18:07                                                                                                               ` Eli Zaretskii
2018-11-01 19:35                                                                                                                 ` Garreau, Alexandre
2018-11-01 19:49                                                                                                                   ` TEIRLLM
2018-11-03  2:53                                                                                                                     ` Richard Stallman
2018-11-04 11:35                                                                                                                       ` Nix
2018-11-04 12:40                                                                                                                         ` Garreau, Alexandre
2018-11-01 19:51                                                                                                                   ` TEIRLLM
2018-11-01 20:02                                                                                                                   ` Eli Zaretskii
2018-10-30 20:04                                                                                                       ` Dmitry Gutov
2018-10-30 20:46                                                                                                         ` Stefan Monnier
2018-10-31 13:41                                                                                                           ` Dmitry Gutov
2018-10-31 13:52                                                                                                             ` Stefan Monnier
2018-10-31 15:50                                                                                                               ` Eli Zaretskii
2018-10-31 16:05                                                                                                                 ` Dmitry Gutov
2018-10-31 16:13                                                                                                                   ` Eli Zaretskii
2018-10-31 16:27                                                                                                                     ` Dmitry Gutov
2018-10-31 16:33                                                                                                                       ` Dmitry Gutov
2018-10-31 16:54                                                                                                                         ` Eli Zaretskii
2018-10-31 16:58                                                                                                                           ` Dmitry Gutov
2018-10-31 16:52                                                                                                                       ` Eli Zaretskii
2018-10-31 18:55                                                                                                                       ` Michael Heerdegen
2018-10-31 19:23                                                                                                                         ` Eli Zaretskii
2018-10-31 19:50                                                                                                                           ` Michael Heerdegen
2018-10-31 20:05                                                                                                                             ` Eli Zaretskii
2018-10-31 20:41                                                                                                                               ` Michael Heerdegen
2018-11-01  4:14                                                                                                                                 ` Eli Zaretskii
2018-10-31 20:06                                                                                                                             ` Stefan Monnier
2018-10-31 20:12                                                                                                                               ` Eli Zaretskii
2018-10-31 17:48                                                                                                                     ` Clément Pit-Claudel
2018-10-31 18:11                                                                                                                       ` Eli Zaretskii
2018-10-31 18:28                                                                                                                         ` Clément Pit-Claudel
2018-10-31 18:33                                                                                                                           ` Eli Zaretskii
2018-10-31 19:00                                                                                                                             ` Yuri Khan
2018-10-31 19:20                                                                                                                               ` Eli Zaretskii
2018-11-01  0:11                                                                                                                                 ` Dmitry Gutov
2018-10-31 19:21                                                                                                                             ` Clément Pit-Claudel
2018-10-31 19:29                                                                                                                               ` Eli Zaretskii
2018-10-31 19:31                                                                                                                                 ` Clément Pit-Claudel
2018-10-31 20:36                                                                                                                                   ` Eli Zaretskii
2018-11-01  0:13                                                                                                                                 ` Dmitry Gutov
2018-11-01  1:31                                                                                                                                 ` Garreau, Alexandre
2018-10-31 20:03                                                                                                                             ` Stefan Monnier
2018-11-01  0:07                                                                                                                               ` Dmitry Gutov
2018-11-01  1:34                                                                                                                       ` Garreau, Alexandre
2018-11-03 13:15                                                                                                                     ` Eli Zaretskii
2018-10-30  1:15                                                                                           ` Garreau, Alexandre
2018-10-30  6:17                                                                                           ` Eli Zaretskii
2018-10-30 12:15                                                                                             ` Stefan Monnier
2018-10-30 12:38                                                                                               ` Eli Zaretskii
2018-10-30 15:00                                                                                                 ` Stefan Monnier
2018-10-30 17:00                                                                                                   ` Eli Zaretskii
2018-10-30 17:27                                                                                                     ` Stefan Monnier
2018-10-30 17:36                                                                                                       ` Eli Zaretskii
2018-10-30 18:09                                                                                                         ` Stefan Monnier
2018-10-30 18:42                                                                                                           ` Eli Zaretskii
2018-10-30 18:58                                                                                                             ` Stefan Monnier
2018-10-31 12:08                                                                                                               ` Alan Mackenzie
2018-10-31 12:33                                                                                                                 ` Stefan Monnier
2018-10-31 15:47                                                                                                                   ` Eli Zaretskii
2018-10-31 16:07                                                                                                                     ` Alan Mackenzie
2018-10-31 16:20                                                                                                                       ` Eli Zaretskii
2018-11-01  8:36                                                                                                                         ` Achim Gratz
2018-11-01 10:36                                                                                                                           ` Alan Mackenzie
2018-11-01 12:29                                                                                                                             ` Achim Gratz
2018-11-01 14:19                                                                                                                             ` Michael Heerdegen
2018-11-03 13:16                                                                                                                     ` Eli Zaretskii
2018-11-03 15:45                                                                                                                       ` Michael Heerdegen
2018-11-03 16:25                                                                                                                         ` Eli Zaretskii
2018-11-03 17:12                                                                                                                           ` Michael Heerdegen
2018-11-03 17:55                                                                                                                             ` Eli Zaretskii
2018-11-03 22:22                                                                                                                               ` Michael Heerdegen
2018-11-04 14:16                                                                                                                                 ` Eli Zaretskii
2018-11-06  0:00                                                                                                                                   ` Michael Heerdegen
2018-11-06  3:30                                                                                                                                     ` Eli Zaretskii
2018-11-03 13:13                                                                                                               ` Eli Zaretskii
2018-10-30 18:24                                                                                                         ` Alan Mackenzie
2018-10-30 14:16                                                                                               ` Andy Moreton
2018-10-30 15:05                                                                                                 ` Clément Pit-Claudel
2018-10-30 18:14                                                                                                   ` Alan Mackenzie
2018-10-30 19:56                                                                                                     ` Clément Pit-Claudel
2018-10-31  0:08                                                                                                       ` Andy Moreton
2018-10-31  3:19                                                                                                         ` Stefan Monnier
2018-10-31 16:23                                                                                                         ` Clément Pit-Claudel
2018-11-01 14:44                                                                                                           ` Andy Moreton
2018-11-01 15:28                                                                                                             ` Clément Pit-Claudel
2018-10-30 17:22                                                                                           ` Michael Heerdegen
2018-10-30 17:31                                                                                             ` Stefan Monnier
2018-10-30 23:08                                                                                               ` Michael Heerdegen
2018-10-31  3:09                                                                                                 ` Stefan Monnier
2018-11-05  2:01                                                                                                   ` Michael Heerdegen
2018-11-05  4:49                                                                                                     ` Stefan Monnier
2018-11-05 23:06                                                                                                       ` Michael Heerdegen
2018-10-30 18:09                                                                                           ` Alan Mackenzie
2018-10-30 18:17                                                                                             ` Stefan Monnier
2018-10-30 19:00                                                                                               ` Alan Mackenzie
2018-10-31  0:21                                                                                                 ` Andy Moreton
2018-10-29 14:47                                                                                   ` Andy Moreton
2018-10-29 18:49                                                                                     ` pcase-lambda usage [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-30 23:34                                                                                   ` Replace trivial pcase occurrences in the Emacs sources Van L
2018-10-31  3:14                                                                                     ` Stefan Monnier
2018-10-23 17:22                                                                     ` John Wiegley
2018-10-23 17:16                                                                   ` Stefan Monnier
2016-01-04  2:54                                                       ` The poor state of documentation of pcase like things Michael Heerdegen
2016-01-02  1:15                           ` Richard Copley
2016-01-02  3:50                             ` Drew Adams
2016-01-02  3:51                         ` Drew Adams
     [not found]                     ` <<83y4c9ag06.fsf@gnu.org>
2016-01-01 15:18                       ` Drew Adams
2015-12-27  2:53                 ` Richard Stallman
2015-12-16 21:01 ` Drew Adams
2015-12-17 13:59 ` Phillip Lord
2015-12-17 17:06   ` Alan Mackenzie
2015-12-19 15:26 ` Michael Heerdegen
2015-12-19 16:04   ` Michael Heerdegen
2015-12-19 19:29     ` Phillip Lord
2015-12-19 21:14       ` Michael Heerdegen
2015-12-19 22:06         ` Phillip Lord
2015-12-19 16:47   ` Eli Zaretskii
2015-12-19 17:24     ` Michael Heerdegen
2015-12-22  5:25     ` John Wiegley
2015-12-19 18:30   ` Alan Mackenzie
2015-12-19 20:42     ` Michael Heerdegen
2015-12-19 22:25       ` Alan Mackenzie
2015-12-20 13:11         ` Michael Heerdegen

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=jwvefcfm6m6.fsf-monnier+gmane.emacs.devel@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --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).