Freeze for SLIME 2.4
Paul Bowyer
pbowyer at olynet.com
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/README.md 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
>> http://archgeek.wordpress.com/2009/02/07/setting-up-slime-emacs-and-sbcl/
> 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:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(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