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...
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