| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
UTF-16 codec will now interpret and remove a *leading* BOM mark. Sub-
sequent BOM characters are no longer interpreted and removed.
UTF-16-LE and -BE pass through all BOM mark characters.
These changes should get the UTF-16 codec more in line with what
the Unicode FAQ recommends w/r to BOM marks.
|
| |
|
|
|
|
|
| |
for the Maildir mailbox format. This still does not address other mailbox
formats.
|
|
|
|
|
|
|
|
|
| |
basically accept <!...> where the dots can be single- or double-quoted
strings or any other character except >.
Background: I found a real-life example that failed to parse with
the old assumption: http://www.opensource.org/licenses/jabberpl.html
contains a few constructs of the form <![if !supportLists]>...<![endif]>.
|
|
|
|
|
| |
indicate it took an argument. This closes SF patch #402223 by Bastian
Kleineidam.
|
|
|
|
|
|
|
|
|
|
|
| |
indicating whether the entry was extracted from a docstring or not.
write(): If any of the locations of a string appearance came from a
docstring, add a comment such as
#. docstring
before the references (after a suggestion by Martin von Loewis).
|
|
|
|
|
|
| |
first by filename and then by line number. Closes SF patch #425821.
Also, fixes a problem with duplicate entries.
|
|
|
|
|
|
|
|
|
|
| |
floating point numbers in an interactive example.
Added comment to help explain control flow in the example code showing
how to check if a number is prime.
This closes SF bugs 419434 and 424552.
|
| |
|
|
|
|
| |
This closes SF bug #425320.
|
|
|
|
|
| |
Mark Hammond claimed that the iterized filter() forgot to decref the
iterator upon return. He was right!
|
| |
|
|
|
|
|
|
|
| |
but doing so raised EOFError. This makes it work as advertised and
converts to string methods where reasonable.
This closes SF bug #424776.
|
| |
|
| |
|
|
|
|
| |
easier with gcc -Wstrict-function-prototypes.
|
| |
|
|
|
|
| |
have been there in the first place.
|
|
|
|
| |
now appears to work.
|
|
|
|
|
| |
Test for TARGET_API_MAC_OS8 in stead of !TARGET_API_MAC_CARBON where
appropriate.
|
| |
|
|
|
|
| |
the stuff that is only needed on classic-MacOS.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two exceedingly unlikely errors in dictresize():
1. The loop for finding the new size had an off-by-one error at the
end (could over-index the polys[] vector).
2. The polys[] vector ended with a 0, apparently intended as a sentinel
value but never used as such; i.e., it was never checked, so 0 could
have been used *as* a polynomial.
Neither bug could trigger unless a dict grew to 2**30 slots; since that
would consume at least 12GB of memory just to hold the dict pointers,
I'm betting it's not the cause of the bug Fred's tracking down <wink>.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
PyTuple_GetItem() with PyTuple_GET_SIZE() and PyTuple_GET_ITEM().
The code has already done a PyTuple_Check().
|
|
|
|
|
|
| |
If we have a PyCFunction (builtin) and it is METH_VARARGS only, load
the args and dispatch to call_cfunction() directly. This provides a
small speedup for perhaps the most common function calls -- builtins.
|
|
|
|
|
| |
TAL/PageTemplate package for Zope. This only needed a little boilerplate
change; the tests themselves are unchanged.
|
|
|
|
|
|
|
|
|
|
|
| |
derived from but not quite compatible with that of sgmllib, so it's a
new file. I suppose it needs documentation, and htmllib needs to be
changed to use this instead of sgmllib, and sgmllib needs to be
declared obsolete. But that can all be done later.
This code was first published as part of TAL (part of Zope Page
Templates), but that was strongly based on sgmllib anyway. Authors
are Fred drake and Guido van Rossum.
|
|
|
|
|
|
|
| |
in the comments for using two passes was bogus, as the only object that
can get decref'ed due to the copy is the dummy key, and decref'ing dummy
can't have side effects (for one thing, dummy is immortal! for another,
it's a string object, not a potentially dangerous user-defined object).
|
|
|
|
| |
this.
|
|
|
|
| |
anymore, due to the new glue code that ties them together.
|
|
|
|
| |
Py_BuildTuple helpers) from one dynamically imported module to another.
|
|
|
|
|
|
| |
between modules except for the obj_New() and obj_Convert() routines, the PyArg_Parse and Py_BuildValue helpers.
And these can now be vectored through glue routines (by defining USE_TOOLBOX_OBJECT_GLUE) which will do the necessary imports, whereupon the module's init routine will tell the glue routine about the real conversion routine address and everything is fine again.
|
|
|
|
|
| |
but it still can't have any syntax errors. Went a little too fast
there, Jack? :-)
|
|
|
|
| |
build for the runtime model you are currently using for the interpreter.
|
|
|
|
|
| |
exist in latin1, but at least the roundtrip results in the
same macroman characters.
|
|
|
|
|
|
| |
but at least the roundtrip gives
the correct macroman characters again.
|
|
|
|
|
|
| |
codec files to codecs.py and added logic so that multi mappings
in the decoding maps now result in mappings to None (undefined mapping)
in the encoding maps.
|
|
|
|
| |
merge. Checking in one fixed file to make sure MacCVS Pro isn't the problem. If it isn't a flurry of checkins will follow tomorrow. If it is... well...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Omit the early-out EQ/NE "lengths different?" test. Was unable to find
any real code where it triggered, but it always costs. The same is not
true of list richcmps, where different-size lists appeared to get
compared about half the time.
2. Because tuples are immutable, there's no need to refetch the lengths of
both tuples from memory again on each loop trip.
BUG ALERT: The tuple (and list) richcmp algorithm is arguably wrong,
because it won't believe there's any difference unless Py_EQ returns false
for some corresponding elements:
>>> class C:
... def __lt__(x, y): return 1
... __eq__ = __lt__
...
>>> C() < C()
1
>>> (C(),) < (C(),)
0
>>>
That doesn't make sense -- provided you believe the defn. of C makes sense.
|
| |
|
|
|
|
| |
after commas that didn't have any).
|
| |
|
|
|
|
| |
"What's New in Python ..." documents.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and introduces a new method .decode().
The major change is that strg.encode() will no longer try to convert
Unicode returns from the codec into a string, but instead pass along
the Unicode object as-is. The same is now true for all other codec
return types. The underlying C APIs were changed accordingly.
Note that even though this does have the potential of breaking
existing code, the chances are low since conversion from Unicode
previously took place using the default encoding which is normally
set to ASCII rendering this auto-conversion mechanism useless for
most Unicode encodings.
The good news is that you can now use .encode() and .decode() with
much greater ease and that the door was opened for better accessibility
of the builtin codecs.
As demonstration of the new feature, the patch includes a few new
codecs which allow string to string encoding and decoding (rot13,
hex, zip, uu, base64).
Written by Marc-Andre Lemburg. Copyright assigned to the PSF.
|
|
|
|
|
|
|
|
|
| |
*are* obsolete; three variables and the maketrans() function are not
(yet) obsolete.
Add a compensating warnings.filterwarnings() call to test_strop.py.
Add this to the NEWS.
|