[asdf-devel] Changes to ASDF for LW6

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


On 2/26/10 Feb 26 -10:46 AM, 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.

For those of us who aren't lispworks users, it would help if you were to
give us a transcript with error messages and backtrace.

I just went to the lispworks.com website, and LW version 6 is not
available in a free (personal) edition.

So we really need you to send us (or better yet, post into a launchpad
ticket) such a transcript.

I will try pulling LW 5.1, but if that isn't going to show the bug, I'd
like to save myself the trouble.
> 
> 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