[issue11822] Improve disassembly to show embedded code objects

2017-06-12 Thread STINNER Victor
STINNER Victor added the comment: Thanks Serhiy, it works and I like the result :-) >>> def f(): ... def g(): ... return 3 ... return g ... >>> import dis; dis.dis(f) 2 0 LOAD_CONST 1 (", line 2>) 2 LOAD_CONST 2 ('f..g') 4

[issue11822] Improve disassembly to show embedded code objects

2017-06-11 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker ___ _

[issue11822] Improve disassembly to show embedded code objects

2017-06-11 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: New changeset 1efbf92e90ed2edf3f5bb5323340b26f318ff61e by Serhiy Storchaka in branch 'master': bpo-11822: Improve disassembly to show embedded code objects. (#1844) https://github.com/python/cpython/commit/1efbf92e90ed2edf3f5bb5323340b26f318ff61e --

[issue11822] Improve disassembly to show embedded code objects

2017-06-04 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Could you please look at the patch Raymond? Is this what you wanted? -- ___ Python tracker ___ ___

[issue11822] Improve disassembly to show embedded code objects

2017-05-30 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- assignee: -> serhiy.storchaka ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue11822] Improve disassembly to show embedded code objects

2017-05-28 Thread Raymond Hettinger
Raymond Hettinger added the comment: > Would it help if pipe the output of dis() through a pager > if the output file and stdin are attached to a terminal? -1 for adding a pager. -- ___ Python tracker ___

[issue11822] Improve disassembly to show embedded code objects

2017-05-28 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: PR 1844 implements Nick's suggestion, but I don't like it. This complicates both the interface and the implementation. help() also can produce very noisy output if request the documentation of the whole module. But the output of help() usually is piped throu

[issue11822] Improve disassembly to show embedded code objects

2017-05-28 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- pull_requests: +1931 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://m

[issue11822] Improve disassembly to show embedded code objects

2017-04-16 Thread Nick Coghlan
Nick Coghlan added the comment: Yeah, I was mixing this up with getargspec (et al), which get used by IDEs and similar tools. While third party tools do use the disassembler, they typically won't use its display logic directly unless they're just dumping the output to a terminal equivalent. G

[issue11822] Improve disassembly to show embedded code objects

2017-04-16 Thread Raymond Hettinger
Raymond Hettinger added the comment: > if we modify dis() instead of adding a new function, then > the default behaviour needs to be non-recursive for > backwards compatibility reasons I don't see how we have any backward compatibility issues. The dis() function is purely informational like h

[issue11822] Improve disassembly to show embedded code objects

2017-04-15 Thread Nick Coghlan
Nick Coghlan added the comment: The problem I see is that we have conflicting requirements for the default behaviour: - if we modify dis() instead of adding a new function, then the default behaviour needs to be non-recursive for backwards compatibility reasons - if we allow the depth to be co

[issue11822] Improve disassembly to show embedded code objects

2017-04-15 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: The problem with the *depth* parameter is that it adds a burden of choosing the value for the end user. "Oh, there are more deeper code objects, I must increase the depth and rerun dis()!" I think in most cases when that parameter is specified it would be se

[issue11822] Improve disassembly to show embedded code objects

2017-04-15 Thread Nick Coghlan
Nick Coghlan added the comment: +1 for listing the nested code objects after the original one. In reviewing Serhiy's patch, the core technical implementation looks OK to me, but I think we may want to go with a "depth" argument rather than a simple "recursive" flag. My rationale for that rela

[issue11822] Improve disassembly to show embedded code objects

2017-04-15 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: The issue was open 6 years ago. The feature could be added in 3.3. But it still not implemented. Since there are problems with outputting the disassembly of internal code objects expanded in-line, proposed patch just outputs them after the disassembly of th

[issue11822] Improve disassembly to show embedded code objects

2017-04-15 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- pull_requests: +1286 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://m

[issue11822] Improve disassembly to show embedded code objects

2016-07-18 Thread Stéphane Wirtel
Stéphane Wirtel added the comment: hello, we can continue the discussion on this issue ? -- ___ Python tracker ___ ___ Python-bugs-lis

[issue11822] Improve disassembly to show embedded code objects

2016-06-05 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: I like Stéphane's idea about placing the output for nested code object at the same level after the output for the main code object. -- nosy: +serhiy.storchaka ___ Python tracker

[issue11822] Improve disassembly to show embedded code objects

2015-12-03 Thread Todd Dembrey
Changes by Todd Dembrey : -- nosy: +Todd Dembrey ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.p

[issue11822] Improve disassembly to show embedded code objects

2015-11-09 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- assignee: rhettinger -> ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http

[issue11822] Improve disassembly to show embedded code objects

2015-11-06 Thread Stéphane Wirtel
Stéphane Wirtel added the comment: Hi all, For this feature, I have an other output: stephane@sg1 /tmp> python3 dump_bytecode.py 3 0 LOAD_BUILD_CLASS 1 LOAD_CONST 0 (", line 3>) 4 LOAD_CONST 1 ('User') 7

[issue11822] Improve disassembly to show embedded code objects

2015-01-25 Thread Berker Peksag
Changes by Berker Peksag : -- nosy: +berker.peksag ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail

[issue11822] Improve disassembly to show embedded code objects

2014-09-06 Thread Nick Coghlan
Nick Coghlan added the comment: I didn't want to add a second argument to turn off the new behaviour, so I changed it such that passing a value < 0 for "nested" turns off the new feature entirely. Levels >= 0 enable it, defining which level to start with. The default level is "0" so there's no

[issue11822] Improve disassembly to show embedded code objects

2014-09-06 Thread Nick Coghlan
Nick Coghlan added the comment: Sorry for the long delay in doing anything with this patch. Unfortunately, trunk has moved on quite a bit since this patch was submitted, and it's no longer directly applicable. However, the basic principle is sound, so this is a new patch that aligns with the

[issue11822] Improve disassembly to show embedded code objects

2014-08-16 Thread STINNER Victor
Changes by STINNER Victor : -- nosy: +haypo ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python

[issue11822] Improve disassembly to show embedded code objects

2014-08-12 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- stage: needs patch -> patch review versions: +Python 3.5 -Python 3.4 ___ Python tracker ___ ___ Pyth

[issue11822] Improve disassembly to show embedded code objects

2014-08-12 Thread Josh Lee
Changes by Josh Lee : -- nosy: +jleedev ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org

[issue11822] Improve disassembly to show embedded code objects

2013-07-12 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- stage: -> needs patch versions: +Python 3.4 -Python 3.3 ___ Python tracker ___ ___ Python-bugs-list

[issue11822] Improve disassembly to show embedded code objects

2011-12-10 Thread Raymond Hettinger
Raymond Hettinger added the comment: Thank you :-) -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://m

[issue11822] Improve disassembly to show embedded code objects

2011-12-10 Thread Torsten Landschoff
Torsten Landschoff added the comment: I offer the attached patch as a starting point to fulfill this feature request. The patch changes the output to insert the disassembly of local code objects on the referencing line. As that made the output unreadable to me, I added indentation for the nes

[issue11822] Improve disassembly to show embedded code objects

2011-05-31 Thread Nick Coghlan
Nick Coghlan added the comment: Note that Yaniv Aknin (author of the Python's Innards series of blog posts) has a recursive dis variant that may be useful for inspiration: https://bitbucket.org/yaniv_aknin/pynards/src/c4b61c7a1798/common/blog.py As shown there, this recursive behaviour can al

[issue11822] Improve disassembly to show embedded code objects

2011-04-12 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- assignee: -> rhettinger ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http

[issue11822] Improve disassembly to show embedded code objects

2011-04-11 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: On Mon, Apr 11, 2011 at 5:21 PM, Antoine Pitrou wrote: .. Raymond>> If you disassemble a function, you typically want to see all the code Raymond>> [defined] in that function. +1 (with clarification in []) If the function calls a function defined elsewh

[issue11822] Improve disassembly to show embedded code objects

2011-04-11 Thread Antoine Pitrou
Antoine Pitrou added the comment: > If you disassemble a function, you typically want to see all the code > in that function. That depends on the function. If you do event-driven programming (say, Twisted deferreds with addCallback()), you don't necessarily want to see the disassembly of the ca

[issue11822] Improve disassembly to show embedded code objects

2011-04-11 Thread Raymond Hettinger
Raymond Hettinger added the comment: If you disassemble a function, you typically want to see all the code in that function. This isn't like pdb where you're choosing to step over or into another function outside the one being viewed. -- ___ Pytho

[issue11822] Improve disassembly to show embedded code objects

2011-04-11 Thread Antoine Pitrou
Antoine Pitrou added the comment: I think it should be enabled with an optional argument. Otherwise in some cases you'll get lots of additional output while you're only interested in the top-level code. -- nosy: +pitrou ___ Python tracker

[issue11822] Improve disassembly to show embedded code objects

2011-04-11 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: Would you like to display lambdas as well? >>> dis('lambda x: x**2') 1 0 LOAD_CONST 0 ( at 0x1005c9ad0, file "", line 1>) 3 MAKE_FUNCTION0 6 RETURN_VALUE at 0x1005cb140, file

[issue11822] Improve disassembly to show embedded code objects

2011-04-11 Thread Alexander Belopolsky
Changes by Alexander Belopolsky : -- nosy: +belopolsky ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://m

[issue11822] Improve disassembly to show embedded code objects

2011-04-10 Thread Raymond Hettinger
New submission from Raymond Hettinger : Now that list comprehensions mask run their internals in code objects (the same way that genexps do), it is getting harder to use dis() to see what code is generated. For example, the pow() call isn't shown in the following disassembly: >>> dis('[x**2