Function: text-property--find-end-forward
text-property--find-end-forward is a byte-compiled function defined in
text-property-search.el.gz.
Signature
(text-property--find-end-forward START PROPERTY VALUE PREDICATE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/text-property-search.el.gz
(defun text-property--find-end-forward (start property value predicate)
(let (end)
(if (and value
(null predicate))
;; This is the normal case: We're looking for areas where the
;; values aren't, so we aren't interested in sub-areas where the
;; property has different values, all non-matching value.
(let ((ended nil))
(while (not ended)
(setq end (next-single-property-change (point) property))
(if (not end)
(progn
(goto-char (point-max))
(setq end (point)
ended t))
(goto-char end)
(unless (text-property--match-p
value (get-text-property (point) property) predicate)
(setq ended t)))))
;; End this at the first place the property changes value.
(setq end (next-single-property-change (point) property nil (point-max)))
(goto-char end))
(make-prop-match :beginning start
:end end
:value (get-text-property start property))))