On 12/01/2014 12:04 PM, Alexey Neyman wrote: > > On 12/01/2014 06:17 AM, C. Michael Pilato wrote: >> Just a quick question, as my bindings knowledge has grown somewhat >> stale: why do some of the wrapper functions use a format string with >> the tuple notation (e.g., "(O)") and others not (e.g., "Oss#O&")? >> >> I notice that the basic editor wrapping methods have the same >> disparity. I'm probably overlooking something obvious, but hey, it's >> Monday, so be gentle. > It is rather the opposite: the "Oss#O&" implicitly requests a tuple > packing by virtue of having more than one value to pack. > > PyObject_CallMethod (and other similar functions) defer to the > Py_BuildValue for the description of the format string. The latter > states that by default, it only builds a tuple if there are two or > more arguments to be packed; for one argument, it returns just the > object specified by the format string and for zero arguments, it > returns None. > > I am not sure what it would mean to pass a non-tuple to a callable > Python object as an argument though; haven't tried it myself. >
Ah, thanks for the clarification. FWIW, I took a cruise through your patch, and it all seems consistent with the rest of our Python wrapping logic. I agree with Bert's recommendation to commit away and tweak post-facto as needed. -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Enterprise Cloud Development