Subject: bug#26490: 25.1; package-buffer-info is incorrectly case-insensitive

From: Steve Purcell <[email-masked]>
Date: Sat, 24 Aug 2019 18:35:31 +1200

> On 24 Aug 2019, at 17:57, Stefan Kangas <[email-masked]> wrote:
> Steve Purcell <[email-masked]> writes:
> 
>> Nonetheless, it has been part of the format expected by package.el for years.
>> 
>> Making package.el more permissive over time can lead to problems with packages
>> in older Emacsen, a prime example being the recently-added
>> backwards-incompatible support for version-less dependencies in the
>> `Package-Requires` header: authors check their packages in a recent Emacs and
>> then find that an older otherwise-compatible Emacs can’t even parse their
>> package metadata.
> 
> Sure, that can be a problem.  I think that means that we should not
> (yet) encourage package developers to not use them in their packages.
> But if we don't take a first step, we can never get rid of it.

> At the end of the day, it's the job of package developers to maintain
> backwards compatibility.  I don't see why this change would be any
> different in that respect from the many other changes that we make
> between releases.

My point is that if a package file can’t even be parsed by an older Emacs version’s “package.el”, the user of that Emacs version will automatically get an obscure error when they try to install it, even if the the package author was helpful enough to add `(emacs “27”)` as a dependency to indicate incompatibility. That’s not something that the package author could reasonably foresee, and it feels avoidable by keeping the basic structure of required metadata stable and backwards compatible.