diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-10-15 16:41:14 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-10-15 18:50:22 +0200 |
commit | 5ef1508942ee083ed22b844f5291e59320016b79 (patch) | |
tree | d4133efbe23e696d8633339b74808b1ff6a1c86b /guix | |
parent | 48720afb322ab5ad1b6102276f4795a14803fa61 (diff) |
ui: Only suggest modules that export the unbound variable identifier.
Fixes <https://bugs.gnu.org/43498>.
Reported by Tobias Geerinckx-Rice <me@tobias.gr>.
* guix/ui.scm (known-variable-definition): Check for variables in the
public interface of HEAD, not in HEAD itself.
* tests/guix-build.sh: Add test.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/ui.scm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 8213e8ebab..8d7bc238bc 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -297,7 +297,8 @@ VARIABLE and return it, or #f if none was found." (hash-map->list (lambda (name module) module) (module-submodules head))))) - (match (module-local-variable head variable) + (match (and=> (module-public-interface head) + (cut module-local-variable <> variable)) (#f (loop next suggestions visited)) (_ (match (module-name head) |