[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1741: 23.0.60; vc fail to register file while logged as /su:: with t
From: |
thierry . volpiatto |
Subject: |
bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp |
Date: |
Wed, 08 Apr 2009 13:23:48 +0200 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.92 (gnu/linux) |
Hi Dan!
Thank you to have a look at this bug.
It's a long time, i didn't remember i sent this bug.
The bug is still here.(23.0.92)
Dan Nicolaescu <dann@ics.uci.edu> writes:
> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
>
> > Please write in English if possible, because the Emacs maintainers
> > usually do not have translators to read other languages for them.
> >
> > Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing
> list.
> >
> > Please describe exactly what actions triggered the bug
> > and the precise symptoms of the bug:
> >
> > Hi,
> > i can't register a file with vc/rcs when i am logged as root throught
> > tramp.
> > 1) C-x v i
> > 2) Create RCS dir (y/n) ==> The dir is created.
> > 3) But now ==> _Here the debug output_:
> >
> > ,----
> > | Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> > | file-exists-p(nil)
> > | vc-insert-file(nil "^[0-9]")
> > |
> vc-rcs-fetch-master-state("/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > |
> vc-rcs-working-revision("/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | apply(vc-rcs-working-revision
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-call-backend(RCS working-revision
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > |
> vc-working-revision("/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-default-mode-line-string(RCS
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | apply(vc-default-mode-line-string RCS
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-call-backend(RCS mode-line-string
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-mode-line("/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > | run-hook-with-args(vc-mode-line
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> > |
> vc-resynch-window("/su:root@tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> > |
> vc-resynch-buffer("/su:root@tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> > |
> > | [...]
> > |
> > | [G70600 G70601 rev comment file --cl-dolist-temp--
> > | message "Registering %s... " mapc vc-file-clearprops vc-call-backend
> > | register nil vc-file-setprop
> > | vc-backend "Registering %s... done"] 6] (quote --files--) (quote
> --backend--) --cl-rest--)))
> > | vc-register(nil)
> > | call-interactively(vc-register nil nil)
> > `----
> >
> > _And if i want to delete RCS directory from dired_:
> >
> > ,----
> > | (file-error Couldn't delete /su:root@tux.homenetwork:/usr/local/bin/RCS)
> > `----
> >
> > However if i open an emacs root session i can register my file as
> > normal.
>
> What happens is that vc-check-master-templates gets called with
> "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh", and it calls
> (file-exists-p "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
> which returns nil.
No, `file-exists-p' recognize tramp file name and return t.
(file-exists-p "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")
==>t
The problem is, i think, vc call `file-exists-p' with (vc-name fname) as
argument instead of "file_name":
,----[ With a tramp filename return error ]
| (file-exists-p (vc-name "/su:root@tux.homenetwork:/usr/local/bin/editeur.sh"))
| ==>
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
| file-exists-p(nil)
| eval((file-exists-p (vc-name
"/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")))
| eval-expression((file-exists-p (vc-name
"/su:root@tux.homenetwork:/usr/local/bin/editeur.sh")) nil)
| call-interactively(eval-expression nil nil)
`----
,----[ With a regular filename return t ]
| (file-exists-p (vc-name "~/bin/call-gnus.sh"))
| ==>t
`----
So it seem the problem come from vc that try to set properties on
filename with `vc-name' and fail on tramp filename.
(`vc-name' call `vc-file-getprop')
Thought i didn't look at the code carefully, so i am may be wrong.
> There's a few other `file-exists-p' calls in vc*.el, so it's likely that
> other things can go wrong if this one instance is somehow fixed.
>
> If someone familiar with what tramp needs wants to get this to work,
> about all vc calls need to be tested to make sure they don't do
> something that tramp can't do.
>
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Dan Nicolaescu, 2009/04/07
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp,
thierry . volpiatto <=
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Dan Nicolaescu, 2009/04/08
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Stefan Monnier, 2009/04/08
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Michael Albinus, 2009/04/09
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Stefan Monnier, 2009/04/09
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Michael Albinus, 2009/04/09
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Stefan Monnier, 2009/04/09
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Michael Albinus, 2009/04/12
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Stefan Monnier, 2009/04/12
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Michael Albinus, 2009/04/12
- bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp, Stefan Monnier, 2009/04/12