anchor.diff:   
   (defun isearch-update-buffer (&optional (point (current-point))
  -                                        (search-string *isearch-string*))
  +                              (search-string *isearch-string*))
     (let ((buffer (point-buffer point)))
       (isearch-reset-overlays buffer)
       (unless (equal search-string "")
         (dolist (window (get-buffer-windows buffer))
  -        (when (eq window (current-window))
  -          (window-see window))
           (with-point ((curr (window-view-point window))
                        (limit (window-view-point window)))
             (unless (line-offset limit (window-height window))
  
positive.code:         (concatenate 'string
                       *isearch-string*
                       (string c)))
    (isearch-update-display)
    (with-point ((start-point (current-point)))
      (unless (funcall *isearch-search-function* (current-point) *isearch-string*)
        (move-point (current-point) start-point)))
    t)
  
  (define-command isearch-self-insert () ()
  
negative.code: 
  (defun isearch-update-display ()
    (isearch-update-minibuffer)
    (window-see (current-window))
    (isearch-update-buffer))
  
  (defun isearch-update-minibuffer ()
  