[asdf-devel] Changes to ASDF for LW6

Faré fahree at gmail.com
Fri Feb 26 18:21:18 UTC 2010


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 <dbm at refined-audiometrics.com> 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 <dbm at refined-audiometrics.com>:
>>>>>>> ... 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
>>>>>>
>>>>>
>>>>> Dr. David McClain
>>>>> dbm at refined-audiometrics.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> asdf-devel mailing list
>>>>> asdf-devel at common-lisp.net
>>>>> http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
>>>>
>>>>
>>>> _______________________________________________
>>>> asdf-devel mailing list
>>>> asdf-devel at common-lisp.net
>>>> http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
>>>
>>> Dr. David McClain
>>> dbm at refined-audiometrics.com
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> asdf-devel mailing list
>>> asdf-devel at common-lisp.net
>>> http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
>>
>>
>> _______________________________________________
>> asdf-devel mailing list
>> asdf-devel at common-lisp.net
>> http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
>
> Dr. David McClain
> dbm at refined-audiometrics.com
>
>
>
>
> _______________________________________________
> asdf-devel mailing list
> asdf-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
>




More information about the asdf-devel mailing list