]> code.delx.au - gnu-emacs/blobdiff - lisp/log-view.el
Replace lisp-indent-hook with lisp-indent-function throughout.
[gnu-emacs] / lisp / log-view.el
index bf3945837c9919b45d6fc1d874da7746e43833c5..c153cbdbb60284778fb6edd8a238929108000764 100644 (file)
@@ -1,10 +1,9 @@
 ;;; 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.
 
@@ -46,6 +45,7 @@
   '(("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)
@@ -65,8 +65,8 @@
 
 (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)
@@ -74,7 +74,7 @@
 (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)
@@ -84,7 +84,8 @@
          "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)
@@ -203,4 +206,5 @@ Otherwise, get the diff between the revisions
 
 (provide 'log-view)
 
+;; arch-tag: 0d64220b-ce7e-4f62-9c2a-6b04c2f81f4f
 ;;; log-view.el ends here