I've hit a brick wall with this. I'm running cygwin on a Windows 7 machine. I can't connect vai ange-ftp to an ftp server, hosted by godaddy.com. I do C-x C-f /username@ftp.foo.com: (to get a dir listing) or :index.html (file exists), and in both cases emacs asks me for my password, I enter it, and then emacs freezes. Hard freezes - only way to kill it is to use Task Manager, and kill two emacs-w32 processes.
I'm using the cygwin emacs-w32 program.
My .emacs
includes (require 'cygwin-mount)
. I also tried (require 'setup-cygwin)
(downloaded most recent version today), but that doesn't load properly. Error about "cannot find cygwin", having to do with a variable that sets the path to cygwin. I couldn't figure it out so commented out (require 'setup-cygwin)
.
So - suggestions? Could this relate to what ftp client emacs / ange-ftp is finding? Other things about my emacs setup for cygwin? I've been using cygwin emacs for about 6 months and most other things work, including running processes from within emacs (shell, tex, grep, diff, etc).
Thanks.
Here's the result of emacs-w32 --debug-init
with (require 'steup-cygwin)
in my .emacs. Alas I can't give any error info on the actual ange-ftp issue, since emacs just freezes.
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
file-directory-p(nil)
(and (file-directory-p directory) (file-readable-p directory) directory)
setcyg-dir-p(nil)
(if (setcyg-dir-p cygwin-root-directory) nil (error "Cannot find Cygwin. Please customize option `cygwin-root-directory'"))
eval-buffer(#<buffer *load*-780625> nil "/cygdrive/c/Users/strozzi2/.emacs.d/lisp/setup-cygwin.el" nil t) ; Reading at buffer position 4972
load-with-code-conversion("/cygdrive/c/Users/strozzi2/.emacs.d/lisp/setup-cygwin.el" "/cygdrive/c/Users/strozzi2/.emacs.d/lisp/setup-cygwin.el" nil t)
require(setup-cygwin)
eval-buffer(#<buffer *load*> nil "/cygdrive/c/Users/strozzi2/.emacs" nil t) ; Reading at buffer position 1708
load-with-code-conversion("/cygdrive/c/Users/strozzi2/.emacs" "/cygdrive/c/Users/strozzi2/.emacs" t t)
load("~/.emacs" t t)
#[0 "\205\262
**** With new setup-cygwin.el from Drew, it behaves as he said. The relevant part of .emacs is:
(require 'cygwin-mount)
(setq cygwin-root-directory "/c/cygdrive/cygwin64/")
(require 'setup-cygwin)
Startup now works. C:/cygwin64/ didn't.
And ange-ftp works! Once I put ftp in passive mode to get around firewall. Success!