summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Part 2/2 of SF patch #416704: More robust freeze, by Toby Dickenson.Guido van Rossum2001-10-183-11/+59
| | | | | | | | | | | | | (With slight cosmetic improvements to shorten lines and a grammar fix to a docstring.) This addes -X and -E options to freeze. From the docstring: -X module Like -x, except the module can never be imported by the frozen binary. -E: Freeze will fail if any modules can't be found (that were not excluded using -x or -X).
* Straighten out the exec*() function descriptions a bit, and clarify a fewFred Drake2001-10-181-65/+68
| | | | points in the spawn*() description.
* Squash compiler wng about signed/unsigned mismatch.Tim Peters2001-10-181-1/+1
|
* First part of SF patch #416704: More robust freeze, by Toby Dickenson.Guido van Rossum2001-10-181-5/+23
| | | | | | | This fixes the behavior reported by SF bug #404545, where a file x.y.py could be imported by the statement "import x.y" when there's a frozen package x (I believe even if x.y also exists as a frozen module).
* Fix the frozen bytecode for __hello__ (betcha didn't know that existedGuido van Rossum2001-10-184-5/+43
| | | | | | | | | | :-). Add a test that prevents the __hello__ bytecode from going stale unnoticed again. The test also tests the loophole noted in SF bug #404545. This test will fail right now; I'll check in the fix in a minute.
* Bump version number.Fred Drake2001-10-181-4/+3
| | | | Remove inconsistent use of HTMLDIR.
* Bump release information.Fred Drake2001-10-181-2/+2
|
* Add a note about changes related to the weak reference objects.Fred Drake2001-10-181-0/+4
|
* Make sure we do not core dump when using proxies with the binary slotFred Drake2001-10-181-0/+8
| | | | handlers. This was fixed in Objects/weakrefobject.c 1.2.
* When weakref proxies are involved in binary & ternary slot operations,Fred Drake2001-10-181-15/+28
| | | | | | | | | | | the left-hand operand may not be the proxy in all cases. If it isn't, we end up doing two things: a) unwrapping something that isn't a PyWeakReference (later resulting in a core dump) and b) passing a proxy as the right-hand operand anyway, even though that can't be handled by the actual handler (maybe eventually causing a core dump). This is fixed by always unwrapping all the proxies involved before passing anything to the actual handler.
* SF bug #471720: ThreadingMixIn/TCPServer forgets closeGuido van Rossum2001-10-183-1/+10
| | | | | Solved with a helper method that calls finish_request() and then close_request(). The code is by Max Neunhöffer.
* Reindent __repr__.Martin v. Löwis2001-10-181-11/+11
|
* Add test for local assigned to only in a nested list compJeremy Hylton2001-10-182-0/+19
|
* Fix for SF bug [ #471928 ] global made w/nested list comprehensionsJeremy Hylton2001-10-181-19/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The symbol table pass didn't have an explicit case for the list_iter node which is used only for a nested list comprehension. As a result, the target of the list comprehension was treated as a use instead of an assignment. Fix is to add a case to symtable_node() to handle list_iter. Also, rework and document a couple of the subtler implementation issues in the symbol table pass. The symtable_node() switch statement depends on falling through the last several cases, in order to handle some of the more complicated nodes like atom. Add a comment explaining the behavior before the first fall through case. Add a comment /* fall through */ at the end of case so that it is explicitly marked as such. Move the for_stmt case out of the fall through logic, which simplifies both for_stmt and default. (The default used the local variable start to skip the first three nodes of a for_stmt when it fell through.) Rename the flag argument to symtable_assign() to def_flag and add a comment explaining its use: The third argument to symatble_assign() is a flag to be passed to symtable_add_def() if it is eventually called. The flag is useful to specify the particular type of assignment that should be recorded, e.g. an assignment caused by import.
* Fix SF bug #472234: type(obj) calls type->tp_init (Roeland Rengelink)Guido van Rossum2001-10-183-0/+20
| | | | | The fix is a band-aid: type_call() now makes the same exception for a single-argument call to type() as type_new() was already making.
* Use CXX in LINKCC if CXX is used to build main() and the system requiresMartin v. Löwis2001-10-182-367/+399
| | | | to link a C++ main using the C++ compiler. Fixes #472007.
* Fix typo reported by Michael Soulier.Fred Drake2001-10-181-1/+1
|
* Bump Windows build # for 2.2b1.Tim Peters2001-10-182-2/+4
|
* Function descriptions must end as well as start!Fred Drake2001-10-181-0/+1
|
* Elaborate on types and meaning of the setgroups arguments.Martin v. Löwis2001-10-181-2/+4
|
* Patch to bug #472202: Correctly recognize NetBSD before 199712.Martin v. Löwis2001-10-181-2/+5
|
* Patch #470744: Simplify __repr__ error handling.Martin v. Löwis2001-10-181-16/+4
|
* Expose setgroups. Fixes feature request #468116.Martin v. Löwis2001-10-186-4/+62
|
* Fix error checking done by abstract_issubclass and abstract_isinstance.Neil Schemenauer2001-10-181-44/+61
| | | | | | isinstance() now allows any object as the first argument and a class, a type or something with a __bases__ tuple attribute for the second argument. This closes SF patch #464992.
* Add trivial test cases for RAND_add() and RAND_status().Jeremy Hylton2001-10-181-1/+15
| | | | (The rest of the test cases are trivial, so I don't feel too bad.)
* Expose three OpenSSL API calls for dealing with the PRNG.Jeremy Hylton2001-10-181-0/+67
| | | | | | | | | | | | | | | | | Quoth the OpenSSL RAND_add man page: OpenSSL makes sure that the PRNG state is unique for each thread. On systems that provide /dev/urandom, the randomness device is used to seed the PRNG transparently. However, on all other systems, the application is responsible for seeding the PRNG by calling RAND_add(), RAND_egd(3) or RAND_load_file(3). I decided to expose RAND_add() because it's general and RAND_egd() because it's a useful special case. RAND_load_file() didn't seem to offer much over RAND_add(), so I skipped it. Also supplied RAND_status() which returns true if the PRNG is seeded and false if not.
* test for int and long int overflow (allows operation on 64-bit platforms)Skip Montanaro2001-10-171-2/+11
| | | | closes patch 470254
* Two merges from the mimelib project:Barry Warsaw2001-10-171-0/+34
| | | | | | | | | test_no_semis_header_splitter(): This actually should still split. test_no_split_long_header(): An example of an unsplittable line. test_no_semis_header_splitter(): Test for SF bug # 471918, Generator splitting long headers.
* Two merges from the mimelib project:Barry Warsaw2001-10-171-4/+35
| | | | | | | | _split_header(): Split on folding whitespace if the attempt to split on semi-colons failed. _split_header(): Patch by Matthew Cowles for fixing SF bug # 471918, Generator splitting long headers.
* Protect references to tp_descr_get and tp_dict with the appropriate test:Guido van Rossum2001-10-171-9/+14
| | | | PyType_HasFeature(t, Py_TPFLAGS_HAVE_CLASS).
* Oops. Catching OverflowError from int() doesn't help, since it raisesGuido van Rossum2001-10-171-2/+2
| | | | ValueError on too-large inputs.
* Remove a bunch of stuff that's no longer needed now that update_slot()Guido van Rossum2001-10-171-42/+20
| | | | | | and fixup_slot_dispatchers() always select the proper slot dispatcher. This affects slot_sq_item(), slot_tp_getattro(), and slot_tp_getattr_hook().
* The Python symtable module depends on .h files that setup.py doesn't track.Jeremy Hylton2001-10-172-1/+3
|
* Make sure the output lists are sorted, even if run with -r.Jeremy Hylton2001-10-171-0/+6
|
* Test utility to look for bad stacksize calculations.Jeremy Hylton2001-10-171-0/+43
|
* Vastly improved stacksize calculation.Jeremy Hylton2001-10-171-18/+51
| | | | | | | | | | | | | | | | | | | | | There are now no known cases where the compiler package computes a stack depth lower than the one computed by the builtin compiler. (To achieve this state, we had to fix bugs in both compilers :-). The chief change is to do the depth calculations with respect to basic blocks. The stack effect of block is calculated. Then the flow graph is traversed using breadth-first search to find the max weight path through the graph. Had to fix the StackDepthTracker to calculate the right info for several opcodes: LOAD_ATTR, CALL_FUNCTION (and friends), MAKE_CLOSURE, and DUP_TOPX. XXX Still need to handle free variables in MAKE_CLOSURE. XXX There are still a lot of places where the computed stack depth is larger than for the builtin compiler. These won't cause the interpreter to overflow the frame, but they waste space.
* Handle testlist_safe as if it were testlist.Jeremy Hylton2001-10-171-0/+4
|
* Remove unused convenience routine.Jeremy Hylton2001-10-171-19/+0
|
* For debug build, check that the stack pointer never exceeds the stack size.Jeremy Hylton2001-10-171-1/+3
|
* Fix computation of stack depth for classdef and closures.Jeremy Hylton2001-10-171-44/+44
| | | | | | | | | | | | | | | | | | | | | | Also minor tweaks to internal routines. Use PyCF_MASK instead of explicit list of flags. For the MAKE_CLOSURE opcode, the number of items popped off the stack depends on both the oparg and the number of free variables for the code object. Fix the code so it accounts for the free variables. In com_classdef(), record an extra pop to account for the STORE call after the BUILD_CLASS. Get rid of some commented out debugging code in com_push() and com_pop(). Factor string resize logic into helper routine com_check_size(). In com_addbyte(), remove redudant if statement after assert. (They test the same condition.) In several routines, use string macros instead of string functions.
* track addition of testlist_safe to GrammarJeremy Hylton2001-10-171-7/+8
|
* slot_sq_item(): ensure that self is an instance of the wrapper'sGuido van Rossum2001-10-171-3/+5
| | | | | | d_type before calling the wrapped function. fixup_slot_dispatchers(): fix indentation.
* SF patch #467430.Guido van Rossum2001-10-172-3/+5
| | | | | | - replace some log_error() calls with log_message() - flush self.rfile before forking too (hope this works on Windows)
* SF patch #471894: Makefile installs pydoc incorrectlyGuido van Rossum2001-10-171-0/+1
| | | | | Add --install-scripts=$(BINDIR) argument to "setup.py install" invocation.
* Folder.getlast(): avoid PyChecker warning.Guido van Rossum2001-10-171-1/+1
|
* Simplify and regularize docstrings. Also reformat so that each docstringTim Peters2001-10-171-52/+47
| | | | line fits in reasonable screen width.
* Trimmed trailing whitespace.Tim Peters2001-10-171-62/+62
|
* Removed more comments that didn't make much sense.Tim Peters2001-10-171-17/+1
| | | | Made the presence/absence of a semicolon after macros consistent.
* Removed obsolete comments about confused string refcount tricks (JeremyTim Peters2001-10-171-9/+4
| | | | | | | removed the tricks). Changed the ENTER/LEAVE_ZLIB macros so as not to create a new block (a new block is neither necessary nor helpful).
* Remove unused import; reported by Neal Norwitz.Fred Drake2001-10-171-1/+1
|