Re: Beginner emacs / SLIME / ACL / ASDF question



Unknownmat wrote:
Hello,

How do I modify the ASDF *central-registry* variable, so that the new
value is loaded each time I start Emacs?

Every lisp implementation has a default startup file it runs before
dropping you into the REPL. You should edit this file to load ASDF and
then pushnew where you want to store your files.

ACL-express' is called .clinit.cl and should be placed in your home
folder (whatever that means on XP)

Here's (part of) mine:

(require 'asdf)
; ASDF Configuration
(pushnew "/Users/tel/Library/Lisp/Asdf-Registry/systems/"
asdf:*central-registry*
:test #'equal)

I'm still fairly new to LISP and very new to the whole emacs / LISP
interaction. It's an intriguing idea, but I'm not yet fully
comfortable with it.

Check out this movie Marco Baringer made. You might have to watch it
several times to get everything he does, but he shows a wonderful
example of effective use of slime.

http://bc.tech.coop/blog/050728.html

*central-registry* defaults to *default-pathname-defaults*, which is
somehow fed the default LispBox installation directory: C:\program
files\lispbox-0.7. Instead, I would like to specify where to keep my
".asd" files. In fact, I am very comfortable with Visual Studio's
".sln" files, and would prefer if, similarly, each project were
contained in it's own directory with its own.asd file (and without the
need for a *central-registry*), but based on my understanding, I do not
think this is how ASDF works.

There's another system called ASDF-Install that allows the automatic
fetching and installation of systems posted on Cliki. It's very useful,
so I suggest you base your Registry set up off of it.

Here's how I do it:

I have an Asdf-Registry folder in an appropriate location
(/Users/tel/Library/Lisp/Asdf-Registry/) which contains two
subdirectories: site and systems. site contains individual folders for
each project which each have a .asd file at the toplevel. systems
contains symbolic links (apparently this is possible in XP - I've
never done it: http://shell-shocked.org/article.php?id=284) to all of
the .asd files. All you have to do then is point *central-registry* at
the systems folder - as done in my .clinit.cl file.

To make this totally compatible wth ASDF-Install, I also have this as
the second part of my .clinit.cl file:

(unless (featurep 'asdf-install)
(asdf:oos 'asdf:load-op 'asdf-install))
; ASDF-Install Configuration
(setf asdf-install:*locations*
'((#P"/Users/tel/Library/Lisp/Asdf-Registry/site/"
#P"/Users/tel/Library/Lisp/Asdf-Registry/systems/"
"Personal Installation.")))


Hope this gives you some ideas. Good luck!

-ja

.



Relevant Pages

  • Re: Help with ASDF
    ... > asdf.lisp and asdf-extensions.lisp both came with Lisp in a Box. ... > thought that asdf-install might have been in the extensions file, ... automatically when Lispbox starts up. ... Lispbox) I extended ASDF to ...
    (comp.lang.lisp)
  • ASDF-INSTALL and MK:DEFSYSTEM
    ... Thanks to the efforts of Marco Antoniotti, ... ASDF-INSTALL now also works with MK:DEFSYSTEM instead of (or in ... addition to) ASDF. ... please go ahead and send patches. ...
    (comp.lang.lisp)
  • Re: Installing libraries
    ... I've managed to get ASDF-INSTALL working normally with CLISP+WinXP, ... Download and unzip ASDF. ... I unzipped it where I unzipped ASDF. ... I named it asdf-foo.lisp, so (load ...
    (comp.lang.lisp)
  • Re: Do Lispers need libraries packed that will work out of box?
    ... don't ASDF and ASDF-INSTALL already do this? ... Support for ASDF seems reasonably good - ASDF libraries are many enough ... Edi Weitz, for instance, ...
    (comp.lang.lisp)
  • Re: Beginner emacs / SLIME / ACL / ASDF question
    ... How do I modify the ASDF *central-registry* variable, ... value is loaded each time I start Emacs? ...
    (comp.lang.lisp)