* 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:
parent
1fc238a813
commit
8e2ec56cbc
|
@ -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):
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue