New submission from Larry Hastings:

inspect has a bug:
* inspect.ismethod() returns False for bound methods on builtins.

If I fix that, that exposes a bug in pydoc:
* pydoc's two docroutine() functions assume that bound methods
  have a __func__; bound builtins do not.

The only reason pydoc assumed the __func__ attribute was so it could use that 
instead of the bound function when getting the signature.  I don't know why it 
cared, but: when it does so, that means it displays "self" for bound methods 
implemented in Python.

However, since it doesn't do that for bound methods implemented in C, now the 
behavior is inconsistent.  Should it display self or not?  The consensus was, 
it should not.  This would make pydoc consistent with inspect.signature.

This patch therefore changes a third thing:

* pydoc: don't display "self" for bound methods implemented in Python.

I propose to merge this for 3.4.0rc2.

----------
assignee: larry
components: Library (Lib)
files: larry.fix.help.on.bound.methods.1.diff
keywords: patch
messages: 211768
nosy: larry, ncoghlan, yselivanov
priority: release blocker
severity: normal
status: open
title: Make inspect and pydoc consistent about bound methods
versions: Python 3.4
Added file: 
http://bugs.python.org/file34162/larry.fix.help.on.bound.methods.1.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20710>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to