summaryrefslogtreecommitdiffstats
path: root/Lib/pdb.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1999-11-03 13:10:07 (GMT)
committerGuido van Rossum <guido@python.org>1999-11-03 13:10:07 (GMT)
commit19878f58fe9e4273458131eec1c18b96da39dcd1 (patch)
tree6181f68022c8340b7774dc4d53a4e82a11b81768 /Lib/pdb.py
parentdd7cbbf4d320317065d041a7b407fae840563012 (diff)
downloadcpython-19878f58fe9e4273458131eec1c18b96da39dcd1.zip
cpython-19878f58fe9e4273458131eec1c18b96da39dcd1.tar.gz
cpython-19878f58fe9e4273458131eec1c18b96da39dcd1.tar.bz2
Sjoerd Mullender writes:
I regularly find that pdb sets the breakpoint on the wrong line when I try to set a breakpoint on a function. This fixes the problem somewhat. The real problem is that pdb tries to parse the Python source code to find the first executable line. A better way might be to inspect the code object, or even have a variable in the code object co_firstexecutablelineno, but that's too much work. The patch fixes the problem when the first code line after the def statement contains the start *and* end of a triple-quoted string. The code assumed that the end of a triple-quoted string is not on the same line as the start, and so it would skip to the end of the *next* triple-quoted string.
Diffstat (limited to 'Lib/pdb.py')
-rwxr-xr-xLib/pdb.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/pdb.py b/Lib/pdb.py
index b897efb..63c7c1d 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -346,6 +346,9 @@ class Pdb(bdb.Bdb, cmd.Cmd):
if len(line) >= 3:
if (line[:3] == '"""'
or line[:3] == "'''"):
+ if line[-3:] == line[:3]:
+ # one-line string
+ continue
incomment = line[:3]
continue
if line[0] != '#': break