diff options
author | Dan Nicolaescu <dann@ics.uci.edu> | 2009-08-26 06:45:36 +0000 |
---|---|---|
committer | Dan Nicolaescu <dann@ics.uci.edu> | 2009-08-26 06:45:36 +0000 |
commit | b8e5436265d002cbcc66e1d84712a0a471058be6 (patch) | |
tree | 9dbb8f3d20ce55e608d7e59a42afe0592d51aaac /lisp/vc-dir.el | |
parent | 239b334087306fbde4a847b255c88062c1345dd1 (diff) | |
download | emacs-b8e5436265d002cbcc66e1d84712a0a471058be6.tar.gz emacs-b8e5436265d002cbcc66e1d84712a0a471058be6.tar.bz2 emacs-b8e5436265d002cbcc66e1d84712a0a471058be6.zip |
(vc-dir-node-directory, vc-dir-update): Get the parent
directory correctly in case the item is a directory itself.
Diffstat (limited to 'lisp/vc-dir.el')
-rw-r--r-- | lisp/vc-dir.el | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el index 2c1138f858f..1efd0bc09db 100644 --- a/lisp/vc-dir.el +++ b/lisp/vc-dir.el @@ -326,8 +326,9 @@ If BODY uses EVENT, it should be a variable, (or (vc-dir-fileinfo->directory data) ;; Otherwise compute it from the file name. (file-name-directory - (expand-file-name - (vc-dir-fileinfo->name data)))))) + (directory-file-name + (expand-file-name + (vc-dir-fileinfo->name data))))))) (defun vc-dir-update (entries buffer &optional noinsert) "Update BUFFER's ewoc from the list of ENTRIES. @@ -343,8 +344,10 @@ If NOINSERT, ignore elements on ENTRIES which are not in the ewoc." ;; names too many times (sort entries (lambda (entry1 entry2) - (let ((dir1 (file-name-directory (expand-file-name (car entry1)))) - (dir2 (file-name-directory (expand-file-name (car entry2))))) + (let ((dir1 (file-name-directory + (directory-file-name (expand-file-name (car entry1))))) + (dir2 (file-name-directory + (directory-file-name (expand-file-name (car entry2)))))) (cond ((string< dir1 dir2) t) ((not (string= dir1 dir2)) nil) @@ -362,8 +365,10 @@ If NOINSERT, ignore elements on ENTRIES which are not in the ewoc." (while (and entry node) (let* ((entryfile (car entry)) - (entrydir (file-name-directory (expand-file-name entryfile))) + (entrydir (file-name-directory (directory-file-name + (expand-file-name entryfile)))) (nodedir (vc-dir-node-directory node))) + (message "entryfile %s entrydir %s" entryfile entrydir) (cond ;; First try to find the directory. ((string-lessp nodedir entrydir) @@ -406,7 +411,8 @@ If NOINSERT, ignore elements on ENTRIES which are not in the ewoc." (unless (or node noinsert) (let ((lastdir (vc-dir-node-directory (ewoc-nth vc-ewoc -1)))) (dolist (entry entries) - (let ((entrydir (file-name-directory (expand-file-name (car entry))))) + (let ((entrydir (file-name-directory + (directory-file-name (expand-file-name (car entry)))))) ;; Insert a directory node if needed. (unless (string-equal lastdir entrydir) (setq lastdir entrydir) |