Mark Dickinson
476279f18b
Issue #7632 : Fix a serious wrong output bug for string -> float conversion.
...
Also remove some now unused variables, and add comments clarifying the
possible outputs of the parsing section of _Py_dg_strtod. Thanks
Eric Smith for reviewing.
2010-01-16 10:44:00 +00:00
Brett Cannon
0bc77474aa
Remove C++/C99-style comments.
2010-01-15 01:31:45 +00:00
Brett Cannon
3ffa43db48
The silencing of DeprecationWarning was not taking -3 into consideration. Since
...
Py3K warnings are DeprecationWarning by default this was causing -3 to
essentially be a no-op. Now DeprecationWarning is only silenced if -3 is not
used.
Closes issue #7700 . Thanks Ezio Melotti and Florent Xicluna for patch help.
2010-01-14 20:00:28 +00:00
Mark Dickinson
f8747c1f12
Issue 7632: fix incorrect rounding for long input strings with values very close to a power of 2. (See Bug 4 in the tracker discussion.)
2010-01-14 14:40:20 +00:00
Mark Dickinson
50b60c612e
Issue 7632: fix a dtoa.c bug (bug 6) causing incorrect rounding. Tests to follow.
2010-01-14 13:14:49 +00:00
Mark Dickinson
03774fac62
Fix off-by-one error introduced in r77483. I have a test for this, but it currently fails due to a different dtoa.c bug; I'll add the test once that bug is fixed.
2010-01-14 13:02:36 +00:00
Mark Dickinson
d2a9940acb
More dtoa.c cleanup; remove the need for bc.dplen, bc.dp0 and bc.dp1.
2010-01-13 22:20:10 +00:00
Mark Dickinson
02139d74ba
Fix buggy comparison: LHS of comparison was being treated as unsigned.
2010-01-13 22:15:53 +00:00
Mark Dickinson
6e0d3d67fb
Simplify and annotate the bigcomp function, removing unused special cases.
2010-01-13 20:55:03 +00:00
Mark Dickinson
5818e01253
Clarify that sulp expects a nonnegative input, but that +0.0 is fine.
2010-01-13 19:02:37 +00:00
Mark Dickinson
b26d56ac18
Add comments explaining the role of the bigcomp function in dtoa.c.
2010-01-13 18:21:53 +00:00
Mark Dickinson
5ff4f279e6
Issue #7632 : Fix a bug in dtoa.c that could lead to incorrectly-rounded results.
2010-01-12 22:55:51 +00:00
Mark Dickinson
8efef5ce9f
Issue #7632 : Fix a problem with _Py_dg_strtod that could lead to
...
crashes in debug builds, for certain long numeric strings
corresponding to subnormal values.
2010-01-12 22:23:56 +00:00
Alexandre Vassalotti
102d70e06c
Update version information for AST changes in r77422.
2010-01-11 22:46:43 +00:00
Alexandre Vassalotti
b646547bb4
Issue #2333 : Backport set and dict comprehensions syntax.
2010-01-11 22:36:12 +00:00
Mark Dickinson
0ca7452794
Change a variable type to avoid signed overflow; replace repeated '19999' constant by a define.
2010-01-11 17:15:13 +00:00
Mark Dickinson
5a0b399aa9
Remove unused BCinfo fields and an unused macro.
2010-01-10 13:06:31 +00:00
Brett Cannon
6fdd3dcb6a
DeprecationWarning is now silent by default.
...
This was originally suggested by Guido, discussed on the stdlib-sig mailing
list, and given the OK by Guido directly to me. What this change essentially
means is that Python has taken a policy of silencing warnings that are only
of interest to developers by default. This should prevent users from seeing
warnings which are triggered by an application being run against a new
interpreter before the app developer has a chance to update their code.
Closes issue #7319 . Thanks to Antoine Pitrou, Ezio Melotti, and Brian Curtin
for helping with the issue.
2010-01-10 02:56:19 +00:00
Brett Cannon
3ad57e2625
Update the version # of Python-ast.c based on the backport of set literals from
...
r77400.
2010-01-10 02:48:50 +00:00
Alexandre Vassalotti
ee936a2130
Issue #2335 : Backport set literals syntax from Python 3.x.
2010-01-09 23:35:54 +00:00
Mark Dickinson
2bcd177270
Fix typo in comment.
2010-01-04 21:32:02 +00:00
Mark Dickinson
1b34d2552c
Issue #5080 : turn the DeprecationWarning from float arguments passed
...
to integer PyArg_Parse* format codes into a TypeError. Add a
DeprecationWarning for floats passed with the 'L' format code, which
didn't previously have a warning.
2010-01-01 17:27:30 +00:00
Benjamin Peterson
71380c3dfe
update copyright year
2010-01-01 04:00:55 +00:00
Benjamin Peterson
0f02d3933b
check if the attribute is set before deleting it with T_OBJECT_EX ( fixes #7604 )
...
Also, add a note to the docs about the better behavior of T_OBJECT_EX as
compared to T_OBJECT.
2009-12-30 19:34:10 +00:00
Georg Brandl
740cdc3a9f
#7033 : add new API function PyErr_NewExceptionWithDoc, for easily giving new exceptions a docstring.
2009-12-28 08:34:58 +00:00
Mark Dickinson
12748b003c
Issue #7518 : Move substitute definitions of C99 math functions from
...
pymath.c to Modules/_math.c.
2009-12-21 15:22:00 +00:00
Benjamin Peterson
5f429e0227
account for PyObject_IsInstance's new ability to fail
2009-12-13 00:54:15 +00:00
Mark Dickinson
3dc254181a
Issue #6985 : number of range() items should be constrained to lie
...
in a Py_ssize_t, not an int.
2009-12-03 12:08:56 +00:00
Mark Dickinson
34398184eb
Issue #7406 : Fix some occurrences of potential signed overflow in int
...
arithmetic.
2009-12-02 17:33:41 +00:00
Mark Dickinson
ccc690d650
Issue #1678380 : When distinguishing between -0.0 and 0.0 in
...
compiler_add_o, use copysign instead of examining the first and last
bytes of the double. The latter method fails for little-endian
ARM, OABI, where doubles are little-endian but with the words swapped.
2009-11-28 16:32:27 +00:00
Mark Dickinson
bce783757f
round(0, "ermintrude") succeeded instead of producing a TypeError. Fix this.
2009-11-24 10:54:58 +00:00
Benjamin Peterson
cef9782810
turn goto into do while loop
2009-11-20 02:15:50 +00:00
Benjamin Peterson
009b89d22a
genexps have linenos
2009-11-20 01:16:58 +00:00
Benjamin Peterson
d16d0abf0b
provide line number for lambdas
2009-11-20 01:15:53 +00:00
Benjamin Peterson
99a5023c80
improve several corner cases related with argument names in parenthesis
...
- Fix #7362 : give a good error message for parenthesized arguments with
defaults.
- Add a py3k warning for any parenthesized arguments since those are not allowed
in Py3. This warning is not given in tuple unpacking, since that incurs the
tuple unpacking warning.
2009-11-19 22:54:57 +00:00
Mark Dickinson
bd15a06fd3
Issue #7117 , continued: Change round implementation to use the correctly-rounded
...
string <-> float conversions; this makes sure that the result of the round
operation is correctly rounded, and hence displays nicely using the new float
repr.
2009-11-18 19:33:35 +00:00
Benjamin Peterson
90ed611f6d
a better callable replacement
2009-11-17 21:24:54 +00:00
Mark Dickinson
51ae4921b3
Set retval on PyOS_string_to_double failure.
2009-10-31 12:47:47 +00:00
Mark Dickinson
504a151c82
Issue #6603 : Fix --with-tsc build failures on x86-64 that resulted
...
from a gcc inline assembler peculiarity. (gcc's "A" constraint
apparently means 'rax or rdx' in 64-bit mode, not edx:eax
or rdx:rax as one might expect.)
2009-10-31 10:11:28 +00:00
Mark Dickinson
09823a2e21
Deprecate PyOS_ascii_strtod and PyOS_ascii_atof, and document the replacement function PyOS_string_to_double.
2009-10-31 09:42:39 +00:00
Benjamin Peterson
ea0e3b0d60
do a backport of r75928
...
The added test does not fail without the patch, but we still fix the issue of
surrogates being used in wide builds where they should not be.
2009-10-29 01:49:07 +00:00
Eric Smith
b218d289e6
Removed PyOS_ascii_atof from marshal.c, as mentioned in issue 7117. Also brings it more in line with py3k.
2009-10-27 19:42:57 +00:00
Eric Smith
abc9f70381
Removed PyOS_ascii_atof from ast.c, as mentioned in issue 7117.
2009-10-27 18:33:14 +00:00
Eric Smith
c1bdf89145
Finished removing _PyOS_double_to_string, as mentioned in issue 7117.
2009-10-26 17:46:17 +00:00
Mark Dickinson
975d7576ca
Issue #7117 (backport py3k float repr) continued:
...
Backport pystrtod.c from py3k.
2009-10-26 15:39:50 +00:00
Mark Dickinson
0e0e215308
Warn against replacing PyNumber_Add with PyNumber_InPlaceAdd in sum
2009-10-26 14:18:44 +00:00
Mark Dickinson
da8652d920
Issue #7117 (backport py3k float repr) continued:
...
Add sys.float_repr_style attribute ('short' if short float
repr is in used; 'legacy' otherwise).
2009-10-24 14:01:08 +00:00
Mark Dickinson
52462c3185
Remove temporary define from r75653
2009-10-24 13:31:41 +00:00
Mark Dickinson
1d6e2e1833
Issue #7117 (backport py3k float repr) continued:
...
- add double endianness detection to configure script
- add configure-time check to see whether we can use inline
assembly to get and set x87 control word in configure script
- add functions to get and set x87 control word in Python/pymath.c
- add pyport.h logic to determine whether it's safe to use the
short float repr or not
2009-10-24 13:28:38 +00:00
Mark Dickinson
fd42f30991
Temporary define to avoid build failure
2009-10-24 12:17:24 +00:00
Mark Dickinson
bb28285ea2
Issue #7117 : Prepare for backport of py3k float repr.
...
Add the Python/dtoa.c file containing the main algorithms;
add corresponding include file and include in Python.h;
include license information for Python/dtoa.c;
add dtoa.c and dtoa.h to Makefile.
2009-10-24 12:13:30 +00:00
Georg Brandl
f4ffae2b2a
#7035 : improve docs of the various <method>_errors() functions, and give them docstrings.
2009-10-22 15:42:32 +00:00
Antoine Pitrou
efb60c0ceb
Issue #1722344 : threading._shutdown() is now called in Py_Finalize(), which
...
fixes the problem of some exceptions being thrown at shutdown when the
interpreter is killed. Patch by Adam Olsen.
2009-10-20 21:29:37 +00:00
Eric Smith
156692752d
Removed calls to PyFloat_AsReprString.
...
This is in anticipation of possibly implementing issue 7117 (short float repr).
This removes the last calls to PyFloat_AsString, PyFloat_AsReprString, and
PyFloat_AsStringEx, which are unsafe.
Also, switch to defines for error values to bring this code more in line
with the py3k branch.
2009-10-19 00:34:12 +00:00
Mark Dickinson
026ac7cf69
Allow core Python build to succeed under WITHOUT_COMPLEX. The module build stage still fails.
2009-10-15 17:45:39 +00:00
Neil Schemenauer
7fdd1cb583
Issue #1754094 : Improve the stack depth calculation in the compiler.
...
There should be no other effect than a small decrease in memory use.
Patch by Christopher Tur Lesniewski-Laas.
2009-10-14 17:17:14 +00:00
Benjamin Peterson
7adbb5a35d
#7050 fix a SystemError when using tuple unpacking and augmented assignment
2009-10-03 20:23:24 +00:00
Mark Dickinson
7e7a3ec901
Issue #7019 : Unmarshalling of bad long data could produce unnormalized
...
PyLongs. Raise ValueError instead.
2009-09-29 19:01:06 +00:00
Thomas Wouters
c4dcb3801e
Fix issue #1590864 , multiple threads and fork() can cause deadlocks, by
...
acquiring the import lock around fork() calls. This prevents other threads
from having that lock while the fork happens, and is the recommended way of
dealing with such issues. There are two other locks we care about, the GIL
and the Thread Local Storage lock. The GIL is obviously held when calling
Python functions like os.fork(), and the TLS lock is explicitly reallocated
instead, while also deleting now-orphaned TLS data.
This only fixes calls to os.fork(), not extension modules or embedding
programs calling C's fork() directly. Solving that requires a new set of API
functions, and possibly a rewrite of the Python/thread_*.c mess. Add a
warning explaining the problem to the documentation in the mean time.
This also changes behaviour a little on AIX. Before, AIX (but only AIX) was
getting the import lock reallocated, seemingly to avoid this very same
problem. This is not the right approach, because the import lock is a
re-entrant one, and reallocating would do the wrong thing when forking while
holding the import lock.
Will backport to 2.6, minus the tiny AIX behaviour change.
2009-09-16 19:55:54 +00:00
Benjamin Peterson
93ed82048f
revert unintended changes
2009-09-09 11:42:57 +00:00
Benjamin Peterson
8246968b12
tabbify
2009-09-09 11:40:54 +00:00
Benjamin Peterson
d692a71fdd
revert r74699 since it loses useful error information
2009-09-07 13:02:15 +00:00
Benjamin Peterson
5515990ee1
PyObject_GetIter can set an error for its self just fine
2009-09-06 22:43:39 +00:00
Benjamin Peterson
c0ba828857
better col_offsets for "for" statements with tuple unpacking #6704
...
Patch from Frank Wierzbicki.
2009-08-15 22:59:21 +00:00
Sean Reifscheider
9279e7d177
- Issue #6624 : yArg_ParseTuple with "s" format when parsing argument with
...
NUL: Bogus TypeError detail string.
2009-08-01 23:54:55 +00:00
Amaury Forgeot d'Arc
982b2fa32d
Better name a variable: 'buf' seems to imply a mutable buffer.
2009-07-25 16:22:06 +00:00
Benjamin Peterson
4879c907ce
the Slice in x[::] has to have step as None to help the interpreter
2009-07-20 20:28:08 +00:00
Hirokazu Yamamoto
e78e5d2e51
Issue #6415 : Fixed warnings.warn sagfault on bad formatted string.
2009-07-17 06:20:46 +00:00
R. David Murray
3310a10a68
Update issue 6070 patch to match the patch that was actually tested
...
on Windows.
2009-07-07 09:54:16 +00:00
R. David Murray
23a736a4f0
Issue 6070: when creating a compiled file, after copying the mode bits, on
...
posix zap the execute bit in case it was set on the .py file, since the
compiled files are not directly executable on posix. Patch by Marco N.
2009-07-07 01:06:13 +00:00
Benjamin Peterson
753d16234f
when print() gets unicode arguments, sep and end should be unicode by default #4618
2009-07-02 18:16:45 +00:00
Benjamin Peterson
4a3cf191f4
small optimization: avoid popping the current block until we have to
2009-07-01 23:45:19 +00:00
Georg Brandl
e323e0e91a
Fix error handling in PyCode_Optimize, by Alexander Schremmer at EuroPython sprint.
2009-06-29 14:44:49 +00:00
Alexandre Vassalotti
7274cffa9e
Update docstrings for sys.getdlopenflags() and sys.setdlopenflags().
2009-06-29 01:01:51 +00:00
Benjamin Peterson
8f7b94eae9
use stack macros
2009-06-28 16:14:07 +00:00
Benjamin Peterson
b8338ab92c
add two generic macros for peeking and setting in the stack
2009-06-28 16:08:02 +00:00
Benjamin Peterson
1a4ceb2f4b
fix grammar
2009-06-23 01:18:57 +00:00
Benjamin Peterson
d9920c255d
remove tmpname support since it's no longer used
2009-06-21 23:03:36 +00:00
Benjamin Peterson
f67caf8523
don't need to add the name 'lambda' as assigned
2009-06-21 23:01:07 +00:00
Benjamin Peterson
5ecf57adcf
remove unused 'encoding' member from the compiler struct
2009-06-17 03:23:04 +00:00
Benjamin Peterson
8fa3e933c1
update ast version
2009-06-13 20:30:48 +00:00
Benjamin Peterson
a72be3b325
when no module is given in a 'from' relative import, make ImportFrom.module NULL
2009-06-13 20:23:33 +00:00
Benjamin Peterson
52c4bec76b
give a better error message when deleting ()
2009-06-13 17:08:53 +00:00
Benjamin Peterson
5d1ff94b9e
set Print.values to NULL if there are no values
2009-06-13 16:19:19 +00:00
Benjamin Peterson
d1f5a59edb
allow importing from a module named None if it has an 'as' clause
2009-06-13 13:06:21 +00:00
Benjamin Peterson
565e1b6bb7
prevent import statements from assigning to None
2009-06-13 03:46:30 +00:00
Benjamin Peterson
4afbba3d34
keep the slice.step field as NULL if no step expression is given
2009-06-13 01:40:00 +00:00
Alexandre Vassalotti
a6e3474d02
Add const qualifier to PyErr_SetFromErrnoWithFilename and to
...
PyErr_SetFromErrnoWithUnicodeFilename.
2009-06-12 20:57:12 +00:00
Benjamin Peterson
4efb5d0b82
remove check for case handled in sub-function
2009-06-11 22:29:23 +00:00
Benjamin Peterson
b266481ed8
revert r73361
2009-06-11 17:49:38 +00:00
Benjamin Peterson
e5fa5fe8fc
remove duplicate check
2009-06-11 16:25:52 +00:00
Benjamin Peterson
a5a5728cf0
remove error checks already done in set_context()
2009-06-08 23:44:13 +00:00
Benjamin Peterson
8ea4ded9a6
remove useless assertion
2009-06-08 22:18:32 +00:00
Antoine Pitrou
46dbe27f7e
Issue #5330 : C functions called with keyword arguments were not reported by
...
the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau.
2009-05-30 21:27:00 +00:00
Jeffrey Yasskin
7937d939b1
Fix nearly all compilation warnings under Apple gcc-4.0. Tested with OPT="-g
...
-Wall -Wstrict-prototypes -Werror" in both --with-pydebug mode and --without.
There's still a batch of non-prototype warnings in Xlib.h that I don't know how
to fix.
2009-05-29 03:44:31 +00:00
Philip Jenvey
dd0388a1c2
further hint to where the open docs really are
2009-05-28 03:12:16 +00:00
Benjamin Peterson
aafa18aa05
teach the peepholer about SETUP_WITH
2009-05-26 12:49:59 +00:00
Georg Brandl
944f684ce6
Allow multiple context managers in one with statement, as proposed
...
in http://codereview.appspot.com/53094 and accepted by Guido.
The construct is transformed into multiple With AST nodes so that
there should be no problems with the semantics.
2009-05-25 21:02:56 +00:00
Benjamin Peterson
49a6b0ef70
take into account the fact that SETUP_WITH pushes a finally block
2009-05-25 20:12:57 +00:00
Benjamin Peterson
1880d8b823
add a SETUP_WITH opcode
...
It speeds up the with statement and correctly looks up the special
methods involved.
2009-05-25 13:13:44 +00:00