[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql'
From: |
Drew Adams |
Subject: |
RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql' |
Date: |
Fri, 30 Dec 2022 22:55:07 +0000 |
> > But "very frequent", really? Any evidence that
> > that's been the case for the many users of CL
^^
Common Lisp
> > `case' since the mid-80s?
>
> The only "evidence" I have the number of such errors
> I've fixed over the years in other people's ELisp code.
Which isn't an indication of such for _CL_ `case',
i.e., in the code of _Common Lisp_ users.
Beyond being perhaps an indication that the Emacs
_doc_ for `cl-case' should be improved, it sounds
like no Elisp problem with `case' has been found.
(Well, I did mention a bug I noticed, of `cl-case'
not raising an error when CL specifies it should.)
And I guess you don't have an example of using
`pcase' to do what `case' does but somehow "simpler".
I doubt that Elisp coders are dumber than CL coders,
in general. If the former are misunderstanding the
no-quoting thing then my guess is that's due to the
lack of doc saying that keylists and their entries
aren't evaluated.
The use case of `case' is simple, yet common. We
should add it to Elisp (with no `cl-' prefix).
___
Note BTW that Common Lisp even adopted _exactly_
the same thing for `typecase' as for `case'. That
wasn't something inherited from other Lisps AFAIK.
They could have done something different, but they
chose the `case' approach, including `otherwise',
`t', and _no evaluation_ of keys:
"The TYPE that appears in each clause is a type
specifier; it is _not evaluated but is a literal_
type specifier."
Clearly they didn't see a problem with not evaling
keys, and opted for a simple syntax for a simple
use case.
https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node84.html
<<attachment: winmail.dat>>
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', (continued)
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/28
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/28
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/28
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/28
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/29
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/29
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/29
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/29
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/30
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/30
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql',
Drew Adams <=
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/30
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/30
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Stefan Monnier, 2022/12/30
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Emanuel Berg, 2022/12/29
- Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Jean Louis, 2022/12/28
- RE: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Drew Adams, 2022/12/28
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Jean Louis, 2022/12/28
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', tomas, 2022/12/29
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', Jean Louis, 2022/12/29
- Re: [External] : Re: Emacs 30.0 warning from `cl-pushnew' and `memql', tomas, 2022/12/29