Function: c-tnt-chng-cleanup
c-tnt-chng-cleanup is a byte-compiled function defined in
cc-defs.el.gz.
Signature
(c-tnt-chng-cleanup KEEP SAVED-STATE)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-defs.el.gz
(buffer-modified-p))) ; 5
(defun c-tnt-chng-cleanup (keep saved-state)
;; Used internally in `c-tentative-buffer-changes'.
(let ((saved-undo-list (elt saved-state 0)))
(if (eq buffer-undo-list saved-undo-list)
;; No change was done after all.
(setq buffer-undo-list (cdr saved-undo-list))
(if keep
(if (eq saved-undo-list t)
(progn
(c-benign-error
"Can't save additional undo list in c-tnt-chng-cleanup")
(setq buffer-undo-list t))
;; Find and remove the undo boundary.
(let ((p buffer-undo-list))
(while (not (eq (cdr p) saved-undo-list))
(setq p (cdr p)))
(setcdr p (cdr saved-undo-list))))
(let ((undo-in-progress t)
(end-undo-list (if (eq saved-undo-list t)
nil
;; `primitive-undo' will remove the boundary.
(cdr saved-undo-list))))
(while (not (eq buffer-undo-list end-undo-list))
(setq buffer-undo-list (primitive-undo 1 buffer-undo-list))))
(if (eq saved-undo-list t)
(setq buffer-undo-list t))
(when (buffer-live-p (elt saved-state 1))
(set-buffer (elt saved-state 1))
(goto-char (elt saved-state 2))
(set-mark (elt saved-state 3))
(c-set-region-active (elt saved-state 4))
(and (not (elt saved-state 5))
(buffer-modified-p)
(set-buffer-modified-p nil)))))))