[asdf-devel] Changes to ASDF for LW6

james anderson james.anderson at setf.de
Fri Feb 26 16:05:32 UTC 2010


On 2010-02-26, at 16:17 , 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.

if it is necessary, something is out-of-order.

>
> 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?

in particular,
- when does an error actually happen?
- what is the error?
- what is the "another" package, which already exported symbols with  
the same name?
- what visibility relations exist between that package and the  
package in use at the point of the error.
   - between that package and :asdf, :asdf-extensions, :cl-user, :cl?
- between the package in use and those four packages?

>
> 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





More information about the asdf-devel mailing list