anchor.diff:                            after
                             #'search-forward-regexp
                             #'search-backward-regexp
  -                          t))
  +                          :query t))
   
   (define-command query-replace-symbol (before after)
       ((read-query-replace-args))
  
positive.code:                       ((char= c #\!)
                         (setf pass-through t)))))))))
  
  (defun query-replace-internal (before after search-forward-function search-backward-function query)
    (let ((buffer (current-buffer)))
      (unwind-protect
           (let ((*isearch-search-forward-function* search-forward-function)
                 (*isearch-search-backward-function* search-backward-function))
             (when (and before after)
               (if (buffer-mark-p buffer)
                   (with-point ((mark-point (buffer-mark buffer) :right-inserting))
                     (if (point< mark-point (buffer-point buffer))
                         (query-replace-internal-body mark-point
                                                      (buffer-point buffer)
                                                      before after query)
                         (query-replace-internal-body (buffer-point buffer)
                                                      mark-point
                                                      before after query)))
                   (query-replace-internal-body (buffer-point buffer)
                                                nil before after query))))
        (isearch-reset-overlays buffer))))
  
  (define-key *global-keymap* "M-%" 'query-replace)
  
negative.code:                                   new-string
                                    *isearch-search-forward-function*
                                    *isearch-search-backward-function*
                                    :query nil))))))
  
  (define-command isearch-next-highlight (n) ("p")
    (alexandria:when-let ((string (buffer-value (current-buffer) 'isearch-redisplay-string)))
  