anchor.diff:  
   (defun setenv (name value)
     (declare (ignorable name value))
  -  #+sbcl(sb-posix:setenv name value 1)
  +  #+sbcl(funcall (read-from-string "sb-posix:setenv") name value 1)
     #+ccl(ccl:setenv name value t))
   
   (defun unsetenv (name)
     (declare (ignorable name))
  -  #+sbcl(sb-posix:unsetenv name)
  +  #+sbcl(funcall (read-from-string "sb-posix:unsetenv") name)
     #+ccl(ccl:unsetenv name))
  +
  +(defun quit (&optional (return-code 0) &rest rest)
  +  (let ((ret (or (and (numberp return-code) return-code) (first rest) 0)))
  +    (ignore-errors(funcall 'asdf::quit ret))
  +    #+sbcl(ignore-errors(funcall (read-from-string "cl-user::exit") :code ret))
  +    #+sbcl(ignore-errors(funcall (read-from-string "cl-user::quit") :unix-status ret))))
   
   (defun exec (args)
     #+(and unix sbcl)
     (execvp (first args) args)
  -  (uiop/run-program:run-program (format nil "~{~A~^ ~}" args))
  -  (uiop:quit -1))
  +  #+(and unix ccl)
  +  (ccl::%execvp args)
  +  (funcall (read-from-string "uiop/run-program:run-program")
  +           (format nil "~{~A~^ ~}" args))
  +  (quit -1))
   
   (defun ros-opts ()
     (or *ros-opts*
  
positive.code:   (let ((s (second (assoc "impl" (ros-opts) :test 'equal))))
      (subseq s (1+ (position #\/ s)))))
  
  (unless (equal (first (last asdf::*user-cache*)) (impl))
    (setf asdf::*user-cache* (append asdf::*user-cache* (list (impl)))))
  
  (defun source-registry (cmd arg &rest rest)
    (declare (ignorable cmd rest))
  
negative.code: (defun eval (cmd arg &rest rest)
    (declare (ignorable cmd rest))
    (cl:eval (read-from-string arg)))
  
  (defun restart (cmd arg &rest rest)
    (declare (ignorable cmd rest))
  