diff --git a/Lib/pdb.py b/Lib/pdb.py index c5d3e1c2a33..06f5cf8c7b5 100755 --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -66,6 +66,7 @@ class Pdb(bdb.Bdb, cmd.Cmd): if line[:1] == '!': line = line[1:] locals = self.curframe.f_locals globals = self.curframe.f_globals + globals['__privileged__'] = 1 try: exec(line + '\n', globals, locals) except: @@ -175,12 +176,14 @@ class Pdb(bdb.Bdb, cmd.Cmd): do_rv = do_retval def do_p(self, arg): + self.curframe.f_globals['__privileged__'] = 1 try: value = eval(arg, self.curframe.f_globals, \ self.curframe.f_locals) except: print '***', sys.exc_type + ':', `sys.exc_value` return + print `value` def do_list(self, arg): diff --git a/Lib/string.py b/Lib/string.py index 8c7d102b464..ccc10431e4c 100644 --- a/Lib/string.py +++ b/Lib/string.py @@ -5,7 +5,7 @@ # functions imported from built-in module "strop". # Some strings for ctype-style character classification -whitespace = ' \t\n' +whitespace = ' \t\n\r\v\f' lowercase = 'abcdefghijklmnopqrstuvwxyz' uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' letters = lowercase + uppercase @@ -181,10 +181,13 @@ def expandtabs(s, tabsize): # Try importing optional built-in module "strop" -- if it exists, # it redefines some string operations that are 100-1000 times faster. +# It also defines values for whitespace, lowercase and uppercase +# that match 's definitions. # The manipulation with index_error is needed for compatibility. try: from strop import * + letters = lowercase + uppercase from strop import index index_error = ValueError except ImportError: diff --git a/Lib/stringold.py b/Lib/stringold.py index 8c7d102b464..ccc10431e4c 100644 --- a/Lib/stringold.py +++ b/Lib/stringold.py @@ -5,7 +5,7 @@ # functions imported from built-in module "strop". # Some strings for ctype-style character classification -whitespace = ' \t\n' +whitespace = ' \t\n\r\v\f' lowercase = 'abcdefghijklmnopqrstuvwxyz' uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' letters = lowercase + uppercase @@ -181,10 +181,13 @@ def expandtabs(s, tabsize): # Try importing optional built-in module "strop" -- if it exists, # it redefines some string operations that are 100-1000 times faster. +# It also defines values for whitespace, lowercase and uppercase +# that match 's definitions. # The manipulation with index_error is needed for compatibility. try: from strop import * + letters = lowercase + uppercase from strop import index index_error = ValueError except ImportError: