mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-17 10:06:13 +00:00
Fix *vc-diff* buffer's behavior for empty diffs.
* vc/vc.el (vc-diff-internal): Set up Diff mode even if there are no changes to show. Fixes: debbugs:12586
This commit is contained in:
parent
045ef72904
commit
4c5d08a868
@ -1,5 +1,8 @@
|
||||
2012-10-20 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* vc/vc.el (vc-diff-internal): Set up Diff mode even if there are
|
||||
no changes to show (Bug#12586).
|
||||
|
||||
* eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body
|
||||
list explicitly (Bug#12571).
|
||||
|
||||
|
@ -1584,21 +1584,21 @@ Return t if the buffer had changes, nil otherwise."
|
||||
(let ((vc-disable-async-diff (not async)))
|
||||
(vc-call-backend (car vc-fileset) 'diff files rev1 rev2 buffer))
|
||||
(set-buffer buffer)
|
||||
(diff-mode)
|
||||
(set (make-local-variable 'diff-vc-backend) (car vc-fileset))
|
||||
(set (make-local-variable 'revert-buffer-function)
|
||||
`(lambda (ignore-auto noconfirm)
|
||||
(vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
|
||||
;; Make the *vc-diff* buffer read only, the diff-mode key
|
||||
;; bindings are nicer for read only buffers. pcl-cvs does the
|
||||
;; same thing.
|
||||
(setq buffer-read-only t)
|
||||
(if (and (zerop (buffer-size))
|
||||
(not (get-buffer-process (current-buffer))))
|
||||
;; Treat this case specially so as not to pop the buffer.
|
||||
(progn
|
||||
(message "%s" (cdr messages))
|
||||
nil)
|
||||
(diff-mode)
|
||||
(set (make-local-variable 'diff-vc-backend) (car vc-fileset))
|
||||
(set (make-local-variable 'revert-buffer-function)
|
||||
`(lambda (ignore-auto noconfirm)
|
||||
(vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
|
||||
;; Make the *vc-diff* buffer read only, the diff-mode key
|
||||
;; bindings are nicer for read only buffers. pcl-cvs does the
|
||||
;; same thing.
|
||||
(setq buffer-read-only t)
|
||||
;; Display the buffer, but at the end because it can change point.
|
||||
(pop-to-buffer (current-buffer))
|
||||
;; The diff process may finish early, so call `vc-diff-finish'
|
||||
|
Loading…
Reference in New Issue
Block a user