Commit graph

16627 commits

Author SHA1 Message Date
Fred Drake
0ac000cd54 Updates to reflect pending changes to the XML conversion process. 2000-11-22 16:42:37 +00:00
Fred Drake
78489a362e Do not use \verb in the Python documentation -- it makes parsing the LaTeX
sources more difficult and other tools do not always work well with it.
Since we have better markup for this case, just fix it.
2000-11-22 16:06:16 +00:00
Fred Drake
b7f0cef54d Update test output. 2000-11-21 22:03:09 +00:00
Fred Drake
a1bde802f1 testInsertBefore(): Rewritten to actually test insertBefore() somewhat.
testAAA(),
testAAB():  Added checks that the results are right.

testTooManyDocumentElements():  Added code to actually test this.

testCloneElementDeep()
testCloneElementShallow():  Filled these in with test code.

_testCloneElementCopiesAttributes(),
_setupCloneElement():  Helper functions used with the other
        testCloneElement*() functions.

testCloneElementShallowCopiesAttributes():  No longer a separate test;
        _setupCloneElement() uses _testCloneElementCopiesAttributes() to
        test that this is always done.

testNormalize():  Added to check Node.normalize().
2000-11-21 22:02:43 +00:00
Fred Drake
4ccf4a1e8a Reduce the visibility of imported modules for cleaner "from ... import *"
behavior.

Added support for the Attr.ownerElement attribute.

Everywhere:  Define constant object attributes in the classes rather than
on the instances during object construction.  This reduces the amount of
work needed for object construction and destruction; these need to be
lightweight operations on a DOM.

Node._get_firstChild(),
Node._get_lastChild():  Return None if there are no children (required for
        compliance with DOM level 1).

Node.insertBefore():  If refChild is None, append the new node instead of
        failing (required for compliance).  Also, update the sibling
        relationships.  Return the inserted node (required for compliance).

Node.appendChild():  Update the parent of the appended node.

Node.replaceChild():  Actually replace the old child!  Update the parent
        and sibling relationships of both the old and new children.  Return
        the replaced child (required for compliance).

Node.normalize():  Implemented the normalize() method.  Required for
        compliance, but missing from the release.  Useful for joining
        adjacent Text nodes into a single node for easier processing.

Node.cloneNode():  Actually make this work.  Don't let the new node share
        the instance __dict__ with the original.  Do proper recursion if
        doing a "deep" clone.  Move the attribute cloning out of the base
        class, since only Element is supposed to have attributes.

Node.unlink():  Simplify handling of child nodes for efficiency, and
        remove the attribute handling since only Element nodes support
        attributes.

Attr.cloneNode():  Extend this to clear the ownerElement attribute in
        the clone.

AttributeList.items(),
AttributeList.itemsNS():  Slight performance improvement (avoid lambda).

Element.cloneNode():  Extend Node.cloneNode() with support for the
        attributes.  Clone the Attr objects after creating the underlying
        clone.

Element.unlink():  Clean out the attributes here instead of in the base
        class, since this is the only class that will have them.

Element.toxml():  Adjust to create only one AttributeList instance; minor
        efficiency improvement.

_nssplit():  No need to re-import string.

Document.__init__():  No longer needed once constant attributes are
        initialized in the class itself.

Document.createElementNS(),
Document.createAttributeNS():  Use the defined constructors rather than
        directly access the classes.

_get_StringIO():  New function.  Create an output StringIO using the most
        efficient available flavor.

parse(),
parseString():  Import pulldom here instead of in the public namespace of
        the module.
2000-11-21 22:02:22 +00:00
Jack Jansen
707e964734 Added MathLib and InterfaceLib. Added Python:Include so #include "package/file.h" works. Moved bits around so now at least Numeric with Distutils builds and instals. 2000-11-19 21:53:15 +00:00
Jack Jansen
6f484cb25a Close the project after building it, so that building umpteen projects doesn't keep all the projects open. 2000-11-19 21:51:06 +00:00
Andrew M. Kuchling
620ec9d1ca Document the new setupterm() function 2000-11-18 17:57:33 +00:00
Andrew M. Kuchling
26cc66fe6a Patch #102412 from mwh: Add support for the setupterm() function, to
initialize the terminal without necessarily calling initscr()
2000-11-18 17:45:59 +00:00
Fred Drake
17383b9ad7 Added information about the %r string formatting conversion. Added note
about the interpretation of radix 0 for int(), and added description of
the optional radix argument for long().  Based on comments from Reuben
Sumner <rasumner@users.sourceforge.net>.

This closes bug #121672.
2000-11-17 19:44:14 +00:00
Fred Drake
977fe96a05 Oops, back out change committed by accident! This is not ready, and
breaks things.
2000-11-17 19:09:34 +00:00
Fred Drake
2ed27d3189 Note that readframes() returns data in linear format, even if the original
is encoded in u-LAW format.  Based on suggestion from Anthony Baxter
<anthony_baxter@users.sourceforge.net>.

This closes bug #122273.
2000-11-17 19:05:12 +00:00
Fred Drake
aa126e1e21 Corrected a number of typos reported by Gilles Civario
<gcivario@users.sourceforge.net>.

This closes bug #122562.
2000-11-17 18:20:33 +00:00
Fred Drake
d99e534de6 Fixed typos and bug in the second example, reported by Scott Schram
<schram@users.sourceforge.net>.

This closes bug #122236.
2000-11-17 18:04:03 +00:00
Guido van Rossum
4526f2a230 A solution to the classic N queens problem. 2000-11-16 21:25:51 +00:00
Tim Peters
a3100de9ce Fix for SF bug 122176: Error in rotor module documentation. 2000-11-14 21:43:01 +00:00
Jack Jansen
00429dba08 Getting rid of 68K targets.
Started to rename projects to the de-facto standard .mcp extension.
2000-11-14 21:42:11 +00:00
Tim Peters
cc78e47bcd Verify that str(a) and repr(a) don't blow up (part of SF patch 102068). 2000-11-14 21:36:07 +00:00
Tim Peters
102e457a01 SF bug 119622: compile errors due to redundant atof decls. I don't understand
the bug report (for details, look at it), but agree there's no need for Python
to declare atof itself:  we #include stdlib.h, and ANSI C sez atof is declared
there already.
2000-11-14 20:44:53 +00:00
Jack Jansen
2e42bddbe9 Added a note about removing preferences and .pyc files when you move the Python installation. 2000-11-14 20:37:37 +00:00
Guido van Rossum
2595a837b5 Typo for Mac code, fixing SF bug 12195. 2000-11-13 20:30:57 +00:00
Guido van Rossum
1bff883ac0 Allow new.function() called with explicit 3rd arg of None, as
documented, and as is reasonable (since it is optional, but there's
another argument following it that may require you to specify a
value).  This solves SF bug 121887.
2000-11-13 20:29:20 +00:00
Guido van Rossum
ecaa77798b Added _HAVE_BSDI and __APPLE__ to the list of platforms that require a
hack for TELL64()...  Sounds like there's something else going on
really.  Does anybody have a clue I can buy?
2000-11-13 19:48:22 +00:00
Guido van Rossum
128bcf4520 Fix syntax error. Submitted by Bill Bumgarner. Apparently this is
still in use, for Apple Mac OSX.
2000-11-13 19:45:45 +00:00
Guido van Rossum
6042741948 Rip out DOS and Win16 support. 2000-11-13 17:29:30 +00:00
Guido van Rossum
215c340aa3 Rip out DOS-8x3 support. 2000-11-13 17:26:32 +00:00
Guido van Rossum
1bb7734c7e Rip out Win3.1 and DOS support 2000-11-13 17:24:13 +00:00
Guido van Rossum
56baca328f Removing DOS 8x3 support 2000-11-13 17:11:45 +00:00
Greg Ward
f6fc875831 Jack Jansen: added 'get_command_list()' method, and Mac-specific code to
use it to generate a dialog for users to specify the command-line (because
providing a command-line with MacPython is so awkward).
2000-11-11 02:47:11 +00:00
Jack Jansen
8063cbf42b No reason to keep "Run as Python" in binhex form anymore, just put the binary in the repository. 2000-11-10 22:38:31 +00:00
Tim Peters
7c1cb46126 Fix for SF bug 117402, crashes on str(array) and repr(array). This was an
unfortunate consequence of somebody switching from PyArg_Parse to
PyArg_ParseTuple but without changing the argument from a NULL to a tuple.
2000-11-10 19:04:19 +00:00
Guido van Rossum
e5cd584b9f Committing autoconf output for
Fred.
2000-11-09 21:14:40 +00:00
Guido van Rossum
a66eed62fd Implement the suggestion of bug_id=122070: surround tell() call with
try/except.
2000-11-09 18:05:24 +00:00
Barry Warsaw
17bfef5860 SMTP.connect(): If the socket.connect() raises a socket.error, be sure
to call self.close() to reclaim some file descriptors, the reraise the
exception.  Closes SF patch #102185 and SF bug #119833.
2000-11-08 22:19:47 +00:00
Fred Drake
8a41d20b05 Remove AC_C_INLINE test from configure.in, since the only place the symbol
occurs in the Python sources appears to be as text in comments.  We do not
want to interfere with C++ keywords!

This closes bug #119851.
2000-11-08 20:22:59 +00:00
Fred Drake
b046b76322 Added test cases to detect regression on SourceForge bug #121965. 2000-11-08 19:51:25 +00:00
Fred Drake
0b796fa5c5 Fixed support for containment test when a negative step is used; this
*really* closes bug #121965.

Added three attributes to the xrange object: start, stop, and step.  These
are the same as for the slice objects.
2000-11-08 19:42:43 +00:00
Fred Drake
a91e1650aa In the containment test, get the boundary condition right. ">" was used
where ">=" should have been.

This closes bug #121965.
2000-11-08 18:37:05 +00:00
Guido van Rossum
f4e13a4563 Add 1994 Coroutine module by Tim Peters 2000-11-08 15:17:49 +00:00
Jack Jansen
704925c774 Last CW Pro 5.3 projects. 2000-11-07 21:07:33 +00:00
Fred Drake
da7b5bedb3 More names... 2000-11-07 16:09:53 +00:00
Greg Ward
a1c4da2481 Fix for SF bug #117606:
- when compiling with GCC on Solaris, use "$(CC) -shared" instead
    of "$(CC) -G" to generate .so files
  - when compiling with GCC on any platform, add "-fPIC" to OPT
    (without this, "$(CC) -shared" dies horribly)
2000-11-07 15:44:21 +00:00
Andrew M. Kuchling
f16e0ed76c Patch #102278: add tparm() function to _curses module 2000-11-07 03:35:24 +00:00
Fred Drake
a776cea71a Document the proper exception to be raised by I/O operations on closed
files; error reported by Ng Pheng Siong <ngps@post1.com>.

Make sure that various special object attributes are properly indexed.
2000-11-06 20:17:37 +00:00
Barry Warsaw
7fed217515 This fixes several bug reports concering memory bloating during large
file uploads.

In response to SF bugs 110674 and 119806, and discussions on
python-dev, we are removing the self.lines attribute from the
FieldStorage class.  Specifically touched where methods __init__(),
read_lines_to_eof(), and skip_lines().

No one can remember why self.lines was added.  Technically, it's part
of the public interface for the class, but it was never documented.
It's possible clever or nosy code will break because of this, but it
was decided to remove it and see who complains.

This resolution also closes the second half of the cgi.py entry in PEP
42.  The first half of that PEP concerns specifically binary file
uploads, where there may be no end-of-line marker for a very long
time.  This patch does not address that issue.
2000-11-06 18:46:09 +00:00
Jeremy Hylton
4ebf3be407 a few small optimizations that seem to give a 5-10% speedup; the
further optimization of com_node makes the most difference.
2000-11-06 16:03:52 +00:00
Jeremy Hylton
eefaeb78b3 move pruneNext method to correct object (doh!) 2000-11-06 03:47:39 +00:00
Jeremy Hylton
314e3fb215 Change the graph structure to contain the code generator object for
embedded code objects (e.g. functions) rather than the generated code
object.  This change means that the compiler generates code for
everything at the end, rather then generating code for each function
as it finds it.  Implementation note: _convert_LOAD_CONST in
pyassem.py must be change to call getCode().

Other changes follow.  Several changes creates extra edges between
basic blocks to reflect control flow for loops and exceptions.  These
missing edges had gone unnoticed because they do not affect the
current compilation process.

pyassem.py:
    Add _enable_debug() and _disable_debug() methods that print
    instructions and blocks to stdout as they are generated.

    Add edges between blocks for instructions like SETUP_LOOP,
    FOR_LOOP, etc.

    Add pruneNext to get rid of bogus edges remaining after
    unconditional transfer ops (e.g. JUMP_FORWARD)

    Change repr of Block to omit block length.

pycodegen.py:
    Make sure a new block is started after FOR_LOOP, etc.

    Change assert implementation to use RAISE_VARARGS 1 when there is
    no user-specified failure output.

misc.py:
    Implement __contains__ and copy for Set.
2000-11-06 03:43:11 +00:00
Jeremy Hylton
a59ac0a7df If a function contains a doc string, remove the doc string node from
the function's body.

If assert is used without an error message, make the AST node None
rather than Name('None').
2000-11-06 03:33:52 +00:00
Mark Hammond
d3d7bb1c31 Application of [ Patch #102226 ] freeze/modulefinder.py should use _winreg, not win32api 2000-11-06 02:49:27 +00:00