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. Return the position of the first removed property, if any, or nil.

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.
Return the position of the first removed property, if any, or nil."
  (let ((place from) end-place
	first)
    (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))
      (unless first (setq first place))
      ;; Do we have to do anything with stickiness here?
      (setq place end-place))
    first))