From: Stefan Monnier Date: Fri, 14 Mar 2008 19:38:46 +0000 (+0000) Subject: (vc-bzr-registered): Fail if `bzr' is not installed. X-Git-Tag: emacs-22.2~37 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0e12ba6d61eed4f2fa95c273934003111908b61d;p=emacs.git (vc-bzr-registered): Fail if `bzr' is not installed. (vc-bzr-annotate-command): Preserve line alignment. (vc-bzr-annotate-time): Accept space used to preserve alignment. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1b0026bfc21..89fecabe85f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2008-03-14 Stefan Monnier + + * vc-bzr.el (vc-bzr-registered): Fail if `bzr' is not installed. + (vc-bzr-annotate-command): Preserve line alignment. + (vc-bzr-annotate-time): Accept space used to preserve alignment. + 2008-03-13 Richard Stallman * mouse.el (mouse-yank-secondary): Nice error msg if no secondary sel. diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el index 7437cec4174..3f64247fc69 100644 --- a/lisp/vc-bzr.el +++ b/lisp/vc-bzr.el @@ -146,13 +146,19 @@ running `vc-bzr-state'." (vc-bzr-state file) ; Some other unknown format? (let* ((relfile (file-relative-name file root)) (reldir (file-name-directory relfile))) - (re-search-forward - (concat "^\0" - (if reldir (regexp-quote (directory-file-name reldir))) - "\0" - (regexp-quote (file-name-nondirectory relfile)) - "\0") - nil t))))))))) + (when (re-search-forward + (concat "^\0" + (if reldir (regexp-quote + (directory-file-name reldir))) + "\0" + (regexp-quote (file-name-nondirectory relfile)) + "\0") + nil t) + ;; Make sure `bzr' agrees that this file is under Bzr's + ;; control. This is important because if `bzr' is not + ;; installed vc-find-file may otherwise get an error in + ;; the subsequent call to `vc-state'. + (vc-bzr-state file)))))))))) (defconst vc-bzr-state-words "added\\|ignored\\|kind changed\\|modified\\|removed\\|renamed\\|unknown" @@ -430,7 +436,7 @@ property containing author and date information." ;; to allow saving space by sharing the text properties. (setq vc-bzr-annotation-table (make-hash-table :test 'equal)) (goto-char (point-min)) - (while (re-search-forward "^\\( *[0-9]+\\) +\\(.+\\) +\\([0-9]\\{8\\}\\) |" + (while (re-search-forward "^\\( *[0-9]+ *\\) \\([^\n ]+\\) +\\([0-9]\\{8\\}\\) |" nil t) (let* ((rev (match-string 1)) (author (match-string 2)) @@ -446,7 +452,7 @@ property containing author and date information." (insert tag " |"))))) (defun vc-bzr-annotate-time () - (when (re-search-forward "^ *[0-9]+ |" 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) (vc-annotate-convert-time