Compile function (called by menu item Tools->Compile) doesn\'t
care about TERM environment variable, so the compiler process gets it
inherited from the Emacs process (and, for example, if Emacs is called
from an Xterm, then TERM=xterm for the compiler process). But actually
the output of the compiler process goes to Emacs buffer through a
virtual terminal, and TERM doesn\'t correspond to the type of the
actual terminal. As a consequence, some junk (escape sequences) may
appear in the buffer. Moreover, the output is parsed by Emacs, and
because of the escape-sequences in it the parsing fails.
This bad thing about the Compile function can be observed when you
have colorgcc installed in your system (and when it is chosen by
Make sure colorgcc is used when you call gcc. Then start Emacs
from an Xterm (where TERM=xterm) and open a C-source file (foo.c) from a
directory with a Makefile (so that foo.c is compiled with gcc when you
call make). Make an error in foo.c. Go to the menu Tools and run
Compile. `make -k\' will be executed. In the buffer `*compilation\' you
will see some junk and the output will not be highlighted
correctly. You won\'t be able to use Next error function.
To see that the there is a problem with TERM, you can add a statement like `echo
I suggest a fix that sets TERM=dumb in the environment of the compiler
process when calling it. I am not sure whether such solution is good
The patch can be found in basalt:/raid/imz/OUT/READY/emacs/
Closed in 20.7-alt1. Package is in incoming.
I can\'t find the new package where this is fixed. (About the release numbre: is it OK to call it \'alt1\' after \'ipl9mdk\': rpm will think alt1 is older.)
The patch is applied in emacs-21.1-alt6, that is being built right now.
If it works, will close the bug.
Really fixed only in emacs-common-21.1-alt8. Patch supplied to gnu.org.