From: Joerg-Cyril Hoehle
Subject: (eval-when (compile) (print *package*)) -> "USER" !
Date: 
Message-ID: <22jic8$97t@hermes.uni-konstanz.de>
GCLisp (Golden Common Lisp, runs on Windows) is a CLtL1 Common-Lisp.
We were surprised to discover that it compiles files _not_ containing
an (IN-PACKAGE ...) call into the USER package, whatever the current
*PACKAGE* setting is. I wonder if this is a misinterpretation of the
CLtL reference, a bug or correct behavior.

CLtL1 said: (CLtL2 p.263)
	The IN-PACKAGE function is intended to be placed at the start
	of a file containing a subsystem that is to be loaded into
	some package other than USER.
[No mention of compilation or load changing the current package.]

CLtL2 changed: (p.678)
	X3J13 voted in October 1988 <21> to specify that COMPILE-FILE,
	like LOAD, rebinds *PACKAGE* to its current value. If some
	form in the file changes the value of *PACKAGE*, the old value
	will be restored when compilation is finished.
and added: (p.690)
	X3J13 voted in March 1989 <103> to specify that all actions
	normally performed by the IN-PACKAGE macro at load-time must
	also be performed at compile-time.

Should I write a bug-report or add a (IN-PACKAGE desired-package) at
the beginning of every file? I thought that the various defsystem
packages were to take care of the correct package by calling
IN-PACKAGE before COMPILE-FILE and that there was no requirement for
every file to contain an IN-PACKAGE call so that it can be compiled
into any package just current.

Thanks,
	Joerg Hoehle.
Dipl.-Ing. J\"org H\"ohle              Knowledge-Based Information Systems
······@inf-wiss.uni-konstanz.de        University of Konstanz
Phone:  +49 7531 88 2868               P.O. Box 5560-D73
Secretary & FAX: 88 3065               D-78434 Konstanz, Germany