anchor.diff:                              (next-char i)))
                      (search-backward-endp-function limit)))))
   
  -(defun re-search-forward (regex &optional limit)
  +(defun search-forward-regexp (regex &optional limit)
     (let (scanner)
       (handler-case (setq scanner (ppcre:create-scanner regex))
  -      (error () (return-from re-search-forward nil)))
  +      (error () (return-from search-forward-regexp nil)))
       (search-step
        #'(lambda ()
            (multiple-value-bind (start end)
  
positive.code:      #'goto-column
       (search-forward-endp-function limit))))
  
  (defun re-search-backward (regex &optional limit)
    (let (scanner)
      (handler-case (setq scanner (ppcre:create-scanner regex))
        (error () (return-from re-search-backward nil)))
      (search-step
       #'(lambda ()
           (let (pos)
  
negative.code:   (query-replace-internal #'search-forward #'search-backward))
  
  (define-command query-replace-regexp () ()
    (query-replace-internal #'search-forward-regexp #'search-backward-regexp))
  
  (define-command query-replace-symbol () ()
    (query-replace-internal #'search-forward-symbol #'search-backward-symbol))
  