On Sun, 19 Sep 2004, David Wragg wrote:
> (defgeneric genfoo (s))
> (defmethod genfoo ((*error-output* stream))
> (write-sequence "Hello, world!" *error-output*))
> gives the error
> Lock on package COMMON-LISP violated when declaring the type of
> The HyperSpec (section 220.127.116.11.2.1) says
> Unless explicitly specified otherwise, if an external symbol of
> the COMMON-LISP package is globally defined as a standardized
> dynamic variable, it is permitted to bind or assign that dynamic
> variable provided that the ``Value Type'' constraints on the
> dynamic variable are maintained, and that the new value of the
> variable is consistent with the stated purpose of the variable.
No allowance is made for declaring types of standardized special
variables under any circumstances, however.
Unless there are objections I'll disable package locks for PCL-generated
type declarations in method bodies, which should solve this issue.
-- Nikodemus Schemer: "Buddha is small, clean, and serious."
Lispnik: "Buddha is big, has hairy armpits, and laughs."