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 update-alternatives). --- 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 enough. The patch can be found in basalt:/raid/imz/OUT/READY/emacs/
Isn\'t closed
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.