Le mercredi 29 novembre 2023 à 07:47 +0100, Jonas Hahnfeld a écrit : > Sure: It makes sure that the extension is loaded also when not having a > compiled custom-ports.go. For reference, see the documentation at > https://www.gnu.org/software/guile/manual/html_node/Eval-When.html - > the previously specified (load) only acts when loading a compiled > module. During my tests, when chasing an incompatibility with the > compiled bytecode, I was experimenting with just deleting some bytecode > files. In that case, Guile should transparently fall back to evaluating > the code. Which it did, only that the extension wasn't loaded and it > complained loudly about unavailable symbols. So the solution is to at > least specify (eval) for non-compiled code, but then the documentation > mentions: "When in doubt, use the three conditions (expand load eval), > as in the example above. Other uses of eval-when may void your warranty > or poison your cat." This also matches all other uses of eval-when in > the Guile source code itself. Let me know if I should try to improve > the patch message. I was under the impression that all code in Guile itself was assumed to always be byte-compiled (because of issues like the fact that trying to evaluate the evaluator would make you chase your own tail). If it's more consistent with other eval-when uses in Guile, that's enough reason to apply it, though.