GNU bug report logs -
#4599
23.1.50; VC (CVS) fails to show directory status
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 4599 in the body.
You can then email your comments to 4599 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Wed, 30 Sep 2009 13:05:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Tim Van Holder <tim.vanholder <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Wed, 30 Sep 2009 13:05:05 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
As of this morning's CVS build, C-x v d for a CVS-controlled directory
results in the following error message, leaving the message line with
the [waiting] marker:
error in process sentinel: Wrong type argument: arrayp, nil
*Messages* also has
error in process sentinel: vc-dir-node-directory: Wrong type argument: arrayp, nil
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Wed, 30 Sep 2009 17:00:12 GMT)
Full text and
rfc822 format available.
Message #8 received at 4599 <at> emacsbugs.donarmstrong.com (full text, mbox):
Tim Van Holder <tim.vanholder <at> gmail.com> writes:
> As of this morning's CVS build, C-x v d for a CVS-controlled directory
> results in the following error message, leaving the message line with
> the [waiting] marker:
>
> error in process sentinel: Wrong type argument: arrayp, nil
>
> *Messages* also has
>
> error in process sentinel: vc-dir-node-directory: Wrong type argument: arrayp, nil
I can't try this at the moment, but I am pretty sure that this change is to blame:
+2009-09-29 Stefan Monnier <address <at> hidden>
+
+ * vc-hooks.el (vc-dir-buffers): New var.
+ (vc-state-refresh): New function.
+ (vc-state): Use it.
+ (vc-after-save): Always ask the backend to recompute the new state.
+ Always call vc-dir if necessary, using vc-dir-buffers.
+ * vc-dir.el (vc-dir-prepare-status-buffer, vc-dir-resynch-file):
+ Use vc-dir-buffers.
+ (vc-dir-mode): Use vc-dir-buffers rather than after-save-hook.
+ (vc-dir-prepare-status-buffer, vc-dir-update)
+ (vc-dir-resync-directory-files, vc-dir-resynch-file, vc-dir-mode):
+ Don't call expand-file-name on default-directory.
in particular the removal or the expand-file-name calls is incorrect.
At least ~ needs to be expanded, otherwise things just do not work.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Wed, 30 Sep 2009 20:05:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Wed, 30 Sep 2009 20:05:05 GMT)
Full text and
rfc822 format available.
Message #13 received at 4599 <at> emacsbugs.donarmstrong.com (full text, mbox):
> +2009-09-29 Stefan Monnier <address <at> hidden>
> +
> + * vc-hooks.el (vc-dir-buffers): New var.
> + (vc-state-refresh): New function.
> + (vc-state): Use it.
> + (vc-after-save): Always ask the backend to recompute the new state.
> + Always call vc-dir if necessary, using vc-dir-buffers.
> + * vc-dir.el (vc-dir-prepare-status-buffer, vc-dir-resynch-file):
> + Use vc-dir-buffers.
> + (vc-dir-mode): Use vc-dir-buffers rather than after-save-hook.
> + (vc-dir-prepare-status-buffer, vc-dir-update)
> + (vc-dir-resync-directory-files, vc-dir-resynch-file, vc-dir-mode):
> + Don't call expand-file-name on default-directory.
> in particular the removal or the expand-file-name calls is incorrect.
> At least ~ needs to be expanded, otherwise things just do not work.
While it might be the immediate cause of the problem, I think the
removal of expand-file-name calls might still be right: the code that
sets default-directory to a value starting with "~/" might be the one
that should be changed.
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Thu, 01 Oct 2009 02:25:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Thu, 01 Oct 2009 02:25:05 GMT)
Full text and
rfc822 format available.
Message #18 received at 4599 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> in particular the removal or the expand-file-name calls is incorrect.
>> At least ~ needs to be expanded, otherwise things just do not work.
> While it might be the immediate cause of the problem, I think the
> removal of expand-file-name calls might still be right: the code that
> sets default-directory to a value starting with "~/" might be the one
> that should be changed.
The patch below indeed seems to fix the problem.
Stefan
=== modified file 'lisp/files.el'
--- lisp/files.el 2009-09-30 14:51:08 +0000
+++ lisp/files.el 2009-10-01 02:15:33 +0000
@@ -648,7 +648,12 @@
;; Put the name into directory syntax now,
;; because otherwise expand-file-name may give some bad results.
(setq dir (file-name-as-directory dir))
- (setq dir (abbreviate-file-name (expand-file-name dir)))
+ ;; We used to additionally call abbreviate-file-name here, for an
+ ;; unknown reason. Problem is that most buffers are setup
+ ;; without going through cd-absolute and don't call
+ ;; abbreviate-file-name on their default-directory, so the few that
+ ;; do end up using a superficially different directory.
+ (setq dir (expand-file-name dir))
(if (not (file-directory-p dir))
(if (file-exists-p dir)
(error "%s is not a directory" dir)
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Thu, 01 Oct 2009 08:45:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Tim Van Holder <tim.vanholder <at> gmail.com>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Thu, 01 Oct 2009 08:45:05 GMT)
Full text and
rfc822 format available.
Message #23 received at 4599 <at> emacsbugs.donarmstrong.com (full text, mbox):
2009/10/1 Stefan Monnier <monnier <at> iro.umontreal.ca>:
> The patch below indeed seems to fix the problem.
>
> [snip]
Yes, this morning's CVS build works fine again.
I still have a couple outstanding issues with VC (CVS backend):
- Sometimes after checking in (either C-x v v in a file, or from
vc-dir), I get "point before start of properties". The commit will
have succeeded at that point (so it's not a big deal as such), but the
mode line of a buffer visiting a checked-in file will not be updated
to indicate its "unmodified" status (i.e. will have "CVS:1.blah"
instead of "CVS-1.blah").
- Some operations, when done on a directory name in vc-dir fail; for
example, I just pressed '+' when on a directory name (containing only
'need-update' files), and got the error "vc-cvs-merge-news: Couldn't
analyze cvs update result". The *vc* buffer has normal CVS output at
that point ("cvs update: Updating ." followed by a bunch of P lines);
my guess it's that first line that confuses VC. Again, the operation
does indeed succeed, so it's not a big deal.
I'll report these as separate bugs once they annoy me enough.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Thu, 01 Oct 2009 14:20:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Thu, 01 Oct 2009 14:20:04 GMT)
Full text and
rfc822 format available.
Message #28 received at 4599 <at> emacsbugs.donarmstrong.com (full text, mbox):
> - Sometimes after checking in (either C-x v v in a file, or from
> vc-dir), I get "point before start of properties". The commit will
I've received a few reports of "point before start of properties" (not
necessarily linked to VC, most likely it's a much lower-level bug), but
none that I could reproduce. If you can find a way to reproduce it,
that would be very helpful.
> - Some operations, when done on a directory name in vc-dir fail; for
> example, I just pressed '+' when on a directory name (containing only
> 'need-update' files), and got the error "vc-cvs-merge-news: Couldn't
> analyze cvs update result". The *vc* buffer has normal CVS output at
> that point ("cvs update: Updating ." followed by a bunch of P lines);
> my guess it's that first line that confuses VC. Again, the operation
> does indeed succeed, so it's not a big deal.
Hmm... looks like vc-cvs-merge-news needs a lot of work,
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#4599
; Package
emacs
.
(Thu, 01 Oct 2009 16:30:03 GMT)
Full text and
rfc822 format available.
Message #31 received at 4599 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> > - Some operations, when done on a directory name in vc-dir fail; for
> > example, I just pressed '+' when on a directory name (containing only
> > 'need-update' files), and got the error "vc-cvs-merge-news: Couldn't
> > analyze cvs update result". The *vc* buffer has normal CVS output at
> > that point ("cvs update: Updating ." followed by a bunch of P lines);
> > my guess it's that first line that confuses VC. Again, the operation
> > does indeed succeed, so it's not a big deal.
>
> Hmm... looks like vc-cvs-merge-news needs a lot of work,
And `vc-update' too, the fact that it loops through the files and
updates them one by one is not the best idea, it should probably
delegate this to a VC-backend specific function.
bug closed, send any further explanations to Tim Van Holder <tim.vanholder <at> gmail.com>
Request was from
Juanma Barranquero <lekktu <at> gmail.com>
to
control <at> emacsbugs.donarmstrong.com
.
(Thu, 22 Oct 2009 09:40:24 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> emacsbugs.donarmstrong.com
.
(Thu, 19 Nov 2009 15:24:18 GMT)
Full text and
rfc822 format available.
This bug report was last modified 15 years and 217 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.