GNU bug report logs -
#70822
flymake mishandles GCC diagnostics in en_US.UTF-8 locale
Previous Next
Full log
View this message in rfc822 format
> Date: Tue, 7 May 2024 10:06:59 -0700
> From: Paul Eggert <eggert <at> cs.ucla.edu>
>
> In the en_US.UTF-8 locale on Fedora 40, (GCC) 14.0.1 20240411 (Red Hat
> 14.0.1-0) uses curved single quotes ‘like this’. This causes Emacs ‘make
> check’ to fail in the flymake tests.
>
> For example, in the C locale 'gcc
> test/lisp/progmodes/flymake-resources/some-problems.h' outputs this:
>
> test/lisp/progmodes/flymake-resources/some-problems.h:3:1: warning:
> data definition has no type or storage class
> 3 | strange;
> | ^~~~~~~
> test/lisp/progmodes/flymake-resources/some-problems.h:3:1: warning:
> type defaults to 'int' in declaration of 'strange' [-Wimplicit-int]
> test/lisp/progmodes/flymake-resources/some-problems.h:7:1: error:
> unknown type name 'sint'; did you mean 'int'?
> 7 | sint main();
> | ^~~~
> | int
>
> whereas in the en_US.UTF-8 locale the same command outputs this instead:
>
> test/lisp/progmodes/flymake-resources/some-problems.h:3:1: warning:
> data definition has no type or storage class
> 3 | strange;
> | ^~~~~~~
> test/lisp/progmodes/flymake-resources/some-problems.h:3:1: error:
> type defaults to ‘int’ in declaration of ‘strange’ [-Wimplicit-int]
> test/lisp/progmodes/flymake-resources/some-problems.h:7:1: error:
> unknown type name ‘sint’; did you mean ‘int’?
> 7 | sint main();
> | ^~~~
> | int
>
> and flymake mishandles the latter set of diagnostics.
AFAICT, flymake-tests.el injects LC_ALL=C into process-environment (in
flymake-tests--call-with-fixture called from
flymake-tests--with-flymake), so why doesn't that affect the locale
under which the test runs?
And could you perhaps show the error message reported by the failing
test(s) in that case?
This bug report was last modified 1 year and 94 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.