diff options
| author | Glenn Morris | 2014-11-05 18:12:07 -0500 |
|---|---|---|
| committer | Glenn Morris | 2014-11-05 18:12:07 -0500 |
| commit | e1418d0e252b8f2b42eea18f16b25a78ca2ac721 (patch) | |
| tree | a2bb7d21c04ceec58aa80fbc2a88e8496507da12 | |
| parent | 8b86268b69acdb63697dbcb9def2582fa1be517f (diff) | |
| download | emacs-e1418d0e252b8f2b42eea18f16b25a78ca2ac721.tar.gz emacs-e1418d0e252b8f2b42eea18f16b25a78ca2ac721.zip | |
* 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
| -rw-r--r-- | lisp/vc/vc-git.el | 94 |
1 files 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." | |||
| 869 | "@{upstream}" | 869 | "@{upstream}" |
| 870 | remote-location)))) | 870 | remote-location)))) |
| 871 | 871 | ||
| 872 | (defun vc-git-region-history (file buffer lfrom lto) | ||
| 873 | (vc-git-command buffer 'async nil "log" "-p" ;"--follow" ;FIXME: not supported? | ||
| 874 | (format "-L%d,%d:%s" lfrom lto (file-relative-name file)))) | ||
| 875 | |||
| 876 | (require 'diff-mode) | ||
| 877 | |||
| 878 | (defvar vc-git-region-history-mode-map | ||
| 879 | (let ((map (make-composed-keymap | ||
| 880 | nil (make-composed-keymap | ||
| 881 | (list diff-mode-map vc-git-log-view-mode-map))))) | ||
| 882 | map)) | ||
| 883 | |||
| 884 | (defvar vc-git--log-view-long-font-lock-keywords nil) | ||
| 885 | (defvar font-lock-keywords) | ||
| 886 | (defvar vc-git-region-history-font-lock-keywords | ||
| 887 | `((vc-git-region-history-font-lock))) | ||
| 888 | |||
| 889 | (defun vc-git-region-history-font-lock (limit) | ||
| 890 | (let ((in-diff (save-excursion | ||
| 891 | (beginning-of-line) | ||
| 892 | (or (looking-at "^\\(?:diff\\|commit\\)\\>") | ||
| 893 | (re-search-backward "^\\(?:diff\\|commit\\)\\>" nil t)) | ||
| 894 | (eq ?d (char-after (match-beginning 0)))))) | ||
| 895 | (while | ||
| 896 | (let ((end (save-excursion | ||
| 897 | (if (re-search-forward "\n\\(diff\\|commit\\)\\>" | ||
| 898 | limit t) | ||
| 899 | (match-beginning 1) | ||
| 900 | limit)))) | ||
| 901 | (let ((font-lock-keywords (if in-diff diff-font-lock-keywords | ||
| 902 | vc-git--log-view-long-font-lock-keywords))) | ||
| 903 | (font-lock-fontify-keywords-region (point) end)) | ||
| 904 | (goto-char end) | ||
| 905 | (prog1 (< (point) limit) | ||
| 906 | (setq in-diff (eq ?d (char-after)))))) | ||
| 907 | nil)) | ||
| 908 | |||
| 909 | (define-derived-mode vc-git-region-history-mode | ||
| 910 | vc-git-log-view-mode "Git-Region-History" | ||
| 911 | "Major mode to browse Git's \"log -p\" output." | ||
| 912 | (setq-local vc-git--log-view-long-font-lock-keywords | ||
| 913 | log-view-font-lock-keywords) | ||
| 914 | (setq-local font-lock-defaults | ||
| 915 | (cons 'vc-git-region-history-font-lock-keywords | ||
| 916 | (cdr font-lock-defaults)))) | ||
| 917 | |||
| 918 | (defvar log-view-message-re) | 872 | (defvar log-view-message-re) |
| 919 | (defvar log-view-file-re) | 873 | (defvar log-view-file-re) |
| 920 | (defvar log-view-font-lock-keywords) | 874 | (defvar log-view-font-lock-keywords) |
| @@ -987,6 +941,54 @@ or BRANCH^ (where \"^\" can be repeated)." | |||
| 987 | (indent-region (point-min) (point-max) 2) | 941 | (indent-region (point-min) (point-max) 2) |
| 988 | (buffer-string)))) | 942 | (buffer-string)))) |
| 989 | 943 | ||
| 944 | |||
| 945 | (defun vc-git-region-history (file buffer lfrom lto) | ||
| 946 | (vc-git-command buffer 'async nil "log" "-p" ;"--follow" ;FIXME: not supported? | ||
| 947 | (format "-L%d,%d:%s" lfrom lto (file-relative-name file)))) | ||
| 948 | |||
| 949 | (require 'diff-mode) | ||
| 950 | |||
| 951 | (defvar vc-git-region-history-mode-map | ||
| 952 | (let ((map (make-composed-keymap | ||
| 953 | nil (make-composed-keymap | ||
| 954 | (list diff-mode-map vc-git-log-view-mode-map))))) | ||
| 955 | map)) | ||
| 956 | |||
| 957 | (defvar vc-git--log-view-long-font-lock-keywords nil) | ||
| 958 | (defvar font-lock-keywords) | ||
| 959 | (defvar vc-git-region-history-font-lock-keywords | ||
| 960 | `((vc-git-region-history-font-lock))) | ||
| 961 | |||
| 962 | (defun vc-git-region-history-font-lock (limit) | ||
| 963 | (let ((in-diff (save-excursion | ||
| 964 | (beginning-of-line) | ||
| 965 | (or (looking-at "^\\(?:diff\\|commit\\)\\>") | ||
| 966 | (re-search-backward "^\\(?:diff\\|commit\\)\\>" nil t)) | ||
| 967 | (eq ?d (char-after (match-beginning 0)))))) | ||
| 968 | (while | ||
| 969 | (let ((end (save-excursion | ||
| 970 | (if (re-search-forward "\n\\(diff\\|commit\\)\\>" | ||
| 971 | limit t) | ||
| 972 | (match-beginning 1) | ||
| 973 | limit)))) | ||
| 974 | (let ((font-lock-keywords (if in-diff diff-font-lock-keywords | ||
| 975 | vc-git--log-view-long-font-lock-keywords))) | ||
| 976 | (font-lock-fontify-keywords-region (point) end)) | ||
| 977 | (goto-char end) | ||
| 978 | (prog1 (< (point) limit) | ||
| 979 | (setq in-diff (eq ?d (char-after)))))) | ||
| 980 | nil)) | ||
| 981 | |||
| 982 | (define-derived-mode vc-git-region-history-mode | ||
| 983 | vc-git-log-view-mode "Git-Region-History" | ||
| 984 | "Major mode to browse Git's \"log -p\" output." | ||
| 985 | (setq-local vc-git--log-view-long-font-lock-keywords | ||
| 986 | log-view-font-lock-keywords) | ||
| 987 | (setq-local font-lock-defaults | ||
| 988 | (cons 'vc-git-region-history-font-lock-keywords | ||
| 989 | (cdr font-lock-defaults)))) | ||
| 990 | |||
| 991 | |||
| 990 | (autoload 'vc-switches "vc") | 992 | (autoload 'vc-switches "vc") |
| 991 | 993 | ||
| 992 | (defun vc-git-diff (files &optional rev1 rev2 buffer) | 994 | (defun vc-git-diff (files &optional rev1 rev2 buffer) |