Function: c-clear-char-property
c-clear-char-property is a macro defined in cc-defs.el.gz.
Signature
(c-clear-char-property POS PROPERTY)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-defs.el.gz
(cc-bytecomp-defun c-clear-char-property-fun) ; Make it known below.
(defmacro c-clear-char-property (pos property)
;; Remove the given property on the character at POS if it's been put
;; there by `c-put-char-property'. PROPERTY is assumed to be
;; constant.
;;
;; This macro does a hidden buffer change.
(declare (debug t))
(setq property (eval property))
(cond (c-use-extents
;; XEmacs.
`(let ((ext (extent-at ,pos nil ',property)))
(if ext (delete-extent ext))))
((cc-bytecomp-boundp 'text-property-default-nonsticky)
;; In Emacs 21 we got the `rear-nonsticky' property covered
;; by `text-property-default-nonsticky'.
`(let ((pos ,pos))
,@(when (and (fboundp 'syntax-ppss)
(eq `,property 'syntax-table))
`((setq c-syntax-table-hwm (min c-syntax-table-hwm pos))))
(remove-text-properties pos (1+ pos)
'(,property nil))))
(t
;; Emacs < 21.
`(c-clear-char-property-fun ,pos ',property))))