Commit 7a586b04 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Fix bugs:

* some bogusness in default-source-registry
* fmakunbound behaves badly wrt SBCL method cache or something,
 using unintern instead to allow for hot upgrade of ASDF on SBCL.
parent 59d22606
Loading
Loading
Loading
Loading
+28 −28
Original line number Diff line number Diff line
@@ -85,10 +85,6 @@
                 (unintern sym package))))
           (ensure-unintern (package symbols)
             (dolist (sym symbols) (remove-symbol sym package)))
           (ensure-fmakunbound (package symbols)
             (loop :for name :in symbols
               :for sym = (find-symbol (string name) package)
               :when sym :do (fmakunbound sym)))
           (ensure-shadow (package symbols)
             (shadow symbols package))
           (ensure-use (package use)
@@ -97,6 +93,10 @@
                 (unless (eq sym (find-symbol (string sym) package))
                   (remove-symbol sym package)))
               (use-package used package)))
           (ensure-fmakunbound (package symbols)
             (loop :for name :in symbols
               :for sym = (find-symbol (string name) package)
               :when sym :do (fmakunbound sym)))
           (ensure-export (package export)
             (let ((syms (loop :for x :in export :collect
                           (intern (string x) package))))
@@ -108,9 +108,9 @@
           (ensure-package (name &key nicknames use unintern fmakunbound shadow export)
             (let ((p (ensure-exists name nicknames use)))
               (ensure-unintern p unintern)
               (ensure-fmakunbound p fmakunbound)
               (ensure-shadow p shadow)
               (ensure-export p export)
               (ensure-fmakunbound p fmakunbound)
               p)))
    (ensure-package
     ':asdf-utilities
@@ -145,8 +145,8 @@
    (ensure-package
     ':asdf
     :use '(:common-lisp :asdf-utilities)
     :unintern '(#:*asdf-revision* #:around #:asdf-method-combination #:split #:make-collector)
     :fmakunbound '(#:perform #:explain #:output-files #:operation-done-p
     :unintern '(#:*asdf-revision* #:around #:asdf-method-combination #:split #:make-collector
                 #:perform #:explain #:output-files #:operation-done-p
                 #:component-relative-pathname #:system-relative-pathname)
     :export
     '(#:defsystem #:oos #:operate #:find-system #:run-shell-command
@@ -2792,7 +2792,7 @@ with a different configuration, so the configuration would be re-read then."
    `(:source-registry
      #+sbcl (:directory ,(merge-pathnames* ".sbcl/systems/" (user-homedir-pathname)))
      (:directory ,(truenamize (directory-namestring *default-pathname-defaults*)))
      ,@`(let*
      ,@(let*
         #+(or (not windows) cygwin)
         ((datahome
           (or (getenv "XDG_DATA_HOME")
@@ -2810,7 +2810,7 @@ with a different configuration, so the configuration would be re-read then."
           #-lispworks (try (getenv "ALLUSERSPROFILE")
                            "Application Data"))
          (dirs (list datahome datadir)))
         (loop :for dir :in (cons datahome datadirs)
         (loop :for dir :in dirs
           :collect `(:directory ,(try dir "common-lisp/systems/"))
           :collect `(:tree ,(try dir "common-lisp/source/"))))
      :inherit-configuration)))