Using M-. with a generic function presents a buffer selection thingy. Selecting the desired method or defclass opens the desired buffer but then using q to exit the xrefs buffer restores de window configuration so I have to select the buffer manually. Using C-x o to exit the xref buffer leaves it visible but this is something I want to avoid. So I have installed locally the following patch:
Index: slime.el =================================================================== RCS file: /project/slime/cvsroot/slime/slime.el,v retrieving revision 1.477 diff -u -r1.477 slime.el --- slime.el 1 Apr 2005 19:58:20 -0000 1.477 +++ slime.el 1 Apr 2005 21:07:24 -0000 @@ -6065,12 +6066,14 @@ (error "No context for finding locations.")) (funcall slime-next-location-function))
-(defun slime-xref-quit () - "Kill the current xref buffer and restore the window configuration." - (interactive) +(defun slime-xref-quit (arg) + "Kill the current xref buffer and restore the window configuration. +If arg is supplied do not restore configuration." + (interactive "P") (let ((config slime-xref-saved-window-configuration)) (slime-xref-cleanup) - (set-window-configuration config))) + (unless arg + (set-window-configuration config))))
(defun slime-xref-cleanup () "Delete overlays created by xref mode and kill the xref buffer."
----------------------------
The feature request is to send more arguments to slime-translate-to-lisp-filename-function and her sister slime-translate-from-lisp-filename-function, say (lisp-implementation-version) and (machine-instance). I am no elisp expert and failed to work out something like this. The idea is to be able to know if the translation is really needed (emacs on windows, lisp on linux) or not (everything on linux). The easy part is to know where emacs is running and the hard one (that I leave to fine slime hackers :) is to know the lisp host environment.
Greetings,