Function: c-clear-char-property-with-value-function
c-clear-char-property-with-value-function is a byte-compiled function
defined in cc-defs.el.gz.
Signature
(c-clear-char-property-with-value-function FROM TO PROPERTY VALUE)
Documentation
Remove all text-properties PROPERTY from the region (FROM, TO)
which have the value VALUE, as tested by equal. These
properties are assumed to be over individual characters, having
been put there by c-put-char-property. POINT remains unchanged.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-defs.el.gz
(defun c-clear-char-property-with-value-function (from to property value)
"Remove all text-properties PROPERTY from the region (FROM, TO)
which have the value VALUE, as tested by `equal'. These
properties are assumed to be over individual characters, having
been put there by `c-put-char-property'. POINT remains unchanged."
(let ((place from) end-place)
(while ; loop round occurrences of (PROPERTY VALUE)
(progn
(while ; loop round changes in PROPERTY till we find VALUE
(and
(< place to)
(not (equal (get-text-property place property) value)))
(setq place (c-next-single-property-change place property nil to)))
(< place to))
(when (and (fboundp 'syntax-ppss) (eq property 'syntax-table))
(setq c-syntax-table-hwm (min c-syntax-table-hwm place)))
(setq end-place (c-next-single-property-change place property nil to))
(remove-text-properties place end-place (list property nil))
;; Do we have to do anything with stickiness here?
(setq place end-place))))