aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2007-06-22 02:11:59 +0000
committerDan Nicolaescu2007-06-22 02:11:59 +0000
commitd797e6435badf75e2cf01cb4cb9f4c4566c075c6 (patch)
treead810a2e5daee835a1074e84b71a9ddb82c0af92
parent887fc3b8ccaee9842aa3a47575bf1cdc0e92ab37 (diff)
downloademacs-d797e6435badf75e2cf01cb4cb9f4c4566c075c6.tar.gz
emacs-d797e6435badf75e2cf01cb4cb9f4c4566c075c6.zip
(vc-hg-log-view-mode): New mode.
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/vc-hg.el27
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 @@
12007-06-22 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * vc-hg.el (vc-hg-log-view-mode): New mode.
4
12007-06-21 Jay Belanger <jay.p.belanger@gmail.com> 52007-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)))