Maxim Cournoyer <[email protected]> writes: > Hi Noé, > > Thanks for volunteering to make this important improvement. Just > checking, are you aware of past efforts from Jakub in that area? It > looks like we had something ready in 2023 [0], but it must have fallen in a > crack around a core-updates merge or something. > > [0] https://lists.gnu.org/archive/html/guix-patches/2023-10/msg01256.html > > The plan back then was simple: > > 1. Change substitute* so that if one of its patterns had no match, it > raises a &substitute-error condition. > > 2. Rebuild the world with it, and fix the many (few?) breakage it > caused, adding '#:require-matches? #f' to the cases where it is actually > wanted/expected that the pattern would not match. > > IIUC, this differs from your plan in a the following ways: > > a) Does not go through an API deprecation (keeps using substitute*) > b) substitute* would remain a bit looser than your proposed > substitute-file, as when #:require-matches? it's possible that a regexp > would not match, unlike your version. > > I think b) could be modified so that it matches with your behavior, > which is nicer (more strict). > > About a), I'm ambivalent; your approach is sound and is likely to at > least give us a partial result (substitute-file), while the previous > attempt was more upfront, but with the benefit of not having to go > through a slow transition phase and exposing real bugs earlier. > > I'm fine either way, but I think I'd lean toward substitute* if I was to > attempt this myself, as its less disruptive for the source code, and I > don't expect too many problems... I'd also be curious to see how many > problems were actually uncovered. > > -- > Thanks, > Maxim
Hi Maxim, I was not aware, I’ll take a look :) Sounds better from what you said, but we’ll have to figure out an actual deprecation policy.
signature.asc
Description: PGP signature
