[cmucl-imp] Snapshot 2015-06
Faré
fahree at gmail.com
Wed Jun 10 22:02:23 UTC 2015
On Wed, Jun 10, 2015 at 5:51 PM, Raymond Toy <toy.raymond at gmail.com> wrote:
>>>>>> "Fare" == Far <Far> writes:
>
> Fare> On Wed, Jun 10, 2015 at 1:55 PM, Raymond Toy <toy.raymond at gmail.com> wrote:
> >>>>>>> "Fare" == Far <Far> writes:
> >>
> >> >> The other changes to cmucl include:
> >> >>
> >> >> o The UNIX package has been changed; it now only contains just enough
> >> >> to compile all of cmucl. If you want the rest of old UNIX package,
> >> >> use (require :unix) to get that.
> >> >>
> Fare> 1- This breaks ASDF, which assumed it could use unix-getenv and some such.
> >>
> >> I looked at the asdf distributed with cmucl, which is version
> >> 3.1.4. asdf does have getenv, but not via unix-getenv. Instead it
> >> accesses ext:*environment-list*.
> >>
> Fare> The latest 3.1.4.15 uses unix-getenv. I can revert that, if you wish.
>
> What would you prefer? I'm open to adding back unix-getenv. Since
> cmucl tracks asdf fairly closely, it seems either would be ok.
>
ext:*environment-list* is O(n); it sucks and is totally clunky, and
not case-preserving. Kill it with fire.
> >> A quick grep through asdf.lisp only shows unix:unix-current-directory,
> >> unix:unix-chdir, unix:unix-stat, and unix:unix-rmdir, which are all
> >> available without doing (require :unix).
> >>
> >> Is there some way for me to test asdf? (I confess I haven't run the
> >> asdf test suite with this new snapshot. I should have.)
> >>
> Fare> cd asdf ; make t l=cmucl
>
> >> However, I do see that I've broken slime which wants to use
> >> unix:unix-execve, and perhaps others. This is fixed by adding
> >> (require :unix) in my .cmucl-init.lisp script, but that's not really
> >> the solution I want.
> >>
>
> Fare> BTW, I retried running cmucl after I rm rf lib/cmucl and tar jxf the
> Fare> 2015-06 tarball, and I can 100% reproduce the failure to (require
>
> Ah, you also need the 2015-06 extra tarball since that contains the
> contrib stuff. Since this is a compatibility issue, it's probably
> best if the normal tarball contained these files. I'll make that
> happen for the next snapshot.
>
It doesn't make sense for the normal tarball to contain asdf but not
some module required for asdf.
Maybe add a canary test for your tarballs, that makes sure you can run
some trivial asdf program?
> Fare> (LISP::INTERNAL-LOAD #P"modules:load-unix" NIL :ERROR NIL ...)
> Fare> Source: Error finding source:
> Fare> Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists:
> Fare> target:code/load.lisp.
> Fare> 0] #p"modules:"
>
> Fare> #P"modules:"
> Fare> 0] (describe #p"modules:")
>
> Fare> #P"modules:" is a structure of type PATHNAME.
> Fare> HOST: #<LISP::UNIX-HOST>.
> Fare> DEVICE: NIL.
> Fare> DIRECTORY: (:ABSOLUTE #<SEARCH-LIST modules>).
> Fare> NAME: NIL.
> Fare> TYPE: NIL.
> Fare> VERSION: NIL.
>
> Fare> What kind of pathname horror is THAT?????
> Fare> As if pathnames weren't horrible enough already, CMUCL invents
> Fare> additional pathname horrors!
>
> You clearly have not been using cmucl for very long. :-) That
> search-list pathname stuff predates my involvement with cmucl. Could
> possibly predate support for logical pathnames.
>
> It certainly would be better if the host were something like
> #<lisp::search-list-host "modules"> and the :directory component could be more
> like a regular list of directory components. I did try to make that
> happen briefly once but failed to succeed. And decided that it wasn't
> worth it to me.
>
Yup, probably not worth stirring the ancient cesspool and risking to
awaken a great old one.
Thanks for your support!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Reason wins in the long run, because irrational memes fight each other,
whereas rational memes add up.
More information about the cmucl-imp
mailing list