]> git.eshelyaron.com Git - emacs.git/commitdiff
vc-bzr fix for bug #7792.
authorGlenn Morris <rgm@gnu.org>
Thu, 6 Jan 2011 05:14:54 +0000 (21:14 -0800)
committerGlenn Morris <rgm@gnu.org>
Thu, 6 Jan 2011 05:14:54 +0000 (21:14 -0800)
* lisp/vc/vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time)
(vc-bzr-annotate-extract-revision-at-line):
Handle authors with embedded spaces.

lisp/ChangeLog
lisp/vc/vc-bzr.el

index be65508a115b1af3018633386d1251d70086507f..47b5f9069acbb285636f53f7fe31323546a69941 100644 (file)
@@ -1,3 +1,9 @@
+2011-01-06  Glenn Morris  <rgm@gnu.org>
+
+       * vc/vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time)
+       (vc-bzr-annotate-extract-revision-at-line):
+       Handle authors with embedded spaces.  (Bug#7792)
+
 2011-01-05  Tassilo Horn  <tassilo@member.fsf.org>
 
        * doc-view.el (doc-view-image-width): New variable.
index 9b0d402c0783e3fed5505125b62f1c3685047e5f..d5d3c9d4888fad8e5fb0556aa7f75c5f285b5af9 100644 (file)
@@ -1,7 +1,6 @@
 ;;; vc-bzr.el --- VC backend for the bzr revision control system
 
-;; Copyright (C) 2006, 2007, 2008, 2009, 2010
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;;        Riccardo Murri <riccardo.murri@gmail.com>
@@ -720,7 +719,11 @@ property containing author and date information."
        (when (process-buffer proc)
          (with-current-buffer (process-buffer proc)
            (setq string (concat (process-get proc :vc-left-over) string))
-           (while (string-match "^\\( *[0-9.]+ *\\) \\([^\n ]+\\) +\\([0-9]\\{8\\}\\)\\( |.*\n\\)" string)
+           ;; Eg: 102020      Gnus developers          20101020 | regexp."
+           ;; As of bzr 2.2.2, no email address in whoami (which can
+           ;; lead to spaces in the author field) is allowed but discouraged.
+           ;; See bug#7792.
+           (while (string-match "^\\( *[0-9.]+ *\\) \\(.+?\\) +\\([0-9]\\{8\\}\\)\\( |.*\n\\)" string)
              (let* ((rev (match-string 1 string))
                     (author (match-string 2 string))
                     (date (match-string 3 string))
@@ -747,7 +750,7 @@ property containing author and date information."
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
 (defun vc-bzr-annotate-time ()
-  (when (re-search-forward "^ *[0-9.]+ +[^\n ]* +|" nil t)
+  (when (re-search-forward "^ *[0-9.]+ +.* +|" nil t)
     (let ((prop (get-text-property (line-beginning-position) 'help-echo)))
       (string-match "[0-9]+\\'" prop)
       (let ((str (match-string-no-properties 0 prop)))
@@ -762,7 +765,7 @@ property containing author and date information."
 Return nil if current line isn't annotated."
   (save-excursion
     (beginning-of-line)
-    (if (looking-at "^ *\\([0-9.]+\\) +[^\n ]* +|")
+    (if (looking-at "^ *\\([0-9.]+\\) +.* +|")
         (match-string-no-properties 1))))
 
 (defun vc-bzr-command-discarding-stderr (command &rest args)