Le 19 novembre 2021 06:30:20 GMT-05:00, zimoun <zimon.toutoune@gmail.com> a écrit :
Hi Julien,
On Fri, 19 Nov 2021 at 12:21, Julien Lepiller <julien@lepiller.eu> wrote:
I forgot to remove the catch #t around the whole body of the function.
I noticed that guard* was raising &non-continuable so I tried to fix it
by using raise-continuable from (ice-9 exceptions). Is this the correct
solution?
I suppose, though I’m not sure why it needs to be continuable: you could
just catch the exception and move on to the next package?
I don't understand how to catch the exception though, unless you mean wrap everything with catch #t, which kinda defeats the purpose of having a condition in the first pjace. guard* raises &non-continuable unless the condition is continuable, or I'm missing something in the way I use it. I have no idea what a continuable exception is, so let me just push the other patch.
(guard* (c ((opam-error? c) #f)))
(raise (condition (&opam-error …))))
Doesn't return #f as I expect, but raises &non-continuable.
I sympathize and I had / is still having hard time with similar use
cases. That's one of the reasons (among my laziness :-)) that [1] is
not fixed yet. :-)
1: <1: <http://issues.guix.gnu.org/issue/45984>
Hopefully someone smarter than me can figure it out. I'll push the other patch, although I don't like the double warning in the updater.
I agree. And move all G_ strings to guix/scripts/ is a good idea, IMHO.
Well, I do not know. :-)
(I secretly hoped that you would be the smarter than me person fixing
the recursive importers. ;-))
Cheers,
simon