| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
than a pixel don't get drawn at all. If you're building long curves
made of such lines, this is a bad thing.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. When running in verbose mode, if any test happens to pass, print
a warning that the apparent success may be bogus (stdout isn't
compared in verbose mode). Been fooled by that too often.
2. When a test fails because the expected stdout doesn't match the
actual stdout, print as much of stdout as did match before the
first failing write. Else we get failures of the form "expected
'a', got 'b'" and a glance at the expected output file shows
500 instances of 'a' -- no idea where it failed, and, as in #1,
trying to run in verbose mode instead doesn't help because
stdout isn't compared then.
|
|
|
|
|
|
|
| |
the logic. That resulted in a bug. My previous getopt checkin repaired
the bug but left the sorting. The solution is significantly simpler if
we don't bother sorting at all, so this checkin gets rid of the sort and
the code that relied on it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Christmas present to myself: the bisect module didn't define what
happened if the new element was already in the list. It so happens
that it inserted the new element "to the right" of all equal elements.
Since it wasn't defined, among other bad implications it was a mystery
how to use bisect to determine whether an element was already in the
list (I've seen code that *assumed* "to the right" without justification).
Added new methods bisect_left and insort_left that insert "to the left"
instead; made the old names bisect and insort aliases for the new names
bisect_right and insort_right; beefed up docstrings to explain what
these actually do; and added a std test for the bisect module.
|
|
|
|
| |
Use types.UnicodeType if available, not type(u"").
|
|
|
|
|
|
|
| |
- implement hasAttribute and hasAttributeNS (1.7)
- Node.replaceChild(): Update the sibling nodes to point to newChild. Set
the .nextSibling attribute on oldChild instead of adding a .newChild
attribute (1.9).
|
|
|
|
| |
"most recent call last").
|
|
|
|
|
|
| |
https://sourceforge.net/bugs/?func=detailbug&bug_id=126863&group_id=5470
"getopt long option handling broken". Tossed the excruciating logic in
long_has_args in favor of something obviously correct.
|
|
|
|
| |
https://sourceforge.net/bugs/?func=detailbug&bug_id=126863&group_id=5470
|
| |
|
|
|
|
|
|
|
|
|
| |
information from the Expat library that is not part of its public API.
Do not print this information as the format of the string may (and will)
change as Expat evolves.
Add additional tests to make sure the ParserCreate() function raises the
right exceptions on illegal parameters.
|
|
|
|
| |
warning for that module, so suppress just that one warning.
|
| |
|
|
|
|
| |
beyond what's in _curses_panel
|
|
|
|
|
|
|
|
|
|
| |
give minidom.py behaviour that complies with the DOM Level 1 REC,
which says that when a node newChild is added to the tree, "if the
newChild is already in the tree, it is first removed."
pulldom.py is patched to use the public minidom interface instead
of setting .parentNode itself. Possibly this reduces pulldom's
efficiency; someone else will have to pronounce on that.
|
| |
|
|
|
|
| |
DISTUTILS_DEBUG set"
|
|
|
|
|
| |
warnings in this same module, to prevent getting a warning about
importing regex (we *know* that it's obsolete :-).
|
|
|
|
|
|
|
|
| |
so we can't use it.
While I'm at it, got rid of string module use. (Found several new
hard special cases for a hypothetical conversion tool: from string
import join, find, rfind; and a local assignment "find=string.find".)
|
| |
|
|
|
|
| |
exceptions but always print a warning message.
|
|
|
|
|
|
|
|
|
|
|
| |
required to work around restrictions on the arguments of
u.translate():
1) don't pass the deletions argument if it's empty;
2) convert table to Unicode if s is Unicode.
This fixes SF bug #124060.
|
|
|
|
|
|
| |
1) multi-char separator
2) multi-char separator that only occurs at last position
3) all of the above with mixed Unicode and 8-bit-string arguments
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bugs #126161 and 123634).
The solution doesn't use the unicode-escape encoding; that has other
problems (it seems not 100% reversible). Rather, it transforms the
input Unicode object slightly before encoding it using
raw-unicode-escape, so that the decoding will reconstruct the original
string: backslash and newline characters are translated into their
\uXXXX counterparts.
This is backwards incompatible for strings containing backslashes, but
for some of those strings, the pickling was already broken.
|
| |
|
|
|
|
| |
version of Python. ;-(
|
|
|
|
| |
with Python 1.5.2 for now.
|
| |
|
| |
|
|
|
|
| |
it much easier to see where things went wrong.
|
| |
|
|
|
|
| |
c.l.py.
|
| |
|
|
|
|
| |
string.digits are left.
|
|
|
|
|
| |
There should really be a little tool to help with this -- it's rather
tedious and there are lots of special cases!
|
|
|
|
|
|
|
|
|
| |
obsolete!).
Fix a bug in ftpwrapper.retrfile() where somehow ftplib.error_perm was
assumed to be a string. (The fix applies str().)
Also break some long lines and change the output from test() slightly.
|
|
|
|
| |
(Oh, look, it adds another little utility function for testing)
|
|
|
|
| |
This closes patch #102477.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make Node inherit from xml.dom.Node to pick up the NodeType values
defined by the W3C recommendation.
When raising AttributeError, be sure to provide the name of the attribute
that does not exist.
Node.normalize(): Make sure we do not allow an empty text node to survive
as the first child; update the sibling links properly.
_getElementsByTagNameNSHelper(): Make recursive calls using the right
number of parameters.
Attr.__setattr__(): Be sure to update name and nodeName at the same time
since they are synonyms for this node type.
AttributeList: Renamed to NamedNodeMap (AttributeList maintained as an
alias). Compute the length attribute dynamically to allow
the underlying structures to mutate.
AttributeList.item(): Call .keys() on the dictionary rather than using
self.keys() for performance.
AttributeList.setNamedItem(), .setNamedItemNS():
Added methods.
Text.splitText():
Added method.
DocumentType:
Added implementation class.
DOMImplementation:
Added implementation class.
Document.appendChild(): Do not allow a second document element to be added.
Document.documentElement: Find this dynamically, so that one can be
removed and another added.
Document.unlink(): Clear the doctype attribute.
_get_StringIO(): Only use the StringIO module; cStringIO does not support
Unicode.
|
|
|
|
|
|
|
|
|
| |
objects; uses minidom if one is not provided to the constructor.
parse(): Pick up the default_bufsize default value dynamically so that
the value in the module may be (meaningfully) changed at runtime.
This (partially) closes patch #102477.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
since the API documentation will state specifically that the specializations
must be used by the DOM implementations.
|
| |
|
|
|
|
|
| |
Use != instead of <> since <> is documented as "obsolescent".
Use "is" and "is not" when comparing with None or type objects.
|