| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
values. The change for attribute values matches the way Mozilla and
Navigator view the world, at least.
This closes SF bug #436621.
|
|
|
|
| |
modules.
|
| |
|
| |
|
| |
|
|
|
|
| |
fewer arguments.
|
|
|
|
|
| |
contains, tolist(), and the start/stop/step attributes. This includes
removing the 4th ('repeat') argument to PyRange_New().
|
|
|
|
|
| |
- make method reload handle __private attrs correctly
- fixed whole word search
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Probable fix (the bug report doesn't have enough info to say for sure).
find_init_module(): Insist on a case-sensitive match for __init__ files.
Given __INIT__.PY instead, find_init_module() thought that was fine, but
the later attempt to do find_module("__INIT__.PY") didn't and its caller
silently suppressed the resulting ImportError. Now find_init_module()
refuses to accept __INIT__.PY to begin with.
Bugfix candidate; specific to platforms with case-insensitive filesystems.
|
| |
|
| |
|
|
|
|
| |
Return a reasonable name for the general macos exception (MacOS.Error).
|
|
|
|
|
|
|
|
|
|
|
|
| |
solver. In conjunction, they easily found a tour of a 200x200 board:
that's 200**2 == 40,000 levels of backtracking. Explicitly resumable
generators allow that to be coded as easily as a recursive solver (easier,
actually, because different levels can use level-customized algorithms
without pain), but without blowing the stack. Indeed, I've never written
an exhaustive Tour solver in any language before that can handle boards so
large ("exhaustive" == guaranteed to find a solution if one exists, as
opposed to probabilistic heuristic approaches; of course, the age of the
universe may be a blip in the time needed!).
|
| |
|
|
|
|
|
|
| |
We should not depend on two spaces between words, so use the white
space after the to-be-encoded word only as lookahead and don't
actually consume it in the regular expression.
|
| |
|
| |
|
|
|
|
|
| |
getElementsByTagNameNS() consistent in form as well as functionality
(cosmetic).
|
|
|
|
| |
This closes SF patch #419459.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
path (with no profile/trace function) through eval_code2() and
eval_frame() avoids several checks.
In the common cases of calls, returns, and exception propogation,
eval_code2() and eval_frame() used to test two values in the
thread-state: the profiling function and the tracing function. With
this change, a flag is set in the thread-state if either of these is
active, allowing a single check to suffice when both are NULL. This
also simplifies the code needed when either function is in use but is
already active (to avoid profiling/tracing the profiler/tracer); the
flag is set to 0 when the profile/trace code is entered, allowing the
same check to suffice for "already in the tracer" for call/return/
exception events.
|
|
|
|
|
| |
added copy/deepcopy support to SRE (still not enabled, since it's not
covered by the test suite)
|
|
|
|
|
| |
ch is unsigned, so testing for negative values doesn't make
sense (as noticed by the OpenVMS compiler)
|
|
|
|
| |
This closes SF bug #438032.
|
|
|
|
|
| |
sure about this one, but test #133283 now works even with the fix in
place, and so does the test suite. we'll see what comes up...
|
| |
|
| |
|
|
|
|
| |
speedups for certain unicode character ranges.
|
|
|
|
|
|
| |
to be presented in an unfamiliar case on case-preserving filesystems.
This closes SF patch #436173.
|
| |
|
|
|
|
| |
again at least.
|
| |
|
|
|
|
| |
tabnanny.py.
|
| |
|
|
|
|
|
| |
This is another one that leaks memory without an explict clear! Time to
bite this bullet.
|
|
|
|
|
|
| |
check the c-function pointer for being NULL before calling it and raise UnimplementedError if it is.
This allows system libs to be weak-linked, thereby allowing us to generate functions that are only available on some OS versions without getting a NULL dereference if the function isn't available.
|
|
|
|
|
|
| |
on OS9.
- Convert CFString to/from Python strings. Currently always MacRoman, to be fixed later (as is unicode support). Python->CFString conversion is automatic.
|
|
|
|
| |
and fiddle the conjoin tests to exercise all the new possible paths.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
committed.
tokenize.py: I like these changes, and have tested them extensively
without even realizing it, so I just updated the docstring and the docs.
tabnanny.py: Also liked this, but did a little code fiddling. I should
really rewrite this to *exploit* generators, but that's near the bottom
of my effort/benefit scale so doubt I'll get to it anytime soon (it
would be most useful as a non-trivial example of ideal use of generators;
but test_generators.py has already grown plenty of food-for-thought
examples).
inspect.py: I'm sure Ping intended for this to continue running even
under 1.5.2, so I reverted this to the last pre-gen-branch version. The
"bugfix" I checked in in-between was actually repairing a bug *introduced*
by the conversion to generators, so it's OK that the reverted version
doesn't reflect that checkin.
|
|
|
|
| |
example. It actually confused a reader.
|
|
|
|
| |
Reported by Milan Zamazal <pdm@zamazal.org>.
|
|
|
|
|
|
|
| |
consistency errors (mostly omitted "()" at the end of function and
method names).
Reported by Milan Zamazal <pdm@zamazal.org>.
|
| |
|
|
|
|
|
| |
Use a portable format in the example that creates a timestamp suitable for
use in email, also updating it and the footnote from RFC 822 to RFC 2822.
|
|
|
|
|
| |
Do not use an extra flag variable to test only once in one subsequent if
statement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
class FieldStorage: this patch changes read_lines() and co. to use a
StringIO() instead of a real file. The write() calls are redirected
to a private method that replaces it with a real, external file only
when it gets too big (> 1000 bytes).
This avoids problems in forms using the multipart/form-data encoding
with many fields. The original code created a temporary file for
*every* field (not just for file upload fields), thereby sometimes
exceeding the open file limit of some systems.
Note that the simpler solution "use a real file only for file uploads"
can't be used because the form field parser has no way to tell which
fields correspond to file uploads.
It's *possible* but extremely unlikely that this would break someone's
code; they would have to be stepping way outside the documented
interface for FieldStorage and use f.file.fileno(), or depend on
overriding make_file() to return a file-like object with additional
known properties.
|
|
|
|
|
|
|
|
|
| |
examples of use. These poke stuff not specifically targeted before, incl.
recursive local generators relying on nested scopes, ditto but also
inside class methods and rebinding instance vars, and anonymous
partially-evaluated generators (the N-Queens solver creates a different
column-generator for each row -- AFAIK this is my invention, and it's
really pretty <wink>). No problems, not even a new leak.
|
| |
|