Subject: bug#48404: 28.0.50; "Invalid version syntax" errors with read-extended-command

From: Stefan Kangas <[email-masked]>
Date: Fri, 14 May 2021 18:45:16 +0200

Eli Zaretskii <[email-masked]> writes:

> > Since commit 1af91d271e077134e272055407fb8c4312a7579b I get strange
> > "Invalid version syntax: <package> <version> (must start with a number)"
> > errors during M-x completion in the minibuffer.  I can't reproduce with
> > emacs -Q but in the error, <package> is always some (M)ELPA package.
> >
> > For example, M-x mag TAB gives
> >
> >   completion--some: Invalid version syntax: ‘Magit 3.0.0’ (must start with a number)
>
> That commit uses byte-obsolete-info property of a symbol, and expects
> its caddr to be a valid version number.  It sounds like in some cases
> it is not an Emacs version, but something else.  So, questions:
>
>   . can you find out what kind of value does the byte-obsolete-info
>     property is there on Magit functions? and
>   . how come these properties were added to something that is not an
>     Emacs core code?
>
> In any case, it sounds like blindly trusting the value of that
> property is not a good idea, and we should wrap the call to
> version-to-list there in condition-case.  Could you try that?

The timing for Lars pushing my patch was a bit unfortunate, as I'm
currently away traveling and won't have any time to look at this in
the next week or two at least.  I unfortunately didn't say so in the
relevant bug thread, but I hadn't yet convinced myself that the patch
was the correct one, and had the intention of returning to it for a
closer look before pushing.

If any immediate issues can be resolved, this is on my todo list and I
will take a look at this when I'm back home.  It would also be fine to
just revert my patch for now and re-open the bug report.

Thanks.