[asdf-devel] Changes to ASDF for LW6

David McClain dbm at refined-audiometrics.com
Fri Feb 26 16:46:54 UTC 2010


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.

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.

- 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







More information about the asdf-devel mailing list