Freeze for SLIME 2.4

Paul Bowyer pbowyer at
Mon Feb 24 03:44:57 UTC 2014

On 02/23/2014 03:44 PM, João Távora wrote:
>> I'm attaching a copy of my .emacs file renamed to my_dot_emacs.
>> There will be changes to my .emacs as I learn more about what I need.
> Hi Paul,
> I'm annotating your .emacs file, not solving your issue with the broken
> contribs in particular, but I've spotted some mistakes.
>> ;;Don't know what this does, but I saw it in slime/ so I thought to try it...
>> ```el
> The "```el" is not Elisp. It's a bit of github-specific markdown markup
> to highlight emacs-lisp code.
Thanks, I removed it.
>> (require 'cl-lib "~/my-slime-sandbox/slime/lib/cl-lib.el") ;;this is
>> cl-lib-0.3 shipped w/slime.
> You shouldn't need to do this at all, unless you plan to use cl-lib in other
> projects.
OK, removed. This was there per one of your emails stating that cl-lib 
had to be loaded for emacs-23 users. Evidently that's not the case now.
>> ;;Latest slime installation
>> (add-to-list 'load-path "~/my-slime-sandbox/slime/") ;your SLIME directory
>> ;;(require 'slime-tests) ;;This is the way to load the test suite for interactive use, but it gives errors this way.
>> 						 ;;Run the tests from
>> 						 within emacs with M-x
>> 						 slime-batch-test.
> This should be OK to uncomment, but beware that slime-tests.el required
> this way may not always live in your slime dir (the only you added to
> the load-path so far)
I'm going to continue testing in my download script rather than trying 
to do it from within emacs. I only need to check new downloads for 
possible regressions. Once that's done, I usually don't need it when I'm 
running slime.
>> ;;Stuff from
> Mind you this article is 5 years old and possibly outdated in some
> aspects.
I know its old (so am I) but it seemed a good way to set things up so I 
used it as a skeleton and it's been OK so far.
>> (eval-after-load "slime"
>>    '(progn
>> 	;;Recently added these three lines to allow quicklisp to work
>> 	(set-language-environment "UTF-8")
>> 	(setq slime-net-coding-system 'utf-8-unix)
> I don't have this and quicklisp loads fine. I load it from my ~/.sbclrc
> like so: (load "~/quicklisp/setup.lisp")
My ~/.sbclrc contains:
;;; The following lines added by ql:add-to-init-file:
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
   (when (probe-file quicklisp-init)
     (load quicklisp-init)))
This is fairly recent because I was fiddling with quicklisp two or three 
months ago.
> Perhaps you could explain why you think utf-8-unix is needed. Maybe it
> is.
Those three lines have been in place for quite some time. They were 
necessary when they were put in place, but as you've noticed, I 
commented one of them out. Maybe the other two can be removed also. I'll 
try it without and see.
>> 	;;(load (expand-file-name "~/quicklisp/slime-helper.el"))
>> 	;;NOTE: this causes quicklisp to load its version of slime
>> 	rather than mine
> Indeed. Don't do this unless you plan to use quicklisp's version
> exclusively.
>> 	(setq slime-lisp-implementations
>> 	'(
>> 	(sbcl ("/usr/local/bin/sbcl") :coding-system utf-8-unix) ;;for sbcl
>> 	;;cmucl won't load clx under mcclim!
>> 	;;(cmucl ("/opt/cmucl-20d/bin/lisp") :coding-system iso-8859-1-unix) ;;Not using
>> 	;;;;(cmucl ("/opt/cmucl-20d/bin/lisp") :coding-system utf-8-unix) ;;Don't work
>> 	(ccl ("/usr/local/bin/ccl") :program-args -K :coding-system utf-8-unix) ;;64-bit
>> 	(ccl32 ("/usr/local/bin/ccl32") :program-args -K :coding-system utf-8-unix) ;;32-bit
>> 	;;;;(clforjava ("/home/pfb/clforjava")) ;;Doesn't work properly
>> 	)
> This looks fine, though the default coding-system should work.
I'll leave the coding system as utf-8 for now. Every so often I do 
copy/paste from some website and I've had to strain the copied code 
through a binary editor to get rid of characters that looked like ascii 
but were in fact something else. I haven't had that problem since I set 
the coding system to utf-8.
>> 	common-lisp-hyperspec-root "~/my-slime-sandbox/HyperSpec/")
>>    (slime-setup '(
>> 	slime-fancy  ;;added this when quicklisp was added
>> ;	slime-tramp  ;;added this when quicklisp was added. (may be useful)
>> 	slime-asdf
>> 	;;slime-typeout-frame	;;starts slime with a external typeout frame
>> 	slime-indentation
>> ;	slime-mdot-fu
>> 	;;slime-sbcl-exts   ;;decided not to continue with this
>> 	slime-xref-browser
>> 	slime-highlight-edits	;;Added this to test. I'm having trouble adapting to it, but it is useful.
>> 	slime-mrepl				;;Allows multiple repls. Invoke w/ M-x slime-open-listener.
>> 	;;slime-tests ;;Not the best place for this.
>> 	))
> See below after your `slime-autoloads' line.
>> 	;; Remove the following without noticed problems
>> 	;;(slime-autodoc-mode)
> Indeed. The `slime-autodoc' contrib is included in `slime-fancy'
> contrib. And should set itself up automatically when the contrib is
> enabled.
>> 	;;(setq slime-complete-symbol*-fancy t)
>> 	;;(setq slime-complete-symbol-function
>> 	'slime-fuzzy-complete-symbol)
> If you comment out this line `slime-fuzzy-complete-symbol' won't be your
> default completion function.
>> 	;;(add-hook 'lisp-mode-hook (lambda () (slime-mode t)))
> This is redoing something that SLIME should take care of.
>> 	;;When this is loaded, it fills the repl with many warnings...
>> 	;;(load "~/quicklisp/log4slime-setup.el")
>> 	;;(global-log4slime-mode 1) ;;This generates a compiler warning
> I'll have a look at log4slime and get in touch with the author to see if
> we can make it a proper (third-party) contrib.
I started trying to use log4cl because of some downloaded code I've been 
trying to upgrade. It seemed like a useful tool to track the progress of 
the code as I learned from the original author. It beats writing format 
statements in places I want to monitor.
>>    ))
>> (require 'slime-autoloads)
> Your contrib setup is fine, but if you wish you could add here
>      (setq slime-contribs '(slime-fancy slime-asdf slime-indentation
>                             slime-xref-browser slime-hightlight-edits
>                             slime-mrepl))
> Instead of the `slime-setup' call in your eval-after-load block.
Yup, I figured that one out all by myself, but I think I'll keep using 
it because I'm accustomed to it by now.
> João
Thanks for annotating my .emacs file. I did learn from your efforts and 
I made most of the changes you recommended.

Paul Bowyer

More information about the slime-devel mailing list