Subject: Re: bug#41140: “guix system” suggests wrong module import when using “remove”

From: Danny Milosavljevic <[email-masked]>
Date: Sat, 9 May 2020 09:30:18 +0200

Hi Ricardo,

On Sat, 09 May 2020 00:00:05 +0200
Ricardo Wurmus <[email-masked]> wrote:

> * can we prefer (srfi srfi-1) over (rnrs lists) in the suggestions for “remove”?

If possible, I'd just make it search all the modules with that binding that
are available in the search path.  It's okay if that's slow--since it's a
fatal error case anyway.

Then it could say "either (rnrs lists) or (srfi srfi-1), but probably not
both".

Better than hardcoding preferences...

So in short, known-variable-definition shouldn't find the "best" module but
rather all modules with such a binding.  Also, it sounds like that just
searches the currently-loaded modules.  Aren't that too few?

If we don't want that for some reason, we can just add "srfi srfi-1" to the
last "match" form where it already prefers "(gnu ...)", but that's gonna
turn into whack-a-mole fast.