Subject: Re: bug#56078: 29.0.50; url-handler-mode fails to open FTP link

From: Michael Albinus <[email-masked]>
Date: Sun, 19 Jun 2022 19:48:33 +0200

Lars Ingebrigtsen <[email-masked]> writes:

Hi,

> I'm unable to reproduce that, but I do get a different error:
>
> tramp-error: Lisp nesting exceeds ‘max-lisp-eval-depth’: ""
>
> With debug-on-error I get yet another error:
>
> Debugger entered--Lisp error: (overflow-error "16212958658533785600")
>   signal(overflow-error ("16212958658533785600"))
>   tramp-error((tramp-file-name "ftp" nil nil "ftp.cam.ov.com" nil "/pub/xrn/unsupported/xrn-motif.tgz" nil) overflow-error "16212958658533785600")
>   tramp-signal-hook-function(overflow-error ("16212958658533785600"))
>   signal(overflow-error ("16212958658533785600"))
>   ange-ftp-hook-function(file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")
>   apply(ange-ftp-hook-function file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")
>   tramp-ftp-file-name-handler(file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")
>   apply(tramp-ftp-file-name-handler file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")
>   tramp-file-name-handler(file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")
>   file-exists-p("/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")
>   (progn (file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif..."))
>   eval((progn (file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif...")) t)
>   elisp--eval-last-sexp(nil)
>
> And I get that without url-handler-mode.  Just the following reproduces
> the error for me:
>
> (file-exists-p "/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif.tgz")
>
> Michael added to the CCs.

I'm able to reproduce it. In ange-ftp-get-files, there is

--8<---------------cut here---------------start------------->8---
  (setq directory (file-name-as-directory directory)) ;normalize
--8<---------------cut here---------------end--------------->8---

As consequence the file name
"/ftp:ftp.cam.ov.com:/pub/xrn/unsupported/xrn-motif.tgz/" is used from
now on, which invokes tramp-archive functionality.

I'm working on a fix. As work-around, you can eval

--8<---------------cut here---------------start------------->8---
(customize-set-variable 'tramp-archive-enabled nil)
--8<---------------cut here---------------end--------------->8---

after starting Emacs.

The case with the url-handler-mode I haven't investigated yet.

Best regards, Michael.