summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Fixed a typo and updated information about using the Times fonts whenFred Drake2002-07-081-4/+5
| | | | formatting PostScript documents. Reported by Dave Kuhlman.
* Added font-setting line (and associated comments) to the A4 version ofFred Drake2002-07-081-0/+12
| | | | | | | | this file; the lack of this was causing the A4 version of tutorial to use really bad Type 3 fonts instead of Type 1 fonts, which also bloated the file size substantially. I thought there was a SourceForge bug for this, but couldn't find it.
* Got rid of symlink target, and in stead have "make dontinstallmacsubtree"Jack Jansen2002-07-081-8/+8
| | | | | | which uses a .pth file to add the Mac/Lib from your source tree to sys.path. Also put the Python version number in a variable.Killed by signal 2.
* Change the "__ private" names to "_ protected"; this has been a pain forFred Drake2002-07-081-31/+31
| | | | subclassing so many times it should simply be changed.
* Got rid of special case for Macintosh realloc slowdown: Tim fixed the problem.Jack Jansen2002-07-082-6/+1
|
* Define WITH_PYMALLOC as 1Jack Jansen2002-07-081-1/+1
|
* PyNode_AddChild(): Do aggressive over-allocation when the number ofTim Peters2002-07-081-8/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | children gets large, to avoid severe platform realloc() degeneration in extreme cases (like test_longexp). Bugfix candidate. This was doing extremely timid over-allocation, just rounding up to the nearest multiple of 3. Now so long as the number of children is <= 128, it rounds up to a multiple of 4 but via a much faster method. When the number of children exceeds 128, though, and more space is needed, it doubles the capacity. This is aggressive over-allocation. SF patch <http://www.python.org/sf/578297> has Andrew MacIntyre using PyMalloc in the parser to overcome platform malloc problems in test_longexp on OS/2 EMX. Jack Jansen notes there that it didn't help him on the Mac, because the Mac has problems with frequent ever-growing reallocs, not just with gazillions of teensy mallocs. Win98 has no visible problems with test_longexp, but I tried boosting the test-case size and soon got "senseless" MemoryErrors out of it, and soon after crashed the OS: as I've seen in many other contexts before, while the Win98 realloc remains zippy in bad cases, it leads to extreme fragmentation of user address space, to the point that the OS barfs. I don't yet know whether this fixes Jack's Mac problems, but it does cure Win98's problems when boosting the test case size. It also speeds test_longexp in its unaltered state.
* - Got rid if WITH_CYCLE_GCJack Jansen2002-07-073-19/+6
| | | | | - Cleaned up Python banner string, so the normal build for MacPython 2.3 will have a short banner.
* Rearranged and added comments to object.h, to clarify many thingsTim Peters2002-07-073-82/+125
| | | | | | | | | | | that have taken me "too long" to reverse-engineer over the years. Vastly reduced the nesting level and redundancy of #ifdef-ery. Took a light stab at repairing comments that are no longer true. sys_gettotalrefcount(): Changed to enable under Py_REF_DEBUG. It was enabled under Py_TRACE_REFS, which was much heavier than necessary. sys.gettotalrefcount() is now available in a Py_REF_DEBUG-only build.
* Fix from SF patch #527518: proxy config with user+pass authentication.Jeremy Hylton2002-07-071-3/+8
| | | | Bug fix candidate.
* Removed 3 unlikely #includes that were only needed for the non-gc flavorTim Peters2002-07-071-5/+0
| | | | of the trashcan code.
* Fix for SF bug #432621: httplib: multiple Set-Cookie headersJeremy Hylton2002-07-073-4/+131
| | | | | | | | | | If multiple header fields with the same name occur, they are combined according to the rules in RFC 2616 sec 4.2: Appending each subsequent field-value to the first, each separated by a comma. The order in which header fields with the same field-name are received is significant to the interpretation of the combined field value.
* Trashcan cleanup: Now that cyclic gc is always there, the trashcanTim Peters2002-07-073-100/+96
| | | | | | | | | | | | | | | | | | | mechanism is no longer evil: it no longer plays dangerous games with the type pointer or refcounts, and objects in extension modules can play along too without needing to edit the core first. Rewrote all the comments to explain this, and (I hope) give clear guidance to extension authors who do want to play along. Documented all the functions. Added more asserts (it may no longer be evil, but it's still dangerous <0.9 wink>). Rearranged the generated code to make it clearer, and to tolerate either the presence or absence of a semicolon after the macros. Rewrote _PyTrash_destroy_chain() to call tp_dealloc directly; it was doing a Py_DECREF again, and that has all sorts of obscure distorting effects in non-release builds (Py_DECREF was already called on the object!). Removed Christian's little "embedded change log" comments -- that's what checkin messages are for, and since it was impossible to correlate the comments with the code that changed, I found them merely distracting.
* Removed WITH_CYCLE_GC #ifdef-ery. Holes:Tim Peters2002-07-0712-106/+22
| | | | | | + I'm not sure what to do about configure.in. Left it alone. + Ditto pyexpat.c. Fred or Martin will know what to do.
* Fix SF bug #575360Jeremy Hylton2002-07-061-0/+6
| | | | | | | Subclasses of Exception that define an __init__ must call Exception.__init__ or define self.args. Otherwise, str() will fail. Bug fix candidate.
* Handle HTTP/0.9 responses.Jeremy Hylton2002-07-061-19/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Section 19.6 of RFC 2616 (HTTP/1.1): It is beyond the scope of a protocol specification to mandate compliance with previous versions. HTTP/1.1 was deliberately designed, however, to make supporting previous versions easy.... And we would expect HTTP/1.1 clients to: - recognize the format of the Status-Line for HTTP/1.0 and 1.1 responses; - understand any valid response in the format of HTTP/0.9, 1.0, or 1.1. The changes to the code do handle response in the format of HTTP/0.9. Some users may consider this a bug because all responses with a sufficiently corrupted status line will look like an HTTP/0.9 response. These users can pass strict=1 to the HTTP constructors to get a BadStatusLine exception instead. While this is a new feature of sorts, it enhances the robustness of the code (be tolerant in what you accept). Thus, I consider it a bug fix candidate. XXX strict needs to be documented.
* Modifying EditorWindow causes breakpoints in that module to be removedKurt B. Kaiser2002-07-062-3/+11
| | | | | | from both sides of the split debugger. M Debugger.py M EditorWindow.py
* Decent burial for venerated ancestor (urn in attic)Kurt B. Kaiser2002-07-061-342/+0
|
* Remove dead code.Kurt B. Kaiser2002-07-061-38/+0
|
* 1. Test Sourceforge checkin, idle-dev postingKurt B. Kaiser2002-07-061-1/+0
| | | | 2. Remove extraneous comment
* Combine OldStackViewer.py with Debugger.py, removing dead code.unknown2002-07-053-290/+164
| | | | | | M Debugger.py : Incorporate StackViewer, NamespaceViewer classes M StackViewer.py : remove import OldStackViewer U OldStackViewer.py : remove file
* printlist(): Replaced the guts with a call to textwrap. Yay!Tim Peters2002-07-041-30/+19
|
* gc_list_move defined but not used.Michael W. Hudson2002-07-041-15/+0
|
* Docstring improvements. In particular, added docstrings for theGreg Ward2002-07-041-10/+27
| | | | | standalone wrap() and fill() functions. This should address the misunderstanding that led to SF bug 577106.
* Fix a typo.Thomas Heller2002-07-041-1/+1
|
* Revise asyncore documentation and document asynchat for the first time.Steve Holden2002-07-034-55/+347
|
* No need to be ambiguous about *how* extended slices and built-in typesFred Drake2002-07-031-11/+25
| | | | | | | have changed. Uncomment a heading so that PendingDeprecationWarning doesn't seem so out of place.