~ chicken-core (chicken-5) 850fa48e370b29076be8b93123a30b5344a4c1d4
commit 850fa48e370b29076be8b93123a30b5344a4c1d4
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Tue Dec 29 08:38:49 2015 +1300
Commit: Peter Bex <peter@more-magic.net>
CommitDate: Tue Dec 29 13:09:16 2015 +0100
Don't warn about unused hidden variables
Fixes #1237.
Signed-off-by: Peter Bex <peter@more-magic.net>
diff --git a/core.scm b/core.scm
index 32005bfa..fb70c6f2 100644
--- a/core.scm
+++ b/core.scm
@@ -2132,6 +2132,7 @@
global
(null? references)
(not (variable-mark sym '##compiler#unused))
+ (not (variable-hidden? sym))
(not (variable-visible? sym block-compilation))
(not (variable-mark sym '##compiler#constant)) )
(##sys#notice
diff --git a/support.scm b/support.scm
index 75537432..fd33ff4c 100644
--- a/support.scm
+++ b/support.scm
@@ -65,7 +65,7 @@
real-name real-name2 display-real-name-table
source-info->string source-info->line call-info constant-form-eval
dump-nodes read-info-hook read/source-info big-fixnum?
- hide-variable export-variable variable-visible?
+ hide-variable export-variable variable-hidden? variable-visible?
mark-variable variable-mark intrinsic? predicate? foldable?
load-identifier-database
print-version print-usage print-debug-options
@@ -1564,6 +1564,9 @@
(define (export-variable sym) ; Used only in compiler.scm
(mark-variable sym '##compiler#visibility 'exported))
+(define (variable-hidden? sym)
+ (eq? (##sys#get sym '##compiler#visibility) 'hidden))
+
(define (variable-visible? sym block-compilation)
(let ((p (##sys#get sym '##compiler#visibility)))
(case p
Trap