anchor.diff:              (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))
  +(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))
  +(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))
  +(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."
  +  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
  
positive.code: (defun flatlist (&rest args)
    (alexandria:flatten args))
  
  (defun run-sbcl (&key file environment-pairs evals)
    (run-program (native-namestring (pathname *sbcl-program*))
                 (flatlist "--noinform"
                           "--non-interactive"
                           "--no-userinit"
                           "--no-sysinit"
                           "--load" (native-namestring
                                     (ql-setup:qmerge "setup.lisp"))
                           (eval-defvar-forms environment-pairs)
                           "--eval"
                           (format nil  "(setf cl:*default-pathname-defaults* ~
                                         #p~S)"
                                   (native-namestring *default-pathname-defaults*))
                           (mapcar (lambda (eval)
                                     (list "--eval" eval))
                                   evals)
                          "--load" (native-namestring
                                     (truename file)))
                 :environment (append (environment-list environment-pairs)
                                      (sb-ext:posix-environ))
                 :output *standard-output*))
  
negative.code: ;;; "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
  