Added whatis command (third try -- filesystem was full, rcs lock failed)

This commit is contained in:
Guido van Rossum 1993-03-29 11:39:45 +00:00
parent e7113b6b3d
commit 0023078a0b
1 changed files with 24 additions and 0 deletions

View File

@ -225,6 +225,30 @@ class Pdb(bdb.Bdb, cmd.Cmd):
except KeyboardInterrupt:
pass
do_l = do_list
def do_whatis(self, arg):
import codehack
try:
value = eval(arg, self.curframe.f_globals, \
self.curframe.f_locals)
except:
print '***', sys.exc_type + ':', `sys.exc_value`
return
code = None
# Is it a function?
try: code = value.func_code
except: pass
if code:
print 'Function', codehack.getcodename(code)
return
# Is it an instance method?
try: code = value.im_func.func_code
except: pass
if code:
print 'Method', codehack.getcodename(code)
return
# None of the above...
print type(value)
# Print a traceback starting at the top stack frame.
# The most recently entered frame is printed last;