emacs-devel
[Top][All Lists]
Advanced

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

Re: I miss ange-ftp (address@hidden)


From: Robert J. Chassell
Subject: Re: I miss ange-ftp (address@hidden)
Date: Tue, 26 Nov 2002 13:03:46 +0000 (UTC)

Oops!  My apologies, I forgot to load the the *.el files instead of the
*.elc files to avoid bytecode.  

Here is a new bug report, from a new instance of Emacs, with the *.el
files loaded, and with a copy of the new debugger log and of the new
*ftp address@hidden buffer.  The results were the same as before:


I was able to visit and also save a remote file using ange-ftp, but I
had to get out of the debugger first and then find the buried file.

Using today's CVS snapshot, Tue, 2002 Nov 26  11:49 UTC
GNU Emacs 21.3.50.48 (i686-pc-linux-gnu, X toolkit)
started with

     /usr/local/bin/emacs -q --no-site-file --eval '(blink-cursor-mode 0)'

First, I evaluated all the following:

    (progn
      (require 'tramp)
      (setq tramp-verbose 10)
      (setq tramp-debug-buffer t)
      (setq tramp-default-method "smx")
      ;; when running `emacs -q -l ... ' need to set this
      (custom-set-variables '(shell-prompt-pattern "^[^#$%
    ]*[#$%>] *")))

    ;;; load the *.el files instead of the *.elc files to avoid bytecode
    (progn
      (load-file "/usr/local/share/emacs/21.3.50/lisp/comint.el")
      (load-file "/usr/local/share/emacs/21.3.50/lisp/emacs-lisp/cl.el")
      (load-file "/usr/local/src/emacs/lisp/net/ange-ftp.el")
      (load-file "/usr/local/src/emacs/lisp/net/tramp-uu.el")
      (load-file "/usr/local/src/emacs/lisp/net/tramp-vc.el")
      (load-file "/usr/local/src/emacs/lisp/net/tramp.el"))

     ;; [need passive mode for ftp with firewall]
    (setq ange-ftp-try-passive-mode t)

    ;; [set ange-ftp-default-user for ange-ftp]
    (custom-set-variables '(ange-ftp-default-user "address@hidden"))


    ;;; from emacs/lisp/net/ange-ftp.el

    ;;; This regexp takes care of real ange-ftp file names (with a slash
    ;;; and colon).
    ;;; Don't allow the host name to end in a period--some systems use /.:
    ;;;###autoload
    (or (assoc "^/[^/:]*[^/:.]:" file-name-handler-alist)
        (setq file-name-handler-alist
              (cons '("^/[^/:]*[^/:.]:" . ange-ftp-hook-function)
                    file-name-handler-alist)))

    ;;; This regexp recognizes absolute filenames with only one component,
    ;;; for the sake of hostname completion.
    ;;;###autoload
    (or (assoc "^/[^/:]*\\'" file-name-handler-alist)
        (setq file-name-handler-alist
              (cons '("^/[^/:]*\\'" . ange-ftp-completion-hook-function)
                    file-name-handler-alist)))

    ;;; This regexp recognizes absolute filenames with only one component
    ;;; on Windows, for the sake of hostname completion.
    ;;; NB. Do not mark this as autoload, because it is very common to
    ;;; do completions in the root directory of drives on Windows.
    (and (memq system-type '(ms-dos windows-nt))
         (or (assoc "^[a-zA-Z]:/[^/:]*\\'" file-name-handler-alist)
             (setq file-name-handler-alist
                   (cons '("^[a-zA-Z]:/[^/:]*\\'" .
                           ange-ftp-completion-hook-function)
                         file-name-handler-alist))))


Then I visited a file with a command like this (I changed the name of
the user and the destination):

    (find-file "/address@hidden:~user/public_html/links.html" nil)


This threw me into the debugger:



Debugger entered--Lisp error: (error "Method `smx' didn't specify a connection 
function")
  signal(error ("Method `smx' didn't specify a connection function"))
  error("Method `%s' didn't specify a connection function" "smx")
  (or (assoc (quote tramp-connection-function) (assoc ... tramp-methods)) 
(error "Method `%s' didn't specify a connection function" (or multi-method 
method)))
  (second (or (assoc ... ...) (error "Method `%s' didn't specify a connection 
function" ...)))
  tramp-get-connection-function(nil "smx" "emrc" "bcn.net")
  (funcall (tramp-get-connection-function multi-method (tramp-find-method 
multi-method method user host) user host) multi-method method user host)
  (if (and p (processp p) (memq ... ...)) nil (when (and p ...) (delete-process 
p)) (funcall (tramp-get-connection-function multi-method ... user host) 
multi-method method user host))
  (unless (and p (processp p) (memq ... ...)) (when (and p ...) (delete-process 
p)) (funcall (tramp-get-connection-function multi-method ... user host) 
multi-method method user host))
  (let ((p ...) last-cmd-time) (save-excursion (set-buffer ...) (when ... ... 
... ...)) (unless (and p ... ...) (when ... ...) (funcall ... multi-method 
method user host)))
  tramp-maybe-open-connection(nil nil "emrc" "bcn.net")
  (save-excursion (tramp-maybe-open-connection multi-method method user host) 
(set-buffer (tramp-get-buffer multi-method method user host)) 
tramp-file-exists-command)
  tramp-get-file-exists-command(nil nil "emrc" "bcn.net")
  (format (tramp-get-file-exists-command multi-method method user host) 
(tramp-shell-quote-argument path))
  (tramp-send-command-and-check multi-method method user host (format 
(tramp-get-file-exists-command multi-method method user host) 
(tramp-shell-quote-argument path)))
  (zerop (tramp-send-command-and-check multi-method method user host (format 
... ...)))
  (save-excursion (zerop (tramp-send-command-and-check multi-method method user 
host ...)))
  (let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...) (path 
...)) (when (tramp-ange-ftp-file-name-p multi-method method user host) 
(tramp-invoke-ange-ftp ... filename)) (save-excursion (zerop ...)))
  (with-parsed-tramp-file-name filename nil (when (tramp-ange-ftp-file-name-p 
multi-method method user host) (tramp-invoke-ange-ftp ... filename)) 
(save-excursion (zerop ...)))
  
tramp-handle-file-exists-p(#("/address@hidden:/home/emrc/public_html/links.html"
 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture 
t) 24 47 nil))
  (if (tramp-handle-file-exists-p filename) (progn (save-excursion ...)))
  (when (tramp-handle-file-exists-p filename) (save-excursion (if ... ... ...)))
  (let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...) (path 
...)) (when (tramp-ange-ftp-file-name-p multi-method method user host) 
(tramp-invoke-ange-ftp ... filename)) (when (tramp-handle-file-exists-p 
filename) (save-excursion ...)))
  (with-parsed-tramp-file-name filename nil (when (tramp-ange-ftp-file-name-p 
multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (when 
(tramp-handle-file-exists-p filename) (save-excursion ...)))
  (let (result) (with-parsed-tramp-file-name filename nil (when ... ...) (when 
... ...)) result)
  
tramp-handle-file-attributes(#("/address@hidden:/home/emrc/public_html/links.html"
 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture 
t) 24 47 nil))
  (nth 8 (tramp-handle-file-attributes filename))
  (tramp-mode-string-to-int (nth 8 (tramp-handle-file-attributes filename)))
  (progn (tramp-mode-string-to-int (nth 8 ...)))
  (if (file-exists-p filename) (progn (tramp-mode-string-to-int ...)))
  (when (file-exists-p filename) (tramp-mode-string-to-int (nth 8 ...)))
  (let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...) (path 
...)) (when (tramp-ange-ftp-file-name-p multi-method method user host) 
(tramp-invoke-ange-ftp ... filename)) (when (file-exists-p filename) 
(tramp-mode-string-to-int ...)))
  (with-parsed-tramp-file-name filename nil (when (tramp-ange-ftp-file-name-p 
multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (when 
(file-exists-p filename) (tramp-mode-string-to-int ...)))
  tramp-handle-file-modes(#("/address@hidden:/home/emrc/public_html/links.html" 
0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture 
t) 24 47 nil))
  apply(tramp-handle-file-modes 
#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 24 
(rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
  (progn (apply (cdr fn) args))
  (unwind-protect (progn (apply ... args)) (set-match-data 
save-match-data-internal))
  (let ((save-match-data-internal ...)) (unwind-protect (progn ...) 
(set-match-data save-match-data-internal)))
  (save-match-data (apply (cdr fn) args))
  (catch (quote tramp-forward-to-ange-ftp) (save-match-data (apply ... args)))
  (if fn (catch (quote tramp-forward-to-ange-ftp) (save-match-data ...)) 
(tramp-run-real-handler operation args))
  (let ((fn ...)) (if fn (catch ... ...) (tramp-run-real-handler operation 
args)))
  tramp-file-name-handler(file-modes 
#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 24 
(rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
  file-modes(#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 
24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
  apply(file-modes #("/address@hidden:/home/emrc/public_html/links.html" 0 14 
nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 
47 nil))
  (let ((inhibit-file-name-handlers ...) (inhibit-file-name-operation 
operation)) (apply operation args))
  ange-ftp-run-real-handler(file-modes 
(#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 24 
(rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil)))
  (if fn (save-match-data (apply fn args)) (ange-ftp-run-real-handler operation 
args))
  (let ((fn ...)) (if fn (save-match-data ...) (ange-ftp-run-real-handler 
operation args)))
  ange-ftp-hook-function(file-modes 
#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 24 
(rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
  file-modes(#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 
24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
  after-find-file(nil t)
  find-file-noselect-1(#<buffer links.html> 
#("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 24 
(rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil) 
nil nil #("/address@hidden:/home/emrc/public_html/links.html" 0 14 nil 14 24 
(rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil) (1 
-1))
  find-file-noselect("/address@hidden:~emrc/public_html/links.html" nil nil nil)
  find-file("/address@hidden:~emrc/public_html/links.html" nil)
  eval((find-file "/address@hidden:~emrc/public_html/links.html" nil))
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp)


Also, the  *ftp address@hidden  buffer showed this:


ftp> open bcn.net
Connected to bcn.net.
220 uno.bcn.net FTP server (Version wu-2.6.2(1) Fri Feb 22 04:09:00 EST 2002) 
ready.
user "emrc" Turtle Power!
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
ftp> 331 Password required for emrc.
230 User emrc logged in.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> pwd
257 "/home/emrc" is current directory.
ftp> passive on
Passive mode on.
ftp> get ~emrc /dev/null
227 Entering Passive Mode (209,213,0,60,141,214)
550 /home/emrc: not a plain file.
ftp> cd /home/emrc/public_html/links.html/
550 /home/emrc/public_html/links.html/: Not a directory.
ftp> cd /home/emrc/public_html/links.html/
550 /home/emrc/public_html/links.html/: Not a directory.
ftp> cd /home/emrc/public_html/
250 CWD command successful.
ftp> ls -al /tmp/ange-ftp28936uye
227 Entering Passive Mode (209,213,0,60,234,100)
150 Opening ASCII mode data connection for /bin/ls.

226 Transfer complete.
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> type binary
200 Type set to I.
ftp> get /home/emrc/public_html/links.html /tmp/ange-ftp2893678k
227 Entering Passive Mode (209,213,0,60,36,49)
150 Opening BINARY mode data connection for /home/emrc/public_html/links.html 
(11994 bytes).

226 Transfer complete.
11994 bytes received in 1.8 seconds (6.5 Kbytes/s)
ftp> type ascii
200 Type set to A.
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> quote mdtm /home/emrc/public_html/links.html
213 20021126123916
ftp> 

*** ==> However, the visited file was in a buffer -- albeit buried --
        and I was able to modify the visited remote file and save it.

-- 
    Robert J. Chassell                         Rattlesnake Enterprises
    http://www.rattlesnake.com                  GnuPG Key ID: 004B4AC8
    http://www.teak.cc                             address@hidden







reply via email to

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