On 05-08-2022 10:31, Ludovic Courtès wrote: > I understand what you’re saying (I’m quite familiar with Guile’s module > system :-) and I do agree that #:ensure #t can lead to bad surprises), > but I don’t think this is correct: > > --8<---------------cut here---------------start------------->8--- > scheme@(guile-user)> (resolve-interface '(xxx)) > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > no code for module (xxx) > > Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. > scheme@(guile-user) [1]> ,q > scheme@(guile-user)> (resolve-module '(xxx) #f #:ensure #f) > $1 = #f > --8<---------------cut here---------------end--------------->8--- > > This is because ‘resolve-interface’ does (resolve-module … #:ensure #f). > > Does that make sense? Oops, I thought the #:ensure #f was universal to all the resolve-... interfaces, but apparently not for resole-interface! In that case, no problem, though I'd like to eventually make some changes to the Guile docs for clarity (and maybe change the default #:ensure #t -> #f) Greetings, Maxime.