changeset 106759:e778a4a0f821

Fix bug#3224. * vc-dir.el (vc-dir-prepare-status-buffer): Pass a (fake) filename to `create-file-buffer' as it expects, not just a buffer name. (vc-dir-mode): Include the buffer name in `list-buffers-directory', to help uniquify.
author Juanma Barranquero <lekktu@gmail.com>
date Thu, 07 Jan 2010 23:46:44 +0100
parents 0865d6c0506d
children 19b3c3f93cd1 28260028067c 14f1e1d97396
files lisp/ChangeLog lisp/vc-dir.el
diffstat 2 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Jan 06 20:43:11 2010 +0100
+++ b/lisp/ChangeLog	Thu Jan 07 23:46:44 2010 +0100
@@ -1,3 +1,10 @@
+2010-01-07  Juanma Barranquero  <lekktu@gmail.com>
+
+	* vc-dir.el (vc-dir-prepare-status-buffer): Pass a (fake) filename
+	to `create-file-buffer' as it expects, not just a buffer name.
+	(vc-dir-mode): Include the buffer name in `list-buffers-directory',
+	to help uniquify.  (Bug#3224)
+
 2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 
 	* font-setting.el (font-setting-change-default-font): Use user-spec
--- a/lisp/vc-dir.el	Wed Jan 06 20:43:11 2010 +0100
+++ b/lisp/vc-dir.el	Thu Jan 07 23:46:44 2010 +0100
@@ -101,7 +101,9 @@
                       (return buffer))))))))
     (or buf
         ;; Create a new buffer named BNAME.
-        (with-current-buffer (create-file-buffer bname)
+	;; We pass a filename to create-file-buffer because it is what
+	;; the function expects, and also what uniquify needs (if active)
+        (with-current-buffer (create-file-buffer (expand-file-name bname dir))
           (cd dir)
           (vc-setup-buffer (current-buffer))
           ;; Reset the vc-parent-buffer-name so that it does not appear
@@ -928,7 +930,7 @@
     (set (make-local-variable 'vc-ewoc) (ewoc-create #'vc-dir-printer))
     (set (make-local-variable 'revert-buffer-function)
 	 'vc-dir-revert-buffer-function)
-    (setq list-buffers-directory default-directory)
+    (setq list-buffers-directory (expand-file-name "*vc-dir*" default-directory))
     (add-to-list 'vc-dir-buffers (current-buffer))
     ;; Make sure that if the directory buffer is killed, the update
     ;; process running in the background is also killed.