Function: cpp-parse-close

cpp-parse-close is a byte-compiled function defined in cpp.el.gz.

Signature

(cpp-parse-close FROM TO)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cpp.el.gz
(defun cpp-parse-close (from to)
  ;; Pop top of cpp-state-stack and create overlay.
  (let ((entry (assoc (nth 1 (car cpp-state-stack)) cpp-edit-list))
	(branch (nth 0 (car cpp-state-stack)))
	(end (nth 3 (car cpp-state-stack))))
    (setq cpp-state-stack (cdr cpp-state-stack))
    (if entry
	(let ((face (nth (if branch 1 2) entry))
	      (read-only (eq (not branch) (nth 3 entry)))
	      (priority (length cpp-state-stack))
	      (overlay (make-overlay end from)))
	  (cpp-make-known-overlay from to)
	  (setq cpp-overlay-list (cons overlay cpp-overlay-list))
	  (if priority (overlay-put overlay 'priority priority))
	  (cond ((eq face 'invisible)
		 (cpp-make-overlay-hidden overlay))
		((eq face 'default))
		(t
		 (overlay-put overlay 'face face)))
	  (if read-only
	      (cpp-make-overlay-read-only overlay)
	    (cpp-make-overlay-sticky overlay)))
      (cpp-make-unknown-overlay from to))))