
This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.
Created on2012-08-29 14:54 bysbt, last changed2022-04-11 14:57 byadmin. This issue is nowclosed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| inspect_getframeinfo_line1.patch | Sam.Breese,2012-09-30 14:52 | review | ||
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 552 | closed | dstufft,2017-03-31 16:36 | |
| Messages (11) | |||
|---|---|---|---|
| msg169387 -(view) | Author: Richard Oudkerk (sbt)*![]() | Date: 2012-08-29 14:54 | |
When inspect.getframeinfo() tries to collect lines of context it never shows the first line (unless context is as big as the number of lines in the file).The relevant code is start = lineno - 1 - context//2 try: lines, lnum = findsource(frame) except IOError: lines = index = None else:--> start = max(start, 1) start = max(0, min(start, len(lines) - context)) lines = lines[start:start+context] index = lineno - 1 - startI think that start = max(start, 1)should be replaced by start = max(start, 0)For some reason getframeinfo() (and the functions which use it) don't seem to be tested by the testsuite... | |||
| msg171638 -(view) | Author: Sam Breese (Sam.Breese) | Date: 2012-09-30 13:47 | |
Looking into this now. Should have a patch either later today or tommorow. | |||
| msg171640 -(view) | Author: Sam Breese (Sam.Breese) | Date: 2012-09-30 14:02 | |
Also, would you mind posting an example? I'm having trouble replicating. | |||
| msg171641 -(view) | Author: Sam Breese (Sam.Breese) | Date: 2012-09-30 14:16 | |
Nevermind, replicated it. Changing start = max(start, 1) to start = max(start, 0) DOES fix. Writing a test case now. | |||
| msg171643 -(view) | Author: Sam Breese (Sam.Breese) | Date: 2012-09-30 14:52 | |
Here's a patch. Very, very simple, just changed that one line in inspect.py and wrote a highly primitive test case for inspect.getframeinfo. The test isn't actually testing the primary functionality right now, just this one bug. I can probably write more expansive coverage later, but in the interest of an expeditious reply I'm submitting now. | |||
| msg282427 -(view) | Author: Peter Waller (Peter.Waller) | Date: 2016-12-05 16:14 | |
I have just hit this bug and independently invented the exact fix of changing the zero for a one. Any chance of getting this merged? | |||
| msg284452 -(view) | Author: Roundup Robot (python-dev)![]() | Date: 2017-01-02 03:58 | |
New changeset15454cad5f27 by Berker Peksag in branch '3.5':Issue#15812: inspect.getframeinfo() now correctly shows the first line of a contexthttps://hg.python.org/cpython/rev/15454cad5f27New changeset410caf255a09 by Berker Peksag in branch '3.6':Issue#15812: Merge from 3.5https://hg.python.org/cpython/rev/410caf255a09New changeset803c3c21c3bc by Berker Peksag in branch 'default':Issue#15812: Merge from 3.6https://hg.python.org/cpython/rev/803c3c21c3bc | |||
| msg284453 -(view) | Author: Berker Peksag (berker.peksag)*![]() | Date: 2017-01-02 03:59 | |
Thanks for the patch Sam and thanks for the ping Peter! | |||
| msg284471 -(view) | Author: Serhiy Storchaka (serhiy.storchaka)*![]() | Date: 2017-01-02 06:36 | |
start is bounded to 0 twice. start = max(start, 0) start = max(0, min(start, len(lines) - context))The first line can be just removed. Or two above lines can be rewritten as: start = min(start, len(lines) - context) start = max(start, 0) | |||
| msg284516 -(view) | Author: Roundup Robot (python-dev)![]() | Date: 2017-01-03 00:46 | |
New changeset2b6bdd6cd3f8 by Berker Peksag in branch '3.5':Issue#15812: Delete redundant max(start, 0)https://hg.python.org/cpython/rev/2b6bdd6cd3f8New changeset7cbcee0c53e3 by Berker Peksag in branch '3.6':Issue#15812: Merge from 3.5https://hg.python.org/cpython/rev/7cbcee0c53e3New changeset5b0dee884b0b by Berker Peksag in branch 'default':Issue#15812: Merge from 3.6https://hg.python.org/cpython/rev/5b0dee884b0b | |||
| msg284517 -(view) | Author: Berker Peksag (berker.peksag)*![]() | Date: 2017-01-03 00:47 | |
You're right. Thanks for the review, Serhiy! | |||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:57:35 | admin | set | github: 60016 |
| 2017-03-31 16:36:20 | dstufft | set | pull_requests: +pull_request942 |
| 2017-01-03 00:47:13 | berker.peksag | set | messages: +msg284517 |
| 2017-01-03 00:46:26 | python-dev | set | messages: +msg284516 |
| 2017-01-02 06:36:36 | serhiy.storchaka | set | nosy: +serhiy.storchaka messages: +msg284471 |
| 2017-01-02 03:59:36 | berker.peksag | set | status: open -> closed type: behavior components: + Library (Lib) versions: + Python 3.5, Python 3.6, Python 3.7 nosy: +berker.peksag messages: +msg284453 resolution: fixed stage: resolved |
| 2017-01-02 03:58:09 | python-dev | set | nosy: +python-dev messages: +msg284452 |
| 2016-12-05 16:14:29 | Peter.Waller | set | nosy: +Peter.Waller messages: +msg282427 |
| 2012-09-30 14:52:11 | Sam.Breese | set | files: +inspect_getframeinfo_line1.patch keywords: +patch messages: +msg171643 |
| 2012-09-30 14:16:12 | Sam.Breese | set | messages: +msg171641 |
| 2012-09-30 14:02:46 | Sam.Breese | set | messages: +msg171640 |
| 2012-09-30 13:47:21 | Sam.Breese | set | nosy: +Sam.Breese messages: +msg171638 |
| 2012-08-29 14:54:39 | sbt | create | |