diff options
| author | Dan Nicolaescu | 2008-03-19 03:49:09 +0000 |
|---|---|---|
| committer | Dan Nicolaescu | 2008-03-19 03:49:09 +0000 |
| commit | fd2d29b2bd3d8dbd29a2516d21fe53444689ff3e (patch) | |
| tree | fe23394e0d7d5ed3f56b28a8af72aec00e45b408 | |
| parent | 88219c1f1304cf6bdddc145c36c63b0266f019fa (diff) | |
| download | emacs-fd2d29b2bd3d8dbd29a2516d21fe53444689ff3e.tar.gz emacs-fd2d29b2bd3d8dbd29a2516d21fe53444689ff3e.zip | |
(vc-bzr-print-log): Insert a file marker. Run the log
command for each file in the list.
(vc-bzr-log-view-mode): Recognize the file marker.
(vc-bzr-show-log-entry): Make regexp match more cases.
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/vc-bzr.el | 36 |
2 files changed, 33 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 19488a7810b..bacfad225b0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2008-03-18 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 2 | |||
| 3 | * vc-bzr.el (vc-bzr-print-log): Insert a file marker. Run the log | ||
| 4 | command for each file in the list. | ||
| 5 | (vc-bzr-log-view-mode): Recognize the file marker. | ||
| 6 | (vc-bzr-show-log-entry): Make regexp match more cases. | ||
| 7 | |||
| 1 | 2008-03-18 Wilson Snyder <wsnyder@wsnyder.org> | 8 | 2008-03-18 Wilson Snyder <wsnyder@wsnyder.org> |
| 2 | 9 | ||
| 3 | * verilog-mode.el (verilog-read-decls): Fix AUTOINPUT/AUTOOUTPUT | 10 | * verilog-mode.el (verilog-read-decls): Fix AUTOINPUT/AUTOOUTPUT |
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el index 325b8e1c7fb..2d0e1a18c3d 100644 --- a/lisp/vc-bzr.el +++ b/lisp/vc-bzr.el | |||
| @@ -354,8 +354,7 @@ EDITABLE is ignored." | |||
| 354 | (define-derived-mode vc-bzr-log-view-mode log-view-mode "Bzr-Log-View" | 354 | (define-derived-mode vc-bzr-log-view-mode log-view-mode "Bzr-Log-View" |
| 355 | (remove-hook 'log-view-mode-hook 'vc-bzr-log-view-mode) ;Deactivate the hack. | 355 | (remove-hook 'log-view-mode-hook 'vc-bzr-log-view-mode) ;Deactivate the hack. |
| 356 | (require 'add-log) | 356 | (require 'add-log) |
| 357 | ;; Don't have file markers, so use impossible regexp. | 357 | (set (make-local-variable 'log-view-file-re) "^Working file:[ \t]+\\(.+\\)") |
| 358 | (set (make-local-variable 'log-view-file-re) "\\'\\`") | ||
| 359 | (set (make-local-variable 'log-view-message-re) | 358 | (set (make-local-variable 'log-view-message-re) |
| 360 | "^ *-+\n *\\(?:revno: \\([0-9.]+\\)\\|merged: .+\\)") | 359 | "^ *-+\n *\\(?:revno: \\([0-9.]+\\)\\|merged: .+\\)") |
| 361 | (set (make-local-variable 'log-view-font-lock-keywords) | 360 | (set (make-local-variable 'log-view-font-lock-keywords) |
| @@ -371,13 +370,25 @@ EDITABLE is ignored." | |||
| 371 | 370 | ||
| 372 | (defun vc-bzr-print-log (files &optional buffer) ; get buffer arg in Emacs 22 | 371 | (defun vc-bzr-print-log (files &optional buffer) ; get buffer arg in Emacs 22 |
| 373 | "Get bzr change log for FILES into specified BUFFER." | 372 | "Get bzr change log for FILES into specified BUFFER." |
| 374 | ;; FIXME: `vc-bzr-command' runs `bzr log' with `LC_MESSAGES=C', so | 373 | ;; `vc-do-command' creates the buffer, but we need it before running |
| 375 | ;; the log display may not what the user wants - but I see no other | 374 | ;; the command. |
| 376 | ;; way of getting the above regexps working. | 375 | (vc-setup-buffer buffer) |
| 377 | (apply 'vc-bzr-command "log" buffer 0 files | 376 | ;; If the buffer exists from a previous invocation it might be |
| 378 | (if (stringp vc-bzr-log-switches) | 377 | ;; read-only. |
| 379 | (list vc-bzr-log-switches) | 378 | (let ((inhibit-read-only t)) |
| 380 | vc-bzr-log-switches)) | 379 | ;; FIXME: `vc-bzr-command' runs `bzr log' with `LC_MESSAGES=C', so |
| 380 | ;; the log display may not what the user wants - but I see no other | ||
| 381 | ;; way of getting the above regexps working. | ||
| 382 | ;; "bzr log" (as of bzr-1.1) can only take a single file argument. | ||
| 383 | ;; Loop through the file list. | ||
| 384 | (dolist (file files) | ||
| 385 | (with-current-buffer buffer | ||
| 386 | ;; Insert the file name so that log-view.el can find it. | ||
| 387 | (insert "Working file: " file "\n")) ;; Like RCS/CVS. | ||
| 388 | (apply 'vc-bzr-command "log" buffer 0 file | ||
| 389 | (if (stringp vc-bzr-log-switches) | ||
| 390 | (list vc-bzr-log-switches) | ||
| 391 | vc-bzr-log-switches)))) | ||
| 381 | ;; FIXME: Until Emacs-23, VC was missing a hook to sort out the mode for | 392 | ;; FIXME: Until Emacs-23, VC was missing a hook to sort out the mode for |
| 382 | ;; the buffer, or at least set the regexps right. | 393 | ;; the buffer, or at least set the regexps right. |
| 383 | (unless (fboundp 'vc-default-log-view-mode) | 394 | (unless (fboundp 'vc-default-log-view-mode) |
| @@ -387,7 +398,12 @@ EDITABLE is ignored." | |||
| 387 | "Find entry for patch name VERSION in bzr change log buffer." | 398 | "Find entry for patch name VERSION in bzr change log buffer." |
| 388 | (goto-char (point-min)) | 399 | (goto-char (point-min)) |
| 389 | (let (case-fold-search) | 400 | (let (case-fold-search) |
| 390 | (if (re-search-forward (concat "^-+\nrevno: " version "$") nil t) | 401 | (if (re-search-forward |
| 402 | ;; "revno:" can appear either at the beginning of a line, or indented. | ||
| 403 | (concat "^[ ]*-+\n[ ]*revno: " | ||
| 404 | ;; The revision can contain ".", quote it so that it | ||
| 405 | ;; does not interfere with regexp matching. | ||
| 406 | (regexp-quote revision) "$") nil t) | ||
| 391 | (beginning-of-line 0) | 407 | (beginning-of-line 0) |
| 392 | (goto-char (point-min))))) | 408 | (goto-char (point-min))))) |
| 393 | 409 | ||