+1 On Fri, Jan 29, 2021 at 6:28 PM Terry Reedy <tjre...@udel.edu> wrote:
> On 1/29/2021 8:57 PM, Guido van Rossum wrote: > > On Fri, Jan 29, 2021 at 5:39 PM Terry Reedy <tjre...@udel.edu > > <mailto:tjre...@udel.edu>> wrote: > > > > Guido, thank you for the helpful discussion. I now think that we > > should > > just add 'end_lineno=None' at the end of the Function/Class __init__ > > signatures. pyclbr makes one call to each to contruct the tree it > > returns, and the test functions make another call to each. > > > > If those are the only two calls to each, it hardly matters what they > > look like. If there are non-stdlib calls, it is not worth breaking > > them. And others might well localize their Function/Class calls > within > > wrappers similar to _nest_function() and _nest_class(). > > > > > > Okay, I wasn't quite ready to recommend this, but I agree that that's > > the most compatible solution. (Put a `*` before the optional arg so it > > must be specified as a keyword.) > > I presume you mean immediately before 'end_lineno', as putting it before > all optional params would break positional passing. > > > A more important pyclbr issue, I think, is that readline and > > readline_ex > > return a 'half node', a dict of children, instead of a Module node. > It > > is a nuisance, such as when constructing IDLE's module browser > > tree. It > > is the same as if ast_parse were to return the body list of > ast.Module > > instead of ast.Module itself. A readmodule() function could return a > > proper tree with a root Module node, with attributes file, name, > lineno > > (1), end_lineno, and children. > > > > Sounds good. Thanks for caring about this very old module! (I am not > > 100% sure of its origins but I think it may have been written in > > Python's earliest years by one of my office mates, Sjoerd Mullender.) > > Adding a new API would be an opportunity to 'do it right'. The test of > it being an improvement is if it allows simplification of the module > browser code. > > -- > Terry Jan Reedy > > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/KAQBTNC5R5IHHXKPUIVMKAPFTNIHE7BK/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/OC3EQZ6S2R637LPNNO6TKDJCZXSJ5C3M/ Code of Conduct: http://python.org/psf/codeofconduct/