Function: change-log-search-file-name

change-log-search-file-name is a byte-compiled function defined in add-log.el.gz.

Signature

(change-log-search-file-name WHERE)

Documentation

Return the file-name for the change under point.

Source Code

;; Defined in /usr/src/emacs/lisp/vc/add-log.el.gz
(defun change-log-search-file-name (where)
  "Return the file-name for the change under point."
  (save-excursion
    (goto-char where)
    (beginning-of-line 1)
    (if (looking-at change-log-start-entry-re)
	;; We are at the start of an entry, search forward for a file
	;; name.
	(progn
	  (re-search-forward change-log-file-names-re nil t)
	  (match-string-no-properties 2))
      (if (looking-at change-log-file-names-re)
	  ;; We found a file name.
	  (match-string-no-properties 2)
	;; Look backwards for either a file name or the log entry start.
	(if (re-search-backward
	     (concat "\\(" change-log-start-entry-re
		     "\\)\\|\\("
		     change-log-file-names-re "\\)") nil t)
	    (if (match-beginning 1)
		;; We got the start of the entry, look forward for a
		;; file name.
		(progn
		  (re-search-forward change-log-file-names-re nil t)
		  (match-string-no-properties 2))
	      (match-string-no-properties 4))
	  ;; We must be before any file name, look forward.
	  (re-search-forward change-log-file-names-re nil t)
	  (match-string-no-properties 2))))))