unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* "tramp-completion-file-name-handler: Recursive load" with the trunk code
@ 2008-03-19  3:45 an0
  2008-03-19  9:23 ` Juanma Barranquero
  2008-03-19 21:14 ` Michael Albinus
  0 siblings, 2 replies; 17+ messages in thread
From: an0 @ 2008-03-19  3:45 UTC (permalink / raw)
  To: emacs-devel

I met an error as follows starting emacs compiled from today's trunk code:
tramp-completion-file-name-handler: Recursive load:
"/home/xxx/share/emacs/23.0.60/lisp/net/tramp.elc",
"/home/xxx/share/emacs/23.0.60/lisp/net/tramp.elc",
"/home/xxx/share/emacs/23.0.60/lisp/net/tramp.elc",
"/home/xxx/share/emacs/23.0.60/lisp/net/tramp.elc",
"/home/xxx/share/emacs/23.0.60/lisp/net/tramp.elc",
"/home/xxx/share/emacs/23.0.60/lisp/ibuffer.elc"

And any subsequent nontrivial operations cause the same error to recur
again and again, which renders my emacs completely useless.

After some tracing, I found it was probably caused by ido, because the
problem disappeared after I commented out following code in my .emacs:
  (require 'ido)
  (ido-mode 1)




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19  3:45 "tramp-completion-file-name-handler: Recursive load" with the trunk code an0
@ 2008-03-19  9:23 ` Juanma Barranquero
  2008-03-19 10:24   ` an0
  2008-03-19 21:14 ` Michael Albinus
  1 sibling, 1 reply; 17+ messages in thread
From: Juanma Barranquero @ 2008-03-19  9:23 UTC (permalink / raw)
  To: an0; +Cc: emacs-devel

On Wed, Mar 19, 2008 at 4:45 AM, an0 <an00na@gmail.com> wrote:

>  After some tracing, I found it was probably caused by ido, because the
>  problem disappeared after I commented out following code in my .emacs:
>   (require 'ido)
>   (ido-mode 1)

It happens since this change:

2008-03-17  Michael Albinus  <michael.albinus@gmx.de>

        * net/tramp.el (tramp-root-regexp): Simplify.
        (tramp-completion-file-name-regexp-separate): Don't insist on
        leading "[".  This prevents method or user or host completion.
        (tramp-let-maybe): Autoload it.
        (tramp-drop-volume-letter): Don't autoload.  When not on W32, it
        is an alias for `identity'.
        (tramp-handle-write-region): Protect `last-coding-system-used'
        over the trailing statements.
        (tramp-completion-file-name-handler-post-function): Remove.
        (tramp-completion-file-name-handler): Let-bind `directory-sep-char'
        instead of calling `tramp-drop-volume-letter'.

Also, it happens if you have (ido-mode 1) or (ido-mode 'files) in your
.emacs, but it does not happen if you activate ido-mode after loading
Emacs.

 Juanma




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19  9:23 ` Juanma Barranquero
@ 2008-03-19 10:24   ` an0
  2008-03-19 10:26     ` Juanma Barranquero
  2008-03-19 12:13     ` Michael Albinus
  0 siblings, 2 replies; 17+ messages in thread
From: an0 @ 2008-03-19 10:24 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

Thanks. I found that too, and I am now using M-x ido-mode manually.
Nevertheless, it is a BUG, right? So I hope someone(Michael Albinus?)
could fix it asap.

On Wed, Mar 19, 2008 at 5:23 PM, Juanma Barranquero <lekktu@gmail.com> wrote:
> On Wed, Mar 19, 2008 at 4:45 AM, an0 <an00na@gmail.com> wrote:
>
>  >  After some tracing, I found it was probably caused by ido, because the
>  >  problem disappeared after I commented out following code in my .emacs:
>  >   (require 'ido)
>  >   (ido-mode 1)
>
>  It happens since this change:
>
>  2008-03-17  Michael Albinus  <michael.albinus@gmx.de>
>
>         * net/tramp.el (tramp-root-regexp): Simplify.
>         (tramp-completion-file-name-regexp-separate): Don't insist on
>         leading "[".  This prevents method or user or host completion.
>         (tramp-let-maybe): Autoload it.
>         (tramp-drop-volume-letter): Don't autoload.  When not on W32, it
>         is an alias for `identity'.
>         (tramp-handle-write-region): Protect `last-coding-system-used'
>         over the trailing statements.
>         (tramp-completion-file-name-handler-post-function): Remove.
>         (tramp-completion-file-name-handler): Let-bind `directory-sep-char'
>         instead of calling `tramp-drop-volume-letter'.
>
>  Also, it happens if you have (ido-mode 1) or (ido-mode 'files) in your
>  .emacs, but it does not happen if you activate ido-mode after loading
>  Emacs.
>
>   Juanma
>




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 10:24   ` an0
@ 2008-03-19 10:26     ` Juanma Barranquero
  2008-03-19 12:13     ` Michael Albinus
  1 sibling, 0 replies; 17+ messages in thread
From: Juanma Barranquero @ 2008-03-19 10:26 UTC (permalink / raw)
  To: an0; +Cc: emacs-devel

On Wed, Mar 19, 2008 at 11:24 AM, an0 <an00na@gmail.com> wrote:

> Thanks. I found that too, and I am now using M-x ido-mode manually.

As a workaround, you can use

  (add-hook 'term-setup-hook 'ido-mode)

in your .emacs so you don't have to activate it manually.

>  Nevertheless, it is a BUG, right?

Yes.

 Juanma




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 10:24   ` an0
  2008-03-19 10:26     ` Juanma Barranquero
@ 2008-03-19 12:13     ` Michael Albinus
  2008-03-19 14:02       ` Stefan Monnier
  2008-03-19 21:44       ` Richard Stallman
  1 sibling, 2 replies; 17+ messages in thread
From: Michael Albinus @ 2008-03-19 12:13 UTC (permalink / raw)
  To: an0; +Cc: Juanma Barranquero, emacs-devel

an0 <an00na@gmail.com> writes:

> So I hope someone(Michael Albinus?)  could fix it asap.

I'll do it tonight. Currently, I'm sitting in the company's jail.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 12:13     ` Michael Albinus
@ 2008-03-19 14:02       ` Stefan Monnier
  2008-03-19 14:58         ` Michael Albinus
  2008-03-19 21:44       ` Richard Stallman
  1 sibling, 1 reply; 17+ messages in thread
From: Stefan Monnier @ 2008-03-19 14:02 UTC (permalink / raw)
  To: Michael Albinus; +Cc: an0, emacs-devel, Juanma Barranquero

>> So I hope someone(Michael Albinus?)  could fix it asap.

> I'll do it tonight. Currently, I'm sitting in the company's jail.

It's a simple problem:

        load
calls   file-truename
calls   tramp-completion-file-name-handler
uses    tramp-let-maybe
which is autoloaded from tramp.el
which cases tramp.elc to be loaded, so calls load
calls   file-truename
...

I *strongly* suggest to live with the obsolete warnings rather than use
such hideous hacks as tramp-let-maybe.


        Stefan






^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 14:02       ` Stefan Monnier
@ 2008-03-19 14:58         ` Michael Albinus
  2008-03-19 16:40           ` Stefan Monnier
  0 siblings, 1 reply; 17+ messages in thread
From: Michael Albinus @ 2008-03-19 14:58 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Juanma Barranquero, an0, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 737 bytes --]

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> It's a simple problem:
>
>         load
> calls   file-truename
> calls   tramp-completion-file-name-handler
> uses    tramp-let-maybe
> which is autoloaded from tramp.el
> which cases tramp.elc to be loaded, so calls load
> calls   file-truename
> ...
>
> I *strongly* suggest to live with the obsolete warnings rather than use
> such hideous hacks as tramp-let-maybe.

tramp-let-maybe is needed only in case of XEmacs on W32...

The appended patch shall cure it for now. There will be a new error in
compiling tramp-fish.el; this can be ignored. Tonight I'll commit a
patch handling this as well.

>         Stefan

Sorry for the inconvenience to everybody. Best regards, Michael.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 4061 bytes --]

*** /tmp/tramp.el.~1~	Wed Mar 19 15:52:46 2008
--- /tmp/tramp.el	Wed Mar 19 15:52:46 2008
***************
*** 1957,1974 ****
  (put 'with-connection-property 'edebug-form-spec t)
  (font-lock-add-keywords 'emacs-lisp-mode '("\\<with-connection-property\\>"))
  
- ;;;###autoload
- (defmacro tramp-let-maybe (variable value &rest body)
-   "Let-bind VARIABLE to VALUE in BODY, but only if VARIABLE is not obsolete.
- BODY is executed whether or not the variable is obsolete.
- The intent is to protect against `obsolete variable' warnings."
-   `(if (get ',variable 'byte-obsolete-variable)
-        (progn ,@body)
-      (let ((,variable ,value))
-        ,@body)))
- (put 'tramp-let-maybe 'lisp-indent-function 2)
- (put 'tramp-let-maybe 'edebug-form-spec t)
- 
  (defsubst tramp-make-tramp-temp-file (vec)
    "Create a temporary file on the remote host identified by VEC.
  Return the local name of the temporary file."
--- 1957,1962 ----
***************
*** 2201,2209 ****
    "Like `file-truename' for Tramp files."
    (with-parsed-tramp-file-name (expand-file-name filename) nil
      (with-file-property v localname "file-truename"
!       (let* ((steps        (tramp-split-string localname "/"))
! 	     (localnamedir (tramp-let-maybe directory-sep-char ?/ ;for XEmacs
! 			     (file-name-as-directory localname)))
  	     (is-dir (string= localname localnamedir))
  	     (thisstep nil)
  	     (numchase 0)
--- 2189,2197 ----
    "Like `file-truename' for Tramp files."
    (with-parsed-tramp-file-name (expand-file-name filename) nil
      (with-file-property v localname "file-truename"
!       (let* ((directory-sep-char ?/) ;for XEmacs
! 	     (steps (tramp-split-string localname "/"))
! 	     (localnamedir (file-name-as-directory localname))
  	     (is-dir (string= localname localnamedir))
  	     (thisstep nil)
  	     (numchase 0)
***************
*** 3557,3569 ****
        ;; would otherwise use backslash.  `default-directory' is
        ;; bound, because on Windows there would be problems with UNC
        ;; shares or Cygwin mounts.
!       (tramp-let-maybe directory-sep-char ?/
! 	(let ((default-directory (tramp-compat-temporary-file-directory)))
! 	  (tramp-make-tramp-file-name
! 	   method user host
! 	   (tramp-drop-volume-letter
! 	    (tramp-run-real-handler 'expand-file-name
! 				    (list localname)))))))))
  
  (defun tramp-handle-substitute-in-file-name (filename)
    "Like `substitute-in-file-name' for Tramp files.
--- 3545,3557 ----
        ;; would otherwise use backslash.  `default-directory' is
        ;; bound, because on Windows there would be problems with UNC
        ;; shares or Cygwin mounts.
!       (let ((directory-sep-char ?/)
! 	    (default-directory (tramp-compat-temporary-file-directory)))
! 	(tramp-make-tramp-file-name
! 	 method user host
! 	 (tramp-drop-volume-letter
! 	  (tramp-run-real-handler 'expand-file-name
! 				  (list localname))))))))
  
  (defun tramp-handle-substitute-in-file-name (filename)
    "Like `substitute-in-file-name' for Tramp files.
***************
*** 4497,4507 ****
  Falls back to normal file name handler if no Tramp file name handler exists."
    ;; We bind `directory-sep-char' here for XEmacs on Windows, which
    ;; would otherwise use backslash.
!   (tramp-let-maybe directory-sep-char ?/
!     (let ((fn (assoc operation tramp-completion-file-name-handler-alist)))
!       (if fn
! 	  (save-match-data (apply (cdr fn) args))
! 	(tramp-completion-run-real-handler operation args))))))
  
  ;;;###autoload
  (defsubst tramp-register-file-name-handler ()
--- 4485,4495 ----
  Falls back to normal file name handler if no Tramp file name handler exists."
    ;; We bind `directory-sep-char' here for XEmacs on Windows, which
    ;; would otherwise use backslash.
!   (let ((directory-sep-char ?/)
! 	(fn (assoc operation tramp-completion-file-name-handler-alist)))
!     (if fn
! 	(save-match-data (apply (cdr fn) args))
!       (tramp-completion-run-real-handler operation args)))))
  
  ;;;###autoload
  (defsubst tramp-register-file-name-handler ()

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 14:58         ` Michael Albinus
@ 2008-03-19 16:40           ` Stefan Monnier
  2008-03-19 16:54             ` Michael Albinus
  0 siblings, 1 reply; 17+ messages in thread
From: Stefan Monnier @ 2008-03-19 16:40 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Juanma Barranquero, an0, emacs-devel

>> I *strongly* suggest to live with the obsolete warnings rather than use
>> such hideous hacks as tramp-let-maybe.

> tramp-let-maybe is needed only in case of XEmacs on W32...

From where I stand, tramp-let-maybe is only needed if you're allergic to
byte-compilation warnings and can't find another way to turn them off.

I can be sympathetic to such an allergy, but then we need to find
another way to turn them off.


        Stefan





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 16:40           ` Stefan Monnier
@ 2008-03-19 16:54             ` Michael Albinus
  2008-03-19 17:39               ` Stefan Monnier
  0 siblings, 1 reply; 17+ messages in thread
From: Michael Albinus @ 2008-03-19 16:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Juanma Barranquero, an0, Michael Albinus, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> I can be sympathetic to such an allergy, but then we need to find
> another way to turn them off.

D'accord. I'll try.

More than half of the time in Tramp support is eaten by compatibility
issues, which is really a shame. I don't know whom to blame for the
situation; everybody has his/her good reasons for using a special
flavor of (S?X)?Emacs.

>         Stefan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 16:54             ` Michael Albinus
@ 2008-03-19 17:39               ` Stefan Monnier
  2008-03-19 20:25                 ` Stephen J. Turnbull
  0 siblings, 1 reply; 17+ messages in thread
From: Stefan Monnier @ 2008-03-19 17:39 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Juanma Barranquero, an0, emacs-devel

>> I can be sympathetic to such an allergy, but then we need to find
>> another way to turn them off.

> D'accord. I'll try.

> More than half of the time in Tramp support is eaten by compatibility
> issues, which is really a shame. I don't know whom to blame for the
> situation; everybody has his/her good reasons for using a special
> flavor of (S?X)?Emacs.

So, if I were you, the first thing to do would be to ignore any
non-issue, such as compilation warnings.  This way, maybe you'll find
time to work on useful things.


        Stefan




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 17:39               ` Stefan Monnier
@ 2008-03-19 20:25                 ` Stephen J. Turnbull
  2008-03-19 20:51                   ` Michael Albinus
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen J. Turnbull @ 2008-03-19 20:25 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Michael Albinus, emacs-devel

Stefan Monnier writes:

 > So, if I were you, the first thing to do would be to ignore any
 > non-issue, such as compilation warnings.  This way, maybe you'll
 > find time to work on useful things.

*sigh*  Plus ça change, plus cést la même chose.

Michael, there's not much we can do about this one at this time; I
don't know enough about Windows issues to propose a better way to
handle path separators than `directory-sep-char'.  But if you have
compatibility issues, you're welcome to bring them up on
xemacs-beta@xemacs.org.




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 20:25                 ` Stephen J. Turnbull
@ 2008-03-19 20:51                   ` Michael Albinus
  0 siblings, 0 replies; 17+ messages in thread
From: Michael Albinus @ 2008-03-19 20:51 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Stefan Monnier, emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Michael, there's not much we can do about this one at this time; I
> don't know enough about Windows issues to propose a better way to
> handle path separators than `directory-sep-char'.  But if you have
> compatibility issues, you're welcome to bring them up on
> xemacs-beta@xemacs.org.

I know, thank you. In a perfect world, I would wish a second Tramp
maintainer, with XEmacs background. I'm alone there, for years.

But this might be the wrong mailing list for such wishes ...

Best regards, Michael.




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19  3:45 "tramp-completion-file-name-handler: Recursive load" with the trunk code an0
  2008-03-19  9:23 ` Juanma Barranquero
@ 2008-03-19 21:14 ` Michael Albinus
  2008-03-20  2:45   ` an0
  1 sibling, 1 reply; 17+ messages in thread
From: Michael Albinus @ 2008-03-19 21:14 UTC (permalink / raw)
  To: an0; +Cc: emacs-devel

an0 <an00na@gmail.com> writes:

> And any subsequent nontrivial operations cause the same error to recur
> again and again, which renders my emacs completely useless.

Should be fixed now in the trunk.

Best regards, Michael.




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 12:13     ` Michael Albinus
  2008-03-19 14:02       ` Stefan Monnier
@ 2008-03-19 21:44       ` Richard Stallman
  2008-03-19 22:32         ` Thomas Lord
  1 sibling, 1 reply; 17+ messages in thread
From: Richard Stallman @ 2008-03-19 21:44 UTC (permalink / raw)
  To: Michael Albinus; +Cc: an00na, emacs-devel, lekktu

    I'll do it tonight. Currently, I'm sitting in the company's jail.

Are you connecting through your cell phone?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 21:44       ` Richard Stallman
@ 2008-03-19 22:32         ` Thomas Lord
  2008-03-20  7:32           ` Michael Albinus
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Lord @ 2008-03-19 22:32 UTC (permalink / raw)
  To: rms; +Cc: lekktu, an00na, Michael Albinus, emacs-devel

Richard Stallman wrote:
>     I'll do it tonight. Currently, I'm sitting in the company's jail.
>
> Are you connecting through your cell phone?
>
>
>
>   


Not only that, but he's got a battery problem.   It's a
pretty nasty jail.

-t






^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 21:14 ` Michael Albinus
@ 2008-03-20  2:45   ` an0
  0 siblings, 0 replies; 17+ messages in thread
From: an0 @ 2008-03-20  2:45 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Well done. Thanks. It works.

On Thu, Mar 20, 2008 at 5:14 AM, Michael Albinus <michael.albinus@gmx.de> wrote:
> an0 <an00na@gmail.com> writes:
>
>
> > And any subsequent nontrivial operations cause the same error to recur
>  > again and again, which renders my emacs completely useless.
>
>  Should be fixed now in the trunk.
>
>  Best regards, Michael.
>




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: "tramp-completion-file-name-handler: Recursive load" with the trunk code
  2008-03-19 22:32         ` Thomas Lord
@ 2008-03-20  7:32           ` Michael Albinus
  0 siblings, 0 replies; 17+ messages in thread
From: Michael Albinus @ 2008-03-20  7:32 UTC (permalink / raw)
  To: Thomas Lord; +Cc: lekktu, an00na, rms, emacs-devel

Thomas Lord <lord@emf.net> writes:

> Richard Stallman wrote:
>>     I'll do it tonight. Currently, I'm sitting in the company's jail.
>>
>> Are you connecting through your cell phone?
>
> Not only that, but he's got a battery problem.   It's a
> pretty nasty jail.

Firewalls in all directions. No (MS) Windows, so it's not *that* nasty.

No cell phone, connection established via IPoAC (RFC 1149). Concorde
extension (RFC 2549) is broken, this causes delays.

> -t

Best regards, Michael.





^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2008-03-20  7:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-19  3:45 "tramp-completion-file-name-handler: Recursive load" with the trunk code an0
2008-03-19  9:23 ` Juanma Barranquero
2008-03-19 10:24   ` an0
2008-03-19 10:26     ` Juanma Barranquero
2008-03-19 12:13     ` Michael Albinus
2008-03-19 14:02       ` Stefan Monnier
2008-03-19 14:58         ` Michael Albinus
2008-03-19 16:40           ` Stefan Monnier
2008-03-19 16:54             ` Michael Albinus
2008-03-19 17:39               ` Stefan Monnier
2008-03-19 20:25                 ` Stephen J. Turnbull
2008-03-19 20:51                   ` Michael Albinus
2008-03-19 21:44       ` Richard Stallman
2008-03-19 22:32         ` Thomas Lord
2008-03-20  7:32           ` Michael Albinus
2008-03-19 21:14 ` Michael Albinus
2008-03-20  2:45   ` an0

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).