;;; log-view.el --- Major mode for browsing RCS/CVS/SCCS log output
-;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2005 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@cs.yale.edu>
;; Keywords: rcs sccs cvs log version-control
-;; Revision: $Id: log-view.el,v 1.11 2001/11/26 16:08:51 spiegel Exp $
;; This file is part of GNU Emacs.
'(("q" . quit-window)
("z" . kill-this-buffer)
("m" . set-mark-command)
+ ;; ("e" . cvs-mode-edit-log)
("d" . log-view-diff)
("f" . log-view-find-version)
("n" . log-view-msg-next)
(defface log-view-file-face
'((((class color) (background light))
- (:background "grey70" :bold t))
- (t (:bold t)))
+ (:background "grey70" :weight bold))
+ (t (:weight bold)))
"Face for the file header line in `log-view-mode'."
:group 'log-view)
(defvar log-view-file-face 'log-view-file-face)
(defface log-view-message-face
'((((class color) (background light))
(:background "grey85"))
- (t (:bold t)))
+ (t (:weight bold)))
"Face for the message header line in `log-view-mode'."
:group 'log-view)
(defvar log-view-message-face 'log-view-message-face)
"Working file: \\(.+\\)"
"\\|SCCS/s\\.\\(.+\\):"
"\\)\n"))
-(defconst log-view-message-re "^\\(revision \\([.0-9]+\\)\\|rev \\([0-9]+\\): .*\\|D \\([.0-9]+\\) .*\\)$")
+;; In RCS, a locked revision will look like "revision N.M\tlocked by: FOO".
+(defconst log-view-message-re "^\\(revision \\([.0-9]+\\)\\(?:\t.*\\)?\\|r\\([0-9]+\\) | .* | .*\\|D \\([.0-9]+\\) .*\\)$")
(defconst log-view-font-lock-keywords
`((,log-view-file-re
(interactive "d")
(save-excursion
(goto-char pos)
- (switch-to-buffer (vc-find-version (log-view-current-file)
+ (switch-to-buffer (vc-find-version (log-view-current-file)
(log-view-current-tag)))))
;;
"Get the diff for several revisions.
If the point is the same as the mark, get the diff for this revision.
Otherwise, get the diff between the revisions
- were the region starts and ends."
- (interactive "r")
+were the region starts and ends."
+ (interactive
+ (list (if mark-active (region-beginning) (point))
+ (if mark-active (region-end) (point))))
(let ((fr (log-view-current-tag beg))
(to (log-view-current-tag end)))
(when (string-equal fr to)
(provide 'log-view)
+;; arch-tag: 0d64220b-ce7e-4f62-9c2a-6b04c2f81f4f
;;; log-view.el ends here