From: Guido van Rossum Date: Mon, 29 Mar 1993 11:39:45 +0000 (+0000) Subject: Added whatis command (third try -- filesystem was full, rcs lock failed) X-Git-Tag: v0.9.9~72 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0023078a0b751260acdee7be0b029335f7efe888;p=thirdparty%2FPython%2Fcpython.git Added whatis command (third try -- filesystem was full, rcs lock failed) --- diff --git a/Lib/pdb.py b/Lib/pdb.py index 48d0b2719f2b..b8446aab6c33 100755 --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -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;