As a Lisp implementation Emacs Lisp was pretty primitive then:
* primitive GC
* only dynamic binding (Stallman sold that as a feature)
* no nested functions
* no threads
* no object system
* no namespaces for symbols
* implementation not independent from the editor
* no TCO
* slow
On the positive side it already had a simple byte code interpreter with a compiler for it and it was fast enough for some editing. Also, dedicated Emacs Lisp users managed to write some amazing code - given the restrictions.The 'eight megabytes and constantly swapping' thing now is also of less importance. ;-)