[New-bugs-announce] [issue41095] inspect.signature() doesn't parse __text_signature__ containing a newline character

STINNER Victor report at bugs.python.org
Tue Jun 23 18:26:29 EDT 2020

New submission from STINNER Victor <vstinner at python.org>:

$ ./python
Python 3.10.0a0 (heads/unicode_latin1:40855c7064, Jun 24 2020, 00:20:07) 
>>> import select
>>> select.epoll.register.__text_signature__
'($self, /, fd,\n         eventmask=select.EPOLLIN | select.EPOLLPRI | select.EPOLLOUT)'

>>> import inspect
>>> inspect.signature(select.epoll.register)
<Signature (self, /, fd)>

=> eventmask parameter is gone!

Either signature() must raise an exception, or it must handle a __text_signature__ containing a newline character.

Issue spotted on bpo-31938 when fixing "./python -m pydoc select".

By the way, as expected, pydoc shows:

Help on method_descriptor in select.epoll:
$ ./python -m pydoc select.epoll.register

select.epoll.register = register(self, /, fd)
    Registers a new fd or raises an OSError if the fd is already registered.

components: Library (Lib)
messages: 372213
nosy: serhiy.storchaka, vstinner, yselivanov
priority: normal
severity: normal
status: open
title: inspect.signature() doesn't parse __text_signature__ containing a newline character
versions: Python 3.10

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list