We were using DEFPACKAGE until recently. However, we had "interesting" problems when upgrading from 1.604 to 1.620 or later, where I had renamed ASDF-EXTENSIONS to ASDF-UTILITIES with ASDF-EXTENSIONS as a nickname (as reported by tcr while using ecl). This was fixed by not using DEFPACKAGE, but rolling our own version of it. But that fix had a bug that hit you (plus others that apparently didn't).
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] A nazi deathcamp survivor defined truth as follows: believing it does not increase your chance of dying. On 26 February 2010 14:26, David McClain <[email protected]> wrote: > So now... while I have deep admiration for the package synthesis code shown > in asdf.lisp, for curiosity, why? What is the problem you had with just using > CL:DEFPACKAGE? > > - DM > > On Feb 26, 2010, at 11:21 AM, Faré wrote: > >> David, thanks a lot for your help and your patience! >> >> That was a bug I just introduced in ASDF: >> I forgot to put an explicit :use in my (make-package ...), >> naively thinking it would lead to an empty use-list as in SBCL, but >> the CLHS says: >> http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_make-package.html >> use---a list of package designators. The default is implementation-defined. >> and in Lispworks, the default legitimately is >> COMMON-LISP HARLEQUIN-COMMON-LISP LISPWORKS. >> >> It should be fixed in 1.627. Can you give it a try? >> >> My sincere apologies for the inconvenience. >> >> [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org >> ] >> Atheism is a non-prophet organization. >> >> >> >> >> On 26 February 2010 12:17, David McClain <[email protected]> >> wrote: >>> >>> CL-USER 14 > (package-use-list (find-package :asdf)) >>> (#<The ASDF-UTILITIES package, 0/64 internal, 20/64 external> >>> #<The COMMON-LISP package, 2/4 internal, 978/1024 external> >>> #<The HARLEQUIN-COMMON-LISP package, 0/4 internal, 266/512 external> >>> #<The LISPWORKS package, 65/128 internal, 225/256 external>) >>> >>> CL-USER 15 > (package-use-list (find-package :asdf-utilities)) >>> (#<The COMMON-LISP package, 2/4 internal, 978/1024 external> >>> #<The HARLEQUIN-COMMON-LISP package, 0/4 internal, 266/512 external> >>> #<The LISPWORKS package, 65/128 internal, 225/256 external>) >>> >>> >>> On Feb 26, 2010, at 10:09 AM, james anderson wrote: >>> >>>> good evening; >>>> >>>> On 2010-02-26, at 17:46 , David McClain wrote: >>>> >>>>> Hi Guys, >>>>> >>>>> I think I'm beginning to glean your sense of confusion here. Let me >>>>> just have you try loading ASDF.lisp in a freshly booted LW6 image >>>>> and see for yourselves. >>>> >>>> send me one, and i will. >>>> >>>>> >>>>> The ASDF.lisp that I am using was take off the web last night, >>>>> >>>>> ;;; -- LICENSE START >>>>> ;;; (This is the MIT / X Consortium license as taken from >>>>> ;;; http://www.opensource.org/licenses/mit-license.html on or about >>>>> ;;; Monday; July 13, 2009) >>>>> >>>>> >>>>> For APPENDF and GET-ENV, if I don't conditionalize to *not* export >>>>> those symbols from your list of exports, then I get the error message: >>>>> >>>>> "Redefining xxx visible from Lispworks" >>>>> >>>>> The same message appears once APPENDF and GET-ENV have been dealt >>>>> with, regarding LOAD-SYSTEM, COMPILE-SYSTEM, and DEFSYSTEM. In >>>>> those cases, however, you really want your own definitions to be in >>>>> effect, and not just inherit behavior that already exists from >>>>> Lispworks. >>>>> >>>>> What can I say here? The LW6 system behaves the way it does, right >>>>> or wrong, and my changes seemed to be the least needed to get >>>>> things rolling again. >>>> >>>> this approach is suspect. >>>> it may be, that it succeeds sufficiently to get you past the >>>> stumbling point, but it should not be committed to a release, as it >>>> is a symptom of some other problem which would remain unresolved and >>>> which could well reappear in variations. >>>> >>>> given just the information in the asdf definitions, the suspicion >>>> arises, that either the lispworks release, lispworks site >>>> installation, or the individual runtime has arranged package and >>>> symbol visibility such that symbols from some lispworks extension >>>> package are visible through the common-lisp package, as that is the >>>> only package from which :asdf-extensions can inherit symbols. the >>>> first two would surprise me, but without a runtime one cannot say. >>>> >>>> what do >>>> (package-use-list :asdf-utilities) >>>> (symbol-package (find-symbol (string :appendf) :asdf-utilities)) >>>> yield? >>>> without the patches. >>>> >>>> in general, such a problem is to be resolved at the point which sets >>>> the stage for the conflict, not in the asdf extension package >>>> definition. >>>> a more specific answer requires more information about the state of >>>> the runtime at the point of the redefinition. >>>> >>>>> >>>>> - DM >>>>> >>>>> On Feb 26, 2010, at 08:17 AM, Robert Goldman wrote: >>>>> >>>>>> On 2/26/10 Feb 26 -9:00 AM, David McClain wrote: >>>>>>> No, I take a stock LW6 system and want to load up the ASDF >>>>>>> package as soon as possible, so that I can then use ASDF to load >>>>>>> in systems. When I take a look at the PACKAGE-USE-LIST of CL- >>>>>>> USER, it shows COMMON-LISP, HARLEQUIN-COMMON-LISP, and LISPWORKS. >>>>>>> >>>>>>> Have a look at the very front of the asdf.lisp file --- it places >>>>>>> itself into package :CL-USER. So we are screwed up from the get go. >>>>>>> >>>>>>> All I did was conditionalilze exports of two symbols that were >>>>>>> already exported from another package and which performed >>>>>>> identical functionality, and then I added a section to the rather >>>>>>> elaborate package construction kit for ASDF to permit the >>>>>>> declaration of some shadowed symbols. Simple. Effective. It works. >>>>>> >>>>>> Faré's right. There's something mysterious here. We are only >>>>>> momentarily in CL-USER, and only while we construct (or modify) >>>>>> the ASDF >>>>>> package. AFAICT the ASDF package modification/creation code only >>>>>> manipulates uninterned symbols (if it doesn't, that's a bug), so >>>>>> there's >>>>>> no way it should be messing up the CL-USER package. >>>>>> >>>>>> Will you please clarify? >>>>>> >>>>>> thanks, >>>>>> r >>>>>> >>>>>>> >>>>>>> - DM >>>>>>> >>>>>>> On Feb 26, 2010, at 07:31 AM, Faré wrote: >>>>>>> >>>>>>>> I don't understand. Do you mean that there is a problem when you >>>>>>>> (load >>>>>>>> "asdf") itself, or are you trying to (use-package :asdf) from cl- >>>>>>>> user? >>>>>>>> The latter is probably a bad idea, and wasn't supported so far >>>>>>>> (so far >>>>>>>> I know). >>>>>>>> >>>>>>>> [ François-René ÐVB Rideau | Reflection&Cybernethics | http:// >>>>>>>> fare.tunes.org ] >>>>>>>> Can anyone please squash this butterfly in Tokyo? I'm sick with >>>>>>>> its flapping >>>>>>>> wings changing the outcome of my life. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2010/2/26 David McClain <[email protected]>: >>>>>>>>> ... rather, in package :CL-USER, not :LW-USER. But apparently, >>>>>>>>> LISPWORKS is automatically being used in CL-USER... >>>>>>>>> >>>>>>>>> - DM >>>>>>>>> >>>>>>>>> On Feb 26, 2010, at 01:13 AM, Chun Tian (binghe) wrote: >>>>>>>>> >>>>>>>>>> Hi, David >>>>>>>>>> >>>>>>>>>> I don't think it's necessary to make ASDF and LISPWORKS two >>>>>>>>>> packages live together. What you met can only happen when you >>>>>>>>>> try to defined a package which use above two packages at the >>>>>>>>>> same time: >>>>>>>>>> >>>>>>>>>> (defpackage xxx >>>>>>>>>> (:use :cl :asdf :lispworks)) >>>>>>>>>> >>>>>>>>>> I don't think you have any good reason to use such a package. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> >>>>>>>>>> Chun Tian (binghe) >>>>>>>>>> >>>>>>>>>> 在 2010-2-26,15:44, David McClain 写道: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I just installed the latest available source for ASDF and had >>>>>>>>>>> to make a few minor changes to the way the ASDF Package was >>>>>>>>>>> being defined, for compatibility with Lispworks 6.0: (changes >>>>>>>>>>> highlighted in red -- if you can see them) >>>>>>>>>>> >>>>>>>>>>> ... >>>>>>>>>>> >>>>>>>>>>> (ensure-shadow (package symbols) >>>>>>>>>>> (shadow symbols package)) >>>>>>>>>>> >>>>>>>>>>> (ensure-package (name &key nicknames use export >>>>>>>>>>> unintern shadow) >>>>>>>>>>> (let* ((p (ensure-exists name nicknames))) >>>>>>>>>>> (ensure-use p use) >>>>>>>>>>> (ensure-unintern p unintern) >>>>>>>>>>> >>>>>>>>>>> (ensure-shadow p shadow) >>>>>>>>>>> >>>>>>>>>>> (ensure-export p export) >>>>>>>>>>> p))) >>>>>>>>>>> (ensure-package >>>>>>>>>>> ':asdf-utilities >>>>>>>>>>> :nicknames '(#:asdf-extensions) >>>>>>>>>>> :use '(#:common-lisp) >>>>>>>>>>> :export >>>>>>>>>>> '(#:absolute-pathname-p >>>>>>>>>>> #:aif >>>>>>>>>>> >>>>>>>>>>> #-:LISPWORKS #:appendf >>>>>>>>>>> >>>>>>>>>>> #:asdf-message >>>>>>>>>>> #:coerce-name >>>>>>>>>>> #:directory-pathname-p >>>>>>>>>>> #:ends-with >>>>>>>>>>> #:ensure-directory-pathname >>>>>>>>>>> >>>>>>>>>>> #-:LISPWORKS #:getenv >>>>>>>>>>> >>>>>>>>>>> #:get-uid >>>>>>>>>>> #:length=n-p >>>>>>>>>>> #:make-collector >>>>>>>>>>> #:pathname-directory-pathname >>>>>>>>>>> #:pathname-sans-name+type ;; deprecated. Use pathname- >>>>>>>>>>> directory-pathname >>>>>>>>>>> #:read-file-forms >>>>>>>>>>> #:remove-keys >>>>>>>>>>> #:remove-keyword >>>>>>>>>>> #:resolve-symlinks >>>>>>>>>>> #:split >>>>>>>>>>> #:component-name-to-pathname-components >>>>>>>>>>> #:system-registered-p >>>>>>>>>>> #:truenamize)) >>>>>>>>>>> (ensure-package >>>>>>>>>>> ':asdf >>>>>>>>>>> :use '(:common-lisp :asdf-utilities) >>>>>>>>>>> :unintern '(#:*asdf-revision*) >>>>>>>>>>> >>>>>>>>>>> :shadow #+:LISPWORKS '(#:load-system >>>>>>>>>>> #:compile-system >>>>>>>>>>> #:defsystem) >>>>>>>>>>> #-:LISPWORKS '() >>>>>>>>>>> >>>>>>>>>>> :export >>>>>>>>>>> '(#:defsystem #:oos #:operate #:find-system #:run-shell- >>>>>>>>>>> command >>>>>>>>>>> #:system-definition-pathname #:find-component ; >>>>>>>>>>> miscellaneous >>>>>>>>>>> #:compile-system #:load-system #:test-system >>>>>>>>>>> #:compile-op #:load-op #:load-source-op _______________________________________________ asdf-devel mailing list [email protected] http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
