Acabei de atualizar para a versão mais recente do IPython e agora algo está errado ao usá-lo no emacs.
Ao usá-lo em um terminal regular, ele funciona bem (cores, preenchimento de guias, etc.); no entanto, em M-x eshellou M-x shell, em vez de emitir In [1]:, na verdade ele gera [?12l[?25he Out[1]envia para [J[?7h[?12l[?25h[?2004l[?7hOut[1]:.
Talvez seja algum recurso do terminal que não está disponível no emacs usado pelo IPython, mas eu gostaria de saber qual é.
Terminal.app:
In [1]: 2+2
Out[1]: 4
Emacs
[?12l[?25h2+2
[J[?7h[?12l[?25h[?2004l[?7hOut[1]: 4