Recently I've discovered `M-x ielm` (the Emacs self-REPL) and was pleasantly surprised that there's a working tab-completion in that mode. Say, I can start typing `ecb-`, then hit TAB and `ielm` will show me what functions are exposed by ECB. Very convenient for exploration!

However, when I start editing one of my `*.el` files (in Emacs Lisp major mode), TAB no longer works as autocomplete and performs indentation, which I find unfortunate.

I tried to figure out how autocompletion works within `ielm` in order to possibly transplant it into Emacs Lisp mode. However, apparently, autocompletion in `ielm` uses `comint-dynamic-complete`, which, as far as I understand, works only in `comint`-based buffers. I guess, this means that I'm out of luck here.

So, well, how do I enable autocompletion for Emacs Lisp?