| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Remove _PyArg_UnpackKeywordsWithVararg. Add comments for integer arguments of _PyArg_UnpackKeywords.
There was a problem hiding this comment.
Neat. Consider this style amendment for IMO slightly more readable generated code:
diffdiff --git a/Tools/clinic/libclinic/parse_args.py b/Tools/clinic/libclinic/parse_args.py
index 8b7afbcf3e4..8d1714b1ebe 100644
--- a/Tools/clinic/libclinic/parse_args.py
+++ b/Tools/clinic/libclinic/parse_args.py
@@ -695,13 +695,21 @@ def parse_general(self, clang: CLanguage) -> None:
if has_optional_kw:
self.declarations += "\nPy_ssize_t noptargs = %s + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - %d;" % (nargs, self.min_pos + self.min_kw_only)
unpack_args = '_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL'
- parser_code = [libclinic.normalize_snippet(f"""
- {argsname} = _PyArg_UnpackKeywords({unpack_args}, &_parser,
- /*minpos*/ {self.min_pos}, /*maxpos*/ {self.max_pos}, /*minkw*/ {self.min_kw_only}, /*varpos*/ {1 if self.varpos else 0}, argsbuf);
+ snippet = f"""
+ {argsname} = _PyArg_UnpackKeywords(
+ {unpack_args}, &_parser,
+ /*minpos*/ {self.min_pos},
+ /*maxpos*/ {self.max_pos},
+ /*minkw*/ {self.min_kw_only},
+ /*varpos*/ {1 if self.varpos else 0},
+ argsbuf
+ );
if (!{argsname}) {{{{
goto exit;
}}}}
- """, indent=4)]
+ """
+ snippet = libclinic.normalize_snippet(snippet, indent=4)
+ parser_code = [snippet]
if self.requires_defining_class:
self.flags = 'METH_METHOD|' + self.flags
Sorry, something went wrong.
(This is why auto-formatting for clinic output (with indent-like tool) might be not a bad idea.) But if we are going for multi-line code snippet, lets add also spaces to comments: /*minpos*/ -> /* minpos */. |
Sorry, something went wrong.
We already do auto-formatting of clinic output1; see Tools/clinic/libclinic/formatting.py. But I don't think coercing Argument Clinic to produce "100% correct PEP-7 code" is good use of anyones time. Time is better spent on resolving real Argument Clinic issues. Footnotes
|
Sorry, something went wrong.
It would be less readable to me. I have vision problems so I get lost in very scattered code.
I initially wrote it as /* min_pos */, but it was too noisy. It was more difficult to find the code between comments. |
Sorry, something went wrong.
…ythonGH-126564) Remove _PyArg_UnpackKeywordsWithVararg. Add comments for integer arguments of _PyArg_UnpackKeywords.
…ythonGH-126564) Remove _PyArg_UnpackKeywordsWithVararg. Add comments for integer arguments of _PyArg_UnpackKeywords.
| Back | FazBrowse Home | New Git URL |
Remove _PyArg_UnpackKeywordsWithVararg.
Add comments for integer arguments of _PyArg_UnpackKeywords.
This is a follow up of #122945. It was not included in #122945 to minimize the diff.