On Tue, Dec 21, 2021 at 4:20 PM Dmitry Gutov 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