Function: emerge-really-quit
emerge-really-quit is a byte-compiled function defined in
emerge.el.gz.
Signature
(emerge-really-quit ARG)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/emerge.el.gz
;; Perform the quit operations.
(defun emerge-really-quit (arg)
(setq buffer-read-only nil)
(emerge-unselect-and-select-difference -1)
(emerge-restore-buffer-characteristics)
;; null out the difference markers so they don't slow down future editing
;; operations
(mapc (lambda (d)
(set-marker (aref d 0) nil)
(set-marker (aref d 1) nil)
(set-marker (aref d 2) nil)
(set-marker (aref d 3) nil)
(set-marker (aref d 4) nil)
(set-marker (aref d 5) nil))
emerge-difference-list)
;; allow them to be garbage collected
(setq emerge-difference-list nil)
;; restore the local map
(use-local-map emerge-old-keymap)
;; turn off all the emerge modes
(setq emerge-mode nil)
(setq emerge-fast-mode nil)
(setq emerge-edit-mode nil)
(setq emerge-auto-advance nil)
(setq emerge-skip-prefers nil)
;; restore mode line
(kill-local-variable 'mode-line-buffer-identification)
(let ((emerge-prefix-argument arg))
(run-hooks 'emerge-quit-hook)))