Commit graph

4099 commits

Author SHA1 Message Date
Victor Stinner
ba644a62b0 Ooops, add missing ";" in my previous commit (r81324, typeobject.c)
It's time to go to bed...
2010-05-19 01:50:45 +00:00
Victor Stinner
e5f99f398c Issue #6697: Check that _PyUnicode_AsString() result is not NULL in typeobject
Type name and slots are already checked for surrogates somewhere else, but it's
better to ensure that the result is not NULL.
2010-05-19 01:42:46 +00:00
Victor Stinner
f3f22a278d Issue #6697: Fix a crash if a module attribute name contains a surrogate 2010-05-19 00:03:09 +00:00
Victor Stinner
2e71d014ea Merged revisions 81250-81253 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r81250 | victor.stinner | 2010-05-17 03:13:37 +0200 (lun., 17 mai 2010) | 2 lines

  Issue #6697: Fix a crash if code of "python -c code" contains surrogates
........
  r81251 | victor.stinner | 2010-05-17 03:26:01 +0200 (lun., 17 mai 2010) | 3 lines

  PyObject_Dump() encodes unicode objects to utf8 with backslashreplace (instead
  of strict) error handler to escape surrogates
........
  r81252 | victor.stinner | 2010-05-17 10:58:51 +0200 (lun., 17 mai 2010) | 6 lines

  handle_system_exit() flushs files to warranty the output order

  PyObject_Print() writes into the C object stderr, whereas PySys_WriteStderr()
  writes into the Python object sys.stderr. Each object has its own buffer, so
  call sys.stderr.flush() and fflush(stderr).
........
  r81253 | victor.stinner | 2010-05-17 11:33:42 +0200 (lun., 17 mai 2010) | 6 lines

  Fix refleak in internal_print() introduced by myself in r81251

  _PyUnicode_AsDefaultEncodedString() uses a magical PyUnicode attribute to
  automatically destroy PyUnicode_EncodeUTF8() result when the unicode string is
  destroyed.
........
2010-05-17 09:35:44 +00:00
Victor Stinner
ba6b430bd0 Fix refleak in internal_print() introduced by myself in r81251
_PyUnicode_AsDefaultEncodedString() uses a magical PyUnicode attribute to
automatically destroy PyUnicode_EncodeUTF8() result when the unicode string is
destroyed.
2010-05-17 09:33:42 +00:00
Victor Stinner
372ac5e732 PyObject_Dump() encodes unicode objects to utf8 with backslashreplace (instead
of strict) error handler to escape surrogates
2010-05-17 01:26:01 +00:00
Victor Stinner
ae6265f8d0 Issue #8715: Create PyUnicode_EncodeFSDefault() function: Encode a Unicode
object to Py_FileSystemDefaultEncoding with the "surrogateescape" error
handler, return a bytes object. If Py_FileSystemDefaultEncoding is not set,
fall back to UTF-8.
2010-05-15 16:27:27 +00:00
Victor Stinner
59e62db0a3 Enable shortcuts for common encodings in PyUnicode_AsEncodedString() for any
error handler, not only the default error handler (strict)
2010-05-15 13:14:32 +00:00
Mark Dickinson
cdd01d2ddb Merged revisions 81037 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81037 | mark.dickinson | 2010-05-09 21:42:09 +0100 (Sun, 09 May 2010) | 1 line

  Wrap multiline macros in a 'do {} while(0)', for safety.
........
2010-05-10 21:37:34 +00:00
Mark Dickinson
22b20183d5 Merged revisions 81036 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81036 | mark.dickinson | 2010-05-09 21:30:29 +0100 (Sun, 09 May 2010) | 1 line

  Post-detabification cleanup:  whitespace fixes and long line rewraps only.
........
2010-05-10 21:27:53 +00:00
Antoine Pitrou
7f14f0d8a0 Recorded merge of revisions 81032 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines

  Recorded merge of revisions 81029 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

    Untabify C files. Will watch buildbots.
  ........
................
2010-05-09 16:14:21 +00:00
Antoine Pitrou
f95a1b3c53 Recorded merge of revisions 81029 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

  Untabify C files. Will watch buildbots.
........
2010-05-09 15:52:27 +00:00
Mark Dickinson
e97ecba241 Merged revisions 80961 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80961 | mark.dickinson | 2010-05-08 09:01:19 +0100 (Sat, 08 May 2010) | 2 lines

  Issue #8659: Remove redundant ABS calls.  Thanks Daniel Stutzbach.
........
2010-05-08 08:03:09 +00:00
Victor Stinner
8124feb07b module_repr(): use %U to format the file name
Avoid useless encode/decode of the filename
2010-05-07 00:50:12 +00:00
Victor Stinner
e3c7381c39 code_repr(): use %U to format the filename
Avoid useless unicode decoding/recoding of the filename.
2010-05-07 00:41:18 +00:00
Jeffrey Yasskin
39370830a9 Make (most of) Python's tests pass under Thread Sanitizer.
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer is a dynamic data
race detector that runs on top of valgrind. With this patch, the binaries at
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer#Binaries pass many
but not all of the Python tests. All of regrtest still passes outside of tsan.

I've implemented part of the C1x atomic types so that we can explicitly mark
variables that are used across threads, and get defined behavior as compilers
advance.

I've added tsan's client header and implementation to the codebase in
dynamic_annotations.{h,c} (docs at
http://code.google.com/p/data-race-test/wiki/DynamicAnnotations).
Unfortunately, I haven't been able to get helgrind and drd to give sensible
error messages, even when I use their client annotations, so I'm not supporting
them.
2010-05-03 19:29:34 +00:00
Victor Stinner
0964ee1cf5 PyFile_FromFd() uses PyUnicode_DecodeFSDefault() instead of
PyUnicode_FromString() to support surrogates in the filename and use the right
encoding
2010-04-30 16:48:45 +00:00
Victor Stinner
b9a20ad036 PyUnicode_DecodeFSDefaultAndSize() uses surrogateescape error handler
This function is only used to decode Python module filenames, but Python
doesn't support surrogates in modules filenames yet. So nobody noticed this
minor bug.
2010-04-30 16:37:52 +00:00
Victor Stinner
0ea2a468e3 Simplify PyUnicode_FSConverter(): remove reference to PyByteArray
PyByteArray is no more supported
2010-04-30 00:22:08 +00:00
Victor Stinner
6237daf8c5 Don't decode/recode the unicode filename in SyntaxError_str()
* Rewrite my_basename() to use unicode
 * Use '%U' format
2010-04-28 17:26:19 +00:00
Benjamin Peterson
a23831ff44 condense condition 2010-04-25 21:54:00 +00:00
Benjamin Peterson
fb88636199 prevent the dict constructor from accepting non-string keyword args #8419
This adds PyArg_ValidateKeywordArguments, which checks that keyword arguments
are all strings, using an optimized method if possible.
2010-04-24 18:21:17 +00:00
Victor Stinner
0b79b76c2b Merged revisions 80384 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r80384 | victor.stinner | 2010-04-22 22:01:57 +0200 (jeu., 22 avril 2010) | 2 lines

  Fix my previous commit (r80382) for wide build (unicodeobject.c)
........
2010-04-22 20:07:28 +00:00
Victor Stinner
445a623226 Fix my previous commit (r80382) for wide build (unicodeobject.c) 2010-04-22 20:01:57 +00:00
Victor Stinner
158701d886 Merged revisions 80382 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r80382 | victor.stinner | 2010-04-22 21:38:16 +0200 (jeu., 22 avril 2010) | 3 lines

  Issue #8092: Fix PyUnicode_EncodeUTF8() to support error handler producing
  unicode string (eg. backslashreplace)
........
2010-04-22 19:41:01 +00:00
Victor Stinner
31be90b0c7 Issue #8092: Fix PyUnicode_EncodeUTF8() to support error handler producing
unicode string (eg. backslashreplace)
2010-04-22 19:38:16 +00:00
Victor Stinner
dcb2403022 Issue #8485: PyUnicode_FSConverter() doesn't accept bytearray object anymore,
you have to convert your bytearray filenames to bytes
2010-04-22 12:08:36 +00:00
Raymond Hettinger
3fb156caa4 Issue 8436: set.__init__ accepts keyword args 2010-04-18 23:05:22 +00:00
Raymond Hettinger
dbe961215a Issue 8436: set.__init__ accepts keyword args 2010-04-18 23:03:16 +00:00
Raymond Hettinger
b136a9c9d7 Issue 8420: Fix ref counting problem in set_repr(). 2010-04-18 20:28:33 +00:00
Raymond Hettinger
f88db8de76 Issue 8420: Fix ref counting problem in set_repr(). 2010-04-18 20:26:14 +00:00
Benjamin Peterson
0ff8a505c6 Merged revisions 80125,80128,80130 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80125 | benjamin.peterson | 2010-04-16 17:35:32 -0500 (Fri, 16 Apr 2010) | 13 lines

  Merged revisions 80123-80124 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r80123 | benjamin.peterson | 2010-04-16 17:24:16 -0500 (Fri, 16 Apr 2010) | 1 line

    bytearray -> type2test
  ........
    r80124 | benjamin.peterson | 2010-04-16 17:25:57 -0500 (Fri, 16 Apr 2010) | 1 line

    fix typo
  ........
................
  r80128 | benjamin.peterson | 2010-04-16 17:51:37 -0500 (Fri, 16 Apr 2010) | 9 lines

  Merged revisions 80126 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r80126 | benjamin.peterson | 2010-04-16 17:35:38 -0500 (Fri, 16 Apr 2010) | 1 line

    have a clear error when passing something > sys.maxsize to bytearray
  ........
................
  r80130 | benjamin.peterson | 2010-04-16 18:00:53 -0500 (Fri, 16 Apr 2010) | 9 lines

  Merged revisions 80129 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r80129 | benjamin.peterson | 2010-04-16 17:52:44 -0500 (Fri, 16 Apr 2010) | 1 line

    tiny simplification
  ........
................
2010-04-16 23:19:11 +00:00
Benjamin Peterson
9c0e94f95c Merged revisions 80129 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80129 | benjamin.peterson | 2010-04-16 17:52:44 -0500 (Fri, 16 Apr 2010) | 1 line

  tiny simplification
........
2010-04-16 23:00:53 +00:00
Benjamin Peterson
8380dd5aa4 Merged revisions 80126 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80126 | benjamin.peterson | 2010-04-16 17:35:38 -0500 (Fri, 16 Apr 2010) | 1 line

  have a clear error when passing something > sys.maxsize to bytearray
........
2010-04-16 22:51:37 +00:00
Stefan Krah
639e18410e Issue #8328: Silence Visual Studio warnings. 2010-04-07 10:20:34 +00:00
Stefan Krah
0091e5ecd0 Merged revisions 79885 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79885 | stefan.krah | 2010-04-07 10:24:44 +0200 (Wed, 07 Apr 2010) | 1 line

  Issue #8328: Silence Visual Studio warnings.
........
2010-04-07 08:49:55 +00:00
Mark Dickinson
49a519c859 Merged revisions 79856 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79856 | mark.dickinson | 2010-04-06 19:58:54 +0100 (Tue, 06 Apr 2010) | 1 line

  Silence a 'comparison between signed and unsigned integer expressions' gcc warning.
........
2010-04-06 19:02:54 +00:00
Mark Dickinson
3318d29d22 Merged revisions 79843-79844 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79843 | mark.dickinson | 2010-04-06 17:46:09 +0100 (Tue, 06 Apr 2010) | 4 lines

  Issue #8259: Get rid of 'outrageous left shift count' error when
  left-shifting an integer by more than 2**31 on a 64-bit machine.  Also
  convert shift counts to a Py_ssize_t instead of a C long.
........
  r79844 | mark.dickinson | 2010-04-06 17:47:55 +0100 (Tue, 06 Apr 2010) | 1 line

  Misc/NEWS entry for r79843.
........
2010-04-06 16:53:17 +00:00
Mark Dickinson
bee1fb0f75 Merged revisions 78918,78920 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r78918 | mark.dickinson | 2010-03-13 11:34:40 +0000 (Sat, 13 Mar 2010) | 4 lines

  Issue #8014: Fix PyLong_As<c-integer-type> methods not to produce an
  internal error on non-integer input: they now raise TypeError instead.
  This is needed for attributes declared via PyMemberDefs.
........
  r78920 | mark.dickinson | 2010-03-13 13:23:05 +0000 (Sat, 13 Mar 2010) | 3 lines

  Issue #8014: Fix incorrect error checks in structmember.c, and re-enable
  previously failing test_structmember.py tests.
........
2010-04-06 15:44:57 +00:00
Mark Dickinson
1472150cc2 Merged revisions 79809 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79809 | mark.dickinson | 2010-04-05 19:54:51 +0100 (Mon, 05 Apr 2010) | 1 line

  Use a better NaN test in _Py_HashDouble as well.
........
2010-04-06 10:29:17 +00:00
Mark Dickinson
5daab45158 Merged revisions 79804 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79804 | mark.dickinson | 2010-04-05 19:07:51 +0100 (Mon, 05 Apr 2010) | 5 lines

  Use a more robust infinity check in _Py_HashDouble.

  This fixes a test_decimal failure on FreeBSD 8.0.  (modf apparently
  doesn't follow C99 Annex F on FreeBSD.)
........
2010-04-05 18:09:39 +00:00
Florent Xicluna
806d8cf0e8 Merged revisions 79494,79496 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79494 | florent.xicluna | 2010-03-30 10:24:06 +0200 (mar, 30 mar 2010) | 2 lines

  #7643: Unicode codepoints VT (0x0B) and FF (0x0C) are linebreaks according to Unicode Standard Annex #14.
........
  r79496 | florent.xicluna | 2010-03-30 18:29:03 +0200 (mar, 30 mar 2010) | 2 lines

  Highlight the change of behavior related to r79494.  Now VT and FF are linebreaks.
........
2010-03-30 19:34:18 +00:00
Victor Stinner
d526c7cc1c Merged revisions 76197 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r76197 | benjamin.peterson | 2009-11-10 22:23:15 +0100 (mar., 10 nov. 2009) | 1 line

  death to compiler warning
........
2010-03-23 11:43:20 +00:00
Victor Stinner
abdb21a3a8 Merged revisions 79281 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r79281 | victor.stinner | 2010-03-22 13:50:40 +0100 (lun., 22 mars 2010) | 16 lines

  Merged revisions 79278,79280 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r79278 | victor.stinner | 2010-03-22 13:24:37 +0100 (lun., 22 mars 2010) | 2 lines

    Issue #1583863: An unicode subclass can now override the __str__ method
  ........
    r79280 | victor.stinner | 2010-03-22 13:36:28 +0100 (lun., 22 mars 2010) | 5 lines

    Fix the NEWS about my last commit: an unicode subclass can now override the
    __unicode__ method (and not the __str__ method).

    Simplify also the testcase.
  ........
................
2010-03-22 12:53:14 +00:00
Victor Stinner
808fc0a0ee Merged revisions 79278,79280 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79278 | victor.stinner | 2010-03-22 13:24:37 +0100 (lun., 22 mars 2010) | 2 lines

  Issue #1583863: An unicode subclass can now override the __str__ method
........
  r79280 | victor.stinner | 2010-03-22 13:36:28 +0100 (lun., 22 mars 2010) | 5 lines

  Fix the NEWS about my last commit: an unicode subclass can now override the
  __unicode__ method (and not the __str__ method).

  Simplify also the testcase.
........
2010-03-22 12:50:40 +00:00
Victor Stinner
7f045cfba3 Merged revisions 78876 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r78876 | victor.stinner | 2010-03-12 18:17:58 +0100 (ven., 12 mars 2010) | 3 lines

  Issue #6697: catch _PyUnicode_AsString() errors in getattr() and setattr()
  builtin functions.
........
2010-03-21 21:07:44 +00:00
Victor Stinner
38c36f8576 Merged revisions 78875 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r78875 | victor.stinner | 2010-03-12 18:00:41 +0100 (ven., 12 mars 2010) | 5 lines

  Issue #6697: use %U format instead of _PyUnicode_AsString(), because
  _PyUnicode_AsString() was not checked for error (NULL).

  The unicode string is no more truncated to 200 or 400 *bytes*.
........
2010-03-21 21:05:53 +00:00
Florent Xicluna
faa663f03d Fixed a failure in test_bigmem.
Merged revision 79059 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79059 | florent.xicluna | 2010-03-18 22:50:06 +0100 (jeu, 18 mar 2010) | 2 lines

  Issue #8024: Update the Unicode database to 5.2
........
2010-03-19 13:37:08 +00:00
Mark Dickinson
431065247a Remove out-of-date comment about making ints and longs hash equal. 2010-03-19 12:38:03 +00:00
Florent Xicluna
f1789dee30 Revert Unicode UCD 5.2 upgrade in 3.x. It broke repr() for unicode objects, and gave failures in test_bigmem. Revert 79062, 79065 and 79083. 2010-03-19 01:17:46 +00:00