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...
The "```el" is not Elisp. It's a bit of github-specific markdown markup to highlight emacs-lisp code.
(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.
;;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)
;;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.
(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")
Perhaps you could explain why you think utf-8-unix is needed. Maybe it is.
;;(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.
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.
))
(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.
João