This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jakamkon
Recipients
Date 2006-07-11.15:02:27
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=1491175

Simple solution is to catch TypeError in bdb's run function:
         try:
            if not isinstance(cmd, types.CodeType):
                    cmd = cmd+'\n'
         except TypeError:
                    pass

Now it seems that handling nonstring arguments is better:

>>> import pdb
>>> def x():pass
...
>>> pdb.run(x())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/jkk/python-svn/Lib/pdb.py", line 1122, in run
    Pdb().run(statement, globals, locals)
  File "/home/jkk/python-svn/Lib/bdb.py", line 369, in run
    exec cmd in globals, locals
TypeError: exec: arg 1 must be a string, file, or code object
>>> pdb.run('x()')
> <string>(1)<module>()
(Pdb) x
<function x at 0x4024a9cc>
(Pdb) pdb.run('x()')
(Pdb)
>>>

History
Date User Action Args
2007-08-23 14:39:31adminlinkissue1472251 messages
2007-08-23 14:39:31admincreate