[asdf-devel] Changes to ASDF for LW6

David McClain dbm at refined-audiometrics.com
Fri Feb 26 17:17:33 UTC 2010


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







More information about the asdf-devel mailing list