Function: ediff-status-info

ediff-status-info is an interactive and byte-compiled function defined in ediff-util.el.gz.

Signature

(ediff-status-info)

Documentation

Show the names of the buffers or files being operated on by Ediff.

Hit M-x ediff-recenter (ediff-recenter) to reset the windows afterward.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-util.el.gz
(defun ediff-status-info ()
  "Show the names of the buffers or files being operated on by Ediff.
Hit \\[ediff-recenter] to reset the windows afterward."
  (interactive)
  (ediff-barf-if-not-control-buffer)
  (save-excursion
    (ediff-skip-unsuitable-frames))
  (with-output-to-temp-buffer ediff-msg-buffer
    (ediff-with-current-buffer standard-output
      (fundamental-mode))
    (raise-frame)
    (princ (ediff-version))
    (princ "\n\n")
    (ediff-with-current-buffer ediff-buffer-A
      (if buffer-file-name
	  (princ
	   (format "File A = %S\n" buffer-file-name))
	(princ
	 (format "Buffer A = %S\n" (buffer-name)))))
    (ediff-with-current-buffer ediff-buffer-B
      (if buffer-file-name
	  (princ
	   (format "File B = %S\n" buffer-file-name))
	(princ
	 (format "Buffer B = %S\n" (buffer-name)))))
    (if ediff-3way-job
	(ediff-with-current-buffer ediff-buffer-C
	  (if buffer-file-name
	      (princ
	       (format "File C = %S\n" buffer-file-name))
	    (princ
	     (format "Buffer C = %S\n" (buffer-name))))))
    (princ (format "Customized diff output %s\n"
		   (if (ediff-buffer-live-p ediff-custom-diff-buffer)
		       (concat "\tin buffer "
			       (buffer-name ediff-custom-diff-buffer))
		     " is not available")))
    (princ (format "Plain diff output %s\n"
		   (if (ediff-buffer-live-p ediff-diff-buffer)
		       (concat "\tin buffer "
			       (buffer-name ediff-diff-buffer))
		     " is not available")))

    (let* ((A-line (ediff-with-current-buffer ediff-buffer-A
		     (1+ (count-lines (point-min) (point)))))
	   (B-line (ediff-with-current-buffer ediff-buffer-B
		     (1+ (count-lines (point-min) (point)))))
	   C-line)
      (princ (format-message "Buffer A's point is on line %d\n" A-line))
      (princ (format-message "Buffer B's point is on line %d\n" B-line))
      (if ediff-3way-job
	  (progn
	    (setq C-line (ediff-with-current-buffer ediff-buffer-C
			   (1+ (count-lines (point-min) (point)))))
	    (princ (format-message
		    "Buffer C's point is on line %d\n" C-line)))))

    (princ (format "\nCurrent difference number = %S\n"
		   (cond ((< ediff-current-difference 0) 'start)
			 ((>= ediff-current-difference
			      ediff-number-of-differences) 'end)
			 (t (1+ ediff-current-difference)))))

    (princ
     (format "\n%s regions that differ in white space & line breaks only"
	     (if ediff-ignore-similar-regions
		 "Ignoring" "Showing")))
    (if (and ediff-merge-job ediff-show-clashes-only)
	(princ
	 "\nFocusing on regions where both buffers differ from the ancestor"))
    (if (and ediff-skip-merge-regions-that-differ-from-default ediff-merge-job)
	(princ
	 "\nSkipping merge regions that differ from default setting"))

    (cond ((eq ediff-skip-diff-region-function #'ediff-show-all-diffs)
	   (princ "\nSelective browsing by regexp is off\n"))
	  ((eq ediff-skip-diff-region-function
	       ediff-hide-regexp-matches-function)
	   (princ
	    "\nIgnoring regions that match")
	   (princ
	    (format-message
	     "\n\t regexp `%s' in buffer A  %S\n\t regexp `%s' in buffer B\n"
	     ediff-regexp-hide-A ediff-hide-regexp-connective
	     ediff-regexp-hide-B)))
	  ((eq ediff-skip-diff-region-function
	       ediff-focus-on-regexp-matches-function)
	   (princ
	    "\nFocusing on regions that match")
	   (princ
	    (format-message
	     "\n\t regexp `%s' in buffer A  %S\n\t regexp `%s' in buffer B\n"
	     ediff-regexp-focus-A ediff-focus-regexp-connective
	     ediff-regexp-focus-B)))
	  (t (princ "\nSelective browsing via a user-defined method.\n")))

    (princ
     (format-message
      "\nBugs/suggestions: type `%s' while in Ediff Control Panel."
      (substitute-command-keys "\\[ediff-submit-report]")))
    ) ; with output
  (if (frame-live-p ediff-control-frame)
      (ediff-reset-mouse ediff-control-frame))
  (if (window-live-p ediff-control-window)
      (select-window ediff-control-window)))