Mercurial > emacs
changeset 112128:08d91a08a7b9
vc-bzr fix for bug #7792.
* 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.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 05 Jan 2011 21:14:54 -0800 |
parents | 25ff862568d0 |
children | 5a83a0764cb0 |
files | lisp/ChangeLog lisp/vc/vc-bzr.el |
diffstat | 2 files changed, 14 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Jan 05 22:54:23 2011 +0100 +++ b/lisp/ChangeLog Wed Jan 05 21:14:54 2011 -0800 @@ -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.
--- a/lisp/vc/vc-bzr.el Wed Jan 05 22:54:23 2011 +0100 +++ b/lisp/vc/vc-bzr.el Wed Jan 05 21:14:54 2011 -0800 @@ -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 @@ (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 @@ (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 @@ 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)