Function: c-with-string-fences
c-with-string-fences is a macro defined in cc-defs.el.gz.
Signature
(c-with-string-fences &rest FORMS)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-defs.el.gz
;; Non-nil when we have set string fences with `c-restore-string-fences'.
(defmacro c-with-string-fences (&rest forms)
;; Restore the string fences, evaluate FORMS, then remove them again. It
;; should only be used at the top level of "boundary" functions in CC Mode,
;; i.e. those called from outside CC Mode which directly or indirectly need
;; unbalanced string markers to have their string-fence syntax-table text
;; properties. This includes all calls to `c-parse-state'. This macro will
;; be invoked recursively; however the `c-string-fences-set-flag' mechanism
;; should ensure consistency, when this happens.
(declare (debug t))
`(unwind-protect
(progn
(unless c-string-fences-set-flag
(c-restore-string-fences))
(let ((c-string-fences-set-flag t))
,@forms))
(unless c-string-fences-set-flag
(c-clear-string-fences))))