emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r99909: Avoid displaying files wit


From: Dan Nicolaescu
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r99909: Avoid displaying files with a nil state in vc-dir.
Date: Wed, 30 Jun 2010 15:03:07 -0700
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99909
committer: Dan Nicolaescu <address@hidden>
branch nick: emacs-23
timestamp: Wed 2010-06-30 15:03:07 -0700
message:
  Avoid displaying files with a nil state in vc-dir.
  * lisp/vc-dir.el (vc-dir-update): Obey the noinsert argument in all
  cases that cause insertion.
  (vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
  with a nil state.
modified:
  lisp/ChangeLog
  lisp/vc-dir.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-06-30 20:34:06 +0000
+++ b/lisp/ChangeLog    2010-06-30 22:03:07 +0000
@@ -1,3 +1,11 @@
+2010-06-30  Dan Nicolaescu  <address@hidden>
+
+       Avoid displaying files with a nil state in vc-dir.
+       * vc-dir.el (vc-dir-update): Obey the noinsert argument in all
+       cases that cause insertion.
+       (vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
+       with a nil state.
+
 2010-06-30  Chong Yidong  <address@hidden>
 
        * xml.el (xml-parse-region): Avoid infloop (Bug#5281).

=== modified file 'lisp/vc-dir.el'
--- a/lisp/vc-dir.el    2010-06-02 04:54:55 +0000
+++ b/lisp/vc-dir.el    2010-06-30 22:03:07 +0000
@@ -398,22 +398,24 @@
                (setq entry (car entries))
                (setq node (ewoc-next vc-ewoc node)))
               (t
-               (ewoc-enter-before vc-ewoc node
-                                  (apply 'vc-dir-create-fileinfo entry))
+               (unless noinsert
+                 (ewoc-enter-before vc-ewoc node
+                                    (apply 'vc-dir-create-fileinfo entry)))
                (setq entries (cdr entries))
                (setq entry (car entries))))))
           (t
-           ;; We might need to insert a directory node if the
-           ;; previous node was in a different directory.
-           (let* ((rd (file-relative-name entrydir))
-                  (prev-node (ewoc-prev vc-ewoc node))
-                  (prev-dir (vc-dir-node-directory prev-node)))
-             (unless (string-equal entrydir prev-dir)
-               (ewoc-enter-before
-                vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil 
entrydir))))
-           ;; Now insert the node itself.
-           (ewoc-enter-before vc-ewoc node
-                              (apply 'vc-dir-create-fileinfo entry))
+           (unless noinsert
+             ;; We might need to insert a directory node if the
+             ;; previous node was in a different directory.
+             (let* ((rd (file-relative-name entrydir))
+                    (prev-node (ewoc-prev vc-ewoc node))
+                    (prev-dir (vc-dir-node-directory prev-node)))
+               (unless (string-equal entrydir prev-dir)
+                 (ewoc-enter-before
+                  vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil 
entrydir))))
+             ;; Now insert the node itself.
+             (ewoc-enter-before vc-ewoc node
+                                (apply 'vc-dir-create-fileinfo entry)))
            (setq entries (cdr entries) entry (car entries))))))
       ;; We're past the last node, all remaining entries go to the end.
       (unless (or node noinsert)
@@ -888,10 +890,12 @@
                      (vc-dir-resync-directory-files file)
                      (ewoc-set-hf vc-ewoc
                                   (vc-dir-headers vc-dir-backend 
default-directory) ""))
-                  (let ((state (vc-dir-recompute-file-state file ddir)))
+                  (let* ((complete-state (vc-dir-recompute-file-state file 
ddir))
+                        (state (cadr complete-state)))
                     (vc-dir-update
-                     (list state)
-                     status-buf (eq (cadr state) 'up-to-date))))))))))
+                     (list complete-state)
+                     status-buf (or (not state)
+                                   (eq state 'up-to-date)))))))))))
     ;; Remove out-of-date entries from vc-dir-buffers.
     (dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers)))))
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]