anchor.diff:                       #+(or allegro lispworks ecl) (third process*)
                        #-(or allegro lispworks ecl) (first process*))
                       (stream
  -                     #+(or allegro lispworks ecl) (first process*)
  -                     #+clisp process
  -                     #+clozure (ccl::external-process-output process)
  -                     #+(or cmu scl) (ext:process-output process)
  -                     #+sbcl (sb-ext:process-output process)))
  -               (if pipe
  -                   (values process stream)
  -                   #-allegro (process-result process)
  -                   #+allegro (check-result (first process*)))))
  -           #-(or abcl cormanlisp gcl (and lispworks os-windows) xcl)
  +                     (when pipe
  +                       #+(or allegro lispworks ecl) (first process*)
  +                       #+clisp (first process*)
  +                       #+clozure (ccl::external-process-output process)
  +                       #+(or cmu scl) (ext:process-output process)
  +                       #+sbcl (sb-ext:process-output process))))
  +               (values process stream)))
  +           #+(or allegro clisp clozure cmu ecl
  +                 (and lispworks os-unix) sbcl scl)
              (process-result (process)
  -             (declare (ignorable process))
                ;; 1- wait
                #+(and clozure os-unix) (ccl::external-process-wait process)
                #+(or cmu scl) (ext:process-wait process)
  
positive.code:              #+sbcl (sb-ext:process-wait process)
               ;; 2- extract result
               #+allegro (sys:reap-os-subprocess :pid process :wait t)
               #+clozure (nth-value 1 (ccl:external-process-status process))
               #+(or cmu scl) (ext:process-exit-code process)
               #+ecl (nth-value 1 (ext:external-process-status process))
               #+lispworks (system:pid-exit-status process :wait t)
               #+sbcl (sb-ext:process-exit-code process))
             (check-result (return-code)
               (unless (or ignore-error-status
                           #+clisp t
                           (zerop return-code))
                 (cerror "ignore error code~*~*"
                         "Process ~S exited with error code ~D"
                         command return-code)))
             (system (command)
               #+(or abcl xcl) (ext:run-shell-command command)
               #+allegro
  
negative.code: ;;; These variables are shared with XCVB itself.
  (defvar *lisp-implementation-type*
    ;; TODO: test on all OS and implementation platform combinations!
    #+abcl :abcl #+allegro :allegro
    #+clisp :clisp #+clozure :ccl #+cmu :cmucl #+cormanlisp :corman
    #+ecl :ecl #+gcl :gcl #+genera :genera
    #+lispworks-personal-edition :lispworks-personal #+lispworks :lispworks
    #+mcl :mcl #+sbcl :sbcl #+scl :scl #+xcl :xcl
    #-(or abcl allegro clisp clozure cmu cormanlisp
          ecl gcl genera lispworks mcl sbcl scl xcl)
    (error "Your Lisp implementation is not supported by the XCVB driver (yet). Please help.")
    "Type of Lisp implementation for the target system. A keyword.
    Default: same as XCVB itself.")
  
  (defvar *lisp-executable-pathname* nil
  