anchor.diff:      ;; But CMUCL decides to die on NIL.
       ;; MCL has issues with make-pathname, nil and defaulting
       (declare (ignorable defaults))
  -    #.`(make-pathname* :directory nil :name nil :type nil :version nil
  -                       :device (or #+(and mkcl unix) :unspecific)
  -                       :host (or #+cmu lisp::*unix-host* #+(and mkcl unix) "localhost")
  -                       #+scl ,@'(:scheme nil :scheme-specific-part nil
  -                                 :username nil :password nil :parameters nil :query nil :fragment nil)
  -                       ;; the default shouldn't matter, but we really want something physical
  -                       #-mcl ,@'(:defaults defaults)))
  +    #.`(make-pathname :directory nil :name nil :type nil :version nil
  +                      :device (or #+(and mkcl os-unix) :unspecific)
  +                      :host (or #+cmucl lisp::*unix-host* #+(and mkcl os-unix) "localhost")
  +                      #+scl ,@'(:scheme nil :scheme-specific-part nil
  +                                :username nil :password nil :parameters nil :query nil :fragment nil)
  +                      ;; the default shouldn't matter, but we really want something physical
  +                      #-mcl ,@'(:defaults defaults)))
   
     (defvar *nil-pathname* (nil-pathname (physicalize-pathname (user-homedir-pathname)))
       "A pathname that is as neutral as possible for use as defaults
  
positive.code:      ;; See our ASDF 2 paper for more complete explanations.
       (in-order-to :initform nil :initarg :in-order-to
                    :accessor component-in-order-to)
       ;; methods defined using the "inline" style inside a defsystem form:
       ;; need to store them somewhere so we can delete them when the system
       ;; is re-evaluated.
       (inline-methods :accessor component-inline-methods :initform nil) ;; OBSOLETE! DELETE THIS IF NO ONE USES.
       ;; ASDF4: rename it from relative-pathname to specified-pathname. It need not be relative.
       ;; There is no initform and no direct accessor for this specified pathname,
       ;; so we only access the information through appropriate methods, after it has been processed.
  
negative.code:      (sb-c::undefined-warning-kind warning)
       (sb-c::undefined-warning-name warning)
       (sb-c::undefined-warning-count warning)
       ;; the COMPILER-ERROR-CONTEXT struct has changed in SBCL, which means how we
       ;; handle deferred warnings must change... TODO: when enough time has
       ;; gone by, just assume all versions of SBCL are adequately
       ;; up-to-date, and cut this material.[2018/05/30:rpg]
       (mapcar
        #'(lambda (frob)
            ;; the lexenv slot can be ignored for reporting purposes
            `(
              #- #.(uiop/utility:symbol-test-to-feature-expression '#:compiler-error-context-%source '#:sb-c)
              ,@`(:enclosing-source
                  ,(sb-c::compiler-error-context-enclosing-source frob)
                  :source
                  ,(sb-c::compiler-error-context-source frob)
                  :original-source
                  ,(sb-c::compiler-error-context-original-source frob))
              #+ #.(uiop/utility:symbol-test-to-feature-expression '#:compiler-error-context-%source '#:sb-c)
              ,@ `(:%enclosing-source
                   ,(sb-c::compiler-error-context-enclosing-source frob)
                   :%source
                   ,(sb-c::compiler-error-context-source frob)
                   :original-form
                   ,(sb-c::compiler-error-context-original-form frob))
              :context ,(sb-c::compiler-error-context-context frob)
              :file-name ,(sb-c::compiler-error-context-file-name frob) ; a pathname
              :file-position ,(sb-c::compiler-error-context-file-position frob) ; an integer
  