Is not the big difference dynamic vs. static scoping?
That was a matter of much debate that started to conclude when RMS did GNU Emacs, in 1984 when Common Lisp was also officially released for the first time, the latter's biggest breaking change perhaps being static scoping.
I thought only of the dynamic scoping. I just found out that Emacs Lisp doesn't have tail recursion optimization, thus dooming you to use side-effects (because recursion can't be used for loops).
But I also understand that Lisp isn't a family of function languages. Functional is just a style that's possible and encouraged in Lisp, not required.
Well ... Scheme is the only big Lisp that guarantees TCO, while Clojure provides a recur special form plus a syntax for mutual recursion, since the JVM as of yet does not directly support TCO.
Obviously some (many?) implementations of Common Lisp provide it, but I'm not sure it's something you can particularly depend upon (I got out of the Common Lisp community in ... 1984 and haven't seriously used it since then).
Then again, I myself wouldn't necessarily describe Common Lisp as a modern Lisp anymore, it's essentially been frozen in amber when it standardized and it's filled with legacy cruft, perhaps most especially it being a Lisp-2. Scheme's standardization process has become glacial, but there is one (well, two, RnRS and the SRFIs). Clojure is much like Lisp Machine Lisp in the early days, although it should be past the worst of breaking changes by now.