anchor.diff:     #'goto-column
      (search-forward-endp-function limit)))
   
  -(defun search-symbol-backward (name &optional limit)
  +(defun search-backward-symbol (name &optional limit)
     (search-step
      #'(lambda ()
          (caar (last (search-symbol-positions name :end (window-cur-col)))))
  
positive.code: (define-key *global-keymap* (kbd "C-M-s") 'isearch-forward-regexp)
  (define-command isearch-forward-regexp () ()
    (isearch-start "ISearch Regexp: "
                   #'re-search-forward
                   #'re-search-forward
                   #'re-search-backward))
  
  (define-key *global-keymap* (kbd "C-M-r") 'isearch-backward-regexp)
  (define-command isearch-backward-regexp () ()
    (isearch-start "ISearch Regexp: "
                   #'re-search-backward
                   #'re-search-forward
                   #'re-search-backward))
  
  (define-key *global-keymap* (kbd "C-x C-M-s") 'isearch-symbol-forward)
  (define-command isearch-symbol-forward () ()
    (isearch-start "ISearch Symbol: "
                   #'search-symbol-forward
                   #'search-symbol-forward
                   #'search-symbol-backward))
  
  (define-key *global-keymap* (kbd "C-x C-M-r") 'isearch-symbol-backward)
  (define-command isearch-symbol-backward () ()
    (isearch-start "ISearch Symbol: "
                   #'search-symbol-backward
                   #'search-symbol-forward
                   #'search-symbol-backward))
  
  (defun isearch-start (prompt
                        search-func
  
negative.code:      #'goto-column
       (search-forward-endp-function limit))))
  
  (defun search-backward-regexp (regex &optional limit)
    (let (scanner)
      (handler-case (setq scanner (ppcre:create-scanner regex))
        (error () (return-from search-backward-regexp nil)))
      (search-step
       #'(lambda ()
           (let (pos)
  