Commit Graph

1594 Commits

Author SHA1 Message Date
Alexander Belopolsky 6fc4ade2bb Issue #9079: Added _PyTime_gettimeofday(_PyTime_timeval *tp) to C API
exposed in Python.h.  This function is similar to POSIX
gettimeofday(struct timeval *tp), but available on platforms without
gettimeofday().
2010-08-05 17:34:27 +00:00
Mark Dickinson 388122d43b Issue #9337: Make float.__str__ identical to float.__repr__.
(And similarly for complex numbers.)
2010-08-04 20:56:28 +00:00
Georg Brandl ee449c41b4 Post-release updates. 2010-07-31 18:05:35 +00:00
Georg Brandl 62069d3ce7 Bump versions and review NEWS file. 2010-07-31 08:56:11 +00:00
Benjamin Peterson 20f9c3c50f revert unintended changes 2010-07-20 22:39:34 +00:00
Benjamin Peterson 013783c529 move test_trace.py so as not to conflict with future tests for the trace module 2010-07-20 22:37:19 +00:00
Stefan Krah 36d2e67db9 Issue #9036: Throughout the code base, Py_CHARMASK is used on 8-bit wide
signed/unsigned chars or on integers directly derived from those. In all
cases, it could be replaced by a simple cast to (unsigned char). Reasons
for the change:

  a) Make the comment more explicit.

  b) If char is unsigned, the cast is optimized away.

  c) If char is unsigned, gcc emits spurious "array subscript
     has type 'char'" warnings.
2010-07-19 12:36:57 +00:00
Benjamin Peterson ccabcd4bd4 make struct sequences subclass tuple; kill lots of code
This fixes #8413.
2010-07-07 20:54:01 +00:00
Mark Dickinson d19052c161 Issue #9089: Remove references to intobject.c and intobject.h from comments. 2010-06-27 18:19:09 +00:00
Georg Brandl 952867aa30 #9078: fix some Unicode C API descriptions, in comments and docs. 2010-06-27 10:17:12 +00:00
Stefan Krah 2f7105dde7 Add specification for the Py_IS* macros in pyctype.h. 2010-06-24 10:25:08 +00:00
Victor Stinner 0fe25a445d Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Fix the encoding of the modules filename.

Reindent also traceback.h, just because I hate tabs :-)
2010-06-17 23:08:50 +00:00
Mark Dickinson fa68a6188a Fix naming inconsistency. 2010-06-07 18:47:09 +00:00
Mark Dickinson 7f1bf8004d Issue #8817: Expose round-to-nearest variant of divmod in _PyLong_Divmod_Near
for use by the datetime module; also refactor long_round to use this function.
2010-05-26 16:02:59 +00:00
Mark Dickinson dc787d2055 Issue #8188: Introduce a new scheme for computing hashes of numbers
(instances of int, float, complex, decimal.Decimal and
fractions.Fraction) that makes it easy to maintain the invariant that
hash(x) == hash(y) whenever x and y have equal value.
2010-05-23 13:33:13 +00:00
Antoine Pitrou f978facc0e Merged revisions 81398 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81398 | antoine.pitrou | 2010-05-21 19:12:38 +0200 (ven., 21 mai 2010) | 6 lines

  Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows
  embedders of the interpreter to set sys.argv without also modifying
  sys.path.  This helps fix `CVE-2008-5983
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
........
2010-05-21 17:25:34 +00:00
Victor Stinner 9ca9c25bcd Issue #8589: Decode PYTHONWARNINGS environment variable with the file system
encoding and surrogateespace error handler instead of the locale encoding to be
consistent with os.environ. Add PySys_AddWarnOptionUnicode() function.
2010-05-19 16:53:30 +00:00
Benjamin Peterson ccbd69437a rephrase 2010-05-15 17:43:18 +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 77c3862417 Issue #8711: Document PyUnicode_DecodeFSDefault*() functions
* Add paragraph titles to c-api/unicode.rst.
 * Fix PyUnicode_DecodeFSDefault*() comment: it now uses the "surrogateescape"
   error handler (and not "replace")
 * Remove "The function is intended to be used for paths and file names only
   during bootstrapping process where the codecs are not set up." from
   PyUnicode_FSConverter() comment: it is used after the bootstrapping and for
   other purposes than file names
2010-05-14 15:58:55 +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
Benjamin Peterson ad465f904b alias PyUnicode_CompareWithASCII 2010-05-07 20:21:26 +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
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 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
Ronald Oussoren 501aeffba3 Merged revisions 80178 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80178 | ronald.oussoren | 2010-04-18 15:47:49 +0200 (Sun, 18 Apr 2010) | 2 lines

  Fix for issue #7072
........
2010-04-18 15:02:38 +00:00
Ronald Oussoren d61deca27c Move _Py_char2wchar from python.c to main.c.
This fixes issue #8441: python.c is not included
in the framework while main.c is and without this
patch you get a link error when building
Python.framework on OSX.
2010-04-18 14:46:12 +00:00
Collin Winter dfa66c1dda Fix the --with-cxx-main build. 2010-04-17 00:20:57 +00:00
Barry Warsaw 28a691b7fd PEP 3147 2010-04-17 00:19:56 +00:00
Antoine Pitrou 7c3e577395 Issue #7316: the acquire() method of lock objects in the :mod:`threading`
module now takes an optional timeout argument in seconds.  Timeout support
relies on the system threading library, so as to avoid a semi-busy wait
loop.
2010-04-14 15:44:10 +00:00
Philip Jenvey e53de3dc4a #7301: decode $PYTHONWARNINGS in the same way as argv, test non-ascii values 2010-04-14 03:01:39 +00:00
Antoine Pitrou 8689a10f07 Merged revisions 79555 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79555 | antoine.pitrou | 2010-04-01 18:42:11 +0200 (jeu., 01 avril 2010) | 5 lines

  Issue #8276: PyEval_CallObject() is now only available in macro form.  The
  function declaration, which was kept for backwards compatibility reasons,
  is now removed (the macro was introduced in 1997!).
........
2010-04-01 16:53:15 +00:00
Collin Winter 4222e9c07c Merged revisions 79060 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79060 | collin.winter | 2010-03-18 14:54:01 -0700 (Thu, 18 Mar 2010) | 4 lines

  Add support for weak references to code objects. This will be used by an optimization in the incoming Python 3 JIT.

  Patch by Reid Kleckner!
........
2010-03-18 22:46:40 +00:00
Gregory P. Smith 845085703c Change PARSE_PID to _Py_PARSE_PID (cleanup for r78946). 2010-03-14 18:56:11 +00:00
Gregory P. Smith fb94c5f1e5 * Replaces the internals of the subprocess module from fork through exec on
POSIX systems with a C extension module.  This is required in order for
  the subprocess module to be made thread safe.

  The pure python implementation is retained so that it can continue to be
  used if for some reason the _posixsubprocess extension module is not
  available.

  The unittest executes tests on both code paths to guarantee compatibility.

* Moves PyLong_FromPid and PyLong_AsPid from posixmodule.c into longobject.h.

Code reviewed by jeffrey.yasskin at http://codereview.appspot.com/223077/show
2010-03-14 06:49:55 +00:00
Victor Stinner 45b9be52de Merged revisions 78638 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78638 | victor.stinner | 2010-03-04 00:20:25 +0100 (jeu., 04 mars 2010) | 3 lines

  Issue #7544: Preallocate thread memory before creating the thread to avoid a
  fatal error in low memory condition.
........
2010-03-03 23:28:07 +00:00
Amaury Forgeot d'Arc 72aee3dcab Merged revisions 78393 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78393 | amaury.forgeotdarc | 2010-02-24 00:19:39 +0100 (mer., 24 févr. 2010) | 2 lines

  #4852: Remove dead code in every thread implementation, unused for many years.
........
2010-02-24 00:10:48 +00:00
Eric Smith 68af50ba39 Issue #5988: Delete deprecated functions PyOS_ascii_formatd, PyOS_ascii_strtod, and PyOS_ascii_atof. 2010-02-22 14:58:30 +00:00
Mark Dickinson bbe63069ef Merged revisions 78189 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78189 | mark.dickinson | 2010-02-14 13:40:30 +0000 (Sun, 14 Feb 2010) | 1 line

  Silence more 'comparison between signed and unsigned' warnings.
........
2010-02-14 14:08:54 +00:00
Mark Dickinson 93f562c4f9 Merged revisions 77842 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77842 | mark.dickinson | 2010-01-30 10:08:33 +0000 (Sat, 30 Jan 2010) | 4 lines

  Issue #7767: Add new C-API function PyLong_AsLongLongAndOverflow, a
  long long variant of PyLong_AsLongAndOverflow.  Patch by Case Van
  Horsen.
........
2010-01-30 10:30:15 +00:00
Antoine Pitrou 2ff627a686 Merged revisions 77581 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77581 | antoine.pitrou | 2010-01-17 16:55:45 +0100 (dim., 17 janv. 2010) | 3 lines

  Use PyAPI_DATA.
........
2010-01-17 16:15:29 +00:00
Antoine Pitrou fc8d6f4b73 Merged revisions 77573 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77573 | antoine.pitrou | 2010-01-17 13:26:20 +0100 (dim., 17 janv. 2010) | 6 lines

  Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`)
  could crash in many places because of the PyByteArray_AS_STRING() macro
  returning NULL.  The macro now returns a statically allocated empty
  string instead.
........
2010-01-17 12:38:54 +00:00
Mark Dickinson 6ecd9e53ce Merged revisions 77234 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77234 | mark.dickinson | 2010-01-02 14:45:40 +0000 (Sat, 02 Jan 2010) | 7 lines

  Refactor some longobject internals:  PyLong_AsDouble and _PyLong_AsScaledDouble
  (the latter renamed to _PyLong_Frexp) now use the same core code.  The
  exponent produced by _PyLong_Frexp now has type Py_ssize_t instead of the
  previously used int, and no longer needs scaling by PyLong_SHIFT.  This
  frees the math module from having to know anything about the PyLong
  implementation.  This closes issue #5576.
........
2010-01-02 15:33:56 +00:00
Georg Brandl 1e28a27f84 Merged revisions 77088 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77088 | georg.brandl | 2009-12-28 09:34:58 +0100 (Mo, 28 Dez 2009) | 1 line

  #7033: add new API function PyErr_NewExceptionWithDoc, for easily giving new exceptions a docstring.
........
2009-12-28 08:41:01 +00:00
Mark Dickinson f371859a4f Merged revisions 76978 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76978 | mark.dickinson | 2009-12-21 15:22:00 +0000 (Mon, 21 Dec 2009) | 3 lines

  Issue #7518:  Move substitute definitions of C99 math functions from
  pymath.c to Modules/_math.c.
........
2009-12-21 15:27:41 +00:00
Benjamin Peterson 91d58bd146 Merged revisions 76822,76824 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76822 | benjamin.peterson | 2009-12-13 15:21:43 -0600 (Sun, 13 Dec 2009) | 1 line

  initialize to NULL
........
  r76824 | benjamin.peterson | 2009-12-13 15:27:53 -0600 (Sun, 13 Dec 2009) | 1 line

  add a test of loading the datetime capi
........
2009-12-13 21:30:54 +00:00
Mark Dickinson 629dfe28f5 Merged revisions 76740 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76740 | mark.dickinson | 2009-12-10 10:36:32 +0000 (Thu, 10 Dec 2009) | 8 lines

  Replace the size check for PyMem_MALLOC and PyMem_REALLOC with an almost
  equivalent[*] check that doesn't produce compiler warnings about a 'x < 0'
  check on an unsigned type.

  [*] it's equivalent for inputs of type size_t or Py_ssize_t, or any smaller
  unsigned or signed integer type.
........
2009-12-10 10:39:08 +00:00
Ronald Oussoren 309608b434 Merged revisions 76712 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76712 | ronald.oussoren | 2009-12-08 17:32:52 +0100 (Tue, 08 Dec 2009) | 4 lines

  Fix for issue 7452: HAVE_GCC_ASM_FOR_X87 gets set when doing a universal build on
  an i386 based machine, but should only be active when compiling the x86 part of
  the universal binary.
........
2009-12-08 16:35:28 +00:00
Ronald Oussoren c2e1cb7d36 Merged revisions 76623 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76623 | ronald.oussoren | 2009-12-01 16:54:01 +0100 (Tue, 01 Dec 2009) | 9 lines

  Fix for issue #7416: SIZEOF_UINTPTR_T can be invalid when configuring a
  multi-architecture build (in particular when the architectures don't share
  a common pointer size).

  Fixed the same issue for SIZEOF_PTHREAD_T.

  (No update to the NEWS file because this is a bugfix for an as yet unreleased
  feature)
........
2009-12-01 15:55:14 +00:00
Mark Dickinson a4962cb694 Merged revisions 76561 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76561 | mark.dickinson | 2009-11-28 12:30:36 +0000 (Sat, 28 Nov 2009) | 5 lines

  Include ieeefp.h (when available) in pyport.h instead of individually in
  Objects/floatobject.c and Objects/complexobject.c.  This should silence
  compiler warnings about implicit declaration of the 'finite' function
  on Solaris.
........
2009-11-28 12:35:42 +00:00