Function: ediff-quit-meta-buffer

ediff-quit-meta-buffer is an interactive and byte-compiled function defined in ediff-mult.el.gz.

Signature

(ediff-quit-meta-buffer)

Documentation

If the group has no active session, delete the meta buffer.

If no session is in progress, ask to confirm before deleting meta buffer. Otherwise, bury the meta buffer. If this is a session registry buffer then just bury it.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-mult.el.gz
(defun ediff-quit-meta-buffer ()
  "If the group has no active session, delete the meta buffer.
If no session is in progress, ask to confirm before deleting meta buffer.
Otherwise, bury the meta buffer.
If this is a session registry buffer then just bury it."
  (interactive)
  (let* ((buf (current-buffer))
	 (dir-diffs-buffer ediff-dir-diffs-buffer)
	 (meta-diff-buffer ediff-meta-diff-buffer)
	 (session-number ediff-meta-session-number)
	 (parent-buf ediff-parent-meta-buffer)
	 (dont-show-registry (eq buf ediff-registry-buffer)))
    (if dont-show-registry
	(bury-buffer)
      ;;(ediff-cleanup-meta-buffer buf)
      (cond ((and (ediff-safe-to-quit buf)
		  (y-or-n-p "Quit this session group? "))
	     (run-hooks 'ediff-quit-session-group-hook)
	     (message "")
	     (ediff-dispose-of-meta-buffer buf))
	    ((ediff-safe-to-quit buf)
	     (bury-buffer))
	    (t
	     (error
	      "This session group has active sessions---cannot exit")))
      (ediff-update-meta-buffer parent-buf nil session-number)
      (ediff-kill-buffer-carefully dir-diffs-buffer)
      (ediff-kill-buffer-carefully meta-diff-buffer)
      (if (ediff-buffer-live-p parent-buf)
	  (progn
	    (setq dont-show-registry t)
	    (ediff-show-meta-buffer parent-buf session-number)))
      )
    (or dont-show-registry
	(ediff-show-registry))))