- 19 Sep, 2001 9 commits
-
-
Marc-André Lemburg authored
-
Marc-André Lemburg authored
-
Marc-André Lemburg authored
-
Martin v. Löwis authored
-
Martin v. Löwis authored
-
Martin v. Löwis authored
-
Guido van Rossum authored
float (compare the recent checkin to complex). Added tests for these.
-
Guido van Rossum authored
instance. Split a string comparison test in two halves, replacing "a==b==a" with separate tests for a==b and b==a. (Reason: while experimenting, this test failed, and I wanted to know if it was the first or the second == operator that failed.)
-
Guido van Rossum authored
complex_coerce() would never be called with a complex argument, because PyNumber_Coerce[Ex] doesn't bother calling the type's coercion method if the values already have the same type. But now, of course, it's possible to pass an instance of a complex *subtype*, and those must be accepted.
-
- 18 Sep, 2001 24 commits
-
-
Tim Peters authored
with subsclasses of complex and string.
-
Guido van Rossum authored
-
Fredrik Lundh authored
\g<x> group reference followed by a character escape (also restructured a few things on the way to fixing #449000)
-
Guido van Rossum authored
hack, and it's even more disgusting than a PyInstance_Check() call. If the tp_compare slot is the slot used for overrides in Python, it's always called. Add some tests that show what should work too.
-
Guido van Rossum authored
skipped test -- the print command already supplies a space.
-
Andrew M. Kuchling authored
can be found.
-
Andrew M. Kuchling authored
-
Martin v. Löwis authored
-
Guido van Rossum authored
-
Guido van Rossum authored
only safely call a type's tp_compare slot if the second argument is also an instance of the same type. I hate to think what e.g. int_compare() would do with a second argument that's a float!
-
Fredrik Lundh authored
#462270: sub-tle difference between pre.sub and sre.sub. PRE ignored an empty match at the previous location, SRE didn't. also synced with Secret Labs "sreopen" codebase.
-
Fred Drake authored
-
Guido van Rossum authored
(Went through the logs looking for nuggets. This is what I found.)
-
Guido van Rossum authored
boundary. Fixed by keeping a readahead buffer containing the next line. XXX We have no test suite for this. Maybe the new email package will help?
-
Guido van Rossum authored
upon attempted attribute assignment. Caught by MWH, SF bug #462522.
-
Tim Peters authored
on file.__methods__. Since the docs say "This module will become obsolete in a future release", this is just a quick hack to stop it from blowing up. If you care about this module, test it! It doesn't make much sense on Windows.
-
Guido van Rossum authored
(AttributeError, TypeError) -- the leniency wasn't needed everywhere.
-
Guido van Rossum authored
descriptors for each attribute. The getattr() implementation is similar to PyObject_GenericGetAttr(), but delegates to im_self instead of looking in __dict__; I couldn't do this as a wrapper around PyObject_GenericGetAttr(). XXX A problem here is that this is a case of *delegation*. dir() doesn't see exactly the same attributes that are actually defined; e.g. if the delegate is a Python function object, it supports attributes like func_code etc., but these are not visible to dir(); on the other hand, dynamic function attributes (stored in the function's __dict__) *are* visible to dir(). Maybe we need a mechanism to tell dir() about the delegation mechanism? I vaguely recall seeing a request in the newsgroup for a more formal definition of attribute delegation too. Sigh, time for a new PEP.
-
Guido van Rossum authored
to raise TypeError. In practice, a disallowed attribute assignment can raise either TypeError or AttributeError (and it's unclear which is better). So allow either. (Yes, this is in anticipation of a code change that switches the exception raised. :-) - Add a utility function, cantset(), which verifies that setting a particular attribute to a given value is disallowed, and also that deleting that same attribute is disallowed. Use this in the test_func_*() tests. - Add a new set of tests that test conformance of various instance method attributes. (Also in anticipation of code that changes their implementation.)
-
Guido van Rossum authored
structmember.h, which was missing (and caused me a snide comment by Tim when he fixed something I missed because of the missed dependency :-).
-
Tim Peters authored
-
Tim Peters authored
Add it back to the list of tests we expect to skip on Windows.
-
Tim Peters authored
-
Tim Peters authored
definition. Guido, what else did you forget to check in <wink>?
-
- 17 Sep, 2001 7 commits
-
-
Tim Peters authored
Also raise TestSkipped (intead of appearing to fail) if the import lock is held.
-
Guido van Rossum authored
This uses the new "restricted" feature of structmember, and getset descriptors for some of the type checks.
-
Jeremy Hylton authored
-
Jeremy Hylton authored
compile() becomes replacement for builtin compile() compileFile() generates a .pyc from a .py both are exported in __init__ compiler.parse() gets optional second argument to specify compilation mode, e.g. single, eval, exec Add AbstractCompileMode as parent class and Module, Expression, and Interactive as concrete subclasses. Each corresponds to a compilation mode. THe AbstractCompileMode instances in turn delegate to CodeGeneration subclasses specialized for their particular functions -- ModuleCodeGenerator, ExpressionCodeGeneration, InteractiveCodeGenerator.
-
Jeremy Hylton authored
-
Jeremy Hylton authored
The argument properties are ordered from easiest to hardest. The harder the arg, the more complicated that code that must be generated to return it from getChildren() and/or getChildNodes(). The old calculation routine was bogus, because it always set hardest_arg to the hardness of the last argument. Now use max() to always set it to the hardness of the hardest argument.
-
Jeremy Hylton authored
Remove the only test in the syntax module. It ends up that the transformer must handle this error case. In the transformer, check for a list compression in com_assign_list() by looking for a list_for node where a comma is expected. In pycodegen.compile() re-raise the SyntaxError rather than catching it and exiting
-