On Tue, Dec 21, 2021 at 4:20 PM Dmitry Gutov <
dgutov@yandex.ru> wrote:
> > I'm okay with doing that provided that the patch to revert is simple and safe. Please show the patch.
> I think I will let Joao take point on that.
It would seem that the right thing to do is to keep 26.1 dep
and do what Guillaume Pasquet suggests:
"or substitute the `string-replace` call with `replace-regexp-in-string` to
maintain compatibility as I have done here:
https://github.com/Etenil/flymake/commit/9f5f76907b1c258645f65728dd71e7cacffe6d22"
> Note that the Package-Requires header in emacs-28 doesn't matter much.
> The problem will arise when that change is merged to master and then
> (sometime later) the Version header is also bumped in flymake.el.
Yup, yes this is indeed a problem. That's why "core packages" have
this warning:
;; This is a GNU ELPA :core package. Avoid functionality that is not
;; compatible with the version of Emacs recorded above.
(the version recorded above being 26.1) So whoever added string-replace
violated that. It might have been me, didn't check, but I don't think so.
Unfortunately, I don't have great solution for avoiding these kinds
of problems in the future. An automatic test of `flymake.el` in Emacs
the recorded 26.1 could have picked this up. But we don't have them
and it's not super-easy to setup either.
I can only say that :core packages are a very good thing and
a way for users to get updates to fundamental packages
without waiting for the next major.
HTH,
João