File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1675,13 +1675,24 @@ def do_clear(self, arg):
16751675 if ':' in arg :
16761676 # Make sure it works for "clear C:\foo\bar.py:12"
16771677 i = arg .rfind (':' )
1678- filename = arg [:i ]
1679- arg = arg [i + 1 :]
1678+ filename = arg [:i ].rstrip ()
1679+ arg = arg [i + 1 :].lstrip ()
1680+ err = None
16801681 try :
16811682 lineno = int (arg )
16821683 except ValueError :
1683- err = "Invalid line number (%s)" % arg
1684- else :
1684+ f = self .lookupmodule (filename )
1685+ if not f :
1686+ err = '%r not found from sys.path' % filename
1687+ else :
1688+ filename = f
1689+ func = arg
1690+ find_res = find_function (func , self .canonic (filename ))
1691+ if find_res :
1692+ _ , filename , lineno = find_res
1693+ else :
1694+ err = "Invalid line number or function name:(%r)" % arg
1695+ if not err :
16851696 bplist = self .get_breaks (filename , lineno )[:]
16861697 err = self .clear_break (filename , lineno )
16871698 if err :
You can’t perform that action at this time.
0 commit comments