Stefan Krah
6369f77d20
Support mythical ones' complement machines.
2012-04-18 17:57:56 +02:00
Stefan Krah
140893cbaa
The previous code is correct, but hard to verify: The libmpdec documentation
...
rightfully states that an mpd_t with a coefficient flagged as MPD_CONST_DATA
must not be in the position of the result operand. In this particular case
several assumptions guarantee that a resize will never occur in all possible
code paths, which was the reason for using MPD_CONST_DATA and saving an
instruction by omitting the initialization of tmp.alloc.
For readability, tmp is now flagged as MPD_STATIC_DATA and tmp.alloc
is initialized.
2012-04-18 17:48:34 +02:00
Antoine Pitrou
a3f4457b17
Speed up reading of small files. This avoids multiple C read() calls on pyc files.
2012-04-17 13:50:58 +02:00
Brett Cannon
6f44d66bc4
Issue #13959 : Rename imp to _imp and add Lib/imp.py and begin
...
rewriting functionality in pure Python.
To start, imp.new_module() has been rewritten in pure Python, put into
importlib (privately) and then publicly exposed in imp.
2012-04-15 16:08:47 -04:00
Mark Dickinson
da4210f77d
Issue #13496 : Merge from 3.2
2012-04-15 16:32:04 +01:00
Mark Dickinson
a13b109bc0
Issue 13496: Fix bisect.bisect overflow bug for large collections.
2012-04-15 16:30:35 +01:00
Kristján Valur Jónsson
69c635266e
Issue #10576 : Add a progress callback to gcmodule
2012-04-15 11:41:32 +00:00
Victor Stinner
b8d016955a
Fix clock_gettime/getres/settime: PyArg_ParseTuple() expects an int
...
Only use a single #ifdef for the 3 functions.
2012-04-13 23:44:05 +02:00
Stefan Krah
ec766a6179
1) Remove claim of an input invariant that is only true for static mpd_t.
...
Resizing is used _inside_ libmpdec functions, and it is permitted to
change x->alloc several times while setting x->len at the end of the
function. Therefore, for dynamic mpd_t x->alloc can _temporarily_ drop
below x->len. Of course the final result always has x->len <= x->alloc.
For static mpd_t this cannot happen, since resizing to a smaller
coefficient is a no-op.
2) Remove micro optimization in mpd_switch_to_dyn(): Previously only the
valid initialized part of the existing coefficient up to x->len was
copied to the new dynamic memory area. Now copying does the same as
realloc() and the entire old memory area is copied.
The rationale for this change is that it is no longer needed to memorize
the explanation given in 1).
2012-04-10 23:11:54 +02:00
Stefan Krah
7b544ca08d
Fix stale comment.
2012-04-10 23:08:29 +02:00
Stefan Krah
cc74b6ab14
Issue #14478 : Cache the hash of a Decimal in the C version.
2012-04-10 16:27:58 +02:00
Stefan Krah
e37f8b29fc
Issue #14520 : Add __sizeof__() method to the Decimal object.
2012-04-09 21:27:20 +02:00
Stefan Krah
f69aef747a
Resize the coefficient to MPD_MINALLOC also if the requested size is below
...
MPD_MINALLOC. Previously the resize was skipped as a micro optimization.
2012-04-09 20:47:57 +02:00
Stefan Krah
dd159ce606
Speed up _decimal by 30-40% for numerical workloads by improving the cache
...
locality for regularly sized coefficients.
2012-04-09 20:24:57 +02:00
Stefan Krah
94ef3e4c1d
Use the MPD() accessor macro.
2012-04-09 19:20:46 +02:00
Kristján Valur Jónsson
e638513856
Remove unused variable from gcmodule.c. The code no longer tests for the
...
presence of a __del__ attribute on objects, rather it uses the tp_del slot.
2012-04-08 13:56:25 +00:00
Brett Cannon
8798ad3e1e
struct timeval.tv_usec is 4 bytes on 64-bit OS X as it should be, but
...
is defined as an int while everyone else expects a long regardless of
length.
2012-04-07 14:59:29 -04:00
Stefan Krah
1bcb138cf2
Merge.
2012-04-07 16:10:04 +02:00
Stefan Krah
dc36efa368
1) Fix comment.
...
2) Assert that the source operand is not special. Prevent resulting assert
failure (harmless) by initializing flags before calling mpd_qshiftr_inplace.
3) Save a couple of instructions (mpd_zerocoeff already sets digits and len).
Reorder initialization to match the order in the mpd_t struct.
2012-04-07 15:57:59 +02:00
Kristján Valur Jónsson
10f383a937
Issue #14310 : inter-process socket duplication for windows
2012-04-07 11:23:31 +00:00
Ross Lagerwall
0f9eec19ee
Don't Py_DECREF NULL variable in io.IncrementalNewlineDecoder.
...
Found with Clang's Static Analyzer.
2012-04-07 07:09:57 +02:00
Stefan Krah
4771cca817
Whitespace.
2012-04-05 16:15:25 +02:00
Stefan Krah
871b96bd5a
Reduce array size.
2012-04-05 16:07:22 +02:00
Stefan Krah
a6169484c2
Formatting.
2012-04-05 15:48:59 +02:00
Stefan Krah
ff3eca0cc3
Allow printing a leading '-' and the maximum number of exponent digits
...
rather than raising RuntimeError (allocated space is sufficient for the
additional character).
2012-04-05 15:46:19 +02:00
Stefan Krah
0774e9b9f5
Raise InvalidOperation if exponents of zeros are clamped during exact
...
conversion in the Decimal constructor. Exact here refers to the
representation and not to the value (clamping does not change the value).
2012-04-05 15:21:58 +02:00
Eli Bendersky
828efdea56
Replace bootstrap imports with real C API calls.
2012-04-05 05:40:58 +03:00
Antoine Pitrou
a701388de1
Rename _PyIter_GetBuiltin to _PyObject_GetBuiltin, and do not include it in the stable ABI.
2012-04-05 00:04:20 +02:00
Eli Bendersky
08b852970e
Fix Windows compilation errors
2012-04-04 15:55:07 +03:00
Eli Bendersky
ebf37a2ffb
Fixes and enhancements to _elementtree:
...
* Fixed refleak problems when GC collection is run (see messages in
issue #14065 )
* Added weakref support to Element objects
2012-04-03 22:02:37 +03:00
Kristján Valur Jónsson
31668b8f7a
Issue #14288 : Serialization support for builtin iterators.
2012-04-03 10:49:41 +00:00
Victor Stinner
30d79471bb
Expose clock_settime() as time.clock_settime()
2012-04-03 00:45:07 +02:00
Victor Stinner
1470f35bc6
Add time.CLOCK_HIGHRES constant, needed on Solaris
2012-04-03 00:31:17 +02:00
Stefan Krah
91c0274bc4
Improve comments.
2012-04-02 20:51:08 +02:00
Benjamin Peterson
dba1b40b60
merge 3.2
2012-04-02 11:28:49 -04:00
Benjamin Peterson
e900096dc4
prevent writing to stderr from messing up the exception state ( closes #14474 )
2012-04-02 11:15:17 -04:00
Stefan Krah
5100171d81
Clear the context flags if a context is initialized from the DefaultContext.
2012-04-02 15:02:21 +02:00
Stefan Krah
41e031004b
Fix Overflow exception in the bignum factorial benchmark that is due to
...
the recent change of the default value for context.Emax.
2012-04-01 23:25:34 +02:00
Antoine Pitrou
9a54a260de
Issue #14300 : Under Windows, sockets created using socket.dup() now allow overlapped I/O.
...
Patch by sbt.
2012-04-01 01:14:39 +02:00
Antoine Pitrou
6211b88161
Issue #14437 : Fix building the _io module under Cygwin.
2012-03-31 23:50:31 +02:00
Andrew Svetlov
9e892bbf28
fix issue #5136 : deprecate old unused functions from tkinter.
...
These functions are not documnted, so no documentation update.
2012-03-31 19:36:39 +03:00
Kristján Valur Jónsson
310052c1f0
Fix warning when compiling socketmodule.c with VS2010
...
VS2010 defineds the old errno constants in addition to the WSA* ones.
2012-03-31 13:35:00 +00:00
Eli Bendersky
0192ba33b4
Issue #14065 : Added cyclic GC support to ET.Element
2012-03-30 16:38:33 +03:00
Stefan Krah
1e25755006
Merge.
2012-03-30 14:19:21 +02:00
Stefan Krah
0e41981cd5
Use abort() rather than exit() to appease tools like rpmlint. abort() is used
...
in libmpdec to prevent undefined behavior if an invalid context is used. This
cannot occur for the _decimal module since user input for the context is
validated.
2012-03-30 14:12:20 +02:00
R David Murray
eac0939ddd
#14416 : conditionally add LOG_AUTHPRIV facility and LOG_ODELAY to syslog.
...
Unlike the other facilities, we don't use a fallback for AUTHPRIV if it
doesn't exist. Because it is intended for logging sensitive log messages, it
is better that a program trying to log such messages fail than that it log
them insecurely.
Initial patch by Federico Reghenzani.
2012-03-29 07:15:45 -04:00
Victor Stinner
ad95c2d25c
time.time() now uses clock_gettime(CLOCK_REALTIME) if available
...
clock_gettime(CLOCK_REALTIME) has a better resolution than gettimeofday().
time.time() falls back on gettimeofday() (and then on other functions) on
error.
2012-03-28 02:54:15 +02:00
Victor Stinner
74eb6c0e8b
Document the fact that mach_timebase_info() cannot fail
...
And call mach_absolute_time() after mach_timebase_info().
2012-03-28 02:50:46 +02:00
Stefan Krah
650365b163
Issue #11826 : Fix memory leak in atexitmodule.
2012-03-27 11:49:21 +02:00
Victor Stinner
8486076dd5
Fix time.steady(strict=True): don't use CLOCK_REALTIME
2012-03-26 22:53:14 +02:00
Victor Stinner
70b2e1e7d9
Issue #14368 : _PyTime_gettimeofday() cannot fail
...
floattime() must not raise an error if the current time is 1970.1.1 at 00:00.
2012-03-26 22:08:02 +02:00
Stefan Krah
16ecb9dea0
Issue #3367 : Merge fix from 3.2.
2012-03-26 15:11:22 +02:00
Stefan Krah
0f6ce8d9df
Issue #3367 : NULL-terminate argv[] copies to prevent an invalid access
...
in sys_update_path().
2012-03-26 15:05:22 +02:00
Stefan Krah
fe17b2bc77
Raise MemoryError instead of InvalidOperation/MallocError for compatibility
...
with decimal.py. The standard specifies InsufficientStorage (MallocError) as
a sub-condition of InvalidOperation. This allows a calculation to continue
with NaN results when allocation fails.
2012-03-25 18:59:21 +02:00
Charles-François Natali
55bce63ea0
Issue #14154 : Reimplement the bigmem test memory watchdog as a subprocess.
2012-03-24 10:06:23 +01:00
Stefan Krah
c64150bcac
Fix formatting after removing tabs.
2012-03-23 16:34:41 +01:00
Stefan Krah
cd9e1d0205
Whitespace.
2012-03-23 16:22:05 +01:00
Stefan Krah
b6405efd1b
Use the same exception hierarchy as decimal.py. FloatOperation now also
...
inherits from TypeError. Cleanup in module initialization to make repeated
import failures robust.
2012-03-23 14:46:48 +01:00
Eli Bendersky
396e8fcf36
Issue #13782 : streamline argument type-checking in ET.Element
...
append, extend and insert now consistently type-check their argument in both
the C and Python implementations, and raise TypeError for non-Element
argument.
Added tests
2012-03-23 14:24:20 +02:00
Antoine Pitrou
d0acb411ef
Issue #14387 : Do not include accu.h from Python.h.
2012-03-22 14:42:18 +01:00
Antoine Pitrou
d5d17eb653
Issue #14204 : The ssl module now has support for the Next Protocol Negotiation extension, if available in the underlying OpenSSL library.
...
Patch by Colin Marc.
2012-03-22 00:23:03 +01:00
Stefan Krah
7cc5521d40
Whitespace.
2012-03-21 20:21:20 +01:00
Stefan Krah
1919b7e72b
Issue #7652 : Integrate the decimal floating point libmpdec library to speed
...
up the decimal module. Performance gains of the new C implementation are
between 12x and 80x, depending on the application.
2012-03-21 18:25:23 +01:00
Larry Hastings
83a9f48699
Issue #14328 : Add keyword-only parameters to PyArg_ParseTupleAndKeywords.
...
They're optional-only for now (unlike in pure Python) but that's all
I needed. The syntax can easily be relaxed if we want to support
required keyword-only arguments for extension types in the future.
2012-03-20 20:06:16 +00:00
Ross Lagerwall
71faefc37e
Issue #14359 : Only use O_CLOEXEC in _posixmodule.c if it is defined.
...
Based on patch from Hervé Coatanhay.
2012-03-19 06:08:43 +02:00
Ross Lagerwall
5802fdf31f
Issue 14359: Only use O_CLOEXEC in _posixmodule.c if it is defined.
...
Based on patch from Hervé Coatanhay.
2012-03-18 15:55:10 +02:00
Benjamin Peterson
e80b29b5b6
cleanup Ellipsis and NotImplemented strings after we're done
2012-03-16 18:45:31 -05:00
Benjamin Peterson
2dbda07a17
fix condition ( #14296 )
2012-03-16 10:12:55 -05:00
Eli Bendersky
5b77d81314
Issue #14207 : the ParseError exception raised by _elementtree was made
...
consistent to the one raised by the Python module (the 'code' attribute
was added).
In addition, the exception is now documented.
Added a test to check that ParseError has the required attributes, and
threw away the equivalent doctest which is no longer required.
2012-03-16 08:20:05 +02:00
Eli Bendersky
f996e775ea
Closes Issue #14246 : _elementtree parser will now handle io.StringIO
2012-03-16 05:53:30 +02:00
Benjamin Peterson
7b51b8de38
try to fix compilation on glibc's with cpu sets ( #14296 )
2012-03-14 22:28:25 -05:00
Gregory P. Smith
c362cbda97
Fixes Issue 14234: fix for the previous commit, keep compilation when
...
using --with-system-expat working when the system expat does not have
salted hash support.
2012-03-14 18:11:46 -07:00
Gregory P. Smith
2522771e47
Fixes Issue 14234: fix for the previous commit, keep compilation when
...
using --with-system-expat working when the system expat does not have
salted hash support.
2012-03-14 18:10:37 -07:00
Victor Stinner
071eca3f5c
Issue #10278 : Add an optional strict argument to time.steady(), False by default
2012-03-15 01:17:09 +01:00
Victor Stinner
ec919cc74d
Issue #10278 : Drop time.monotonic() function, rename time.wallclock() to time.steady()
...
* On Mac OS X, time.steady() now uses mach_absolute_time(), a monotonic clock
* Optimistic change: bet that CLOCK_MONOTONIC and CLOCK_REALTIME are available
when clock_gettime() is available
* Rewrite time.steady() documentation
2012-03-15 00:58:32 +01:00
Benjamin Peterson
5e5451940c
fix compiler warnings
2012-03-14 18:21:35 -05:00
Gregory P. Smith
70c9c4dca6
Fixes Issue #14234 : CVE-2012-0876: Randomize hashes of xml attributes
...
in the hash table internal to the pyexpat module's copy of the expat
library to avoid a denial of service due to hash collisions.
Patch by David Malcolm with some modifications by the expat project.
2012-03-14 15:00:39 -07:00
Gregory P. Smith
373c740924
Fixes Issue #14234 : CVE-2012-0876: Randomize hashes of xml attributes
...
in the hash table internal to the pyexpat module's copy of the expat
library to avoid a denial of service due to hash collisions.
Patch by David Malcolm with some modifications by the expat project.
2012-03-14 14:41:00 -07:00
Gregory P. Smith
8e91cf6a5e
Fixes issue #14234 : CVE-2012-0876: Randomize hashes of xml attributes
...
in the hash table internal to the pyexpat module's copy of the expat
library to avoid a denial of service due to hash collisions.
Patch by David Malcolm with some modifications by the expat project.
2012-03-14 14:26:55 -07:00
Gregory P. Smith
db66eba288
Avoid main_window unused compiler warning.
2012-03-13 23:21:53 -07:00
Andrew Svetlov
c5ceb0aaaf
Revert the patch for issue 3835 because failed on Windows buildbot
...
Windows build is compiled with no-threaded tcl/tk by default
2012-03-14 09:39:36 -07:00
Victor Stinner
b2a3773301
Issue #14180 : Fix the select module to handle correctly the Windows timeval
...
structure. timeval.tv_sec is a long on Windows, not time_t.
2012-03-14 00:20:51 +01:00
Victor Stinner
21f5893571
Issue #14180 : datetime.date.fromtimestamp(), datetime.datetime.fromtimestamp()
...
and datetime.datetime.utcfromtimestamp() now raise an OSError instead of
ValueError if localtime() or gmtime() failed.
2012-03-14 00:15:40 +01:00
Benjamin Peterson
7d74b70e51
merge 3.2
2012-03-13 16:13:35 -05:00
Benjamin Peterson
2354a7593f
fix indentation
2012-03-13 16:13:09 -05:00
Martin v. Löwis
df50cebbed
Issue #3835 : Refuse to use unthreaded Tcl in threaded Python.
...
Patch by Guilherme Polo and Andrew Svetlov.
2012-03-13 13:59:15 -07:00
Victor Stinner
d528b01a71
Issue #14180 : Fix another typo in kqueue_queue_control()
2012-03-13 16:25:35 +01:00
Victor Stinner
d327f9de1f
Issue #14180 : Fix select.select() compilation on BSD and a typo in kqueue_queue_control()
2012-03-13 15:29:08 +01:00
Victor Stinner
5d272cc6a2
Close #14180 : Factorize code to convert a number of seconds to time_t, timeval or timespec
...
time.ctime(), gmtime(), time.localtime(), datetime.date.fromtimestamp(),
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now
raises an OverflowError, instead of a ValueError, if the timestamp does not fit
in time_t.
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now
round microseconds towards zero instead of rounding to nearest with ties going
away from zero.
2012-03-13 13:35:55 +01:00
Sean Reifschneider
7b3c975aaf
closes #14259 re.finditer() now takes keyword arguments: pos, endpos.
...
Contrary to the documentation, finditer() did not take pos and endpos
keyword arguments.
2012-03-12 18:22:38 -06:00
Victor Stinner
a8ec5ea923
Issue #14104 : Implement time.monotonic() on Mac OS X,
...
patch written by Nicholas Riley.
2012-03-13 00:25:42 +01:00
Łukasz Langa
cad1a07bec
minor PEP7-related fix
2012-03-12 23:41:07 +01:00
Łukasz Langa
dbd7825d56
#13842 : check whether PyUnicode_FromString succeeded
2012-03-12 22:59:11 +01:00
Łukasz Langa
f3078fbee2
Fixes #13842 : cannot pickle Ellipsis or NotImplemented.
...
Thanks for James Sanders for the bug report and the patch.
2012-03-12 19:46:12 +01:00
Eli Bendersky
865756a94c
Issue #14178 : Problem deleting slices with steps != +1 in the _elementtree module.
...
Fixed the problem and added some tests. Closes #14178
2012-03-09 13:38:15 +02:00
Victor Stinner
8f40860944
Close #14223 : curses.addch() is no more limited to the range 0-255 when the
...
Python curses is not linked to libncursesw. It was a regression introduced in
Python 3.3a1.
2012-03-08 02:08:48 +01:00
Benjamin Peterson
33d21a24fa
merge 3.2 ( #14212 )
2012-03-07 14:59:13 -06:00
Benjamin Peterson
e48944b69c
keep the buffer object around while we're using it ( closes #14212 )
2012-03-07 14:50:25 -06:00
Ross Lagerwall
7f4fdb266a
Use ANSI C prototype instead of K&R style.
2012-03-07 20:06:33 +02:00
Ross Lagerwall
88748d7bfe
Issue #10951 : Fix compiler warnings in _sre.c
2012-03-06 21:48:57 +02:00