I just upgraded to the latest version of IPython and now something is wrong when using it in emacs.
When using it in a regular terminal it works fine (colors, tab-completion, etc.), however either in M-x eshell or M-x shell, instead of outputing In [1]:, it actually outputs [?12l[?25h and Out[1] outputs to [J[?7h[?12l[?25h[?2004l[?7hOut[1]:.
Maybe it's some feature of the terminal not available on emacs used by IPython, but I'd like to know which one it is.
Terminal.app:
In [1]: 2+2
Out[1]: 4
Emacs
[?12l[?25h2+2
[J[?7h[?12l[?25h[?2004l[?7hOut[1]: 4