Function: diff-find-approx-text
diff-find-approx-text is a byte-compiled function defined in
diff-mode.el.gz.
Signature
(diff-find-approx-text TEXT)
Documentation
Return the buffer position (BEG . END) of the nearest occurrence of TEXT.
Whitespace differences are ignored.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/diff-mode.el.gz
(defun diff-find-approx-text (text)
"Return the buffer position (BEG . END) of the nearest occurrence of TEXT.
Whitespace differences are ignored."
(let* ((orig (point))
(re (concat "^[ \t\n]*"
(mapconcat #'regexp-quote (split-string text) "[ \t\n]+")
"[ \t\n]*\n"))
(forw (and (re-search-forward re nil t)
(cons (match-beginning 0) (match-end 0))))
(back (and (goto-char (+ orig (length text)))
(re-search-backward re nil t)
(cons (match-beginning 0) (match-end 0)))))
;; Choose the closest match.
(if (and forw back)
(if (> (- (car forw) orig) (- orig (car back))) back forw)
(or back forw))))