Function: log-edit-changelog--pattern

log-edit-changelog--pattern is a byte-compiled function defined in log-edit.el.gz.

Signature

(log-edit-changelog--pattern FILE CHANGELOG-FILE-NAME)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/log-edit.el.gz
(defun log-edit-changelog--pattern (file changelog-file-name)
  (if (eq (aref file (1- (length file))) ?/)
      ;; Match any files inside this directory.
      (concat "^\t\\* " (unless (string= file "./") file))
    ;; Search for the name of FILE relative to the ChangeLog.  If that
    ;; doesn't occur anywhere, they're not using full relative
    ;; filenames in the ChangeLog, so just look for FILE; we'll accept
    ;; some false positives.
    (let ((pattern (file-relative-name
                    file (file-name-directory changelog-file-name))))
      ;; FIXME: When can the above return an empty string?
      (if (or (string= pattern "")
              (not (save-excursion
                     (search-forward pattern nil t))))
          (setq pattern (file-name-nondirectory file)))
      (setq pattern (concat "\\(^\\|[^[:alnum:]]\\)"
                            (regexp-quote pattern)
                            "\\($\\|[^[:alnum:]]\\)")))))