summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* _dispatch(): Comment improvements.Barry Warsaw2002-07-111-3/+3
|
* subtype_resurrection(): Removed unused import.Tim Peters2002-07-111-1/+0
|
* Extend function() to support an optional closure argument.Jeremy Hylton2002-07-112-12/+89
| | | | Also, simplify some ref counting for other optional arguments.
* subtype_resurrection(): The test suite with -l properly reported theTim Peters2002-07-111-2/+13
| | | | immortal object here as a leak. Made the object mortal again at the end.
* Don't stomp on an exception set by PyCell_Get()Jeremy Hylton2002-07-111-1/+4
|
* I trust the parser accelators are getting added :-).Jeremy Hylton2002-07-111-6/+0
|
* Repaired optimistic comment in new test.Tim Peters2002-07-111-4/+3
|
* Added a test that provokes the hypothesized (in my last checkin comment)Tim Peters2002-07-111-0/+20
| | | | | | | | | | | debug-build failure when an instance of a new-style class is resurrected by a __del__ method -- we simply never had any code that tried this. This is already fixed in 2.3 CVS. In 2.2.1, it blows up via Fatal Python error: GC object already in linked list I'll fix it in 2.2.1 CVS next.
* object.h special-build macro minefield: renamed all the new lexicalTim Peters2002-07-116-157/+112
| | | | | | | | | | | | | | | | | | | | | | | | | helper macros to something saner, and used them appropriately in other files too, to reduce #ifdef blocks. classobject.c, instance_dealloc(): One of my worst Python Memories is trying to fix this routine a few years ago when COUNT_ALLOCS was defined but Py_TRACE_REFS wasn't. The special-build code here is way too complicated. Now it's much simpler. Difference: in a Py_TRACE_REFS build, the instance is no longer in the doubly-linked list of live objects while its __del__ method is executing, and that may be visible via sys.getobjects() called from a __del__ method. Tough -- the object is presumed dead while its __del__ is executing anyway, and not calling _Py_NewReference() at the start allows enormous code simplification. typeobject.c, call_finalizer(): The special-build instance_dealloc() pain apparently spread to here too via cut-'n-paste, and this is much simpler now too. In addition, I didn't understand why this routine was calling _PyObject_GC_TRACK() after a resurrection, since there's no plausible way _PyObject_GC_UNTRACK() could have been called on the object by this point. I suspect it was left over from pasting the instance_delloc() code. Instead asserted that the object is still tracked. Caution: I suspect we don't have a test that actually exercises the subtype_dealloc() __del__-resurrected-me code.
* 1. Prevent Undo before IOmark in PyShell.PyShellKurt B. Kaiser2002-07-112-13/+22
| | | | | 2. Consolidate Undo code in EditorWindow.EditorWindow 3. Remove Formatting and Run menus from PyShell
* Replace rare tabs with 4 spaces, assuming that's what was intended.Guido van Rossum2002-07-111-7/+7
|
* Note the existence of SpecialBuilds.txt.Guido van Rossum2002-07-111-0/+1
|
* Noted the releases in which COUNT_ALLOCS can blow up.Tim Peters2002-07-111-0/+1
|
* Recorded the introduction release for each gimmick, as best I was able toTim Peters2002-07-111-10/+18
| | | | | reconstruct that info. Filled out some sketchy explanations of pragmatics.
* Some clarifications.Tim Peters2002-07-111-3/+9
|
* Documented PYMALLOC_DEBUG. This completes primary coverage of all theTim Peters2002-07-102-1/+53
| | | | | "special builds" I ever use. If you use others, document them here, or don't be surprised if I rip out the code for them <0.5 wink>.
* Document gc.get_objects().Fred Drake2002-07-101-0/+6
| | | | Closes SF bug #578308.
* Clarified sys.getobjects() pragmatics.Tim Peters2002-07-101-6/+11
|
* Removed no-longer-relevant explanation of "alpha" builds.Tim Peters2002-07-101-8/+0
|
* Uglified the new Py_REF_DEBUG (etc) lexical helper macro definitions soTim Peters2002-07-101-21/+25
| | | | | | | that their uses can be prettier. I've come to despise the names I picked for these things, though, and expect to change all of them -- I changed a bunch of other files to use them (replacing #ifdef blocks), but the names were so obscure out of context that I backed that all out again.
* Remove the unused, and therefore distracting, "Alpha" build configurations.Mark Hammond2002-07-108-1962/+45
|
* assertHasattr(): Made failure msg better than useless.Tim Peters2002-07-101-1/+4
| | | | test_others(): httplib failed in two new ways. Blame Thumb Boy <wink>.
* Fix for SF bug 579107.Jeremy Hylton2002-07-091-36/+88
| | | | | | | | | | The recent SSL changes resulted in important, but subtle changes to close() semantics. Since builtin socket makefile() is not called for SSL connections, we don't get separately closeable fds for connection and response. Comments in the code explain how to restore makefile semantics. Bug fix candidate.
* Typo repair.Tim Peters2002-07-091-1/+1
|
* Moved COUNT_ALLOCS down and finished writing its description.Tim Peters2002-07-091-6/+45
|
* Checkin comment.Tim Peters2002-07-091-1/+2
|
* Actualized descrintro.html URL.Guido van Rossum2002-07-091-1/+1
|
* New file to try to document the "special build" preprocessor symbols.Tim Peters2002-07-091-0/+76
| | | | | Incomplete. Add to it! Once it settles down, it would make a nice appendix in the real docs.
* _Py_AskYesNo(): Removed this function. It was defined only in aTim Peters2002-07-091-20/+0
| | | | Py_TRACE_REFS build, but wasn't referenced.
* ndiffAssertEqual(): Stringify the arguments before runningBarry Warsaw2002-07-091-4/+16
| | | | | | | .splitlines() on them, since they may be Header instances. test_multilingual(), test_header_ctor_default_args(): New tests of make_header() and that Header can take all default arguments.
* make_header(): New function to take the output of decode_header() andBarry Warsaw2002-07-091-6/+45
| | | | | | | | | | | create a Header instance. Closes feature request #539481. Header.__init__(): Allow the initial string to be omitted. __eq__(), __ne__(): Support rich comparisons for equality of Header instances withy Header instances or strings. Also, update a bunch of docstrings.
* Fix SF Bug 564931: compile() traceback must include filename.Thomas Heller2002-07-095-4/+55
|
* Note that unicode() can raise LookupError for unknown codecs.Fred Drake2002-07-091-1/+2
| | | | Closes SF bug #513666.
* Remove unused variable.Fred Drake2002-07-091-1/+0
|
* The Py_REF_DEBUG/COUNT_ALLOCS/Py_TRACE_REFS macro minefield: addedTim Peters2002-07-097-31/+58
| | | | | | | | | | | | | | | | | | | | | more trivial lexical helper macros so that uses of these guys expand to nothing at all when they're not enabled. This should help sub- standard compilers that can't do a good job of optimizing away the previous "(void)0" expressions. Py_DECREF: There's only one definition of this now. Yay! That was that last one in the family defined multiple times in an #ifdef maze. Py_FatalError(): Changed the char* signature to const char*. _Py_NegativeRefcount(): New helper function for the Py_REF_DEBUG expansion of Py_DECREF. Calling an external function cuts down on the volume of generated code. The previous inline expansion of abort() didn't work as intended on Windows (the program often kept going, and the error msg scrolled off the screen unseen). _Py_NegativeRefcount calls Py_FatalError instead, which captures our best knowledge of how to abort effectively across platforms.
* Anthony Baxter's patch for non-strict parsing. This adds a `strict'Barry Warsaw2002-07-091-24/+71
| | | | | | | | | | | | | | | | | argument to the constructor -- defaulting to true -- which is different than Anthony's approach of using global state. parse(), parsestr(): Grow a `headersonly' argument which stops parsing once the header block has been seen, i.e. it does /not/ parse or even read the body of the message. This is used for parsing message/rfc822 type messages. We need test cases for the non-strict parsing. Anthony will supply these. _parsebody(): We can get rid of the isdigest end-of-line kludges, although we still need to know if we're parsing a multipart/digest so we can set the default type accordingly.
* Add the concept of a "default type". Normally the default type isBarry Warsaw2002-07-091-0/+22
| | | | | | | | | | text/plain but the RFCs state that inside a multipart/digest, the default type is message/rfc822. To preserve idempotency, we need a separate place to define the default type than the Content-Type: header. get_default_type(), set_default_type(): Accessor and mutator methods for the default type.
* __init__(): Don't attach the subparts if its an empty tuple. If theBarry Warsaw2002-07-091-2/+5
| | | | boundary was given in the arguments, call set_boundary().
* clone(): A new method for creating a clone of this generator (forBarry Warsaw2002-07-091-27/+24
| | | | | | | | | | | | | recursive generation). _dispatch(): If the message object doesn't have a Content-Type: header, check its default type instead of assuming it's text/plain. This makes for correct generation of message/rfc822 containers. _handle_multipart(): We can get rid of the isdigest kludge. Just print the message as normal and everything will work out correctly. _handle_mulitpart_digest(): We don't need this anymore either.
* __init__(): Be sure to set the default type to message/rfc822.Barry Warsaw2002-07-091-0/+2
|
* _structure(): A handy little debugging aid that I don't (yet) intendBarry Warsaw2002-07-091-0/+10
| | | | to make public, but that others might still find useful.
* TestEmailBase.ndiffAssertEqual(): Python 2.1's difflib doesn't have anBarry Warsaw2002-07-091-32/+186
| | | | | | | | | | ndiff function, so just alias it to assertEqual in that case. Various: make sure all openfile()/read()'s are wrapped in try/finally's so the file gets closed. A bunch of new tests checking the corner cases for multipart/digest and message/rfc822.
* New files which test the corners of multipart/message andBarry Warsaw2002-07-092-0/+48
| | | | message/rfc822 compliance.
* With the addition of Oleg's support for RFC 2231, it's time to bumpBarry Warsaw2002-07-091-1/+1
| | | | the version number to 2.1.
* SF bug 578752: COUNT_ALLOCS vs heap typesTim Peters2002-07-082-0/+17
| | | | | | | Repair segfaults and infinite loops in COUNT_ALLOCS builds in the presence of new-style (heap-allocated) classes/types. Bugfix candidate. I'll backport this to 2.2. It's irrelevant in 2.1.
* The readme file said that OSX Carbon modules were only built forJack Jansen2002-07-081-29/+41
| | | | | | | -enable-framework builds, but setup.py built them anyway. Fixed. Also normalized whitespace. Bugfix candidate.
* PyNode_AddChild() and fancy_roundup(): Be paranoid about int overflow.Tim Peters2002-07-081-2/+7
|
* Remove the configure option for disabling the reference cycle GC.Neil Schemenauer2002-07-082-42/+1
|
* Fix typo reported by Kent Engström, and a bunch of broken markup.Fred Drake2002-07-081-11/+11
|
* Fix typo: "an Unicode string" --> "a Unicode string"Fred Drake2002-07-081-2/+2
| | | | Clarify the return value when the parameter is a Unicode object.