summaryrefslogtreecommitdiff
path: root/guix/ui.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-15 16:41:14 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-15 18:50:22 +0200
commit5ef1508942ee083ed22b844f5291e59320016b79 (patch)
treed4133efbe23e696d8633339b74808b1ff6a1c86b /guix/ui.scm
parent48720afb322ab5ad1b6102276f4795a14803fa61 (diff)
downloadguix-patches-5ef1508942ee083ed22b844f5291e59320016b79.tar
guix-patches-5ef1508942ee083ed22b844f5291e59320016b79.tar.gz
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/ui.scm')
-rw-r--r--guix/ui.scm3
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)