From slime.el:
(defmacro slime-defun-if-undefined (name &rest rest) (unless (fboundp name) `(defun ,name ,@rest)))
Anyone see a problem with that definition? It assumes that slime hasn't been loaded before compiling slime.el. It bit me. I tend to just do a cvs up and byte-recompile-directory when upgrading slime with whatever emacs I have running.