[asdf-devel] Reloading a .asd

Faré fahree at gmail.com
Sun May 6 22:09:22 UTC 2012


On Sun, May 6, 2012 at 5:24 PM, Stelian Ionescu <sionescu at cddr.org> wrote:
> Yes, but I'd like to push this as Slime contrib and there's no guarantee
> that this will work in any case
>
No guarantee that my code will work? You can test and debug it;
the underlying API is not going to change.

No guarantee that the notoriously picky SLIME maintainers
will accept a contribution? I can't help you there.

There, I fixed two obvious bugs. Looks like it works:

(in-package :asdf)

(defvar *slime-override-systems* (make-hash-table :test 'equal))

(defun sysdef-slime-override (name)
  (values (gethash (coerce-name name) *slime-override-systems*)))

(defun register-slime-override ()
  (setf asdf:*system-definition-search-functions*
        (cons 'sysdef-slime-override
              (remove 'sysdef-slime-override
*system-definition-search-functions*))))

(defun load-slime-override-sysdef (name pathname)
  (let ((name (coerce-name name))
        (pathname (pathname pathname)))
    (setf (gethash name *slime-override-systems*) pathname)
    (load-sysdef name pathname)))

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Natural laws have no pity.
        — Robert Heinlein, "Time Enough For Love"




More information about the asdf-devel mailing list