Commit Graph

15523 Commits

Author SHA1 Message Date
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
Fredrik Lundh fad27aee11 Added 38,642 missing characters to the Unicode database (first-last
ranges) -- but thanks to the 2.0 compression scheme, this doesn't add
a single byte to the resulting binaries (!)

Closes bug #117524
2000-11-03 20:24:15 +00:00
Guido van Rossum 063ee7bbe6 Fix Makefile so at least it uses Python 2.0, and compiles out of the
box on Linux.
2000-11-03 12:58:09 +00:00
Thomas Wouters 2cffc7d420 Move our own getopt() implementation to _PyOS_GetOpt(), and use it
regardless of whether the system getopt() does what we want. This avoids the
hassle with prototypes and externs, and the check to see if the system
getopt() does what we want. Prefix optind, optarg and opterr with _PyOS_ to
avoid name clashes. Add new include file to define the right symbols. Fix
Demo/pyserv/pyserv.c to include getopt.h itself, instead of relying on
Python to provide it.
2000-11-03 08:18:37 +00:00
Fred Drake 9dce7b3737 Make sure we clean up the index data each time it is written by LaTeX. 2000-11-03 02:57:31 +00:00