* pdb.py: set 'privileged' property when evaluating expressions

* string.py: change whitespace to include \r, \v and \f.
  When importing strop succeeds, re-evaluate meaning of letters.
This commit is contained in:
Guido van Rossum 1993-07-29 09:37:38 +00:00
parent 1fc238a813
commit 8e2ec56cbc
3 changed files with 11 additions and 2 deletions

View File

@ -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):

View File

@ -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 <ctype.h>'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:

View File

@ -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 <ctype.h>'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: