[slime-devel] Re: SLIME docs

Christian Lynbech wrote:
I wondered if the docs should mention usefull hacks to set up functions to start slime with specialised lisp binaries/arguments (for instance a special core image).
I used to use something like these and rather miss them. The problem is that I find ,restart-inferior-lisp too useful to give up and it ignores all of this. Any suggestions for how to fix that? Dan Pierson

"Dan" == Dan Pierson <dlp@itasoftware.com> writes:
Dan> Christian Lynbech wrote:
I wondered if the docs should mention usefull hacks to set up functions to start slime with specialised lisp binaries/arguments (for instance a special core image).
Dan> I used to use something like these and rather miss them. The problem Dan> is that I find ,restart-inferior-lisp too useful to give up and it Dan> ignores all of this. Any suggestions for how to fix that? I didn't know about `restart-inferior-lisp' but having pondered the issue a bit, it seems to me that solution is simply to reset `inferior-lisp-program' whenever starting up slime. Here is a very simple and naive emacs macro (defmacro define-slime-dialect (name &optional program hook) (let ((funsym (intern (format "slime-dialect-%s" name))) (hooksym (intern (format "slime-dialect-%s-hook" name))) (progsym (intern (format "slime-dialect-%s-program" name)))) `(progn (defvar ,progsym ,program) (defvar ,hooksym ,hook) (defun ,funsym () ,(format "Start up slime according to `%s'." progsym) (interactive) (setq inferior-lisp-program ,progsym) (run-hook ',hooksym) (call-interactively 'slime))))) that allows you to define dialects like this: (define-slime-dialect lisp "lisp") (define-slime-dialect clim (concat "lisp" " -core " (getenv "HOME") "/Public/cmucl/cmucl-clim.core") (lambda () (setq slime-multiprocessing t))) (define-slime-dialect mlisp (concat "/usr/lib/acl/mlisp +B +cm -L " (getenv "HOME") "/.slime.lisp") (lambda () (when prefix-arg (setq slime-multiprocessing t)))) This will make the slime command behave as a clim slime until another dialect has been selected, but this is what we want, I think. ------------------------+----------------------------------------------------- Christian Lynbech | christian #\@ defun #\. dk ------------------------+----------------------------------------------------- Hit the philistines three times over the head with the Elisp reference manual. - petonic@hal.com (Michael A. Petonic)

Christian Lynbech wrote:
"Dan" == Dan Pierson <dlp@itasoftware.com> writes:
Dan> Christian Lynbech wrote:
I wondered if the docs should mention usefull hacks to set up functions to start slime with specialised lisp binaries/arguments (for instance a special core image).
Dan> I used to use something like these and rather miss them. The problem Dan> is that I find ,restart-inferior-lisp too useful to give up and it Dan> ignores all of this. Any suggestions for how to fix that?
I didn't know about `restart-inferior-lisp' but having pondered the issue a bit, it seems to me that solution is simply to reset `inferior-lisp-program' whenever starting up slime.
Here is a very simple and naive emacs macro
Thanks for the macro. It looks to be just the solution I was hoping for.

Christian Lynbech <christian@defun.dk> writes:
I didn't know about `restart-inferior-lisp' but having pondered the issue a bit, it seems to me that solution is simply to reset `inferior-lisp-program' whenever starting up slime.
I added it to the CVS version. I also changed restart-inferior-lisp a bit so that the command line arguments of the existing process are reused. I think let-binding inferior-lisp-program is now good enough. Helmut.
participants (3)
-
Christian Lynbech
-
Dan Pierson
-
Helmut Eller