◐ Shell
clean mode source ↗

Message 197923 - Python tracker

Sure, Look in the function.....

check_force_ascii()

You'll see a hunk of code that is ifdef'd for ...

#if defined(HAVE_LANGINFO_H) && defined(CODESET)

Then you'll see 

setlocale()

is called outside of that check, just before another hunk of code is
ifdef'd with the same....

#if defined(HAVE_LANGINFO_H) && defined(CODESET)

Basically making setlocale() outside of the check, and therefore requiring the #include <locale.h> outside of the above check as well.

In pythonrun.c the setlocale() call is already wrapped inside the #ifdef so the problem is bumped into there.