5

Is there a way to run a shell command, have the output show up in a new buffer and have that output show up incrementally? Eshell and other emacs terminal emulators do a find job of this but I see no way to script them.

What I'd like to do is write little elisp functions to do stuff like run unit tests, etc. and watch the output trickle into a buffer.

The elisp function shell-command is close to what I want but it shows all the output at once when the process finishes.

1
  • 3
    Not quite what you need, but M-x compile shows compilation progress incrementally. Commented Apr 24, 2010 at 21:17

2 Answers 2

4

As doublep mentioned, there is M-x compile, and there's also just the simple M-x shell and in that shell you run whatever you want.

Sign up to request clarification or add additional context in comments.

Comments

1

You can also use comint-run to execute a command without needing to start a sub-shell first. I believe M-x shell uses comint mode with some modifications, so this won't be a whole lot different from that. But if you want to call a program directly and have its input and output be tied to a buffer, comint-run is the function to call. It is a little tricky to use, so read the documentation: C-h f comint-run.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.