Subject: 23.1.50; tramp-ftp-file-name-handler: Recursive `require' for feature `ange-ftp'

From: Stephen Berman <[email-masked]>
Date: Fri, 02 Oct 2009 11:14:21 +0200

Until sometime within the last few weeks (sorry, I can't narrow it down
more), the following (anonymized) code worked fine:

(defun my-ftp ()
  "Call dired on my ftp server."
  (interactive)
  (require 'tramp)
  (let ((default-directory "/ftp:[email-masked]:/"))
    (call-interactively 'dired)))

But now it throws the error in the Subject line (also with emacs -Q
built with make bootstrap).  When I comment out (require 'tramp) and
eval the resulting defun in emacs -Q, then I get this error:

expand-file-name: Recursive load: "/home/steve/cvsroot/emacs/lisp/net/tramp.elc", "/home/steve/cvsroot/emacs/lisp/net/tramp.elc", "/home/steve/cvsroot/emacs/lisp/net/tramp.elc", "/home/steve/cvsroot/emacs/lisp/net/tramp.elc", "/home/steve/cvsroot/emacs/lisp/net/tramp.elc", "/home/steve/cvsroot/emacs/lisp/dired.elc"

Doing `C-x d RET /ftp:[email-masked]:/ RET' works as always.
After doing this, then my-ftp also works (both with the require-sexp and
without it).

The problem is only with ftp handling; the following defun works fine:

(defun sv ()
  "Call dired on /su::/var/log."
  (interactive)
  (require 'tramp)
  (let ((default-directory "/su::/var/log"))
    (call-interactively 'dired)))

Did something change in the ftp handling that I have to adapt my-ftp to,
or is this a bug in Emacs?

In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-10-01 on escher
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_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t