This patch makes _PyUnicode_IsLinebreak, _PyUnicode_ToNumeric and _PyUnicode_IsWhitespace generated from the Unicode database instead of being subject to manual updates. This ought to ease the transition to Unicode version 5.0.0. Allso, the definitions of whitespaces has changed between v3.2 and v4.1 so the test had to be updated.
You may not know it, but these functions are generated from the Unicode database. However, because these functions need to be fast and are small enough, they were not converted to the unicodetype_db approach and instead left as they were originally implemented: as switch statements for the compilers to optimize. Is there any reason why this would need to change for Unicode 5.0 ?