I use emacs23.4 on window xp. So the shell-mode use windows cmd.exe.
I encountered such a problem that If I use the commands which ask for user input(.e.g email, password), my emacs does not display the request.
I have commented out all configuration in .emacs.
The picture shows the result that I input “heroku login” in emacs and cmd.

This is a known issue with emacs on Windows: https://www.gnu.org/software/emacs/windows/Sub_002dprocesses.html#index-subprocesses_002c-hanging-when-reading-input-213
Unfortunately, there’s no easy work around. You’re best alternative is probably to provide your heroku credentials in a
.netrcfile to avoid being prompted.