#226: Generate list of symbols for autoloading at build-time -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: build | Version: Keywords: | -------------------------+-------------------------------------------------- Currently, our list of symbols to be set up for auto-loading is a manual maintenance effort which makes ABCL fragile with respect to refactoring.
My idea would be to have an auto-collected list, with two (hand-coded) lists: one to include additional symbols and the other to exclude symbols (e.g. to reduce the size of the symbol list).
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: closed Priority: major | Milestone: Component: build | Version: Resolution: fixed | Keywords: --------------------------+------------------------------------------------- Changes (by ehuelsmann):
* status: new => closed * resolution: => fixed
Comment:
(In [14035]) Fix #226 (Invocation of an undefined function in a fresh ABCL crashes): make sure the PRINT-OBJECT generic function exists before defining methods on it.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: reopened Priority: major | Milestone: Component: build | Version: Resolution: | Keywords: --------------------------+------------------------------------------------- Changes (by ehuelsmann):
* status: closed => reopened * resolution: fixed =>
Comment:
r14035 solves #227, not this one.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: reopened Priority: major | Milestone: Component: build | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
(In [14036]) Re #226: Automatically generate autoloads.
This commit adds the auto generation code and infrastructure. Next steps include clean up of autoloads.lisp, deciding how to handle symbols in multiple files and SETF functions/expanders.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: reopened Priority: major | Milestone: Component: build | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
(In [14100]) Re #226: Clean symbols from manually maintained autoloads.lisp which are also automatically detected by the automatic autoloader.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: reopened Priority: major | Milestone: Component: build | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
Next step:
Move EXPORT forms to the respective source files defining the function and macro bindings.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: reopened Priority: major | Milestone: Component: build | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
We're nearly there: I noticed we don't detect structure slot accessors when compiling the macro expansion of a defstruct, due to its use of SETF SYMBOL-FUNCTION.
Expanding to FSET and detecting that at compile-time would solve it.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: closed Priority: major | Milestone: Component: build | Version: Resolution: fixed | Keywords: --------------------------+------------------------------------------------- Changes (by ehuelsmann):
* status: reopened => closed * resolution: => fixed
Comment:
(In [14126]) Closes #226: All exports and all but one autoload have been removed from autoloads.lisp due to automatic loading. Documentation inside autoloads.lisp has also been updated.
#226: Generate list of symbols for autoloading at build-time --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: closed Priority: major | Milestone: Component: build | Version: Resolution: fixed | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
FSET detection can always be added later. For now, I'm assuming structures will be created before being accessed, meaning I'll rely on timely initialized accessors for now.
armedbear-ticket@common-lisp.net