[asdf-devel] Reloading a .asd

Faré fahree at gmail.com
Sun May 6 21:08:37 UTC 2012


> I only want to put a system into "manual" mode, and make sure that
> find-system never overrides that no matter what. How about adding an
> optional third parameter to load-sysdef that sets a "definitivep" flag
> in the system, which makes find-system to never search it on the
> file-system any more ?
>
As I explained in my previous mail,
it would more be something like what follows (wholly untested),
where in your code you'd
(1) call the register function initially
(2) use load-slime-override-sysdef instead of load-sysdef in your code.

(in-package :asdf)

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

(defun sysdef-slime-override (name)
  (values (gethash (coerce-name system) *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)))
    (setf (gethash name *slime-override-systems*) pathname)
    (load-sysdef name pathname)))

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
"I believe that sex is one of the most beautiful, natural, wholesome things
that money can buy." — Steve Martin




More information about the asdf-devel mailing list