bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#36969: 27.0.50; tramp ftp fails (was Re: master 7aaf500: Stronger ch


From: Katsumi Yamaoka
Subject: bug#36969: 27.0.50; tramp ftp fails (was Re: master 7aaf500: Stronger check for Tramp method)
Date: Thu, 08 Aug 2019 16:33:57 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-cygwin)

Hi,

I'm a bit surprised that I've never used tramp ftp for two months. ;-)
But yesterday, I found it doesn't work.  A recipe is here:

(require 'tramp)
(tramp-change-syntax 'simplified)
(setq tramp-default-method "ftp")
(setq ange-ftp-try-passive-mode t)
(setq debug-on-error t)
(dired "/jpl.org:~/")

Where "/jpl.org:~/" is my home directory in the jpl.org host,
user name and password are set in the ~/.netrc file as follows:

machine jpl.org login MyAcountName password MyPassword

The symptom is that it fails with the message:

tramp-error: Method `' is not known.

A Lisp backtrace is attached below, and a workaround I found to
make it work is to revert your change made in tramp.el with the
revno 7aaf500:

On Tue, 04 Jun 2019 06:51:53 -0400, Michael Albinus wrote:
> branch: master
> commit 7aaf500701be3b51c686b7d86c9b505ef5fa9b8f
> Author: Michael Albinus <michael.albinus@gmx.de>
> Commit: Michael Albinus <michael.albinus@gmx.de>

>     Stronger check for Tramp method
[...]
>     * lisp/net/tramp.el (tramp-dissect-file-name): Check for proper method.
[...]
> --- a/lisp/net/tramp.el
> +++ b/lisp/net/tramp.el
> @@ -1435,6 +1435,12 @@ default values are used."
>           (setq v (make-tramp-file-name
>                    :method method :user user :domain domain :host host
>                    :port port :localname localname :hop hop))
> +       ;; The method must be known.
> +       (unless (or (tramp-completion-mode-p)
> +                   (string-equal method tramp-default-method-marker)
> +                   (assoc method tramp-methods))
> +         (tramp-user-error
> +          v "Method `%s' is not known." method))
>         ;; Only some methods from tramp-sh.el do support multi-hops.
>         (when (and
>                hop

Thanks in advance.
Regards,

In GNU Emacs 27.0.50 (build 1, x86_64-pc-cygwin, GTK+ Version 3.22.28)
 of 2019-08-08 built on localhost
Windowing system distributor 'The Cygwin/X Project', version 11.0.12004000

Debugger entered--Lisp error: (user-error "Method `' is not known.")
  signal(user-error ("Method `' is not known."))
  tramp-error((tramp-file-name "" nil nil "jpl.org" nil #("/" 0 1 (fontified 
nil front-sticky (field inhibit-line-move-field-capture) rear-nonsticky t field 
output inhibit-line-move-field-capture t)) nil) user-error "Method `%s' is not 
known." "")
  apply(tramp-error (tramp-file-name "" nil nil "jpl.org" nil #("/" 0 1 
(fontified nil front-sticky (field inhibit-line-move-field-capture) 
rear-nonsticky t field output inhibit-line-move-field-capture t)) nil) 
user-error "Method `%s' is not known." "")
  tramp-user-error((tramp-file-name "" nil nil "jpl.org" nil #("/" 0 1 
(fontified nil front-sticky (field inhibit-line-move-field-capture) 
rear-nonsticky t field output inhibit-line-move-field-capture t)) nil) "Method 
`%s' is not known." "")
  tramp-dissect-file-name(#("/jpl.org:/" 9 10 (inhibit-line-move-field-capture 
t field output rear-nonsticky t front-sticky (field 
inhibit-line-move-field-capture) fontified nil)) t)
  tramp-ftp-file-name-handler(file-exists-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  apply(tramp-ftp-file-name-handler file-exists-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  tramp-file-name-handler(file-exists-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  file-name-case-insensitive-p(#("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  apply(file-name-case-insensitive-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  ange-ftp-run-real-handler(file-name-case-insensitive-p (#("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil))))
  ange-ftp-hook-function(file-name-case-insensitive-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  apply(ange-ftp-hook-function file-name-case-insensitive-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  tramp-ftp-file-name-handler(file-name-case-insensitive-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  apply(tramp-ftp-file-name-handler file-name-case-insensitive-p #("/jpl.org:/" 
9 10 (inhibit-line-move-field-capture t field output rear-nonsticky t 
front-sticky (field inhibit-line-move-field-capture) fontified nil)))
  tramp-file-name-handler(file-name-case-insensitive-p #("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  file-name-case-insensitive-p(#("/jpl.org:/" 9 10 
(inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
(field inhibit-line-move-field-capture) fontified nil)))
  abbreviate-file-name(#("/jpl.org:/" 9 10 (inhibit-line-move-field-capture t 
field output rear-nonsticky t front-sticky (field 
inhibit-line-move-field-capture) fontified nil)))
  dired-noselect("/jpl.org:~/" nil)
  #f(compiled-function (dirname &optional switches) "\"Edit\" directory 
DIRNAME--delete, rename, print, etc. some files in it.\nOptional second 
argument SWITCHES specifies the `ls' options used.\n(Interactively, use a 
prefix argument to be able to specify SWITCHES.)\n\nIf DIRNAME is a string, 
Dired displays a list of files in DIRNAME (which\nmay also have shell wildcards 
appended to select certain files).\n\nIf DIRNAME is a cons, its first element 
is taken as the directory name\nand the rest as an explicit list of files to 
make directory entries for.\nIn this case, SWITCHES are applied to each of the 
files separately, and\ntherefore switches that control the order of the files 
in the produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag 
files for deletion with \\[dired-flag-file-deletion] and then\ndelete them by 
typing \\[dired-do-flagged-delete].\nType \\[describe-mode] after entering 
Dired for more info.\n\nIf DIRNAME is already in a Dired buffer, that buffer is 
used without refresh." (interactive (dired-read-dir-and-switches "")) 
#<bytecode 0x180165f55>)("/jpl.org:~/" nil)
  ls-lisp--dired(#f(compiled-function (dirname &optional switches) "\"Edit\" 
directory DIRNAME--delete, rename, print, etc. some files in it.\nOptional 
second argument SWITCHES specifies the `ls' options used.\n(Interactively, use 
a prefix argument to be able to specify SWITCHES.)\n\nIf DIRNAME is a string, 
Dired displays a list of files in DIRNAME (which\nmay also have shell wildcards 
appended to select certain files).\n\nIf DIRNAME is a cons, its first element 
is taken as the directory name\nand the rest as an explicit list of files to 
make directory entries for.\nIn this case, SWITCHES are applied to each of the 
files separately, and\ntherefore switches that control the order of the files 
in the produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag 
files for deletion with \\[dired-flag-file-deletion] and then\ndelete them by 
typing \\[dired-do-flagged-delete].\nType \\[describe-mode] after entering 
Dired for more info.\n\nIf DIRNAME is already in a Dired buffer, that buffer is 
used without refresh." (interactive (dired-read-dir-and-switches "")) 
#<bytecode 0x180165f55>) "/jpl.org:~/")
  apply(ls-lisp--dired #f(compiled-function (dirname &optional switches) 
"\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in 
it.\nOptional second argument SWITCHES specifies the `ls' options 
used.\n(Interactively, use a prefix argument to be able to specify 
SWITCHES.)\n\nIf DIRNAME is a string, Dired displays a list of files in DIRNAME 
(which\nmay also have shell wildcards appended to select certain files).\n\nIf 
DIRNAME is a cons, its first element is taken as the directory name\nand the 
rest as an explicit list of files to make directory entries for.\nIn this case, 
SWITCHES are applied to each of the files separately, and\ntherefore switches 
that control the order of the files in the produced\nlisting have no 
effect.\n\n\\<dired-mode-map>You can flag files for deletion with 
\\[dired-flag-file-deletion] and then\ndelete them by typing 
\\[dired-do-flagged-delete].\nType \\[describe-mode] after entering Dired for 
more info.\n\nIf DIRNAME is already in a Dired buffer, that buffer is used 
without refresh." (interactive (dired-read-dir-and-switches "")) #<bytecode 
0x180165f55>) "/jpl.org:~/")
  dired("/jpl.org:~/")
  eval((dired "/jpl.org:~/") t)
  eval-expression((dired "/jpl.org:~/") nil nil 127)
  funcall-interactively(eval-expression (dired "/jpl.org:~/") nil nil 127)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]