#266: PSETF.47 ANSI regression -----------------------------+---------------------------------------------- Reporter: mevenson | Owner: nobody Type: defect | Status: new Priority: blocker | Milestone: 1.1.0 Component: java | Version: 1.1.0-dev Keywords: ansi-regression | -----------------------------+----------------------------------------------
Comment(by ehuelsmann):
Yes. Autoloading *is* to blame. The reasons are documented in [http://trac .common- lisp.net/armedbear/browser/trunk/abcl/src/org/armedbear/lisp/setf.lisp#L61 setf.lisp line 61 through 67] and [http://trac.common- lisp.net/armedbear/browser/trunk/abcl/src/org/armedbear/lisp/setf.lisp#L93 setf.lisp lines 93 through 98]:
We used to assume we should resolve the symbol-function's autoloader. However, since DEFSETF and DEFINE-SETF-EXPANDER forms aren't required to be in the same file as the actual function, this doesn't work in the general case. Also: resolving every function for which a SETF form is encountered is undesirable because it can/will cause internal functions to be resolved before they're actually required. (This is the old strategy, btw, which caused circular dependencies in autoloaded code.)