我從 2017 年的 2 月下旬開始踏入 CPython contribute 的領域。自 CPython 在 2017 年 2 月 24 日首次合併我所提交的 patch 之後,我在這段期間持續的為 CPython 貢獻了一些的 patches 以及 pull requests。這篇文章記錄了我這段時間的狀況。
合併統計
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
$ git log —after=2017–2–23 —reverse —author=mlouielu —author=Louie —pretty=format:“%h: %s” > 2017 $ wc –l 2017 19 2017 $ cat 2017 357bad7101: bpo–29634: Reduce deque repeat execution when maxlen exist and size is not 1 (#255) (#255) c431854a09: bpo–29927: Remove duplicate BufferError init and unnecessary semicolons (GH–866) 7a26464c64: bpo–29946: Fix “sqrtpi defined but not used” (#908) f7e62cf8ad: bpo–30078: Add an example of passing a path to unittest (#1178) 7fae81e167: Fix trailing colon and newline in test.rst (#1250) 0d637e236d: bpo–28698: Fix c_wchar_p doc example (GH–1160) 88c38b32b7: bpo–28415: Note 0 conversion different between Python and C (#885) ba365da9ce: bpo–30303: IDLE: Add _utest argument to textview (#1499) 054e09147a: bpo–30290: IDLE: Add more tests for help_about dialog (#1697) b070fd275b: bpo–30642: IDLE: Fix test_query refleak (#2147) 778b484145: bpo–15786: IDLE: Fix mouse clicks on autocompletetion window (#1811) a49c935cfd: bpo–30523: regrtest: Add —list–cases option (#2238) b0c58d3c56: bpo–30523: Add —list–cases unittest (#2243) bb2bae84d6: bpo–30870: IDLE: Change sample font when select by key–up/down (#2617) 50c9435c9b: bpo–30899: Add unittests, 100% coverage, for IDLE‘s two ConfigParser subclasses. (#2662) 9b622fb903: bpo–30870: IDLE: Add configdialog fontlist selection unittest (#2666) f776eb0f0e: bpo–30917: IDLE: Add config.IdleConf unittests (#2691) ed014f7e13: bpo–30917: IDLE: Fix mock_config deepcopy to read_string (#2754) 3b0f620c1a: bpo–19903: IDLE: Calltips changed to use inspect.signature (#2822) |
共計 19 個 patches 被合併進入 master branch,其中多數為 IDLE 相關的 patches,其中 bpo-30523 由 Victor Stineer metor 下完成,可以參考 Victor Stinner – New Python test.bisect tool。
PR 統計
在 GitHub 上尚為 Open 的 PR 可以參考這邊。目前為 16 個 Open。以及前期的尚有 19 個 Open。多數為 IDLE、argparse 以及 cProfile/profile,其餘為文件相關。
IDLE – Fix mouse clicks on autocompletetion window
bpo-15786 – IDLE code completion window can hang or misbehave with mouse,該 bug 第一次回報於 2012-08-27,回報問題為 IDLE 的自動補字功能,如果使用滑鼠點擊 box 的話會消失,使用滑鼠滾動捲軸的話不會有效果。
PR 1811 修復了這個問題。基本上就是 tkinter 會在不同平台上出現不同的狀況。前人在 binding event 上並沒有處理到這個部分。例如說在 mac 上,如果點擊 box 的話,會讓 focusOut 觸發在 main windows 上,導致誤判 box 該關閉而消失。
詳細的補正可以參考 PR 1811。
IDLE – Calltips changed to use inspect.signature
bpo-19903 – Idle: Use inspect.signature for calltips,2013 年提出,當時 3.3 版在 inspect 中新增了 signature,IDLE 當時使用的是 getfullspec,但這個功能有點瑕疵,使用 signature 會讓使用者體驗變得更好。
Leave a Reply