Emacsclient works great on a Unix host talking to a local w32 instance of Emacs. The difficulty is that you must include the Tramp prefix in the filename for the w32 Emacs to be able to locate the file. This patch allows the Tramp prefix to be supplied separately on the command line of Emacsclient or via the environment variable EMACS_TRAMP_PREFIX. Thus, the following two sequences are equivalent (assuming EMACS_SERVER_FILE is properly setup): $ emacsclient /me@unix-host:/export/home/me/.profile # must be an absolute filename or $ EMACS_TRAMP_PREFIX=/me@unix-host: $ emacsclient .profile # relative and absolute filenames are supported I set EMACS_TRAMP_PREFIX to "/$USER@`hostname`:" in my Unix .profile and can use emacsclient as if the Emacs instance were on the same machine. This patch is mostly tested. The basic feature works. The command line handling has not been tested. Here's the Changlog: 2006-11-24 Michael R. Mauger * emacsclient.c (SEND_FILENM): New macro for sending filename (tramp_prefix): New global variable for new option (longopts): Add -p, --tramp-prefix (decode_options): Add -p value capture (print_help_and_exit): Add -p, --tramp-prefix description (send_file_name): New function. Send complete filename including tramp-prefix (main): tramp_prefix falls back to environment variable EMACS_TRAMP_PREFIX and use SEND_FILENM to send filenames. Attached is the patch. BTW, Emacsclient will not port to openVMS properly now. It assumes Posix/Unix style filenames witha slash directory separator. My change factors the code that makes a relative filename an absolute filename so that the changes are only needed in one place.