Thanks very much to all who answered my questions.  The ssh tunnelling does
work.  Earlier, it was failing for me, but the cause must have been something else.

I think everyone misinterpreted my second question, however.  The server that runs
swank does not have any files on it.  I suppose I could use tramp to write a file to
the server host, and then load it with a separate Lisp command.  I was thinking there
might be a Slime command that takes a local file, ships it over to the swank machine
and then makes the Lisp there compile or load it.

Thanks again.

   bob

On 10/3/05, Ignas Mikalajunas <ignas.mikalajunas@gmail.com> wrote:
>  1.  The code in swank.lisp listens on port 127.0.0.1, which means I cannot
>  connect to my Lisp server from a remote machine.  I must log in to the host
>  it's running on and then specify "localhost" when I execute slime-connect
> in
>  Emacs.  If swank is running on host "foo", why doesn't it bind its
> listening
>  socket with foo's address?

Well that wold be a huge security hole, you would be running a lisp
process anyone can connect to. You should use SSH forwarding if you
want to connect to a remote swank.

Like:
ssh -L 4005:localhost:4005 my-webserver.com


>  2.  I modified swank.lisp so the server code binds its listening connection
>  socket with foo's address.  Now I can connect from a remote machine.  Is
> there

Well - now you have a huge security hole on that server ...

>  any convenient way to send whole files across the Slime connection?  The
>  Lisp running the swank server has no NFS access to the machine I'm running
>  Emacs on.  I'd like to be able to edit files on the Emacs side and send
> then
>  whole to the Lisp running swank.

Well without an NFS mount you can do it by using tramp for GNU Emacs
or XEmacs, it should allow you editing files on a remote machine that
you have ssh access to.
You should set proper:
slime-translate-from-lisp-filename-function
slime-translate-to-lisp-filename-function
So they would convert from tramp filename to the slime relative
filename and back.

Ignas