diff options
| -rw-r--r-- | lisp/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/vc-hg.el | 27 |
2 files changed, 31 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0725b9d3451..fdb128b6abe 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-22 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 2 | |||
| 3 | * vc-hg.el (vc-hg-log-view-mode): New mode. | ||
| 4 | |||
| 1 | 2007-06-21 Jay Belanger <jay.p.belanger@gmail.com> | 5 | 2007-06-21 Jay Belanger <jay.p.belanger@gmail.com> |
| 2 | 6 | ||
| 3 | * calc/calc.el (math-read-number-simple): New function. | 7 | * calc/calc.el (math-read-number-simple): New function. |
diff --git a/lisp/vc-hg.el b/lisp/vc-hg.el index c7bcda7ebc5..1c1c47fcf03 100644 --- a/lisp/vc-hg.el +++ b/lisp/vc-hg.el | |||
| @@ -111,6 +111,33 @@ | |||
| 111 | (if (and (vc-stay-local-p file) (fboundp 'start-process)) 'async 0) | 111 | (if (and (vc-stay-local-p file) (fboundp 'start-process)) 'async 0) |
| 112 | file "log")) | 112 | file "log")) |
| 113 | 113 | ||
| 114 | (defvar log-view-message-re) | ||
| 115 | (defvar log-view-file-re) | ||
| 116 | (defvar log-view-font-lock-keywords) | ||
| 117 | (defvar log-view-current-tag-function) | ||
| 118 | |||
| 119 | (define-derived-mode vc-hg-log-view-mode log-view-mode "HG-Log-View" | ||
| 120 | (require 'add-log) ;; we need the faces add-log | ||
| 121 | ;; Don't have file markers, so use impossible regexp. | ||
| 122 | (set (make-local-variable 'log-view-file-re) "\\'\\`") | ||
| 123 | (set (make-local-variable 'log-view-message-re) | ||
| 124 | "^changeset:[ \t]*\\([0-9]+\\):\\(.+\\)") | ||
| 125 | (set (make-local-variable 'log-view-font-lock-keywords) | ||
| 126 | (append | ||
| 127 | ;; XXX maybe use a different face for the version number | ||
| 128 | `((,log-view-message-re (1 'change-log-acknowledgement))) | ||
| 129 | ;; Handle the case: | ||
| 130 | ;; user: foo@bar | ||
| 131 | '(("^user:[ \t]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)" | ||
| 132 | (1 'change-log-email)) | ||
| 133 | ;; Handle the case: | ||
| 134 | ;; user: FirstName LastName <foo@bar> | ||
| 135 | ("^user:[ \t]+\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" | ||
| 136 | (1 'change-log-name) | ||
| 137 | (2 'change-log-email)) | ||
| 138 | ("^date: \\(.+\\)" (1 'change-log-date)) | ||
| 139 | ("^summary:[ \t]+\\(.+\\)" (1 'log-view-message)))))) | ||
| 140 | |||
| 114 | (defun vc-hg-diff (file &optional oldvers newvers buffer) | 141 | (defun vc-hg-diff (file &optional oldvers newvers buffer) |
| 115 | "Get a difference report using hg between two versions of FILE." | 142 | "Get a difference report using hg between two versions of FILE." |
| 116 | (let ((working (vc-workfile-version file))) | 143 | (let ((working (vc-workfile-version file))) |