﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1376	hide/block-global declaration doesn't hide exports	megane		"My understanding is that hide should be the opposite of the export declaration.

Here you can see both the macro `foo` and function `bar` get exported even when they are declared hidden:

{{{#!scheme
(module
 m1
 *
 (import chicken scheme)
 (define-syntax (foo a b c) 1)
 (define (bar) 2)

 (declare (hide foo bar)))

(import m1)
(print (bar))
}}}

{{{
$ csc -J foo.scm && ./foo ; cat m1.import.scm
2
;;;; m1.import.scm - GENERATED BY CHICKEN 4.12.0 -*- Scheme -*-

(eval '(import chicken scheme))
(##sys#register-compiled-module
  'm1
  (list)
  '((bar . m1#bar))
  (list (cons 'foo (##sys#er-transformer (##core#lambda (a b c) 1))))
  (list))

;; END OF FILE
}}}"	defect	closed	minor	someday	compiler	5.0.0	wontfix	modules		medium
