| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Use a slightly different strategy to determine when not to call the line
trace function. This removes the need for the RETURN_NONE opcode, so
that's gone again. Update docs and comments to match.
Thanks to Neal and Armin!
Also add a test suite. This should have come with the original patch...
|
|
|
|
| |
course.
|
|
|
|
|
|
|
|
|
| |
because it added it to 12 PM too. 12 PM should be hour 12 not hour
24.
Also cleaned up a minor style nit. There are more style problems in
this file that I'll clean up next (but I didn't want them to overwhelm
the substance of this fix).
|
|
|
|
|
|
|
|
| |
localtime, which in -0400 is 12 noon GMT. The bug boiled down to
broken conversion of 12 PM to hour 12 for the '%I %p' format string.
Added a test for this specific condition: Strptime12AMPMTests. Fix to
_strptime.py coming momentarily.
|
|
|
|
| |
Uses the fast update() method when a dictionary is available.
|
|
|
|
|
|
| |
the tokenize module by test_tokenize.py. The FutureWarnings only
appeared during installation, and I've figured out a way to suppress
those in a different way.
|
|
|
|
| |
of FutureWarnings. Added a comment explaining the situation.
|
|
|
|
| |
when given its own type as an argument.
|
|
|
|
|
|
|
|
|
|
|
| |
sure these are the best fixes.
- Test maxint-1 against the negative octal constant -020000000000
- Comment out the tests for oct -1 and hex -1, since 037777777777 and
0xffffffff raise FutureWarnings now and in Python 2.4 those
constants will produce positive values, not negative values. So the
existing test seems to test something that won't be true in 2.4.
|
|
|
|
| |
trailing `L's.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Someone else may want to tackle the mutating operations similarly.
|
| |
|
| |
|
| |
|
|
|
|
| |
cardinality 500; and the smaller the intersection, the bigger the speedup).
|
| |
|
|
|
|
|
|
| |
meanings. I did not add new, e.g., ispropersubset() methods; we're
going nuts on those, and, e.g., there was no "friendly name" for
== either.
|
|
|
|
| |
<, <=, etc methods too.
|
| |
|
| |
|
| |
|
|
|
|
| |
should never be used in tests. Repaired dozens, but more is needed.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
instead.
2. Preserve the Idle client's listening socket for reuse with the
fresh subprocess.
3. Remove some unused rpc code, comment out additional unused code.
Modified Files:
ScriptBinding.py rpc.py run.py
|
|
|
|
|
| |
Modified Files:
rpc.py
|
|
|
|
|
|
|
|
| |
underlying dictionaries, there were no reasonable use cases (lexicographic
sorting of a list of sets is somewhat esoteric). Frees the operators
for other uses (such as strict subset and superset comparisons).
Updated documentation and test suite accordingly.
|
|
|
|
|
| |
a dict instead. (Alas, using a Set would be slower instead of
faster.)
|
|
|
|
|
|
|
|
|
|
|
|
| |
the inplace operators. The strategy is to have the operator overloading
code do the work and then to define equivalent method calls which rely on
the operators. The changes facilitate proper application of TypeError
and NonImplementedErrors.
Added corresponding tests to the test suite to make sure both the operator
and method call versions get exercised.
Add missing tests for difference_update().
|
|
|
|
|
|
| |
immediately after the comparison, there in no use in caching the hashcode.
The test, 'if self._hashcode is None', never fails. Removing the caching
saves a few lines and a little time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2. Replaced calls to Set([]) with Set() -- Timbot's suggestion
3. Fixed subtle bug in sets of sets:
The following code did not work (will add to test suite):
d = Set('d')
s = Set([d]) # Stores inner set as an ImmutableSet
s.remove(d) # For comparison, wraps d in _TemporarilyImmutableSet
The comparison proceeds by computing the hash of the
_TemporarilyImmutableSet and finding it in the dictionary.
It then verifies equality by calling ImmutableSet.__eq__()
and crashes from the binary sanity check.
The problem is that the code assumed equality would be checked
with _TemporarilyImmutableSet.__eq__().
The solution is to let _TemporarilyImmutableSet derive from BaseSet
so it will pass the sanity check and then to provide it with the
._data element from the wrapped set so that ImmutableSet.__eq__()
will find ._data where it expects.
Since ._data is now provided and because BaseSet is the base class,
_TemporarilyImmutableSet no longer needs .__eq__() or .__ne__().
Note that inheriting all of BaseSet's methods is harmless because
none of those methods (except ones starting with an underscore)
can mutate the .data element. Also _TemporarilyImmutableSet is only
used internally as is not otherwise visible.
|
|
|
|
| |
arbitrary. I already changed the docs for this.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
wrong thing for a unicode subclass when there were zero string
replacements. The example given in the SF bug report was only one way
to trigger this; replacing a string of length >= 2 that's not found is
another. The code would actually write outside allocated memory if
replacement string was longer than the search string.
(I wonder how many more of these are lurking? The unicode code base
is full of wonders.)
Bugfix candidate; this same bug is present in 2.2.1.
|
|
|
|
|
| |
the string/unicode method .replace() with a zero-lengt first argument.
Inyeol contributed tests for this too.
|
| |
|
| |
|
|
|
|
| |
the element if necessary. Fixed by calling self.remove(element).
|
|
|
|
| |
to the list of places where pydoc looks for HTML documents.
|
|
|
|
|
|
| |
rather than a number of approximating regular expressions.
Alas, it is 3-4 times slower. Let that be a challenge for the
tokenize module.
|
|
|
|
| |
any non-whitespace characters adjacent, not just \w.
|