Function: c-unfind-coalesced-tokens
c-unfind-coalesced-tokens is a byte-compiled function defined in
cc-mode.el.gz.
Signature
(c-unfind-coalesced-tokens BEG END)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-mode.el.gz
(defun c-unfind-coalesced-tokens (beg end)
;; If removing the region (beg end) would coalesce an identifier ending at
;; beg with an identifier (fragment) beginning at end, or an identifier
;; fragment ending at beg with an identifier beginning at end, remove the
;; pertinent identifier(s) from `c-found-types'.
(save-excursion
(when (< beg end)
(goto-char beg)
(let ((lim (c-determine-limit 1000))
(lim+ (c-determine-+ve-limit 1000 end)))
(when
(and (not (bobp))
(progn (c-backward-syntactic-ws lim) (eq (point) beg))
(/= (skip-chars-backward c-symbol-chars (1- (point))) 0)
(progn (goto-char beg) (c-forward-syntactic-ws lim+)
(<= (point) end))
(> (point) beg)
(goto-char end)
(looking-at c-symbol-char-key))
(goto-char beg)
(c-simple-skip-symbol-backward)
(c-unfind-type (buffer-substring-no-properties (point) beg)))
(goto-char end)
(when
(and (not (eobp))
(progn (c-forward-syntactic-ws lim+) (eq (point) end))
(looking-at c-symbol-char-key)
(progn (c-backward-syntactic-ws lim) (>= (point) beg))
(< (point) end)
(/= (skip-chars-backward c-symbol-chars (1- (point))) 0))
(goto-char (1+ end))
(c-end-of-current-token)
(c-unfind-type (buffer-substring-no-properties end (point))))))))