anchor.diff:    (unless (get-buffer "*REPL*")
       (let ((*current-window* *current-window*))
         (inferior-lisp)))
  -  (let ((val)
  +  (let ((values)
           (error-p))
       (labels ((eval-thread-closure
                 ()
  
positive.code:                          (*standard-input* in))
                       (handler-case
                           (handler-bind ((error #'lisp-error-clause))
                             (setq val (eval-from-string str)))
                         (error (cdt)
                                (setq error-p t)
                                (setq val cdt))))))
                  (inferior-lisp-set-point)
                  (set-buffer tmpbuf nil)))
               (mi-thread-closure
  
negative.code:                               (region-end))))
        (unless (string= "" (string-trim '(#\newline #\tab #\space) str))
          (insert-newline 1)
          (multiple-value-bind (values error-p)
              (safe-eval-from-string str)
            (when str
              (push str *inferior-lisp-log*))
            (unless error-p
              (unless (bolp)
                (insert-newline))
              (dolist (v values)
                (insert-string (write-to-string v))
                (insert-newline 1))))
          (inferior-lisp-prompt)))))
  
  (defmacro inferior-lisp-back-log (log1 log2)
  