# HG changeset patch # User Dan Nicolaescu # Date 1251269136 0 # Node ID 6915f976dcd270476c43239268f99cb889d8a943 # Parent 92965f3f01f02e58ea65c947b2c4251054a0d72e (vc-dir-node-directory, vc-dir-update): Get the parent directory correctly in case the item is a directory itself. diff -r 92965f3f01f0 -r 6915f976dcd2 lisp/ChangeLog --- a/lisp/ChangeLog Wed Aug 26 05:26:22 2009 +0000 +++ b/lisp/ChangeLog Wed Aug 26 06:45:36 2009 +0000 @@ -1,5 +1,8 @@ 2009-08-26 Dan Nicolaescu + * vc-dir.el (vc-dir-node-directory, vc-dir-update): Get the parent + directory correctly in case the item is a directory itself. + * vc.el: Document the desired behavior for reverted files in the `added' state. diff -r 92965f3f01f0 -r 6915f976dcd2 lisp/vc-dir.el --- a/lisp/vc-dir.el Wed Aug 26 05:26:22 2009 +0000 +++ b/lisp/vc-dir.el Wed Aug 26 06:45:36 2009 +0000 @@ -326,8 +326,9 @@ (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 @@ ;; 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 @@ (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 @@ (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)