Subject: bug#21701: Fwd: cl-typecase broken (was 25.0.50; ert explainer for equal can't handle negative numbers)

From: Anders Lindgren <[email-masked]>
Date: Fri, 4 Dec 2015 20:42:53 +0100

Hi!

I assumed that `characterp' and the `character' type class was connected in
Common Lisp. If they aren't I guess the current system makes sense.

I downloaded the ert changes and ran all my local tests and I haven't seen
any problems.

Thanks!

    -- Anders

On Fri, Dec 4, 2015 at 7:17 PM, Stefan Monnier <[email-masked]>
wrote:

> > That's indeed what should be done if ERT needs this to be a plain
> > character that can inserted in a string.  Common-Lisp's `character'
> > includes not just characters but also "characters with modifiers" such
> > as ?\M-\H-é, which can't appear in a string and are rejected by
> > `characterp'.
>
> I installed a patch which makes ERT use pcase over cl-typecase.
> In most cases it doesn't make a big difference, but in a few spots, it
> is cleaner because a subsequent cl-destructuring-bind can be merged into
> it (and it got rid of those places where we used (member :foo)
> as a type to just check equality, which is rather inefficient).
>
>
>         Stefan
>