I run Emacs on Windows and connect to a Linux CMU-CL.
When I execute M-. (edit definition) in a lisp buffer SLIME looks for a non-existing file on the local (windows) machine that actually resides on the remote (Linux) machine.
Is there a known solution to this problem, e.g. can SLIME fetch the remote file or my hopes for a mixed development environment are doomed?
Thanks!
Kamen TOMOV writes:
I run Emacs on Windows and connect to a Linux CMU-CL.
When I execute M-. (edit definition) in a lisp buffer SLIME looks for a non-existing file on the local (windows) machine that actually resides on the remote (Linux) machine.
Is there a known solution to this problem, e.g. can SLIME fetch the remote file or my hopes for a mixed development environment are doomed?
One easy solution (it would work with any kind of program) is to use NFS to mount the source directory locally.
If slime doesn't do it, it should be possible to patch it easily enough to use tramp to load some files.
Perhaps you could just set the default directory to some tramp directory? (slime-set-default-directory "/ssh:user@remote.host:/some/remote/dir/")
Kamen TOMOV kamen@cybuild.com writes:
Is there a known solution to this problem, e.g. can SLIME fetch the remote file or my hopes for a mixed development environment are doomed?
See slime-translate-to-lisp-filename-function and slime-translate-from-lisp-filename-function. You'll also need to setup tramp. http://www.gnu.org/software/tramp/
Kamen TOMOV kamen@cybuild.com writes:
I run Emacs on Windows and connect to a Linux CMU-CL.
When I execute M-. (edit definition) in a lisp buffer SLIME looks for a non-existing file on the local (windows) machine that actually resides on the remote (Linux) machine.
Is there a known solution to this problem, e.g. can SLIME fetch the remote file or my hopes for a mixed development environment are doomed?
assuming you use tramp and ssh add this to your .emacs:
(push (slime-create-filename-translator :machine-instance "name of machine as returned by (machine-instance)" :remote-host "address (fqdn or ip) of machine" :username "username to login with") slime-filename-translations)
the slime-create-filename-translator's docstring for all the details.
if you don't use tramp then you'll need to do something else, but i can't say what without knowing what kind of setup you have.
hth.
Thanks to all of you for your help! I'm installing Tramp on Windows now.
By the way is anybody successfull running Emacs/SLIME on a Windows client and a Lisp runtime on a server of a different platform? I'm asking because I need to choose between that and to run Emacs in a X terminal.
Kamen TOMOV wrote:
Thanks to all of you for your help! I'm installing Tramp on Windows now.
By the way is anybody successfull running Emacs/SLIME on a Windows client and a Lisp runtime on a server of a different platform? I'm asking because I need to choose between that and to run Emacs in a X terminal.
I use XEmacs+Slime on windows and SBCL+Swank on Debian. With the filename translations setup, it works just beautifully.
BTW if you can get really creative with the Tramp+Slime setup, for example when I had to tunnel through a firewall to get to the server, I created a tramp method that stores all that configuration that I can just refer to by name from slime. http://paste.lisp.org/display/17592
More frequently though, I am on the same network and it is faster to access the files through file sharing rather than Tramp. The slime-create-filename-translator function is useful for setting up tramp, but you can also just create the two lambda functions yourself:
(push (list <Machine-Id> (lambda (local-filename) <Munge the filename>) (lambda (remote-filename) <Munge the filename>)) slime-filename-translations)
On вторник, Юли 11 2006, Nathan Bird wrote:
I use XEmacs+Slime on windows and SBCL+Swank on Debian. With the filename translations setup, it works just beautifully.
Thanks! Nice to know I'm not alone.
Tramp is our friend as well are NFS, etc., but sometimes I wish our life was easier. Here is what I'm thinking. With SLIME we already have an established connection to a Lisp runtime. If only we could ask our server to provide the file we need.
Regards,