Subject: Re: 30.0.50; Inconsistent 'number-or-marker' type definition in the cl- machinery

From: Stefan Monnier <[email-masked]>
Date: Wed, 18 Oct 2023 14:30:38 -0400

> My question is, why do we consider 'number-or-marker' in the first place
> a type if we support the or syntax in `cl-typep' like
> (cl-typep 3 '(or marker number)) ?

I'm not sure I can give a good answer in general, but I can tell you
some reasons that explain some of what we see:

- There is a `number-or-marker-p` primitive and `cl-typep` doesn't know
  how to use it for `(or number marker)`.
- method specializers (currently) can't be `(or number marker)` but can be
  `number-or-marker`.

> I'd like to fix this inconsistency in order to progress with my
> development, originally I worked out the attached patch but I now
> suspect that (unless there's a specific reason) we should just remove
> 'number-or-marker' as a type entirely instead.

I'd lean towards keeping it :-)

> PS also I think we have a similar issue/question with
> 'integer-or-marker'.

Yup.

        Stefan