On 2025-02-20 20:46, Arun Isaac wrote: > Hi Nicolas, > > How about the following? > > (save-module-excursion > (lambda () > (set-current-module (resolve-module '(guix scripts pull))) > (your-code-here)))
Hi Arun, thanks for your answer, doesn't seem to help though. This snippet displays %options of (guix scripts pull): (eval `(begin (reload-module (current-module)) (display %options)) (resolve-module '(guix scripts pull) #:ensure #f)) This one doesn't: (save-module-excursion (lambda () (set-current-module (resolve-module '(guix scripts pull))) (reload-module (current-module)) (display %options))) But I guess at this point they almost have the same length/readability already. Maybe I could create an eval-in-module macro that only takes a module and a "thunk" to make that more readable and not having to check the end of a big function to understand how undefined variables are set. "thunk" here is not really one since it is quoted code for future evaluation, rather than real code. WDYT? Is there a better solution? -- Best regards, Nicolas Graves