Helmut Eller e9626484@stud3.tuwien.ac.at writes:
I changed this a bit, so that the 'current-prefix-arg' is used. This way we don't have to modify the signatures of other functions.
Ah. I wasn't aware of that variable. I learn something about emacs everyday. Nice.
+(defslimefun lisp-implementation-type-name ()
- #+cmu "cmu"
- #+sbcl "sbcl"
- #+openmcl "openmcl"
- #+lispworks "lispworks"
- #+allegro "allegro"
- #+clisp "clisp")
No, no, no. This style is taboo. The proper way is to define a new interface function and to implement it in the implementation specific file.
Oh yeah. I didn't think of it was such a simple function but you are, of course, correct.
I'll ask Erik Enge to give you CVS write permissions.
Cool. In the meantime, you might want to apply this patch--you forgot to include these two functions that are used by some of the code you checked in.
-Peter
Index: slime.el =================================================================== RCS file: /project/slime/cvsroot/slime/slime.el,v retrieving revision 1.217 diff -u -r1.217 slime.el --- slime.el 24 Feb 2004 23:31:34 -0000 1.217 +++ slime.el 25 Feb 2004 02:24:11 -0000 @@ -654,6 +654,29 @@ (slime-read-lisp-implementation-type-name))) (t (error "Invalid prefix argument: %S" prefix-arg))))
+(defun slime-find-connection-by-type-name (name) + (dolist (p slime-net-processes) + (let ((slime-dispatching-connection p)) + (slime-with-connection-buffer (p) + (when (string= (slime-lisp-implementation-type-name) name) + (return p)))))) + +(defun slime-read-lisp-implementation-type-name () + (let ((default (slime-lisp-implementation-type-name))) + (completing-read + (format "Name (default %s): " default) + (mapcar + #'(lambda (p) + (let ((slime-dispatching-connection p)) + (slime-with-connection-buffer (p) + (list (slime-lisp-implementation-type-name))))) + slime-net-processes) + nil + t + nil + nil + default))) + (defmacro slime-define-keys (keymap &rest key-command) `(progn . ,(mapcar (lambda (k-c) `(define-key ,keymap . ,k-c)) key-command)))