ABCL is one of the three implementations, together with CLISP and CMUCL, where I ultimately punted on ASDF hot-upgrade, by just trying to rename away the ASDF package if it's too old.
I don't know if you're interested in making the kind of package surgery I was indulging in work, but it involves rehoming symbols from ASDF to subpackages such as ASDF/COMPONENT, including for class slot names.
Anyway, please test the latest ASDF with ABCL, I think it's ripe for release, but I'd like your feedback considering the massive amount of hacking that happened.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If the human mind were simple enough to understand, we'd be too simple to understand it. — Pat Bahn
On Jan 21, 2013, at 20:08, Faré fahree@gmail.com wrote:
ABCL is one of the three implementations, together with CLISP and CMUCL, where I ultimately punted on ASDF hot-upgrade, by just trying to rename away the ASDF package if it's too old.
I don't know if you're interested in making the kind of package surgery I was indulging in work, but it involves rehoming symbols from ASDF to subpackages such as ASDF/COMPONENT, including for class slot names.
Hi Fare, I appreciate your work on asdf, and bug reports are always good. If you can describe your problems as a sequence of forms that we can type in to observe breakage, things shouldn't be too hard to fix. It would be cool to have an abcl that can support all of asdf.
Rudi
On 1/21/13 8:08 PM, Faré wrote:
Anyway, please test the latest ASDF with ABCL, I think it's ripe for release, but I'd like your feedback considering the massive amount of hacking that happened.
Pulling the latest version from git
changeset: 1367:5e87fa874e78 bookmark: master tag: default/master tag: tip user: Francois-Rene Rideau tunes@google.com date: Tue Jan 22 08:52:36 2013 -0500 summary: Import the run-program tests from xcvb-driver.
concatenating the fasls via
asdf$ make build/asdf.lisp
fails to compile ABCL with
; Compiling /home/evenson/work/abcl/src/org/armedbear/lisp/asdf.lisp ... ; (IN-PACKAGE :CL-USER) ; (UNLESS (MEMBER :ASDF2.27 ...) ...) ;COMMON-LISP:FILE-LENGTH triggers autoloading of org.armedbear.lisp.file_length ... ; Autoloaded org.armedbear.lisp.file_length (0.0010 seconds) ; (RESOLVE (QUOTE DOCUMENTATION)) ; (DEFPACKAGE :ASDF/PACKAGE ...) ; (IN-PACKAGE :ASDF/PACKAGE) ; (DEFUN FIND-PACKAGE* ...) ; (DEFUN FIND-SYMBOL* ...) ; (DEFUN SYMBOL-CALL ...) ; (DEFUN INTERN* ...) ; (DEFUN MAKE-SYMBOL* ...) ;EXTENSIONS:ASSQ triggers autoloading of org.armedbear.lisp.assq ... ; Autoloaded org.armedbear.lisp.assq (0.0010 seconds) ; (DEFUN UNINTERN* ...) ; (DEFUN SYMBOL-SHADOWING-P ...) ; (DEFUN HOME-PACKAGE-P ...) ; (DEFUN SYMBOL-PACKAGE-NAME ...) ; (DEFUN STANDARD-COMMON-LISP-SYMBOL-P ...) ; (DEFUN REIFY-PACKAGE ...) ; (DEFUN UNREIFY-PACKAGE ...) ; (DEFUN REIFY-SYMBOL ...) ; (DEFUN UNREIFY-SYMBOL ...) ; (DEFVAR *ALL-PACKAGE-HAPPINESS* ...) ; (DEFVAR *ALL-PACKAGE-FISHINESS* ...) ; (DEFVAR *PACKAGE-FISHINESS* ...) ; (DEFUN FLUSH-FISHY ...) ; (DEFUN RECORD-FISHY ...) ; (DEFMACRO WHEN-PACKAGE-FISHINESS ...) ; (DEFMACRO NOTE-PACKAGE-FISHINESS ...) ; (DEFUN SET-DUMMY-SYMBOL ...) ; (DEFUN MAKE-DUMMY-SYMBOL ...) ; (DEFUN DUMMY-SYMBOL ...) ; (DEFUN GET-DUMMY-SYMBOL ...) ; (DEFUN NUKE-SYMBOL-IN-PACKAGE ...) ; (DEFUN NUKE-SYMBOL ...) ; (DEFUN REHOME-SYMBOL ...) ; (DEFUN ENSURE-PACKAGE-UNUSED ...) ; (DEFUN DELETE-PACKAGE* ...) ; (DEFUN PACKAGE-NAMES ...) ; (DEFUN PACKAGES-FROM-NAMES ...) ; (DEFUN FRESH-PACKAGE-NAME ...) ; (DEFUN RENAME-PACKAGE-AWAY ...) ; (DEFUN PACKAGE-DEFINITION-FORM ...) ; (DEFUN ENSURE-PACKAGE ...) ; (DEFUN PARSE-DEFINE-PACKAGE-FORM ...) ; (DEFMACRO DEFINE-PACKAGE ...) ; (DEFINE-PACKAGE :ASDF/COMPATIBILITY ...) 13.75 seconds real time 1318750 cons cells UNDEFINED-FUNCTION: ;COMMON-LISP:CELL-ERROR-NAME triggers autoloading of org.armedbear.lisp.cell_error_name ... ; Autoloaded org.armedbear.lisp.cell_error_name (0.0 seconds) The function (SETF DOCUMENTATION) is undefined.
Partly this stems from [our implementation's problems with autoloading SETF expansions][#296].
[#296]: http://trac.common-lisp.net/armedbear/ticket/296
Anyway, please test the latest ASDF with ABCL, I think it's ripe for release, but I'd like your feedback considering the massive amount of hacking that happened.
fails to compile ABCL with [...] UNDEFINED-FUNCTION: ;COMMON-LISP:CELL-ERROR-NAME triggers autoloading of org.armedbear.lisp.cell_error_name ... ; Autoloaded org.armedbear.lisp.cell_error_name (0.0 seconds) The function (SETF DOCUMENTATION) is undefined.
Partly this stems from [our implementation's problems with autoloading SETF expansions][#296].
Ahem, it works for me with ABCL 1.1.0. Is it a bug in current ABCL? Is there some workaround I could or should use in ASDF 2.26.143?
I am otherwise ready to release.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org There are just two rules of governance in a free society: Mind your own business. Keep your hands to yourself. — P. J. O'Rourke
I'll recheck with abcl-1.1.0 later today.
Go ahead with the release if it works for you: we'll fix ABCL trunk, or if really necessary, include a asdf-2.27.x.y when I figure out what is going on.
-- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad idea? A: Top-posting. Q: What is the most annoying thing in email?
On Jan 24, 2013, at 7:31 AM, Faré fare@tunes.org wrote:
Anyway, please test the latest ASDF with ABCL, I think it's ripe for release, but I'd like your feedback considering the massive amount of hacking that happened.
fails to compile ABCL with [...] UNDEFINED-FUNCTION: ;COMMON-LISP:CELL-ERROR-NAME triggers autoloading of org.armedbear.lisp.cell_error_name ... ; Autoloaded org.armedbear.lisp.cell_error_name (0.0 seconds) The function (SETF DOCUMENTATION) is undefined.
Partly this stems from [our implementation's problems with autoloading SETF expansions][#296].
Ahem, it works for me with ABCL 1.1.0. Is it a bug in current ABCL? Is there some workaround I could or should use in ASDF 2.26.143?
I am othe.rwise ready to release.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org There are just two rules of governance in a free society: Mind your own business. Keep your hands to yourself. — P. J. O'Rourke
On Jan 24, 2013, at 07:31, Faré fare@tunes.org wrote:
Ahem, it works for me with ABCL 1.1.0. Is it a bug in current ABCL? Is there some workaround I could or should use in ASDF 2.26.143?
We autoload some functions to decrease startup time; I made documentation autoloaded on trunk, moving it out of clos.lisp (where it had no business being). This change is not currently in the next release (branch 1.1.x in svn), only on trunk.
The bug is that autoloading for a function foo currently does not work for forms of type (setf (foo x) bar), only for (foo x). Hence, a possible workaround is inserting something like
(documentation 'car) ;; fix (setf documentation) on abcl trunk
before trying to change docstrings, to ensure that (setf documentation) is available.
Cheers,
Rudi
Actually, I already [backported this change to abcl-1.1.x][r14349], mainly to keep any diffs in CLOS easy to perform from trunk.
[r14349]: http://trac.common-lisp.net/armedbear/changeset/14349
Undoing [r14349][] won't help us ship asdf-2.27, so we should figure out what we should do to fix things.
The right way to fix this will be to implement an autoload mechanism for SETF macros, but that has proven to be taking more of my (mostly non-existent) time than I have.
Any suggestions on a hack that will load things correctly? I assume we can't just add the form to autoloads.lisp, as that will bring in CLOS on every startup. What about a (require 'documentation) at the end of clos.lisp? I'll go experiment with that idea...
@Fare: so definitely go ahead with shipping asdf-2.27, as ABCL's problems with ASDF are self-inflicted.
-- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad idea? A: Top-posting. Q: What is the most annoying thing in email?
On Jan 24, 2013, at 9:30 AM, Rudolf Schlatte rudi@constantly.at wrote:
On Jan 24, 2013, at 07:31, Faré fare@tunes.org wrote:
Ahem, it works for me with ABCL 1.1.0. Is it a bug in current ABCL? Is there some workaround I could or should use in ASDF 2.26.143?
We autoload some functions to decrease startup time; I made documentation autoloaded on trunk, moving it out of clos.lisp (where it had no business being). This change is not currently in the next release (branch 1.1.x in svn), only on trunk.
The bug is that autoloading for a function foo currently does not work for forms of type (setf (foo x) bar), only for (foo x). Hence, a possible workaround is inserting something like
(documentation 'car) ;; fix (setf documentation) on abcl trunk
before trying to change docstrings, to ensure that (setf documentation) is available.
Cheers,
Rudi
On Thu, Jan 24, 2013 at 9:08 AM, Mark Evenson evenson@panix.com wrote:
Undoing [r14349][] won't help us ship asdf-2.27, so we should figure out what we should do to fix things.
I'll at least make the setf documentation conditional on a non-nil :documentation being provided.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Any sufficiently advanced incompetence is indistinguishable from malice.
armedbear-devel@common-lisp.net