Subject: bug#2388: 23.0.90; wrong-type-argument in vc-dir

From: [email-masked] (Nick Roberts)
Date: Wed, 4 Mar 2009 23:14:51 +1300

Nick Roberts writes:
 >  > > I can't reproduce this.
 >  > > Can you please post step by step recipe of how you get this, starting
 >  > > with emacs -Q. 
 >  > > The output of 
 >  > > svn -u status
 >  > > in that directory might be helpful too.
 >  > >   
 >  > I can't reproduce this either now :-(
 > 
 > I have seen this sometimes when files have needed merging/updating.  I don't
 > think it happened earlier because with SVN emacs didn't consult the remote
 > repository by default:

I still see this.  Here's a recent backtrace:

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  ewoc-data(nil)
  (let ((data ...)) (or (vc-dir-fileinfo->directory data) 
(file-name-directory ...)))
  vc-dir-node-directory(nil)
  (let* ((rd ...) (prev-node ...) (prev-dir ...)) (unless (string-equal 
entrydir prev-dir) (ewoc-enter-before vc-ewoc node ...)))
  (cond ((string-lessp nodedir entrydir) (setq node ...)) ((string-equal 
nodedir entrydir) (let ... ...)) (t (let* ... ...) (ewoc-enter-before 
vc-ewoc node ...) (setq entries ... entry ...)))
  (let* ((entryfile ...) (entrydir ...) (nodedir ...)) (cond (... ...) 
(... ...) (t ... ... ...)))
  (while (and entry node) (let* (... ... ...) (cond ... ... ...)))
  (let ((entry ...) (node ...) (dotname ...)) (unless node 
(ewoc-enter-last vc-ewoc ...) (setq node ...)) (while (and entry node) 
(let* ... ...)) (unless (or node noinsert) (let ... ...)))
  (save-current-buffer (set-buffer buffer) (setq entries (sort entries 
...)) (let (... ... ...) (unless node ... ...) (while ... ...) (unless 
... ...)))
  (with-current-buffer buffer (setq entries (sort entries ...)) (let 
(... ... ...) (unless node ... ...) (while ... ...) (unless ... ...)))
  vc-dir-update((("." needs-update) ("mydir" needs-update) 
("pom.xml" needs-update) ("mydir1/mydir2/myfile" needs-update) 
...

which fails because node, i.e (ewoc-nth vc-ewoc 0), is nil.

-- 
Nick                                           http://www.inet.net.nz/~nickrob