Luke Gorrie luke@bluetail.com writes:
Do you know how they do it? What happens when you `M-.' and the definition isn't on a filesystem directly accessible to Emacs?
Here are some interesting bits from the ELI documentation:
If you run Emacs and Lisp on different machines, then you must be certain that the value of fi:emacs-to-lisp-transaction-directory is a directory which is accessible on both machines. Care must be taken to get the pathname just right, including the possible NFS prefix (/net/MACHINE-NAME/...).
(defvar fi:emacs-to-lisp-transaction-directory ... "*The directory in which files for Emacs/Lisp communication are stored. When using Lisp and Emacs on different machines, this directory must be accessible on both machine with the same pathname (via the wonders of NFS).")
(defun fi:common-lisp (&optional ... Each Emacs may have at most one Emacs-Lisp connection. If a connection already exists when fi:common-lisp is called, then the *common-lisp* buffer will be made the current buffer, and all arguments will be ignored."
(defvar fi:filename-frobber-hook 'fi::discombobulate-automounter-lint "*If non-nil, then name of a function which transforms filenames received from Lisp. This exists solely for the purpose of removing /tmp_mnt/net from the beginning of filenames that are on automounted filesystems.")
What about adding two hooks, a translate-from-lisp-filename-hook and a translate-to-lisp-filename-hook, and let users set them to appropriate values?