~ 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 pTrap