Function: c-depropertize-CPP
c-depropertize-CPP is a byte-compiled function defined in
cc-mode.el.gz.
Signature
(c-depropertize-CPP BEG END)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-mode.el.gz
(defun c-depropertize-CPP (beg end)
;; Remove the punctuation syntax-table text property from the CPP parts of
;; (c-new-BEG c-new-END), and remove all syntax-table properties from any
;; raw strings within these CPP parts.
;;
;; This function is in the C/C++/ObjC values of
;; `c-get-state-before-change-functions' and is called exclusively as a
;; before change function.
(c-save-buffer-state (m-beg ss-found)
(goto-char c-new-BEG)
(while (and (< (point) beg)
(search-forward-regexp c-anchored-cpp-prefix beg 'bound))
(goto-char (match-beginning 1))
(setq m-beg (point))
(c-end-of-macro)
(when c-ml-string-opener-re
(save-excursion (c-depropertize-ml-strings-in-region m-beg (point))))
(c-clear-char-property-with-value m-beg (point) 'syntax-table '(1)))
(while (and (< (point) end)
(setq ss-found
(search-forward-regexp c-anchored-cpp-prefix end 'bound)))
(goto-char (match-beginning 1))
(setq m-beg (point))
(c-end-of-macro))
(when (and ss-found (> (point) end))
(when c-ml-string-opener-re
(save-excursion (c-depropertize-ml-strings-in-region m-beg (point))))
(c-clear-char-property-with-value m-beg (point) 'syntax-table '(1)))
(while (and (< (point) c-new-END)
(search-forward-regexp c-anchored-cpp-prefix c-new-END 'bound))
(goto-char (match-beginning 1))
(setq m-beg (point))
(c-end-of-macro)
(when c-ml-string-opener-re
(save-excursion (c-depropertize-ml-strings-in-region m-beg (point))))
(c-clear-char-property-with-value
m-beg (point) 'syntax-table '(1)))))