Frank Buss <fb@frank-buss.de> wrote:
+---------------
| register_allocation wrote:
| > (asdf:oos 'asdf:load-op :macro-utilities)
| > I get an error 'component "macro-utilities" not found'.
|
| one solution would be to do a
| (pushnew "/yourhome/lisp/yourdirectory/" asdf:*central-registry*)
| after loading asdf.lisp.
+---------------
Another hint: To avoid lots of dups ending up in ASDF:*CENTRAL-REGISTRY*,
you should add a :TEST #'EQUAL to the PUSHNEW, e.g.:
(pushnew #p"library:local/systems/" asdf:*central-registry* :test #'equal)
Why? Because depending on the implementation and/or whether the code
is compiled, you might get this:
> (eql "/yourhome/lisp/yourdirectory/" "/yourhome/lisp/yourdirectory/")
NIL
> (eql #p"library:local/systems/" #p"library:local/systems/")
NIL
>
but you should *always* get this:
> (equal "/yourhome/lisp/yourdirectory/" "/yourhome/lisp/yourdirectory/")
T
> (equal #p"library:local/systems/" #p"library:local/systems/")
T
>
-Rob
p.s. CMUCL *sometimes* does constant coalescing even uncompiled,
in the REPL, if the expression being EVAL'd is "complex enough".
E.g., the above two EQL tests both report NIL, as shown, yet we
also get this:
> (let () (eql #p"library:local/systems/" #p"library:local/systems/"))
T
>
Yet a (LET () (EQL "string" "string")) returns NIL. Go figure.
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607