![](https://secure.gravatar.com/avatar/d290e3542b3ded4a51065e84cb1ef41e.jpg?s=120&d=mm&r=g)
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...