As per python-dev discussion with Eli, properly document and publish dis.show_code
diff --git a/Lib/dis.py b/Lib/dis.py
index 1f56014..f64bae6 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -7,7 +7,7 @@
from opcode import __all__ as _opcodes_all
__all__ = ["code_info", "dis", "disassemble", "distb", "disco",
- "findlinestarts", "findlabels"] + _opcodes_all
+ "findlinestarts", "findlabels", "show_code"] + _opcodes_all
del _opcodes_all
_have_code = (types.MethodType, types.FunctionType, types.CodeType, type)
@@ -140,12 +140,8 @@
lines.append("%4d: %s" % i_n)
return "\n".join(lines)
-# show_code is deliberately undocumented and left out of __all__,
-# since it doesn't offer any real benefit over code_info() above
-# It is only retained because it already existed and was not
-# marked as private in previous versions of Python
def show_code(co):
- """Show details about a code object."""
+ """Print details of methods, functions, or code to stdout."""
print(code_info(co))
def disassemble(co, lasti=-1):