From: Juho S. <js...@ik...> - 2007-12-27 17:10:07
|
Joubert Nel <jo...@jo...> writes: > I received a note from Christophe mentioning that the result when > changing a (defpackage) form inbetween evaluating successive (require) > forms, is undefined. > > However, I'm *not* modifying the (defpackage) form itself, merely stuff > inside the package. It seems like a subtle, but definite distinction. It doesn't seem like a very relevant distinction though, in light of what the spec actually says: If defined-package-name already refers to an existing package, the name-to-package mapping for that name is not changed. If the new definition is at variance with the current state of that package, the consequences are undefined; an implementation might choose to modify the existing package to reflect the new definition. Note that it's not a matter of modifying the defpackage form, it's a matter of modifying the state of the package in any way, without having it be reflected in a defpackage form that's evaluated in the future. -- Juho Snellman |