Guido van Rossum
6fb3fdec7c
Pytype_GenericAlloc(): round up size so we zap all four bytes of the
...
__dict__ slot for string subtypes.
subtype_dealloc(): properly use _PyObject_GetDictPtr() to get the
(potentially negative) dict offset. Don't copy things into local
variables that are used only once.
type_new(): properly calculate a negative dict offset when tp_itemsize
is nonzero. The __dict__ attribute, if present, is now a calculated
attribute rather than a structure member.
2001-08-30 20:00:07 +00:00
Fred Drake
702ca4ffcb
Revert the previous patch to test_pow.py and move the test to test_unary.py
...
based on a suggestion from Tim Peters; also make sure that we're really
doing exponentiation and not multiplication.
2001-08-30 19:15:20 +00:00
Fred Drake
d256271c55
Added a regression test for the negation-of-exponentiation optimization
...
bug from compile.c. (SF bug #456756.)
2001-08-30 18:56:30 +00:00
Fred Drake
14ef244dfe
When re-writing a factor containing a unary negation of a literal, only
...
affect nodes without another operator. This was causing negated
exponentiations to drop the exponentiation. This closes SF bug #456756 .
2001-08-30 18:53:25 +00:00
Guido van Rossum
4b8c0f6d7d
More stuff discovered while writing the simplest of testcases:
...
tupledealloc(): only feed the free list when the type is really a
tuple, not a subtype. Otherwise, use PyObject_GC_Del().
_PyTuple_Resize(): disallow using this for tuple subtypes.
2001-08-30 18:31:30 +00:00
Guido van Rossum
46add98758
Do the int inlining only if the type is really an int, not whenever
...
PyInt_Check() succeeds. That returns true for subtypes of int, which
may override __add__ or __sub__.
2001-08-30 16:06:23 +00:00
Guido van Rossum
13228a6f09
Ah, the joy of writing test cases...
...
long_subtype_new(): fix a typo (type->ob_size instead of
tmp->ob_size).
2001-08-30 15:54:44 +00:00
Jeremy Hylton
f71b5fec43
spurious pop
2001-08-30 15:50:34 +00:00
Neil Schemenauer
4042c69b5e
Add news about GC API change. Explain how to upgrade extension modules.
2001-08-30 15:38:01 +00:00
Neil Schemenauer
55cdc88c09
Update documentation for GC API. Closes SF patch #421893 .
2001-08-30 15:24:17 +00:00
Guido van Rossum
60250e2859
win_getpass(): if sys.stdin is not sys.__stdin__, use
...
default_getpass(). This should prevent hanging when it is called in
IDLE.
Fixes SF bug #455648 .
2001-08-30 15:07:44 +00:00
Michael W. Hudson
8019913e4a
fix for part of bug #453523 : disable unmarshalling of code objects in
...
restricted execution mode.
2001-08-30 14:50:20 +00:00
Fred Drake
3c0fc84b15
Update the links to the FIPS document that defines the Secure Hash
...
Algorithm. This closes SF bug #454917 .
2001-08-30 14:42:40 +00:00
Sjoerd Mullender
89dfe9e292
Removed unreachable return to silence SGI compiler.
2001-08-30 14:37:07 +00:00
Sjoerd Mullender
6f848c175f
Removed an unreachable break statement to silence SGI compiler.
2001-08-30 14:15:38 +00:00
Sjoerd Mullender
a2c2ae62df
Removed unreachable goto statement to silence SGI compiler.
2001-08-30 14:06:45 +00:00
Sjoerd Mullender
2f38f81fec
Removed some unreachable break statements to silence SGI compiler.
2001-08-30 14:05:20 +00:00
Sjoerd Mullender
38b88c233a
Removed some unreachable break statements to silence SGI compiler.
2001-08-30 13:58:58 +00:00
Jack Jansen
34eaf86e95
Started on the 2.2a2 installer
2001-08-30 13:26:53 +00:00
Tim Peters
52e0717215
Give the internal immutable list type .extend and .pop methods (they
...
"should have" been added here when they were added to lists).
2001-08-30 06:15:32 +00:00
Tim Peters
692323488b
Add a new function imp.lock_held(), and use it to skip test_threaded_import
...
when that test is doomed to deadlock.
2001-08-30 05:16:13 +00:00
Guido van Rossum
c41418751f
Safety measures now that str and tuple are subclassable:
...
If tp_itemsize of the basetype is nonzero, only allow empty __slots__
(declaring that no __dict__ should be added), and don't add a weakref
offset.
2001-08-30 04:43:35 +00:00
Guido van Rossum
31bcff8815
Make 'super' subclassable. (Not sure how useful this is yet. :-)
2001-08-30 04:37:15 +00:00
Guido van Rossum
e023fe0eef
Make unicode subclassable.
2001-08-30 03:12:59 +00:00
Guido van Rossum
ae960afb5e
Make str and tuple types subclassable.
2001-08-30 03:11:59 +00:00
Guido van Rossum
147b13c069
Make getset subclassable.
2001-08-30 03:10:36 +00:00
Guido van Rossum
d93dce1699
Fix typo: double semicolons.
2001-08-30 03:09:31 +00:00
Guido van Rossum
5eef77a21b
Make the Py<type>_Check() macro use PyObject_TypeCheck().
2001-08-30 03:08:07 +00:00
Tim Peters
deb77e8394
Squash new compiler wng in debug build.
2001-08-30 00:32:51 +00:00
Neil Schemenauer
45c9ae5c97
gcmodule is now always compiled
2001-08-30 00:13:38 +00:00
Neil Schemenauer
7d0e19e1f4
gcmodule is now enabled here
2001-08-30 00:12:32 +00:00
Neil Schemenauer
43411b5683
Make more things internal to this file. Remove
...
visit_finalizer_reachable since it's the same as visit_reachable.
Rename visit_reachable to visit_move. Objects can now have the GC type
flag set, reachable by tp_traverse and not be in a GC linked list. This
should make the collector more robust and easier to use by extension
module writers. Add memory management functions for container objects
(new, del, resize).
2001-08-30 00:05:51 +00:00
Neil Schemenauer
cf22946c33
Always build gcmodule.
2001-08-29 23:58:47 +00:00
Neil Schemenauer
69374e4836
Flush output more aggressively. This makes things look better if
...
the setup script is running from inside Vim.
2001-08-29 23:57:22 +00:00
Neil Schemenauer
c806c8858d
Use new GC API. Remove usage of BASICSIZE macros.
2001-08-29 23:54:54 +00:00
Neil Schemenauer
e83c00efd0
Use new GC API.
2001-08-29 23:54:21 +00:00
Neil Schemenauer
fd34369ecb
Remove GC related code. It lives in gcmodule now.
2001-08-29 23:54:03 +00:00
Neil Schemenauer
4f4817fee8
Make frames a PyVarObject. Use new GC API.
2001-08-29 23:52:17 +00:00
Neil Schemenauer
01b66a80c4
Remove bogus PyGC_HEAD_SIZE.
2001-08-29 23:50:42 +00:00
Neil Schemenauer
74b5ade6b8
Change the GC type flag since the API has changed. Allow types using
...
the old flag to still compile. Remove the PyType_BASICSIZE and
PyType_SET_BASICSIZE macros. Add PyObject_GC_New, PyObject_GC_NewVar,
PyObject_GC_Resize, PyObject_GC_Del, PyObject_GC_Track,
PyObject_GC_UnTrack. Part of SF patch #421893 .
2001-08-29 23:49:28 +00:00
Neil Schemenauer
31ec142808
Change the GC type flag since the API has changed. Allow types using
...
the old flag to still compile.
2001-08-29 23:46:35 +00:00
Neil Schemenauer
251ead8dd8
Make frames a PyVarObject instead of a PyObject.
2001-08-29 23:45:25 +00:00
Neil Schemenauer
9c63e6d682
Always compile gcmodule.
2001-08-29 23:44:38 +00:00
Jeremy Hylton
e4685ec57e
Track the block stack more reasonably in order to handle continue in
...
try/except or try/finally.
Previous versions had only track SETUP_LOOP blocks and ignored the
exception part. This meant that it allowed continue inside a
try/except but generated buggy code. Now it does the right thing.
2001-08-29 22:30:09 +00:00
Jeremy Hylton
9263848fa1
Improve stack depth computation for try/except and try/finally
...
Add CONTINUE_LOOP to the list of unconditional transfers
2001-08-29 22:27:14 +00:00
Jeremy Hylton
4bd4dddd55
Add __getitem__() handler for use by visitContinue()
2001-08-29 22:26:35 +00:00
Jack Jansen
7c10008917
Added xx and xxsubtype modules, for completeness and because xxsubtype is used by the test suite.
2001-08-29 22:08:06 +00:00
Jack Jansen
028f2d5d89
Started on release notes and readme for 2.2a2.
2001-08-29 22:04:08 +00:00
Tim Peters
79248aa1e4
SF bug [ #456252 ] Python should never stomp on [u]intptr_t.
...
pyport.h: typedef a new Py_intptr_t type.
DELICATE ASSUMPTION: That HAVE_UINTPTR_T implies intptr_t is
available as well as uintptr_t. If that turns out not to be
true, things must get uglier (C99 wants both, so I think it's
an assumption we're *likely* to get away with).
thread_nt.h, PyThread_start_new_thread: MS _beginthread is documented
as returning unsigned long; no idea why uintptr_t was being used.
Others: Always use Py_[u]intptr_t, never [u]intptr_t directly.
2001-08-29 21:37:10 +00:00
Jeremy Hylton
1936745668
Generate SET_LINENO for list and tuple literals when the open paren
...
starts a new line.
Also fix undetected typo in visitDict() -- uncovered by recent change
to add lineno attrs to atoms.
2001-08-29 20:57:43 +00:00