]> code.delx.au - gnu-emacs/blobdiff - lisp/vc-bzr.el
(vc-bzr-log-view-mode): Fix short log regexp.
[gnu-emacs] / lisp / vc-bzr.el
index 233cdb171eeaea106cdc27dfa66946af09aa0032..99b910e9f94ec99bda4946a451fafcd19772b49e 100644 (file)
@@ -462,7 +462,7 @@ REV non-nil gets an error."
   (set (make-local-variable 'log-view-file-re) "\\`a\\`")
   (set (make-local-variable 'log-view-message-re)
        (if vc-short-log
-          "^ +\\([0-9]+\\) \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)\\( \\[merge\\]\\)?"
+          "^ *\\([0-9.]+\\) \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)\\( \\[merge\\]\\)?"
         "^ *\\(?:revno: \\([0-9.]+\\)\\|merged: .+\\)"))
   (set (make-local-variable 'log-view-font-lock-keywords)
        ;; log-view-font-lock-keywords is careful to use the buffer-local
@@ -472,7 +472,7 @@ REV non-nil gets an error."
                    (1 'log-view-message-face)
                    (2 'change-log-name)
                    (3 'change-log-date)
-                   (4 'change-log-list))))
+                   (4 'change-log-list nil lax))))
         (append `((,log-view-message-re . 'log-view-message-face))
                 ;; log-view-font-lock-keywords
                 '(("^ *committer: \
@@ -481,7 +481,7 @@ REV non-nil gets an error."
                    (2 'change-log-email))
                   ("^ *timestamp: \\(.*\\)" (1 'change-log-date-face)))))))
 
-(defun vc-bzr-print-log (files buffer &optional shortlog limit)
+(defun vc-bzr-print-log (files buffer &optional shortlog start-revision limit)
   "Get bzr change log for FILES into specified BUFFER."
   ;; `vc-do-command' creates the buffer, but we need it before running
   ;; the command.
@@ -495,6 +495,7 @@ REV non-nil gets an error."
     (apply 'vc-bzr-command "log" buffer 'async files
           (append
            (when shortlog '("--short"))
+           (when start-revision (list (format "-r..%s" start-revision)))
            (when limit (list "-l" (format "%s" limit)))
            (if (stringp vc-bzr-log-switches)
                (list vc-bzr-log-switches)
@@ -504,7 +505,8 @@ REV non-nil gets an error."
   "Find entry for patch name REVISION in bzr change log buffer."
   (goto-char (point-min))
   (when revision
-    (let (case-fold-search)
+    (let (case-fold-search
+         found)
       (if (re-search-forward
           ;; "revno:" can appear either at the beginning of a line,
           ;; or indented.
@@ -512,8 +514,11 @@ REV non-nil gets an error."
                   ;; The revision can contain ".", quote it so that it
                   ;; does not interfere with regexp matching.
                   (regexp-quote revision) "$") nil t)
-         (beginning-of-line 0)
-       (goto-char (point-min))))))
+         (progn
+           (beginning-of-line 0)
+           (setq found t))
+       (goto-char (point-min)))
+      found)))
 
 (defun vc-bzr-diff (files &optional rev1 rev2 buffer)
   "VC bzr backend for diff."
@@ -574,7 +579,7 @@ property containing author and date information."
               (unless tag
                 (setq tag
                       (propertize
-                       (concat rev " " (substring author 0 7))
+                       (format "%s %-7.7s" rev author)
                        'help-echo (format "Revision: %d, author: %s, date: %s"
                                           (string-to-number rev)
                                           author date)