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
b8e54362
Commit
b8e54362
authored
Aug 26, 2009
by
Dan Nicolaescu
Browse files
(vc-dir-node-directory, vc-dir-update): Get the parent
directory correctly in case the item is a directory itself.
parent
239b3340
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
6 deletions
+15
-6
lisp/ChangeLog
lisp/ChangeLog
+3
-0
lisp/vc-dir.el
lisp/vc-dir.el
+12
-6
No files found.
lisp/ChangeLog
View file @
b8e54362
2009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
* 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.
...
...
lisp/vc-dir.el
View file @
b8e54362
...
...
@@ -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)
...
...
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