[asdf-devel] Changes to ASDF for LW6

Robert Goldman rpgoldman at sift.info
Fri Feb 26 15:17:26 UTC 2010


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





More information about the asdf-devel mailing list