Function: c-search-backward-char-property
c-search-backward-char-property is a macro defined in cc-defs.el.gz.
Signature
(c-search-backward-char-property PROPERTY VALUE &optional LIMIT)
Documentation
Search backward for a text-property PROPERTY having value VALUE.
LIMIT bounds the search. The comparison is done with equal.
Leave point just before the character, set the match data on this character, and return point. If VALUE isn't found, Return nil; point is then left undefined.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-defs.el.gz
(defmacro c-search-backward-char-property (property value &optional limit)
"Search backward for a text-property PROPERTY having value VALUE.
LIMIT bounds the search. The comparison is done with `equal'.
Leave point just before the character, set the match data on this
character, and return point. If VALUE isn't found, Return nil;
point is then left undefined."
(declare (debug t))
`(let ((place (point)))
(while
(and
(> place ,(or limit '(point-min)))
(not (equal (c-get-char-property (1- place) ,property) ,value)))
(setq place (,(if (and c-use-extents
(fboundp 'previous-single-char-property-change))
;; XEmacs > 2005-01-25.
'previous-single-char-property-change
;; Emacs and earlier XEmacs.
'previous-single-property-change)
place ,property nil ,(or limit '(point-min)))))
(when (> place ,(or limit '(point-min)))
(goto-char place)
(search-backward-regexp "\\(\n\\|.\\)") ; to set the match-data.
(point))))