Function: ediff-update-meta-buffer
ediff-update-meta-buffer is a byte-compiled function defined in
ediff-mult.el.gz.
Signature
(ediff-update-meta-buffer META-BUF &optional MUST-REDRAW SESSION-NUMBER)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-mult.el.gz
;; If meta-buf doesn't exist, it is created. In that case, id doesn't have a
;; parent meta-buf
;; Check if META-BUF exists before calling this function
;; Optional MUST-REDRAW, if non-nil, would force redrawing of the whole meta
;; buffer. Otherwise, it will just go over the buffer and update activity marks
;; and session status.
;; SESSION-NUMBER, if specified, says which session caused the update.
(defun ediff-update-meta-buffer (meta-buf &optional must-redraw session-number)
(if (ediff-buffer-live-p meta-buf)
(ediff-with-current-buffer meta-buf
(let (overl)
(cond (must-redraw ; completely redraw the meta buffer
(funcall ediff-meta-redraw-function ediff-meta-list))
((numberp session-number) ; redraw only for the given session
(ediff-update-session-marker-in-dir-meta-buffer
session-number))
(t ; update what changed only, but scan the entire meta buffer
(ediff-update-markers-in-dir-meta-buffer ediff-meta-list)))
(setq overl (ediff-get-meta-overlay-at-pos (point)))
;; skip the invisible sessions
(while (and overl (overlay-get overl 'invisible))
(ediff-next-meta-item1)
(setq overl (ediff-get-meta-overlay-at-pos (point))))
))))