Commit Graph

276 Commits

Author SHA1 Message Date
Mark Dickinson 3e09f43e06 Make sure that marshal and pickle continue to output 17
digits of precision for floats.
2009-04-17 08:41:23 +00:00
Eric Smith 0923d1d8d7 The other half of Issue #1580: use short float repr where possible.
Addresses the float -> string conversion, using David Gay's code which
was added in Mark Dickinson's checkin r71663.

Also addresses these, which are intertwined with the short repr
changes:

- Issue #5772: format(1e100, '<') produces '1e+100', not '1.0e+100'
- Issue #5515: 'n' formatting with commas no longer works poorly
    with leading zeros.
- PEP 378 Format Specifier for Thousands Separator: implemented
    for floats.
2009-04-16 20:16:10 +00:00
Alexandre Vassalotti 0e7aa8c13c Update a comment about why the __module__ can sometime be NULL.
Initialize last_string and arg member of Unpickler.
2009-04-03 04:17:41 +00:00
Mark Dickinson e94c679df0 Issue #1717: rename tp_compare to tp_reserved. I'll change the
type of tp_compare in a separate commit, for ease of reversion
should things go wrong.
2009-02-02 20:36:42 +00:00
Mark Dickinson 211c625829 Issue #1717, stage 2: remove uses of tp_compare in Modules and most
Objects.
2009-02-01 10:28:51 +00:00
Mark Dickinson cddcf444b2 Merged revisions 68903,68906 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68903 | mark.dickinson | 2009-01-24 16:40:29 +0000 (Sat, 24 Jan 2009) | 5 lines

  Issue #1672332: Fix unpickling of subnormal floats, which was raising
  ValueError on some platforms as a result of the platform strtod setting
  errno on underflow.
........
  r68906 | mark.dickinson | 2009-01-24 21:08:38 +0000 (Sat, 24 Jan 2009) | 2 lines

  Issue #3657: fix occasional test_pickletools failures.
........
2009-01-24 21:46:33 +00:00
Alexandre Vassalotti e4bccb7146 Factor common branch in load_long().
Suggested by Neal Norwitz.
2009-01-24 01:47:57 +00:00
Alexandre Vassalotti 446f7ffa0f Remove unnecessary copying in load_long(). 2009-01-23 04:43:46 +00:00
Mark Dickinson 8dd05147d6 Issue #4842, patch 1/2: fix pickle in Python 3.x so that pickling with the
'L' opcode always appends an 'L' on output, just as 2.x does.  When
unpickling, remove the trailing 'L' (if present) before passing the
result to PyLong_FromString.
2009-01-20 20:43:58 +00:00
Alexandre Vassalotti 554d878b1c Update copy of PyUnicode_EncodeRawUnicodeEscape in _pickle.
Add astral character test case.
2008-12-27 07:32:41 +00:00
Amaury Forgeot d'Arc 5f95257ef9 #4373: Reference leak in the pickle module.
Reviewed by Brett Cannon.
2008-11-25 21:11:54 +00:00
Amaury Forgeot d'Arc 3e4e72f66f #4298: pickle.load() can segfault on invalid or truncated input.
Patch and test by Hirokazu Yamamoto.
2008-11-11 20:05:06 +00:00
Hirokazu Yamamoto b46a633eaf Sorry, r67092 is commit miss.... 2008-11-04 00:35:10 +00:00
Hirokazu Yamamoto 1543a22d86 Blocked revisions 67002 via svnmerge
........
  r67002 | hirokazu.yamamoto | 2008-10-23 09:37:33 +0900 | 1 line

  Issue #4183: Some tests didn't run with pickle.HIGHEST_PROTOCOL.
........
2008-11-04 00:31:31 +00:00
Amaury Forgeot d'Arc 424b4819be Merged revisions 67049 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r67049 | amaury.forgeotdarc | 2008-10-30 22:18:34 +0100 (jeu., 30 oct. 2008) | 8 lines

  Issue #4176: Pickle would crash the interpreter when a __reduce__ function
  does not return an iterator for the 4th and 5th items.
  (sequence-like and mapping-like state)

  A list is not an iterator...

  Will backport to 2.6 and 2.5.
........
2008-10-30 22:25:31 +00:00
Amaury Forgeot d'Arc 87eee631fb #3664: The pickle module could segfault if a Pickler instance is not correctly initialized:
when a subclass forgets to call the base __init__ method,
or when __init__ is called a second time with invalid parameters

Patch by Alexandre Vassalotti.
2008-10-17 20:15:53 +00:00
Amaury Forgeot d'Arc fb1a5eb101 #3640: Correct a crash in cPickle on 64bit platforms, in the case of deeply nested lists or dicts.
Reviewed by Martin von Loewis.
2008-09-11 21:03:37 +00:00
Antoine Pitrou d79dc6216c Issue #3660 (part of): fix a memory leak in _pickle.
Patch by Amaury Forgeot d'Arc, review by me.
2008-09-05 00:03:33 +00:00
Neal Norwitz 6ae2eb268d Issue #3657: Fix uninitialized memory read when pickling longs.
The conversion to the unicode API was incorrect, it should use bytes.
repr is a bad variable name.  The use is overloaded, but I'll leave
that to fix later.

R=Brett
TESTED=./python -E -tt ./Lib/test/regrtest.py -uall
	valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
		./python -E -tt ./Lib/test/regrtest.py test_pickletools
2008-08-24 23:50:08 +00:00
Alexandre Vassalotti 1f9d907c90 Issue 3514: Fixed segfault dues to infinite loop in __getattr__. 2008-08-15 03:07:47 +00:00
Marc-André Lemburg 4cc0f24857 Rename PyUnicode_AsString -> _PyUnicode_AsString and
PyUnicode_AsStringAndSize -> _PyUnicode_AsStringAndSize to mark
them for interpreter internal use only.

We'll have to rework these APIs or create new ones for the
purpose of accessing the UTF-8 representation of Unicode objects
for 3.1.
2008-08-07 18:54:33 +00:00
Alexandre Vassalotti dff1834f45 Fixed _pickle to use Py_EnterRecursiveCall(). 2008-07-13 18:48:30 +00:00
Alexandre Vassalotti 7634ff5ad6 Fixed compiler warnings on MSVC9.0 2008-06-13 02:16:06 +00:00
Alexandre Vassalotti ca2d610dba Restore _pickle module accelerator module.
Removed Windows support temporarily.
64bit bug with integer unpickling is now fixed.
2008-06-12 18:26:05 +00:00
Benjamin Peterson 75f25f2c9a revert the addition of _pickle because it was causing havok with 64-bit 2008-06-12 03:10:02 +00:00
Alexandre Vassalotti cc313061a5 Issue 2917: Merge the pickle and cPickle module. 2008-06-11 22:43:06 +00:00