GNU bug report logs - #2388
23.0.90; wrong-type-argument in vc-dir

Previous Next

Package: emacs;

Reported by: robert <robert.marshall <at> tnei.co.uk>

Date: Thu, 19 Feb 2009 14:30:05 UTC

Severity: normal

Merged with 2566

Done: Dan Nicolaescu <dann <at> ics.uci.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Dan Nicolaescu <dann <at> ics.uci.edu>
Subject: bug#2388: marked as done (23.0.90; wrong-type-argument in vc-dir)
Date: Wed, 15 Apr 2009 00:40:04 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 14 Apr 2009 17:30:16 -0700 (PDT)
with message-id <200904150030.n3F0UGFT009182 <at> godzilla.ics.uci.edu>
and subject line Re: bug#2388: 23.0.90; wrong-type-argument in vc-dir
has caused the Emacs bug report #2388,
regarding 23.0.90; wrong-type-argument in vc-dir
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)


-- 
2388: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2388
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: robert <robert.marshall <at> tnei.co.uk>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.90; wrong-type-argument in vc-dir
Date: Thu, 19 Feb 2009 14:21:16 +0000
If I run vc-dir in a svn controlled directory called 'Test Networks'
(with the internal space but not the quotes!), I get a wrong-type-argument
error, with the following traceback - 

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  ewoc-data(nil)
  vc-dir-node-directory(nil)

when I don't have debug-on-error set to t the *vc-dir* process never
completes.


In GNU Emacs 23.0.90.4 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-02-16 on robert-laptop
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: VC dir

Minor modes in effect:
  diff-auto-refine-mode: t
  desktop-save-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  show-paren-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t



[Message part 3 (message/rfc822, inline)]
From: Dan Nicolaescu <dann <at> ics.uci.edu>
To: 2388-done <at> debbugs.gnu.org
Cc: robert marshall <robert.marshall <at> tnei.co.uk>
Subject: Re: bug#2388: 23.0.90; wrong-type-argument in vc-dir
Date: Tue, 14 Apr 2009 17:30:16 -0700 (PDT)
Dan Nicolaescu <dann <at> ics.uci.edu> writes:

  > robert marshall <robert.marshall <at> tnei.co.uk> writes:
  > 
  >   > Nick Roberts wrote:
  >   > > 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.
  >   > >
  >   > >   
  >   > I'm seeing this, today, the status gives me
  >   > 
  >   > svn -u status
  >   >       *     7243   tests/compare.py
  >   >       *     7243   tests/harm.py
  >   >       *     7243   tests/setup-win.py
  >   >       *     7243   ipsa.i
  >   >       *     7243   Makefile
  >   >       *     7243   IscNetComponent.cpp
  >   >       *     7243   IscNetComparator.h
  >   >       *     7243   IpsaComparator.cpp
  >   >       *     7243   IscNetComponent.h
  >   >       *     7243   IscNetComparator.cpp
  >   >       *            IscCompareData.h
  >   > ?                   ipsa_wrap.cpp
  >   > M      *     7243   IscInterface.cpp
  >   > ?                   ipsa.py
  >   >       *            IscCompareData.cpp
  >   >       *     7243   Scripting.vcproj
  >   >       *     7243   .
  >        ^^^^^^^^^^^^^^^^^^^^^^^^ 
  >    This might be the cause of the problem.  Can you please try thing
  >    patch:
  > 
  > 
  > Index: vc-svn.el
  > ===================================================================
  > RCS file: /cvsroot/emacs/emacs/lisp/vc-svn.el,v
  > retrieving revision 1.112
  > diff -u -3 -p -u -p -r1.112 vc-svn.el
  > --- vc-svn.el 10 Feb 2009 05:59:14 -0000        1.112
  > +++ vc-svn.el 10 Mar 2009 20:49:23 -0000
  > @@ -176,7 +176,7 @@ want to force an empty list of arguments
  >         ;; FIXME are there other possible combinations?
  >              (cond ((eq state 'edited) (setq state 'needs-merge))
  >                       ((not state) (setq state 'needs-update))))
  > -       (when state
  > +       (when (and state (not (string= "." filename)))
  >           (setq result (cons (list filename state) result)))))
  >      (funcall callback result)))

After doing "svn update -rSOME_OLDER_VERSION" it seems that "." can
appear in the "svn status" output.  So I applied this patch.


This bug report was last modified 16 years and 97 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.