Attila Lendvai schreef op di 03-05-2022 om 13:42 [+0200]: > +    (define (maybe-replace old-module-path old-version new-module-path new-version) > +      (let ((matched-entry (assoc-ref requirements old-module-path))) > +        (log.debug "inside maybe-replace, ~S ~S => ~S ~S, matched-entry ~S" > +                   old-module-path old-version new-module-path new-version matched-entry) > +        (cond ((and (equal? old-module-path new-module-path) > +                    (not matched-entry)) > +               ;; "A replace directive has no effect if the module version on the left > +               ;; side is not required." > +               ;; Do not allow version updates for indirect dependencies. > +               requirements) > +              ((and matched-entry > +                    (or (not old-version) > +                        (equal? old-version new-version))) > +               (cons (list new-module-path new-version) > +                     (alist-delete old-module-path requirements))) > +              (else > +               requirements)))) There's some extra complexity here, so I recommend some corresponding extra tests, to avoid it breaking in the future. Greetings, Maxime.