summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-03-14 19:38:46 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-03-14 19:38:46 +0000
commit0e12ba6d61eed4f2fa95c273934003111908b61d (patch)
tree521ffc49ecc3d65a2f085e35c27a65bff309e9fb
parentf14c33580dd759f188a99f068549739d57f51d2b (diff)
downloademacs-0e12ba6d61eed4f2fa95c273934003111908b61d.tar.gz
(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.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/vc-bzr.el24
2 files changed, 21 insertions, 9 deletions
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 <monnier@iro.umontreal.ca>
+
+ * 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 <rms@gnu.org>
* 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