Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
62ccc42c
Commit
62ccc42c
authored
Nov 26, 2009
by
Stefan Monnier
Browse files
(vc-bzr-annotate-command): Make operation asynchronous.
parent
6a7ce3a2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
21 deletions
+33
-21
lisp/ChangeLog
lisp/ChangeLog
+10
-5
lisp/vc-bzr.el
lisp/vc-bzr.el
+23
-16
No files found.
lisp/ChangeLog
View file @
62ccc42c
2009-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
* vc-bzr.el (vc-bzr-annotate-command): Make operation asynchronous.
2009-11-26 Dan Nicolaescu <dann@ics.uci.edu>
* finder.el (finder-mode-map): Add a menu.
...
...
@@ -13,17 +17,18 @@
2009-11-26 Wilson Snyder <wsnyder@wsnyder.org>
* verilog-mode.el (verilog-auto-insert-lisp, verilog-delete-auto)
(verilog-delete-empty-auto-pair, verilog-library-filenames):
Fix
AUTOINSERTLISP to support insert-file. Reported by Clay Douglass.
(verilog-delete-empty-auto-pair, verilog-library-filenames):
Fix
AUTOINSERTLISP to support insert-file. Reported by Clay Douglass.
(verilog-auto-inst, verilog-auto-star-safe)
(verilog-delete-auto-star-implicit, verilog-read-sub-decls):
Fix
removing "// Interfaces" when saving .* expansions. Reported by
(verilog-delete-auto-star-implicit, verilog-read-sub-decls):
Fix
removing "// Interfaces" when saving .* expansions. Reported by
Pierre-David Pfister.
2009-11-26 Glenn Morris <rgm@gnu.org>
* eshell/em-dirs.el (eshell/cd): Don't throw to a tag outside the scope.
* eshell/em-dirs.el (eshell/cd): Don't throw to a tag outside
the scope.
2009-11-25 Johan Bockgård <bojohan@gnu.org>
...
...
lisp/vc-bzr.el
View file @
62ccc42c
...
...
@@ -551,27 +551,34 @@ REV non-nil gets an error."
"
Prepare
BUFFER
for
`
vc-annotate
'
on
FILE.
Each
line
is
tagged
with
the
revision
number,
which
has
a
`
help-echo
'
property
containing
author
and
date
information.
"
(apply #'vc-bzr-command "
annotate
" buffer
0
file "
--long
" "
--all
"
(apply #'vc-bzr-command "
annotate
" buffer
'async
file "
--long
" "
--all
"
(if revision (list "
-r
" revision)))
(with-current-buffer buffer
;; Store the tags for the annotated source lines in a hash table
;; 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.]+
*\\
)
\\
(
[^\n
]+\\
)
+\\
(
[0-9]\\{8\\}\\
)
|"
nil t)
(let* ((rev (match-string 1))
(author (match-string 2))
(date (match-string 3))
(key (match-string 0))
(tag (gethash key vc-bzr-annotation-table)))
(lexical-let ((table (make-hash-table :test 'equal)))
(set-process-filter
(get-buffer-process buffer)
(lambda (proc string)
(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)
(let* ((rev (match-string 1 string))
(author (match-string 2 string))
(date (match-string 3 string))
(key (substring string (match-beginning 0)
(match-beginning 4)))
(line (match-string 4 string))
(tag (gethash key table))
(inhibit-read-only t))
(setq string (substring string (match-end 0)))
(unless tag
(setq tag (propertize rev 'help-echo (concat "Author: " author
", date: " date)
'mouse-face 'highlight))
(puthash key tag vc-bzr-annotation-table))
(replace-match "")
(insert tag " |
")))))
(puthash key tag table))
(goto-char (process-mark proc))
(insert tag line)
(move-marker (process-mark proc) (point))))
(process-put proc :vc-left-over string)))))))
(declare-function vc-annotate-convert-time "vc-annotate" (time))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment