summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xLib/pdb.py3
-rw-r--r--Lib/string.py5
-rw-r--r--Lib/stringold.py5
3 files changed, 11 insertions, 2 deletions
diff --git a/Lib/pdb.py b/Lib/pdb.py
index c5d3e1c..06f5cf8 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 8c7d102..ccc1043 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 <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:
diff --git a/Lib/stringold.py b/Lib/stringold.py
index 8c7d102..ccc1043 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 <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: