Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
bpo-40179: Fix translation of #elif in Argument Clinic#19364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
serhiy-storchaka commented Apr 4, 2020 • edited by bedevere-bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-bot
Uh oh!
There was an error while loading. Please reload this page.
ZackerySpytz commented Apr 8, 2020
It seems that some of the code added in this PR does not adhere to PEP 8. |
serhiy-storchaka commented Apr 8, 2020
Do you mean that some line is 84 characters long? It is slightly longer that the limit recommended by PEP 8. But there are much longer lines in the surrounded code (up to 104 characters), and I prefer to keep the consistent style. |
ammaraskar commented Apr 12, 2020 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Should we consider adding a direct test for this in clinic.test with something like: /*[clinic input]output pushoutput preset buffer[clinic start generated code]*/#ifdefCONDITION_A/*[clinic input]test_preprocessor_guarded_condition_a[clinic start generated code]*/#elifCONDITION_B/*[clinic input]test_preprocessor_guarded_elif_condition_b[clinic start generated code]*/#else/*[clinic input]test_preprocessor_guarded_else[clinic start generated code]*/#endif/*[clinic input]dump bufferoutput pop[clinic start generated code]*/Fully expands to:/*[clinic input]output pushoutput preset buffer[clinic start generated code]*//*[clinic end generated code: output=da39a3ee5e6b4b0d input=5bff3376ee0df0b5]*/#ifdefCONDITION_A/*[clinic input]test_preprocessor_guarded_condition_a[clinic start generated code]*/staticPyObject*test_preprocessor_guarded_condition_a_impl(PyObject*module) /*[clinic end generated code: output=ad012af18085add6 input=8edb8706a98cda7e]*/#elifCONDITION_B/*[clinic input]test_preprocessor_guarded_elif_condition_b[clinic start generated code]*/staticPyObject*test_preprocessor_guarded_elif_condition_b_impl(PyObject*module) /*[clinic end generated code: output=615f2dee82b138d1 input=53777cebbf7fee32]*/#else/*[clinic input]test_preprocessor_guarded_else[clinic start generated code]*/staticPyObject*test_preprocessor_guarded_else_impl(PyObject*module) /*[clinic end generated code: output=13af7670aac51b12 input=6657ab31d74c29fc]*/#endif/*[clinic input]dump bufferoutput pop[clinic start generated code]*/#if defined(CONDITION_A) PyDoc_STRVAR(test_preprocessor_guarded_condition_a__doc__, "test_preprocessor_guarded_condition_a($module, /)\n""--\n""\n"); #defineTEST_PREPROCESSOR_GUARDED_CONDITION_A_METHODDEF \{"test_preprocessor_guarded_condition_a", (PyCFunction)test_preprocessor_guarded_condition_a, METH_NOARGS, test_preprocessor_guarded_condition_a__doc__}, staticPyObject*test_preprocessor_guarded_condition_a(PyObject*module, PyObject*Py_UNUSED(ignored)){returntest_preprocessor_guarded_condition_a_impl(module)} #endif/* defined(CONDITION_A) */#if !defined(CONDITION_A) && (CONDITION_B) PyDoc_STRVAR(test_preprocessor_guarded_elif_condition_b__doc__, "test_preprocessor_guarded_elif_condition_b($module, /)\n""--\n""\n"); #defineTEST_PREPROCESSOR_GUARDED_ELIF_CONDITION_B_METHODDEF \{"test_preprocessor_guarded_elif_condition_b", (PyCFunction)test_preprocessor_guarded_elif_condition_b, METH_NOARGS, test_preprocessor_guarded_elif_condition_b__doc__}, staticPyObject*test_preprocessor_guarded_elif_condition_b(PyObject*module, PyObject*Py_UNUSED(ignored)){returntest_preprocessor_guarded_elif_condition_b_impl(module)} #endif/* !defined(CONDITION_A) && (CONDITION_B) */#if !defined(CONDITION_A) && !(CONDITION_B) PyDoc_STRVAR(test_preprocessor_guarded_else__doc__, "test_preprocessor_guarded_else($module, /)\n""--\n""\n"); #defineTEST_PREPROCESSOR_GUARDED_ELSE_METHODDEF \{"test_preprocessor_guarded_else", (PyCFunction)test_preprocessor_guarded_else, METH_NOARGS, test_preprocessor_guarded_else__doc__}, staticPyObject*test_preprocessor_guarded_else(PyObject*module, PyObject*Py_UNUSED(ignored)){returntest_preprocessor_guarded_else_impl(module)} #endif/* !defined(CONDITION_A) && !(CONDITION_B) */#ifndefTEST_PREPROCESSOR_GUARDED_CONDITION_A_METHODDEF#defineTEST_PREPROCESSOR_GUARDED_CONDITION_A_METHODDEF#endif/* !defined(TEST_PREPROCESSOR_GUARDED_CONDITION_A_METHODDEF) */#ifndefTEST_PREPROCESSOR_GUARDED_ELIF_CONDITION_B_METHODDEF#defineTEST_PREPROCESSOR_GUARDED_ELIF_CONDITION_B_METHODDEF#endif/* !defined(TEST_PREPROCESSOR_GUARDED_ELIF_CONDITION_B_METHODDEF) */#ifndefTEST_PREPROCESSOR_GUARDED_ELSE_METHODDEF#defineTEST_PREPROCESSOR_GUARDED_ELSE_METHODDEF#endif/* !defined(TEST_PREPROCESSOR_GUARDED_ELSE_METHODDEF) *//*[clinic end generated code: output=3804bb18d454038c input=3fc80c9989d2f2e1]*/ |
serhiy-storchaka commented Apr 12, 2020
Great idea @ammaraskar! I tried to add tests, but without |
Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
serhiy-storchaka commented Apr 12, 2020
@larryhastings could you please take a look? It is a blocker for #19360. |
miss-islington commented Apr 18, 2020
Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.7, 3.8. |
miss-islington commented Apr 18, 2020
Sorry, @serhiy-storchaka, I could not cleanly backport this to |
miss-islington commented Apr 18, 2020
Sorry @serhiy-storchaka, I had trouble checking out the |
…nGH-19364) Co-authored-by: Ammar Askar <ammar@ammaraskar.com>. (cherry picked from commit 12446e6) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
bedevere-bot commented Apr 18, 2020
GH-19583 is a backport of this pull request to the 3.8 branch. |
…nGH-19364) Co-authored-by: Ammar Askar <ammar@ammaraskar.com>. (cherry picked from commit 12446e6) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
bedevere-bot commented Apr 18, 2020
GH-19584 is a backport of this pull request to the 3.7 branch. |
* master: (1985 commits) bpo-40179: Fix translation of #elif in Argument Clinic (pythonGH-19364) bpo-35967: Skip test with `uname -p` on Android (pythonGH-19577) bpo-40257: Improve help for the typing module (pythonGH-19546) Fix two typos in multiprocessing (pythonGH-19571) bpo-40286: Use random.randbytes() in tests (pythonGH-19575) bpo-40286: Makes simpler the relation between randbytes() and getrandbits() (pythonGH-19574) bpo-39894: Route calls from pathlib.Path.samefile() to os.stat() via the path accessor (pythonGH-18836) bpo-39897: Remove needless `Path(self.parent)` call, which makes `is_mount()` misbehave in `Path` subclasses. (pythonGH-18839) bpo-40282: Allow random.getrandbits(0) (pythonGH-19539) bpo-40302: UTF-32 encoder SWAB4() macro use a|b rather than a+b (pythonGH-19572) bpo-40302: Replace PY_INT64_T with int64_t (pythonGH-19573) bpo-40286: Add randbytes() method to random.Random (pythonGH-19527) bpo-39901: Move `pathlib.Path.owner()` and `group()` implementations into the path accessor. (pythonGH-18844) bpo-40300: Allow empty logging.Formatter.default_msec_format. (pythonGH-19551) bpo-40302: Add pycore_byteswap.h header file (pythonGH-19552) bpo-40287: Fix SpooledTemporaryFile.seek() return value (pythonGH-19540) Minor modernization and readability improvement to the tokenizer example (pythonGH-19558) bpo-40294: Fix _asyncio when module is loaded/unloaded multiple times (pythonGH-19542) Fix parameter names in assertIn() docs (pythonGH-18829) bpo-39793: use the same domain on make_msgid tests (python#18698) ...
https://bugs.python.org/issue40179