[slime-devel] Re: PATCH: Some more support for running multiple simultaneous connections

Peter Seibel peter at javamonkey.com
Wed Feb 25 02:26:20 UTC 2004


Helmut Eller <e9626484 at 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)))

-- 
Peter Seibel                                      peter at javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp





More information about the slime-devel mailing list