Function: diff--get-revision-properties
diff--get-revision-properties is a byte-compiled function defined in
diff-mode.el.gz.
Signature
(diff--get-revision-properties FILE REVISION TEXT LINE-NB)
Documentation
Get font-lock properties from FILE at REVISION for TEXT at LINE-NB.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/diff-mode.el.gz
(defun diff--get-revision-properties (file revision text line-nb)
"Get font-lock properties from FILE at REVISION for TEXT at LINE-NB."
(let* ((file-rev (cons file revision))
(entry (assoc file-rev diff--cached-revision-buffers))
(buffer (cdr entry)))
(if (buffer-live-p buffer)
(progn
(setq diff--cached-revision-buffers
(cons entry
(delq entry diff--cached-revision-buffers))))
;; Cache miss: create a new entry.
(setq buffer (get-buffer-create (format " *diff-syntax:%s.~%s~*"
file revision)))
(condition-case nil
(vc-find-revision-no-save file revision diff-vc-backend buffer)
(error
(kill-buffer buffer)
(setq buffer nil))
(:success
(push (cons file-rev buffer)
diff--cached-revision-buffers))))
(when diff--cache-clean-timer
(cancel-timer diff--cache-clean-timer))
(diff--cache-schedule-clean)
(and buffer
(with-current-buffer buffer
;; Major mode is set in vc-find-revision-no-save already.
(diff-syntax-fontify-props nil text line-nb)))))