I have been using M-x compile
for ages. Lately (our sysadmin has updated many things) it hangs after giving this message: WARNING: terminal is not fully functional - (press RETURN)
. Pressing return does nothing. I have tried changing the terminal to xterm
, vt102
, etc. with no change. I get a similar warning with M-x shell
but I can proceed after hitting return a few times. Need to get this functionality back, thanks!
1 Answer
The problem arises because the M-x compile
command uses the dumb
terminal type and invokes .cshrc
before running the command make -k
. My .cshrc
loads modules with the module
command. The module command uses a pager which does not work properly with the dumb
terminal type. The solution is to include the following in the .cshrc
before the module
command. The INSIDE_EMACS
environment variable is set by the emacs shell. This also fixes M-x shell
.
if (${?INSIDE_EMACS}) then
setenv MODULES_PAGER cat
endif
dumb
inM-x shell
, because the shell mode does not interpret any kind of escape codes, so the warning is expected. You could tryM-x term
instead; TERM will beeterm-color
there, which supports most or all of the features that git or less wants.env TERM=dumb make -k
. It sounds like something being run by make is failing to cope with a dumb terminal. (Presumably that thing is one of the things that your sysadmin updated, and the developers have introduced a bug.)