anchor.diff:  ;;; "qlmapper" goes here. Hacks and glory await!
   
   (defvar *sbcl-program* sb-ext:*runtime-pathname*)
  +
  +(defun native-truename (file)
  +  (native-namestring (truename file)))
   
   (defun eval-defvar-forms (environment-pairs)
     (loop for (name value) on environment-pairs by #'cddr
  
positive.code:     (base-directory (ql-dist:release system))))
  
  (defun map-objects (file
                      &key dist-name function (filter 'identity) evals)
    (unless (probe-file file)
      (error "~S does not exist" file))
    (let ((dist (ql-dist:find-dist dist-name)))
  
negative.code:             (let ((*default-pathname-defaults*
                     (base-directory object)))
                (run-sbcl :file file
                          :pre-file pre-file
                          :environment-pairs (list "*qlmapper-object-name*"
                                                   name)
                          :evals evals))))))))
  
  (defun map-releases (file &key (dist-name "quicklisp") (filter 'identity)
                       pre-file)
    "For each release in a dist (defaults to the \"quicklisp\" dist),
    start an independent SBCL process and load FILE with the variable
    CL-USER:*QLMAPPER-OBJECT-NAME* bound to the release's name."
    (map-objects file
                 :pre-file pre-file
                 :dist-name dist-name
                 :function #'ql-dist:provided-releases
                 :filter filter))
  
  (defun map-systems (file &key (dist-name "quicklisp") (filter 'identity)
                      pre-file)
    "For each system in a dist (defaults to the \"quicklisp\" dist),
    start an independent SBCL process and load FILE with the variable
    CL-USER:*QLMAPPER-OBJECT-NAME* bound to the system's name."
    (map-objects file
                 :pre-file pre-file
                 :dist-name dist-name
                 :function #'ql-dist:provided-systems
                 :filter filter))
  
  (defun map-loaded-systems (file &key (dist-name "quicklisp") (filter 'identity)
                             pre-file)
    "For each system in a dist (defaults to the \"quicklisp\" dist),
    start an independent SBCL process and load FILE with the variable
    CL-USER:*QLMAPPER-OBJECT-NAME* bound to the system's name and the
    given system loaded."
    (map-objects file
                 :pre-file pre-file
                 :dist-name dist-name
                 :function #'ql-dist:provided-systems
                 :filter filter
  