[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1376: hide/block-global declaration doesn't hide exp
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1376: hide/block-global declaration doesn't hide exports |
Date: |
Sun, 28 May 2017 07:32:52 -0000 |
#1376: hide/block-global declaration doesn't hide exports
----------------------+--------------------------------
Reporter: megane | Owner:
Type: defect | Status: new
Priority: major | Milestone: someday
Component: compiler | Version:
Keywords: modules | Estimated difficulty:
----------------------+--------------------------------
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
}}}
--
Ticket URL: <https://bugs.call-cc.org/ticket/1376>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1376: hide/block-global declaration doesn't hide exports,
Chicken Trac <=