From e1418d0e252b8f2b42eea18f16b25a78ca2ac721 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 5 Nov 2014 18:12:07 -0500 Subject: [PATCH] * lisp/vc/vc/git.el: Fix previous. Move new code after vc-git-log-view-mode definition to avoid bootstrap error. Ref: http://hydra.nixos.org/build/16795500 --- lisp/vc/vc-git.el | 94 ++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 5d7c0ef5c7b..be0211c1132 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -869,52 +869,6 @@ If LIMIT is non-nil, show no more than this many entries." "@{upstream}" remote-location)))) -(defun vc-git-region-history (file buffer lfrom lto) - (vc-git-command buffer 'async nil "log" "-p" ;"--follow" ;FIXME: not supported? - (format "-L%d,%d:%s" lfrom lto (file-relative-name file)))) - -(require 'diff-mode) - -(defvar vc-git-region-history-mode-map - (let ((map (make-composed-keymap - nil (make-composed-keymap - (list diff-mode-map vc-git-log-view-mode-map))))) - map)) - -(defvar vc-git--log-view-long-font-lock-keywords nil) -(defvar font-lock-keywords) -(defvar vc-git-region-history-font-lock-keywords - `((vc-git-region-history-font-lock))) - -(defun vc-git-region-history-font-lock (limit) - (let ((in-diff (save-excursion - (beginning-of-line) - (or (looking-at "^\\(?:diff\\|commit\\)\\>") - (re-search-backward "^\\(?:diff\\|commit\\)\\>" nil t)) - (eq ?d (char-after (match-beginning 0)))))) - (while - (let ((end (save-excursion - (if (re-search-forward "\n\\(diff\\|commit\\)\\>" - limit t) - (match-beginning 1) - limit)))) - (let ((font-lock-keywords (if in-diff diff-font-lock-keywords - vc-git--log-view-long-font-lock-keywords))) - (font-lock-fontify-keywords-region (point) end)) - (goto-char end) - (prog1 (< (point) limit) - (setq in-diff (eq ?d (char-after)))))) - nil)) - -(define-derived-mode vc-git-region-history-mode - vc-git-log-view-mode "Git-Region-History" - "Major mode to browse Git's \"log -p\" output." - (setq-local vc-git--log-view-long-font-lock-keywords - log-view-font-lock-keywords) - (setq-local font-lock-defaults - (cons 'vc-git-region-history-font-lock-keywords - (cdr font-lock-defaults)))) - (defvar log-view-message-re) (defvar log-view-file-re) (defvar log-view-font-lock-keywords) @@ -987,6 +941,54 @@ or BRANCH^ (where \"^\" can be repeated)." (indent-region (point-min) (point-max) 2) (buffer-string)))) + +(defun vc-git-region-history (file buffer lfrom lto) + (vc-git-command buffer 'async nil "log" "-p" ;"--follow" ;FIXME: not supported? + (format "-L%d,%d:%s" lfrom lto (file-relative-name file)))) + +(require 'diff-mode) + +(defvar vc-git-region-history-mode-map + (let ((map (make-composed-keymap + nil (make-composed-keymap + (list diff-mode-map vc-git-log-view-mode-map))))) + map)) + +(defvar vc-git--log-view-long-font-lock-keywords nil) +(defvar font-lock-keywords) +(defvar vc-git-region-history-font-lock-keywords + `((vc-git-region-history-font-lock))) + +(defun vc-git-region-history-font-lock (limit) + (let ((in-diff (save-excursion + (beginning-of-line) + (or (looking-at "^\\(?:diff\\|commit\\)\\>") + (re-search-backward "^\\(?:diff\\|commit\\)\\>" nil t)) + (eq ?d (char-after (match-beginning 0)))))) + (while + (let ((end (save-excursion + (if (re-search-forward "\n\\(diff\\|commit\\)\\>" + limit t) + (match-beginning 1) + limit)))) + (let ((font-lock-keywords (if in-diff diff-font-lock-keywords + vc-git--log-view-long-font-lock-keywords))) + (font-lock-fontify-keywords-region (point) end)) + (goto-char end) + (prog1 (< (point) limit) + (setq in-diff (eq ?d (char-after)))))) + nil)) + +(define-derived-mode vc-git-region-history-mode + vc-git-log-view-mode "Git-Region-History" + "Major mode to browse Git's \"log -p\" output." + (setq-local vc-git--log-view-long-font-lock-keywords + log-view-font-lock-keywords) + (setq-local font-lock-defaults + (cons 'vc-git-region-history-font-lock-keywords + (cdr font-lock-defaults)))) + + (autoload 'vc-switches "vc") (defun vc-git-diff (files &optional rev1 rev2 buffer) -- 2.39.5