mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-03-06 00:46:23 +00:00
* dict copy speedup refer to bpo-31179 or python/cpython@boa7a037b8fde * __build_class__() uses METH_FASTCALL refer python/cpython@69de71b255 refer python/cpython@773dc6dd06 a single test related to __prepare__ fails. * type_prepare uses METH_FASTCALL refer python/cpython@d526cfe546 refer python/cpython@80ab22fa2c the prepare-related test still fails. It's just related to the error message format though. * separate into ParseStack and ParseStackAndKeywords refer python/cpython@6518a93cb1 refer python/cpython@3e1fad6913 refer python/cpython@c0083fc47d * Add _PyArg_NoStackKeywords refer python/cpython@29d39cc8f5 * _PyStack_UnpackDict now returns int refer python/cpython@998c20962c * METH_FASTCALL changes to .inc files done via python's Argument Clinic tool, refer python/cpython@259f0e4437 * Added _PyArg_UnpackStack refer python/cpython@fe54dda08 * Argument Clinic FASTCALL again refer python/cpython@0c4a828ca * Argument Clinic for ordered dictionary object refer python/cpython@b05cbac052 * speed up getargs refer python/cpython@1741441649 * FASTCALL for sorted, next, and getattr refer python/cpython@5a60ecaa7a refer python/cpython@fda6d0acf0 refer python/cpython@84b388bb80 * Optimize methoddescr_call refer python/cpython@2a1b676d1f refer python/cpython@c52572319c refer python/cpython@35ecebe165 refer python/cpython@8128d5a491 * cleanup _PyMethodDef_RawFastCallDict refer python/cpython@0a2e46835d refer python/cpython@98ccba8344 refer python/cpython@c89ef828cf refer python/cpython@250e4b0063 * print now uses METH_FASTCALL refer python/cpython@c3858bd7c6 refer python/cpython@bd584f169f refer python/cpython@06d34393c2 * _struct module now uses Argument Clinic refer python/cpython@3f2d10132d * make deque methods faster refer python/cpython@dd407d5006 * recursive calls in PyObject_Call refer python/cpython@7399a05965 only partially ported, because RawFastCallKeywords hasn't been ported * add macros refer python/cpython@68a001dd59 * all tests pass in MODE=dbg * convert some internal functions to FASTCALL __import__ might need to be changed later, if it is possible to backport the METH_FASTCALL | METH_KEYWORDS flag distinction later. * speed up unpickling refer python/cpython@bee09aecc2 * added _PyMethodDef_RawFastCallKeywords refer python/cpython@7399a05965 * PyCFunction_Call performance refer python/cpython@12c5838dae * avoid PyMethodObject in slots main change in python/cpython@516b98161a test_exceptions changed in python/cpython@331bbe6aaa type_settattro changed in python/cpython@193f7e094f _PyObject_CallFunctionVa changed in python/cpython@fe4ff83049 * fix refcount error found in MODE=dbg all tests now pass in MODE=dbg |
||
---|---|---|
.. | ||
clinic | ||
__big5_decmap.c | ||
__big5_encmap.c | ||
__big5hkscs_bmp_encmap.c | ||
__big5hkscs_decmap.c | ||
__big5hkscs_nonbmp_encmap.c | ||
__cp932ext_decmap.c | ||
__cp932ext_encmap.c | ||
__cp949_encmap.c | ||
__cp949ext_decmap.c | ||
__cp950ext_decmap.c | ||
__cp950ext_encmap.c | ||
__gb2312_decmap.c | ||
__gb18030ext_decmap.c | ||
__gb18030ext_encmap.c | ||
__gbcommon_encmap.c | ||
__gbkext_decmap.c | ||
__jisx0208_decmap.c | ||
__jisx0212_decmap.c | ||
__jisx0213_1_bmp_decmap.c | ||
__jisx0213_1_emp_decmap.c | ||
__jisx0213_2_bmp_decmap.c | ||
__jisx0213_2_emp_decmap.c | ||
__jisx0213_bmp_encmap.c | ||
__jisx0213_emp_encmap.c | ||
__jisx0213_pair_decmap.c | ||
__jisxcommon_encmap.c | ||
__ksx1001_decmap.c | ||
_codecs_cn.c | ||
_codecs_hk.c | ||
_codecs_iso2022.c | ||
_codecs_jp.c | ||
_codecs_kr.c | ||
_codecs_tw.c | ||
alg_jisx0201.inc | ||
big5_decmap.c | ||
big5_encmap.c | ||
big5hkscs_bmp_encmap.c | ||
big5hkscs_decmap.c | ||
big5hkscs_nonbmp_encmap.c | ||
cjkcodecs.h | ||
cp932ext_decmap.c | ||
cp932ext_encmap.c | ||
cp949_encmap.c | ||
cp949ext_decmap.c | ||
cp950ext_decmap.c | ||
cp950ext_encmap.c | ||
emu_jisx0213_2000.inc | ||
gb2312_decmap.c | ||
gb18030ext_decmap.c | ||
gb18030ext_encmap.c | ||
gbcommon_encmap.c | ||
gbkext_decmap.c | ||
jisx0208_decmap.c | ||
jisx0212_decmap.c | ||
jisx0213_1_bmp_decmap.c | ||
jisx0213_1_emp_decmap.c | ||
jisx0213_2_bmp_decmap.c | ||
jisx0213_2_emp_decmap.c | ||
jisx0213_bmp_encmap.c | ||
jisx0213_emp_encmap.c | ||
jisx0213_pair_decmap.c | ||
jisx0213_pair_encmap.c | ||
jisxcommon_encmap.c | ||
ksx1001_decmap.c | ||
multibytecodec.c | ||
multibytecodec.h | ||
README | ||
somanyencodings.h |
To generate or modify mapping headers ------------------------------------- Mapping headers are imported from CJKCodecs as pre-generated form. If you need to tweak or add something on it, please look at tools/ subdirectory of CJKCodecs' distribution. Notes on implmentation characteristics of each codecs ----------------------------------------------------- 1) Big5 codec The big5 codec maps the following characters as cp950 does rather than conforming Unicode.org's that maps to 0xFFFD. BIG5 Unicode Description 0xA15A 0x2574 SPACING UNDERSCORE 0xA1C3 0xFFE3 SPACING HEAVY OVERSCORE 0xA1C5 0x02CD SPACING HEAVY UNDERSCORE 0xA1FE 0xFF0F LT DIAG UP RIGHT TO LOW LEFT 0xA240 0xFF3C LT DIAG UP LEFT TO LOW RIGHT 0xA2CC 0x5341 HANGZHOU NUMERAL TEN 0xA2CE 0x5345 HANGZHOU NUMERAL THIRTY Because unicode 0x5341, 0x5345, 0xFF0F, 0xFF3C is mapped to another big5 codes already, a roundtrip compatibility is not guaranteed for them. 2) cp932 codec To conform to Windows's real mapping, cp932 codec maps the following codepoints in addition of the official cp932 mapping. CP932 Unicode Description 0x80 0x80 UNDEFINED 0xA0 0xF8F0 UNDEFINED 0xFD 0xF8F1 UNDEFINED 0xFE 0xF8F2 UNDEFINED 0xFF 0xF8F3 UNDEFINED 3) euc-jisx0213 codec The euc-jisx0213 codec maps JIS X 0213 Plane 1 code 0x2140 into unicode U+FF3C instead of U+005C as on unicode.org's mapping. Because euc-jisx0213 has REVERSE SOLIDUS on 0x5c already and A140 is shown as a full width character, mapping to U+FF3C can make more sense. The euc-jisx0213 codec is enabled to decode JIS X 0212 codes on codeset 2. Because JIS X 0212 and JIS X 0213 Plane 2 don't have overlapped by each other, it doesn't bother standard conformations (and JIS X 0213 Plane 2 is intended to use so.) On encoding sessions, the codec will try to encode kanji characters in this order: JIS X 0213 Plane 1 -> JIS X 0213 Plane 2 -> JIS X 0212 4) euc-jp codec The euc-jp codec is a compatibility instance on these points: - U+FF3C FULLWIDTH REVERSE SOLIDUS is mapped to EUC-JP A1C0 (vice versa) - U+00A5 YEN SIGN is mapped to EUC-JP 0x5c. (one way) - U+203E OVERLINE is mapped to EUC-JP 0x7e. (one way) 5) shift-jis codec The shift-jis codec is mapping 0x20-0x7e area to U+20-U+7E directly instead of using JIS X 0201 for compatibility. The differences are: - U+005C REVERSE SOLIDUS is mapped to SHIFT-JIS 0x5c. - U+007E TILDE is mapped to SHIFT-JIS 0x7e. - U+FF3C FULL-WIDTH REVERSE SOLIDUS is mapped to SHIFT-JIS 815f.