Commit Graph

27 Commits

Author SHA1 Message Date
Benjamin Peterson
7d95e40721 Implement PEP 412: Key-sharing dictionaries (closes #13903)
Patch from Mark Shannon.
2012-04-23 11:24:50 -04:00
Victor Stinner
d974393419 (Merge 3.2) Issue #13628: python-gdb.py is now able to retrieve more frames in
the Python traceback if Python is optimized.

 * delay the lookup of the size_t type, it is not available at startup
 * The second argument of the PyFrameObjectPtr constructor is optional, as
   done in other constructors
 * iter_builtins() and iter_globals() methods of PyFrameObjectPtr returns
   an empty tuple instead of None if Python is optimized
 * Fix py-bt and py-bt-full to handle correctly "optimized" frames
 * Frame.get_pyop() tries to get the frame pointer from PyEval_EvalCodeEx()
   if the pointer is optimized out in PyEval_EvalFrameEx()
2011-12-19 13:47:10 +01:00
Victor Stinner
d208416a40 Issue #13628: python-gdb.py is now able to retrieve more frames in the Python
traceback if Python is optimized.

 * delay the lookup of the size_t type, it is not available at startup
 * The second argument of the PyFrameObjectPtr constructor is optional, as
   done in other constructors
 * iter_builtins() and iter_globals() methods of PyFrameObjectPtr returns
   an empty tuple instead of None if Python is optimized
 * Fix py-bt and py-bt-full to handle correctly "optimized" frames
 * Frame.get_pyop() tries to get the frame pointer from PyEval_EvalCodeEx()
   if the pointer is optimized out in PyEval_EvalFrameEx()
2011-12-19 13:42:24 +01:00
Antoine Pitrou
ca2a1a335a Fix test_gdb failure 2011-12-12 19:18:24 +01:00
Florent Xicluna
aa6c1d240f Issue #13575: there is only one class type. 2011-12-12 18:54:29 +01:00
Victor Stinner
0c4fbff6a7 libpython.py: defer call to gdb.lookup_type('PyUnicodeObject')
The lookup fails at startup if Python is linked to a shared library.
2011-12-08 00:08:22 +01:00
Victor Stinner
f16a350baf Oops, really fix gdb/libpython.py for not ready Unicode strings 2011-11-04 22:34:01 +01:00
Victor Stinner
e30c0a1014 Fix gdb/libpython.py for not ready Unicode strings
_PyUnicode_CheckConsistency() checks also hash and length value for not ready
Unicode strings.
2011-11-04 20:54:05 +01:00
Antoine Pitrou
3c0c5f29dd Fix test_gdb following the small unicode struct change in c25262e97304 (issue #13130) 2011-10-08 19:33:24 +02:00
Victor Stinner
a3b334da6d PyUnicode_Ready() now sets ascii=1 if maxchar < 128
ascii=1 is no more reserved to PyASCIIObject. Use
PyUnicode_IS_COMPACT_ASCII(obj) to check if obj is a PyASCIIObject (as before).
2011-10-03 13:53:37 +02:00
Martin v. Löwis
24fa9832be Update for PEP 393. 2011-09-28 08:35:25 +02:00
Martin v. Löwis
d63a3b8beb Implement PEP 393. 2011-09-28 07:41:54 +02:00
Victor Stinner
d57c5c8a3a libpython.py (gdb) now catchs IOError in py-list and py-bt commands
py-list displays the error. py-bt ignores the error (the filename and line
number is already displayed).
2011-07-01 12:57:44 +02:00
Victor Stinner
e670c889cc Issue #11996: libpython (gdb), replace "py-bt" command by "py-bt-full" and add
a smarter "py-bt" command printing a classic Python traceback.
2011-05-13 17:40:15 +02:00
Victor Stinner
6ffbee77dc libpython: implementation of os.fsencode() with surrogateescape error handler 2010-10-17 19:35:30 +00:00
Antoine Pitrou
7c9cf01238 gdb: fix representation of non-printable surrogate pairs, and workaround
a bug in ascii().
2010-09-08 21:57:37 +00:00
Antoine Pitrou
b1856d7fa7 Add a safety limit to the number of unicode characters we fetch
(followup to r84635, suggested by Dave Malcolm).
2010-09-08 21:07:40 +00:00
Antoine Pitrou
b41e128fe1 Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well
as wide (UCS4) unicode builds for both the host interpreter (embedded
inside gdb) and the interpreter under test.
2010-09-08 20:57:48 +00:00
Victor Stinner
0e5a41b8f5 libpython.py: py-bt commands escape unencodable characters
Encode unicode strings to the terminal encoding with backslashreplace error (as
Python does for sys.stderr) before writing them to sys.stdout. It fixes
UnicodeEncodeError on writing non-ascii characters in an ascii terminal (C
locale: ASCII encoding).
2010-08-17 22:49:25 +00:00
Georg Brandl
b639c14c32 #9235: fix missing import of sys. 2010-07-14 08:54:40 +00:00
Georg Brandl
b0eb5da018 Remove unused code that would raise a NameError. 2010-07-14 08:53:36 +00:00
Victor Stinner
150016fd24 Issue #8559: improve unicode support of (gdb) libpython.py
* Escape non printable characters (use locale.getpreferredencoding())
 * Fix support of surrogate pairs
 * test_gdb.py: use ascii() instead of repr() in gdb program arguments to avoid
   encoding issues
 * Fix test_strings() of test_gdb.py for encoding different than UTF-8
   (eg. ACSII)
2010-05-19 23:04:56 +00:00
Martin v. Löwis
5ae6810819 Issue #8380: Port gdb/libpython to 3.x. 2010-04-21 22:38:42 +00:00
Victor Stinner
67df3a4b7e Adapt libpython.py and test_gdb.py to Python3
* Rename PyStringObjectPtr to PyBytesObjectPtr
 * Replace PyObject_Print by textiowrapper_write
2010-04-21 13:53:05 +00:00
Martin v. Löwis
5226fd66e1 Merged revisions 79986-79987,80156 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79986 | martin.v.loewis | 2010-04-12 07:18:16 +0200 (Mo, 12 Apr 2010) | 2 lines

  Issue #8330: Fix expected output in test_gdb.
........
  r79987 | martin.v.loewis | 2010-04-12 07:22:25 +0200 (Mo, 12 Apr 2010) | 2 lines

  Re-enable all tests, to see which ones fail on the buildbots.
........
  r80156 | martin.v.loewis | 2010-04-18 00:40:40 +0200 (So, 18 Apr 2010) | 2 lines

  Issue #8279: Fix test_gdb failures.
........
2010-04-21 06:05:58 +00:00