Function: ediff-update-markers-in-dir-meta-buffer

ediff-update-markers-in-dir-meta-buffer is a byte-compiled function defined in ediff-mult.el.gz.

Signature

(ediff-update-markers-in-dir-meta-buffer META-LIST)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-mult.el.gz
(defun ediff-update-markers-in-dir-meta-buffer (meta-list)
  (let ((meta-buf (ediff-get-group-buffer meta-list))
	session-info point overl buffer-read-only)
    (ediff-with-current-buffer meta-buf
      (setq point (point))
      (goto-char (point-min))
      (ediff-next-meta-item1)
      (while (not (bobp))
	(setq session-info (ediff-get-meta-info meta-buf (point) 'no-error)
	      overl (ediff-get-meta-overlay-at-pos (point)))
	(if session-info
	    (progn
	      (cond ((eq (ediff-get-session-status session-info) ?I)
		     ;; Do hiding
		     (if overl (ediff-overlay-put overl 'invisible t)))
		    ((and (eq (ediff-get-session-status session-info) ?H)
			  overl (overlay-get overl 'invisible))
		     ;; Do unhiding
		     (ediff-overlay-put overl 'invisible nil))
		    (t (ediff-replace-session-activity-marker-in-meta-buffer
			(point)
			(ediff-get-session-activity-marker session-info))
		       (ediff-replace-session-status-in-meta-buffer
			(point)
			(ediff-get-session-status session-info))))))
	(ediff-next-meta-item1) ; advance to the next item
	) ; end while
      (set-buffer-modified-p nil)
      (goto-char point))
    meta-buf))