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)))))