These were renamed because these member names match python built-in functions, which could theoretically lead to conflicts.
But it's a small problem, which mostly affects the implementation details of the structure constructors. Meaning it might eventually be a small problem for us, but not for our users. Plus this has been a source of bugs #61. The known bugs are fixed but there still might be some unknown brittleness remaining.
In the interest of maintaining transparent similarity to the C API, we should use the original member names.
By the way, if we ever encounter a case where a python keyword (not just a built-in function) matches a member name or parameter name, we would probably need to re-invoke this mechanism for those keyword-matching parameters.
I'm still inclined to keep these parameters at the end of the constructor parameter list in the python API. In the C API they are at the beginning of the parameter list. I moved them to the end because they are some of the least-frequently needed parameters, so having them at the end allows us to omit mentioning them in the most common uses, when explicit parameter names are omitted.
These were renamed because these member names match python built-in functions, which could theoretically lead to conflicts.
But it's a small problem, which mostly affects the implementation details of the structure constructors. Meaning it might eventually be a small problem for us, but not for our users. Plus this has been a source of bugs #61. The known bugs are fixed but there still might be some unknown brittleness remaining.
In the interest of maintaining transparent similarity to the C API, we should use the original member names.
By the way, if we ever encounter a case where a python keyword (not just a built-in function) matches a member name or parameter name, we would probably need to re-invoke this mechanism for those keyword-matching parameters.
I'm still inclined to keep these parameters at the end of the constructor parameter list in the python API. In the C API they are at the beginning of the parameter list. I moved them to the end because they are some of the least-frequently needed parameters, so having them at the end allows us to omit mentioning them in the most common uses, when explicit parameter names are omitted.
@el-dee do you agree?