I have experimented with emacs' various shells (term in combination with compilation-mode in particular), and have had performance problems. For that reason I still use a separate terminal (e.g. gnome-terminal).

My main use case is to run a test suite (python) and then click through stack frames in tracebacks in the test run output (using compilation-mode) to have emacs visit the corresponding source files. My current use of gnome-terminal leaves me manually jumping to buffers and lines in the tracebacks.

What is the best way to do that that:

  • Does not use term, shell, or eterm etc.
  • Does not noticeably slow down emacs
  • Is in good emacs taste (perhaps, just as an example: works well with existing python or compile-run-debug support built into emacs)
  • Actually having posted this I realize the stupifyingly obvious answer is M-x compile... I will try that :-) Aug 20, 2015 at 18:26

2 Answers 2


Traceback highlighting is provided by the compile package.

You can use M-x compile to run a script and get traceback highlighting. If you have an existing buffer with a traceback, you can use M-x compilation-minor-mode to highlight the tracebacks there.


M-x compile does exactly what is needed here.

  • Moderators: I hesitated to post this seemingly obvious / "oneliner" answer to my own question, but the fact is, having used emacs for many years and having learned many obscure emacs details, I was still wasting a lot of time simply because this basic emacs feature was not one I'd ever picked up from colleagues or thought to try! Maybe partly because 'compile' is not a word that came to mind when writing python code? (even though I've frequently used compilation-mode...) Aug 20, 2015 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.