anchor.diff:               (unread-key-sequence (last-read-key-sequence))
                (isearch-end)))))
   
  +(define-command isearch-replace-highlight () ()
  +  (unless *isearch-highlight-overlays*
  +    (return-from isearch-replace-highlight))
  +  (let ((string (prompt-for-string "Replace: "))
  +        (buffer (current-buffer))
  +        (p (current-point))
  +        (start)
  +        (end))
  +    (if (buffer-mark-p buffer)
  +        (setf start (copy-point (region-beginning buffer) :temporary)
  +              end (region-end buffer))
  +        (setf start (buffer-start-point buffer)
  +              end (buffer-end-point buffer)))
  +    (save-excursion
  +      (dolist (overlay *isearch-highlight-overlays*)
  +        (when (and (point<= start (overlay-start overlay))
  +                   (point<= (overlay-end overlay) end))
  +          (move-point p (overlay-start overlay))
  +          (delete-between-points (overlay-start overlay) (overlay-end overlay))
  +          (insert-string p string)))
  +      (isearch-reset-buffer))))
   
    
  
positive.code: (define-key *isearch-keymap* "[backspace]" 'isearch-delete-char)
  (define-key *isearch-keymap* "[del]" 'isearch-delete-char)
  (define-key *isearch-keymap* "C-q" 'isearch-raw-insert)
  (define-key *isearch-keymap* "C-j" 'isearch-end)
  (define-key *isearch-keymap* "C-m" 'isearch-end)
  (define-key *isearch-keymap* "C-s" 'isearch-next)
  (define-key *isearch-keymap* "C-r" 'isearch-prev)
  (define-key *isearch-keymap* "C-y" 'isearch-yank)
  
  (defun isearch-update-display ()
    (isearch-update-minibuffer)
  
negative.code: (define-command isearch-raw-insert () ()
    (isearch-add-char (read-key)))
  
  (defun isearch-end ()
    (isearch-reset-buffer)
    (setq *isearch-prev-string* *isearch-string*)
    (isearch-mode nil)
    t)
  
  (define-command isearch-finish () ()
    (isearch-update-buffer (buffer-start-point (current-buffer))
                           *isearch-string*
                           (buffer-start-point (current-buffer))
                           (buffer-nlines (current-buffer)))
    (setq *isearch-prev-string* *isearch-string*)
    (isearch-mode nil))
  
  (define-command isearch-next () ()
    (when (string= "" *isearch-string*)
  