CLISP CLOS style warnings
Sam Steingold
sds at gnu.org
Tue Aug 1 13:58:34 UTC 2017
Hi,
I am writing in regards to the CLISP CLOS style warnings reported in
https://sourceforge.net/p/clisp/mailman/message/35946823/
Specifically:
--8<---------------cut here---------------start------------->8---
WARNING: Adding method
#<STANDARD-METHOD (#<STANDARD-CLASS TEST-OP> (EQL #<SYSTEM
"alexandria">))> to an already called generic function
#<STANDARD-GENERIC-FUNCTION OPERATION-DONE-P>
WARNING: Adding method
#<STANDARD-METHOD (#<STANDARD-CLASS TEST-OP> (EQL #<SYSTEM
"alexandria">))> to an already called generic function
#<STANDARD-GENERIC-FUNCTION PERFORM>
WARNING: Adding method
#<STANDARD-METHOD (#<STANDARD-CLASS TEST-OP> (EQL #<SYSTEM
"babel">))> to an already called generic function
#<STANDARD-GENERIC-FUNCTION OPERATION-DONE-P>
--8<---------------cut here---------------end--------------->8---
The rationale for these warnings is explained in
http://clisp.org/impnotes/mop-clisp.html#mop-clisp-gf-already-called-warning
However, when the normal use case for a generic function is being
extended by its users (e.g., `print-object`), this warning is
inappropriate.
ASDF user macros, apparently, expand to method definitions, thus they
are similar to `print-object`.
To mark a generic function as user-extendable, one can now use a
declaration:
--8<---------------cut here---------------start------------->8---
(defgeneric perform (...)
(declare #+clisp (dynamically-modifiable))
...)
(defgeneric operation-done-p (...)
(declare #+clisp (dynamically-modifiable))
...)
--8<---------------cut here---------------end--------------->8---
The declaration is now in `hg tip` (but has not been released yet).
Thank you!
--
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504
http://steingoldpsychology.com http://www.childpsy.net http://honestreporting.com
http://jij.org https://jihadwatch.org http://mideasttruth.com
Me, sarcastic?! Yeah, right...
More information about the asdf-devel
mailing list