GNU bug report logs -
#68724
eshell/make doesn't properly handle color term characters
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#68724: eshell/make doesn't properly handle color term characters
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 68724 <at> debbugs.gnu.org.
--
68724: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68724
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On 1/25/2024 4:54 PM, Patrick Poitras wrote:
> In eshell, if I am in a directory and call `make`, the call that is
> executed is (eshell/make) from em-unix.el.
>
> The *compilation* window then pops up, which reads: ...
Thanks for the bug report. I'm guessing you're using Emacs 30.0.50. This
is a bug, in that eshell/make should print its output to the Eshell
buffer by default (not a new compilation buffer). That's now fixed in
4834be0949e on master, so closing this issue.
However, for fixing the colors in the compilation buffer, you can also
add 'ansi-color-compilation-filter' to 'compilation-filter-hook'.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
In eshell, if I am in a directory and call `make`, the call that is
executed is (eshell/make) from em-unix.el.
The *compilation* window then pops up, which reads:
-------
make
g++ main.cpp -o main -lsfml-graphics -lsfml-window -lsfml-system
[01m [Kmain.cpp: [m [K In function ‘ [01m [Kint [01;32m [K main [m [K() [m
[K’:
[01m [Kmain.cpp:41:21: [m [K [01;31m [Kerror: [m [Ktoo few arguments to
function ‘ [01m [Kvoid [01;32m [K handleCamera [m [K(sf::View&, const
sf::Time&) [m [K’
41 | [01;31m [KhandleCamera(view) [m [K;
| [01;31m [K~~~~~~~~~~~~^~~~~~ [m [K
[01m [Kmain.cpp:7:6: [m [K [01;36m [Knote: [m [Kdeclared here
7 | void [01;36m [KhandleCamera [m [K(sf::View &view, const sf::Time
&time) {
| [01;36m [K^~~~~~~~~~~~ [m [K
make: *** [Makefile:2: game] Error 1
Compilation exited abnormally with code 2 at Thu Jan 25 16:47:18, duration
0.28 s
------
Note that the garbled text above is not a problem with me copy-pasting it .
The screen I see really writes out these `[01;31m` characters all over,
making the message comprehensible.
I thought this might be a locale issue, so I called make like this:
------
~/Projects/SFML $ LC_LANG=en_US.utf8 make
-------
Which doesn't pop-up the *compilations* buffer, but does print the correct
output:
--------
g++ main.cpp -o main -lsfml-graphics -lsfml-window -lsfml-system
main.cpp: In function ‘int main()’:
main.cpp:41:21: error: too few arguments to function ‘void
handleCamera(sf::View&, const sf::Time&)’
41 | handleCamera(view);
| ~~~~~~~~~~~~^~~~~~
main.cpp:7:6: note: declared here
7 | void handleCamera(sf::View &view, const sf::Time &time) {
| ^~~~~~~~~~~~
make: *** [Makefile:2: game] Error 1
------
Which is properly colored and everything.
I also figured out that the LC_LANG isn't special it's just bypassing the
call to the native function, in fact, you get the same result if you call
-------
ASDASDFASD=ASDFASDF make
-------
Is this a known behavior with a workaround, or how do I troubleshoot this
further.
Thanks,
Patrick
[Message part 5 (text/html, inline)]
This bug report was last modified 1 year and 143 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.