Benjamin Peterson
80f0ed5bb1
allow keyword args to be passed in after *args #3473
2008-08-19 19:52:46 +00:00
Benjamin Peterson
08336e30ad
follup to #3473 : don't duplicate the reduce code
2008-08-18 02:01:21 +00:00
Benjamin Peterson
25f2d89f32
uhh PySTEntry->ste_unoptimized has to be exposed too
2008-08-17 02:23:43 +00:00
Benjamin Peterson
e0d4c7b5bd
expose PySTEntry.nested so the symtable module will work
2008-08-17 01:09:17 +00:00
Benjamin Peterson
e0d12eb85c
PySTEntry's constructor is static; there's no point in a fancy API name
2008-08-16 23:29:40 +00:00
Benjamin Peterson
0847332716
include filename and line number in SyntaxError
2008-08-16 22:11:33 +00:00
Martin v. Löwis
f91d46a17d
Issue #3139 : Make buffer-interface thread-safe wrt. PyArg_ParseTuple,
...
by denying s# to parse objects that have a releasebuffer procedure,
and introducing s*.
More module might need to get converted to use s*.
2008-08-12 14:49:50 +00:00
Brett Cannon
3aa2a49ec9
Add imp.reload(). This to help with transitioning to 3.0 the reload() built-in
...
has been removed there.
2008-08-06 22:28:09 +00:00
Gregory P. Smith
d868be8805
Adds a sanity check to avoid a *very rare* infinite loop due to a corrupt tls
...
key list data structure in the thread startup path.
This change is a companion to r60148 which already successfully dealt with a
similar issue on thread shutdown.
In particular this loop has been observed happening from this call path:
#0 in find_key ()
#1 in PyThread_set_key_value ()
#2 in _PyGILState_NoteThreadState ()
#3 in PyThreadState_New ()
#4 in t_bootstrap ()
#5 in pthread_start_thread ()
I don't know how this happens but it does, *very* rarely. On more than
one hardware platform. I have not been able to reproduce it manually.
(A flaky mutex implementation on the system in question is one hypothesis).
As with r60148, the spinning we managed to observe in the wild was due to a
single list element pointing back upon itself.
2008-08-04 07:33:37 +00:00
Amaury Forgeot d'Arc
39fd672dfe
#3479 : unichr(2**32) used to return u'\x00'.
...
The argument was fetched in a long, but PyUnicode_FromOrdinal takes an int.
(why doesn't gcc issue a truncation warning in this case?)
2008-07-31 21:28:03 +00:00
Amaury Forgeot d'Arc
246daedd11
#2542 : now that issubclass() may call arbitrary code,
...
make sure that PyErr_ExceptionMatches returns 0 when an exception occurs there.
2008-07-31 00:42:16 +00:00
Antoine Pitrou
c2cc80c64e
Raymond's patch for #1819 : speedup function calls with named parameters
...
(35% faster according to pybench)
2008-07-25 22:13:52 +00:00
Georg Brandl
1ad108db05
#3378 : in case of no memory, don't leak even more memory. :)
2008-07-19 10:08:55 +00:00
Eric Smith
f032a00271
Fix issue 3411: default float format spec fails on negative numbers.
2008-07-19 00:24:05 +00:00
Jesse Noller
5e62ca4fea
Apply patch for 874900: threading module can deadlock after fork
2008-07-16 20:03:47 +00:00
Mark Dickinson
64b7e501f4
Issue #3360 : Fix incorrect parsing of "020000000000.0".
2008-07-16 09:40:03 +00:00
Nick Coghlan
b028f50911
Fix issue 3221 by emitting a RuntimeWarning instead of raising SystemError when the parent module can't be found during an absolute import (likely due to non-PEP 361 aware code which sets a module level __package__ attribute)
2008-07-13 14:52:36 +00:00
Amaury Forgeot d'Arc
2252d11c08
#3342 : In tracebacks, printed source lines were not indented since r62555.
...
#3343 : Py_DisplaySourceLine should be a private function. Rename it to _Py_DisplaySourceLine.
2008-07-11 21:45:06 +00:00
Robert Schuppenies
4762902998
Added garbage collector overhead and optional default return value to
...
sys.getsizeof.
2008-07-10 17:13:55 +00:00
Robert Schuppenies
d2cd86ddd5
Fixed Issue3122 and extended sys.getsizeof tests for built-in types.
2008-07-10 13:43:26 +00:00
Gregory P. Smith
2fe77060eb
- Issue #2862 : Make int and float freelist management consistent with other
...
freelists. Changes their CompactFreeList apis into ClearFreeList apis and
calls them via gc.collect().
2008-07-06 03:35:58 +00:00
Georg Brandl
3c0fd5616f
Fix tabs.
2008-07-05 10:07:18 +00:00
Raymond Hettinger
afae11ea88
Update comment on prediction macros.
2008-07-05 02:11:55 +00:00
Georg Brandl
aa76d77e2b
Add a comment about incref'ing w.
2008-07-01 20:56:03 +00:00
Amaury Forgeot d'Arc
bdd941fac3
#3242 : fix a crash in "print", if sys.stdout is set to a custom object,
...
whose write() method installs another sys.stdout.
Will backport.
2008-07-01 20:38:04 +00:00
Benjamin Peterson
175e4d9663
#3219 repeated keyword arguments aren't allowed in function calls anymore
2008-07-01 19:34:52 +00:00
Brett Cannon
dea1b5653f
warnings.warn_explicit() did not have the proper TypeErrors in place to prevent
...
bus errors or SystemError being raised. As a side effect of fixing this, a bad
DECREF that could be triggered when 'message' and 'category' were both None was
fixed.
Closes issue 3211. Thanks JP Calderone for the bug report.
2008-06-27 00:31:13 +00:00
Raymond Hettinger
9c437af4eb
Revert 64424, 64438, and 64439.
2008-06-24 22:46:07 +00:00
Eric Smith
65fe47b931
Modified interface to _Py_[String|Unicode]InsertThousandsGrouping, in anticipation of fixing issue 3140.
2008-06-24 00:42:10 +00:00
Raymond Hettinger
e3ae655edf
Make bin() implementation parallel oct() and hex() so that int/long subclasses can override or so that other classes can support.
2008-06-20 04:18:15 +00:00
Raymond Hettinger
305480c9dc
Issue 3116: fix quadratic behavior in marshal.dumps().
2008-06-16 01:42:40 +00:00
Benjamin Peterson
114f7e5fff
#1683 prevent forking from interfering in threading storage
...
This should prevent some test_multiprocessing failures
2008-06-13 00:09:47 +00:00
Gregory P. Smith
9d53457e59
Merge in release25-maint r60793:
...
Added checks for integer overflows, contributed by Google. Some are
only available if asserts are left in the code, in cases where they
can't be triggered from Python code.
2008-06-11 07:41:16 +00:00
Gregory P. Smith
dd96db63f6
This reverts r63675 based on the discussion in this thread:
...
http://mail.python.org/pipermail/python-dev/2008-June/079988.html
Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names
in the spirit of 3.0 are available via a #define only. See the email thread.
2008-06-09 04:58:54 +00:00
Benjamin Peterson
f4fcdb6b8c
warn about parameter tuple unpacking
2008-06-08 23:00:00 +00:00
Benjamin Peterson
d5efd20406
Warn about assigning to Py3k keywords (True and False)
2008-06-08 22:52:37 +00:00
Benjamin Peterson
cbd78133fa
add an ast_warn helper function to make adding those Py3k warnings easier
2008-06-08 15:45:23 +00:00
Benjamin Peterson
2fe3ef8750
change Py3k backquote warning to a SyntaxWarning and add a test
2008-06-08 02:05:33 +00:00
Ronald Oussoren
5640ce2f1e
MacOS X: Enable 4-way universal builds
...
This patch adds a new configure argument on OSX:
--with-universal-archs=[32-bit|64-bit|all]
When used with the --enable-universalsdk option this controls which
CPU architectures are includes in the framework. The default is 32-bit,
meaning i386 and ppc. The most useful alternative is 'all', which includes
all 4 CPU architectures supported by MacOS X (i386, ppc, x86_64 and ppc64).
This includes limited support for the Carbon bindings in 64-bit mode as well,
limited because (a) I haven't done extensive testing and (b) a large portion
of the Carbon API's aren't available in 64-bit mode anyway.
I've also duplicated a feature of Apple's build of python: setting the
environment variable 'ARCHFLAGS' controls the '-arch' flags used for building
extensions using distutils.
2008-06-05 12:58:24 +00:00
Georg Brandl
7a6de8b0f4
Some style nits. Also clarify in the docstrings what __sizeof__ does.
2008-06-01 16:42:16 +00:00
Robert Schuppenies
51df064767
Issue #2898 : Added sys.getsizeof() to retrieve size of objects in bytes.
2008-06-01 16:16:17 +00:00
Martin v. Löwis
6495c8da8f
Typo: encoding -> codeset.
2008-06-01 08:19:02 +00:00
Martin v. Löwis
b12d8579e3
Move sys_stream and sys_isatty out of the have-langinfo block.
2008-06-01 08:06:17 +00:00
Martin v. Löwis
99815892f6
New environment variable PYTHONIOENCODING.
2008-06-01 07:20:46 +00:00
Eric Smith
dc13b79a38
Refactor and clean up str.format() code (and helpers) in advance of optimizations.
2008-05-30 18:10:04 +00:00
Raymond Hettinger
65856600ed
Issue 2784: fix leaks in exception exit.
2008-05-30 06:37:27 +00:00
Gregory P. Smith
933d3731de
Fix issue2588: Do not execute str[size-1] = '\0' when a 0 size is
...
passed in. (The assert won't prevent this in non-debug builds).
2008-05-26 22:07:28 +00:00
Gregory P. Smith
23921f00e8
Fix issue2589: there was a potential integer overflow leading to
...
memory corruption on esoteric platforms and incorrect behavior on
normal platforms.
2008-05-26 21:16:34 +00:00
Benjamin Peterson
dacde0d6ae
turn PyErr_WarnPy3k into a macro
2008-05-26 17:43:53 +00:00
Christian Heimes
593daf545b
Renamed PyString to PyBytes
2008-05-26 12:51:38 +00:00
Christian Heimes
3497f94476
First step of the C API rename:
...
renamed Include/bytesobject.h to Include/bytearrayobject.h
renamed Include/stringobject.h to Include/bytesobject.h
added Include/stringobject.h with aliases
2008-05-26 12:29:14 +00:00
Martin v. Löwis
4dd019fde3
Patch #2488 : Add sys.maxsize.
2008-05-20 08:11:19 +00:00
Benjamin Peterson
c6d64ec83f
revert 63425 over Guido's Febuary message about this, that I missed
2008-05-17 20:09:42 +00:00
Benjamin Peterson
d7943cb71d
fix spelling
2008-05-17 19:51:10 +00:00
Benjamin Peterson
79a922d6df
add Py3k warnings to oct and hex. backport hex behavior (because it's not different)
2008-05-17 19:21:20 +00:00
Georg Brandl
9c5b51541c
Fix a refleak in the _warnings module.
2008-05-13 21:32:03 +00:00
Benjamin Peterson
b9030f4f0d
#2196 hasattr now allows SystemExit and KeyboardInterrupt to propagate
2008-05-12 00:41:23 +00:00
Eric Smith
cf537ff39e
Addresses issue 2802: 'n' formatting for integers.
...
Adds 'n' as a format specifier for integers, to mirror the same
specifier which is already available for floats. 'n' is the same as
'd', but inserts the current locale-specific thousands grouping.
I added this as a stringlib function, but it's only used by str type,
not unicode. This is because of an implementation detail in
unicode.format(), which does its own str->unicode conversion. But the
unicode version will be needed in 3.0, and it may be needed by other
code eventually in 2.6 (maybe decimal?), so I left it as a stringlib
implementation. As long as the unicode version isn't instantiated,
there's no overhead for this.
2008-05-11 19:52:48 +00:00
Georg Brandl
b52a74b517
#2816 : clarify error messages for EOF while scanning strings.
2008-05-11 15:07:39 +00:00
Andrew M. Kuchling
6c02916dfb
#1792 : Improve performance of marshal.dumps() on large objects by increasing
...
the size of the buffer more quickly.
2008-05-11 13:33:56 +00:00
Brett Cannon
be1501b976
Fix sys.flags to properly expose bytes_warning.
...
Closes issue #2790 .
2008-05-08 20:23:06 +00:00
Christian Heimes
af748c3ab8
Implemented PEP 370
2008-05-06 22:41:46 +00:00
Benjamin Peterson
d295032910
Fix logic error in Python/_warnings.c and add a test to verify
2008-05-06 22:18:11 +00:00
Brett Cannon
e3dcb01bfc
Fix a bug in the handling of the stacklevel argument in warnings.warn() where
...
the stack was being unwound by two levels instead of one each time.
2008-05-06 04:37:31 +00:00
Brett Cannon
8a232cc385
Add a DeprecationWarning for when warnings.showwarning() is set to a function
...
that lacks support for the new 'line' argument.
2008-05-05 05:32:07 +00:00
Benjamin Peterson
2b30ea068f
The compiling struct is now passed around to all AST helpers (see issue 2720)
2008-05-03 15:56:42 +00:00
Brett Cannon
64a4bbeb25
Fix the C implementation of 'warnings' to infer the filename of the module that
...
raised an exception properly when __file__ is not set, __name__ == '__main__',
and sys.argv[0] is a false value.
Closes issue2743.
2008-05-03 03:19:39 +00:00
Brett Cannon
ab9cc1b7ad
Fix some indentation errors.
2008-05-03 01:02:41 +00:00
Brett Cannon
b457ddaff2
Fix a backwards-compatibility mistake where a new optional argument for
...
warnings.showwarning() was being used. This broke pre-existing replacements for
the function since they didn't support the extra argument.
Closes issue 2705.
2008-05-02 02:25:09 +00:00
Georg Brandl
28e0873f1f
#2719 : backport next() from 3k.
2008-04-30 19:47:09 +00:00
Eric Smith
0a95063d73
Issue 2526, float.__format__ 'n' specifier does not support thousands grouping.
...
Implemented grouping, with tests.
Cleaned up PyOS_ascii_formatd by breaking reformatting into smaller functions.
2008-04-30 01:09:30 +00:00
Brett Cannon
141534e56f
Fix a bug introduced by the warnings rewrite where tracebacks were being
...
improperly indented.
Closes issue #2699 .
2008-04-28 03:23:50 +00:00
Benjamin Peterson
f19a7b90bd
A little reformating of Py3k warnings
2008-04-27 18:40:21 +00:00
Benjamin Peterson
9f4f48114f
Use PyErr_WarnPy3k throughout
2008-04-27 03:01:45 +00:00
Benjamin Peterson
a692c4df63
Added PyErr_WarnPy3k function. (issue 2671) I will be converting current Py3k warnings to the use of this function soon.
2008-04-27 02:28:02 +00:00
Christian Heimes
6f34109384
I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
...
The patch also adds acosh, asinh, atanh, log1p and copysign to all platforms. Finally it fixes differences between platforms like different results or exceptions for edge cases. Have fun :)
2008-04-18 23:13:07 +00:00
Benjamin Peterson
858a77099e
Fix indentation in sysmodule.c
2008-04-18 20:45:33 +00:00
Amaury Forgeot d'Arc
f9e7ebe165
Correct a refleak found by "regrtest.py -R:: test_structmembers"
...
Some other minor updates in _warnings.c:
- make a function static
- rename a shadowing local variable
2008-04-14 20:07:48 +00:00
Georg Brandl
41a0a37c08
Improve -X error message.
2008-04-13 20:50:29 +00:00
Benjamin Peterson
820b51c170
#2627 Let it be known what pgen generates
2008-04-13 20:35:56 +00:00
Christian Heimes
6715352848
Use PyString_InternFromString instead of PyString_FromString for static vars
2008-04-13 09:33:24 +00:00
Brett Cannon
40f0a87666
Fix a bug in PySys_HasWarnOption() where it was not properly checking the
...
length of the list storing the warning options.
2008-04-13 00:18:44 +00:00
Brett Cannon
e974689038
Re-implement the 'warnings' module in C. This allows for usage of the
...
'warnings' code in places where it was previously not possible (e.g., the
parser). It could also potentially lead to a speed-up in interpreter start-up
if the C version of the code (_warnings) is imported over the use of the
Python version in key places.
Closes issue #1631171 .
2008-04-12 23:44:07 +00:00
Christian Heimes
7a98d2730c
Applied patch #2617 from Frank Wierzbicki wit some extras from me
...
-J and -X are now reserved for Jython and non-standard arguments (e.g. IronPython). I've added some extra comments to make sure the reservation don't get missed in the future.
2008-04-12 13:03:03 +00:00
Georg Brandl
e34c21c2a0
Make AST nodes pickleable.
2008-03-30 20:20:39 +00:00
Georg Brandl
1721e75749
Fix error message -- "expects either 0 or 0 arguments"
2008-03-30 19:43:27 +00:00
Georg Brandl
2c55c597fa
Make _fields attr for no fields consistent with _attributes attr.
2008-03-30 19:00:49 +00:00
Georg Brandl
c52ed59473
#2505 : allow easier creation of AST nodes.
2008-03-30 07:01:47 +00:00
Georg Brandl
a48f3ab895
Patch #2511 : Give the "excepthandler" AST item proper attributes by making it a Sum.
2008-03-30 06:40:17 +00:00
Georg Brandl
f2bfd54d6f
Properly check for consistency with the third argument of
...
compile() when compiling an AST node.
2008-03-29 13:24:23 +00:00
Amaury Forgeot d'Arc
69b747b735
Fix a reference leak found by Georg, when compiling a class nested in another class.
...
Now "regrtest.py -R:: test_compile" is satisfied.
Will backport.
2008-03-28 20:30:50 +00:00
Amaury Forgeot d'Arc
473445c964
Silence a compilation warning
2008-03-28 20:17:51 +00:00
Georg Brandl
fc8eef3c78
Patch #1810 by Thomas Lee, reviewed by myself:
...
allow compiling Python AST objects into code objects
in compile().
2008-03-28 12:11:56 +00:00
Neal Norwitz
d183bdd6fb
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
...
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
2008-03-28 04:58:51 +00:00
Christian Heimes
61e4590ec9
Build bots are working again - removing the hack
2008-03-27 10:35:52 +00:00
Christian Heimes
81caa790b6
Quick 'n dirty hack: Increase the magic by 2 to force a rebuild of pyc/pyo files on the build bots
2008-03-27 09:02:33 +00:00
Neal Norwitz
231346e23f
Fix warnings about using char as an array subscript. This is not portable
...
since char is signed on some platforms and unsigned on others.
2008-03-27 04:40:50 +00:00
Amaury Forgeot d'Arc
df70e05d22
C89 compliance: Microsoft compilers want variable declarations at the top
2008-03-26 23:07:43 +00:00
Christian Heimes
7f23d86107
Initialize PyCompilerFlags cf_flags with 0
2008-03-26 22:51:58 +00:00
Christian Heimes
3c60833e1e
Patch #2477 : Added from __future__ import unicode_literals
...
The new PyParser_*Ex() functions are based on Neal's suggestion and initial patch. The new __future__ feature makes all '' and r'' unicode strings. b'' and br'' stay (byte) strings.
2008-03-26 22:01:37 +00:00