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.

Attachment: signature.asc
Description: PGP signature

Reply via email to