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