Function: change-log-version-number-search
change-log-version-number-search is a byte-compiled function defined
in add-log.el.gz.
Signature
(change-log-version-number-search)
Documentation
Return version number of current buffer's file.
This is the value returned by vc-working-revision or, if that is
nil, by matching change-log-version-number-regexp-list.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/add-log.el.gz
(defun change-log-version-number-search ()
"Return version number of current buffer's file.
This is the value returned by `vc-working-revision' or, if that is
nil, by matching `change-log-version-number-regexp-list'."
(let* ((size (buffer-size))
(limit
;; The version number can be anywhere in the file, but
;; restrict search to the file beginning: 10% should be
;; enough to prevent some mishits.
;;
;; Apply percentage only if buffer size is bigger than
;; approx 100 lines.
(if (> size (* 100 80)) (+ (point) (/ size 10)))))
(or (and buffer-file-name (vc-working-revision buffer-file-name))
(save-restriction
(widen)
(let ((regexps change-log-version-number-regexp-list)
version)
(while regexps
(save-excursion
(goto-char (point-min))
(when (re-search-forward (pop regexps) limit t)
(setq version (match-string 1)
regexps nil))))
version)))))