On Sat, May 8, 2010 at 8:07 AM, Martin v. Löwis <report@bugs.python.org> wrote:
1. add a flag to PyModuleDef, indicating whether the module was built in UCS-2 or UCS-4 mode. Then let the interpreter refuse the load the module, instead of having the dynamic linker do so.

I just thought of another risk inherit in this approach.  If the extension module is composed of more than one C file, the extension author may inadvertently compile the file defining the PyModuleDef in Unicode-agnostic mode but compile another file in Unicode-sensitive mode.  Then they would have a Unicode-sensitive extension as Unicode-agnostic, which would lead to mysterious crashes if the Unicode settings are mismatched. :-(