Function: ediff-hide-marked-sessions

ediff-hide-marked-sessions is an interactive and byte-compiled function defined in ediff-mult.el.gz.

Signature

(ediff-hide-marked-sessions UNHIDE)

Documentation

Hide marked sessions.

With prefix arg UNHIDE, unhide instead.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-mult.el.gz
(defun ediff-hide-marked-sessions (unhide)
  "Hide marked sessions.

With prefix arg UNHIDE, unhide instead."
  (interactive "P")
  (let ((grp-buf (ediff-get-group-buffer ediff-meta-list))
	(meta-list (cdr ediff-meta-list))
	(from (if unhide ?I ?H))
	(to (if unhide ?H ?I))
	(numMarked 0)
	active-sessions-exist session-buf elt)
    (while meta-list
      (setq elt (car meta-list)
	    meta-list (cdr meta-list)
	    session-buf (ediff-get-session-buffer elt))

      (if (eq (ediff-get-session-status elt) from)
	  (progn
	    (setq numMarked (1+ numMarked))
	    (if (and (eq to ?I) (buffer-live-p session-buf))
		;; shouldn't hide active sessions
		(setq active-sessions-exist t)
	      (ediff-set-session-status elt to)))))
    (if (> numMarked 0)
	(ediff-update-meta-buffer grp-buf 'must-redraw)
      (beep)
      (if unhide
	  (message "Nothing to reveal...")
	(message "Nothing to hide...")))
    (if active-sessions-exist
	(message "Note: Ediff didn't hide active sessions!"))
    ))