Commit Graph

3026 Commits

Author SHA1 Message Date
Georg Brandl 0bccc185b4 #8046: add context manager protocol support to mmap objects. Also add closed property. 2010-08-01 14:50:00 +00:00
Mark Dickinson 5b65df7ce2 Issue #9416: Fix some issues with complex formatting where the
output with no type specifier failed to match the str output:

  - format(complex(-0.0, 2.0), '-') omitted the real part from the output,
  - format(complex(0.0, 2.0), '-') included a sign and parentheses.
2010-08-01 10:41:49 +00:00
Georg Brandl b16e38b825 #8826: the "expires" attribute value is a date string with spaces, but apparently not all user-agents put it in quotes. Handle that as a special case. 2010-08-01 09:06:34 +00:00
Georg Brandl 8f9f466505 #1690103: fix initial namespace for code run with trace.main(). 2010-08-01 08:35:29 +00:00
Georg Brandl 920bc0fd86 Add another news entry. 2010-08-01 08:10:08 +00:00
Georg Brandl f325e03f48 #8230: make Lib/test/sortperf.py run on Python 3. 2010-08-01 08:07:49 +00:00
R. David Murray 7905d61b2c #8620: Cmd no longer truncates last character if stdin ends without newline
Cmd used to blindly chop off the last character of every input line.  If
the input reached EOF and there was no final new line, it would truncate
the last character of the last command.  This fix instead strips trailing
\r\n from the input lines.  While this is a small behavior change, it
should not break any working code, since feeding a '\r\n' terminated
file to Cmd would previously leave the \r's on the lines, resulting
in failed command execution.

I wrote the unit test in preparation for a PyOhio TeachMe session
run by Catherine Devlin, and we can thank Catherine and the PyOhio
session attendees for the fix.  I've added Catherine to the Acks file
for organizing and leading the TeachMe session, out of which we will
hopefully get some new contributors.
2010-08-01 03:31:09 +00:00
Georg Brandl 05245f7487 #5146: handle UID THREAD command correctly. 2010-07-31 22:32:52 +00:00
Georg Brandl 87a1564f24 #5147: revert accidental indentation of header constant for MozillaCookieJar. 2010-07-31 22:11:11 +00:00
Georg Brandl 78aa396415 #8198: the Helper class should not save the stdin and stdout objects
at import time, rather by default use the current streams like the
other APIs that output help.
2010-07-31 21:51:48 +00:00
Georg Brandl bb1901529d Fix "Berkeley" name. 2010-07-31 21:41:42 +00:00
Georg Brandl cfb68218b7 #7909: the prefixes \\.\ and \\?\ indicate special Windows paths, do not try to manipulate them. See http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx for details. 2010-07-31 21:40:15 +00:00
Georg Brandl 6cb7b6593e #1286: allow using fileinput.FileInput as context manager. 2010-07-31 20:08:15 +00:00
Georg Brandl ebb280cf90 Move news item to the correct position. 2010-07-31 18:09:46 +00:00
Georg Brandl 2e7346acc9 Re-commit r83327 now that the release is done. 2010-07-31 18:09:23 +00:00
Georg Brandl ee449c41b4 Post-release updates. 2010-07-31 18:05:35 +00:00
Georg Brandl 014e0ca58e Revert r83327. This will have to wait until after the alpha1 release. 2010-07-31 10:16:21 +00:00
Raymond Hettinger 9e46ef819c Add functools.lfu_cache() and functools.lru_cache(). 2010-07-31 10:11:39 +00:00
Georg Brandl 62069d3ce7 Bump versions and review NEWS file. 2010-07-31 08:56:11 +00:00
Georg Brandl b90ffd88f1 Part of #7245: when KeyboardInterrupt is raised while defining commands, restore the old commands instead of producing a traceback. 2010-07-30 22:20:16 +00:00
Matthias Klose 635edd1990 - Issue #7567: PyCurses_setupterm: Don't call `setupterm' twice. 2010-07-30 21:40:57 +00:00
Georg Brandl 0a9c3e91dc Show the traceback line numbers as well as the current line numbers if an exception is being debugged. Courtesy of pdb++ by Antonio Cuni. Also document -> and >> markers for "list". 2010-07-30 18:46:38 +00:00
Martin v. Löwis e38de851eb Use OpenSSL 1.0.0a on Windows. 2010-07-30 17:30:51 +00:00
Georg Brandl e59ca2afe3 Add "longlist" and "source" commands, ideas borrowed from pdb++ by Antonio Cuni. 2010-07-30 17:04:28 +00:00
Georg Brandl 7410dd11ef #809887: improve pdb feedback for breakpoint-related actions. Also add a functional test for these commands. 2010-07-30 12:01:20 +00:00
Georg Brandl 3f94089a77 #5294: Fix the behavior of pdb "continue" command when called in the top-level debugged frame. 2010-07-30 10:29:19 +00:00
Georg Brandl d72e043bdd #5727: Restore the ability to use readline when calling into pdb in doctests. 2010-07-30 09:59:28 +00:00
Georg Brandl 34cc0f53be #6719: In pdb, do not stop somewhere in the encodings machinery if the source file to be debugged is in a non-builtin encoding. 2010-07-30 09:43:00 +00:00
Georg Brandl 25fbb891d8 Issue #8048: Prevent doctests from failing when sys.displayhook has
been reassigned.
2010-07-30 09:23:23 +00:00
Georg Brandl 44f8bf9411 #8015: fix crash when entering an empty line for breakpoint commands. Also restore environment properly when an exception occurs during the definition of commands. 2010-07-30 08:54:49 +00:00
Georg Brandl 2dfec552fe Allow giving an explicit line number to "until". 2010-07-30 08:43:32 +00:00
Georg Brandl e023091815 #1437051: allow "continue"/"next"/etc. in .pdbrc, also add pdb -c option to give these commands. This allows to run a script until an exception occurs. 2010-07-30 08:29:39 +00:00
Georg Brandl a91a94b7c0 #4179: In pdb, allow "list ." as a command to return to the currently debugged line. 2010-07-30 07:14:01 +00:00
Mark Dickinson cf28b95800 Issue #9422: Fix memory leak when re-initializing a struct.Struct object. 2010-07-29 21:41:59 +00:00
Georg Brandl 0a0fc07d37 #4108: the first default entry (User-agent: *) wins. 2010-07-29 17:55:01 +00:00
Georg Brandl 056cb93e7a #6630: allow customizing flags for compiling string.Template.idpattern. 2010-07-29 17:16:10 +00:00
Georg Brandl 8dcaa7396f #9411: allow selecting an encoding for configparser files. Also adds a new test config file to test special cases. 2010-07-29 12:17:40 +00:00
Georg Brandl 96a60ae90c #1682942: add some ConfigParser features: alternate delimiters, alternate comments, empty lines in values. Also enhance the docs with more examples and mention SafeConfigParser before ConfigParser. Patch by Lukas Langa, review by myself, Eric and Ezio. 2010-07-28 13:13:46 +00:00
Georg Brandl cbb0ae4a42 #9354: Provide getsockopt() in asyncore file_wrapper(). Patch by Lukas Langa. 2010-07-28 08:19:35 +00:00
Victor Stinner 8182b717db Issue #8991: convertbuffer() rejects discontigious buffers 2010-07-28 00:40:58 +00:00
Victor Stinner cf448832eb Issue #8966: ctypes: Remove implicit bytes-unicode conversion 2010-07-28 00:15:03 +00:00
Alexander Belopolsky 455f7bdc05 Issue #9378: python -m pickle <pickle file> will now load and display
the first object in the pickle file.
2010-07-27 23:02:38 +00:00
Florent Xicluna f1046ca817 Issue #4770: Restrict binascii module to accept only bytes (as specified).
And fix the email package to encode to ASCII instead of ``raw-unicode-escape`` before ASCII-to-binary decoding.
2010-07-27 21:20:15 +00:00
Alexander Belopolsky c02cc2707a Issue #9384: python -m tkinter will now display a simple demo applet. 2010-07-27 14:16:32 +00:00
Gregory P. Smith 5a63183a8b The default size of the re module's compiled regular expression cache has
been increased from 100 to 500 and the cache replacement policy has changed
from simply clearing the entire cache on overflow to randomly forgetting 20%
of the existing cached compiled regular expressions.  This is a performance
win for applications that use a lot of regular expressions and limits the
impact of the performance hit anytime the cache is exceeded.
2010-07-27 05:31:29 +00:00
Brian Curtin 0f0c3320ee Add note about #7113 and add Łukasz Langa to ACKS 2010-07-26 02:36:32 +00:00
Victor Stinner 756f547b9a #9032: XML-RPC client: Transport.request() retries on EPIPE error
The EPIPE error occurs when the server closes the socket and the client sends a
"big" XML-RPC request (I don't know exactly the size threshold).

request() just have to ignore the error because single_request() closes the
socket on error, and so the next call to single_request() will open a new
socket.

Remove also a comment in the HTTP client because it's now wrong: see r70643
and issue #5542.
2010-07-24 02:24:55 +00:00
Victor Stinner eccc5facd3 Issue #4629: getopt raises an error if an argument ends with = whereas getopt
doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long
options).
2010-07-24 00:49:20 +00:00
Alexander Belopolsky cf86e368eb Issue #7989: Added pure python implementation of the datetime module. 2010-07-23 19:25:47 +00:00
Ronald Oussoren b6ee4f5bfc This fixes issue7900 by adding code that deals
with the fact that getgroups(2) might return
more that MAX_GROUPS on OSX.

See the issue (and python-dev archives) for the
gory details. Summarized: OSX behaves rather oddly
and Apple says this is intentional.
2010-07-23 13:53:51 +00:00
Martin v. Löwis c9e1c7d97f Issue #6095: Make directory argument to os.listdir optional.
Patch by Virgil Dupras.
2010-07-23 12:16:41 +00:00
Ronald Oussoren e186e384f4 Fix for issue 7895. Avoid crashing the interpreter
when calling platform.mac_ver after calling os.fork by
reading from a system configuration file instead of
using OSX APIs.
2010-07-23 11:54:59 +00:00
Brett Cannon 3a4e50cb7e Document the fact that the 'test' package is meant only for use by Python
itself and not by others.

Closes issue 9255.
2010-07-23 11:31:31 +00:00
Alexander Belopolsky 3f8ecab589 Issue #9323: Fixed a bug in trace.py that resulted in loosing the name
of the script being traced.  Patch by Eli Bendersky.
2010-07-21 17:43:42 +00:00
Alexander Belopolsky 533a167a71 Issue #9282: Fixed --listfuncs option of trace.py. Thanks Eli
Bendersky for the patch.
2010-07-20 19:55:18 +00:00
Gregory P. Smith 41e6c3df8b Fixes Issue #3704: http.cookiejar was not properly handling URLs with a / in
the parameters.  (This is jjlee's issue3704.patch ported to py3k)
2010-07-19 23:17:22 +00:00
Mark Dickinson 1b3c262027 Clarify Misc/NEWS entry. 2010-07-18 08:03:10 +00:00
Mark Dickinson e26660f9f2 Misc/NEWS entry for r82941. 2010-07-18 07:48:20 +00:00
Alexander Belopolsky d92f04062a Issue #5180: Fixed a bug that prevented loading 2.x pickles in 3.x
python when they contain instances of old-style classes.
2010-07-17 22:50:45 +00:00
Benjamin Peterson bbda0c5fbc sharedinstall should depend on sharedmods #9280 2010-07-17 20:39:23 +00:00
Alexander Belopolsky 929d384058 Issue #9268: Add annotation option to pickletools.dis 2010-07-17 15:51:21 +00:00
R. David Murray 45bf773f60 #1555570: correctly handle a \r\n that is split by the read buffer.
Patch and test by Tony Nelson.
2010-07-17 01:19:57 +00:00
Antoine Pitrou 1f9dea0b5f Issue #9251: test_threaded_import didn't fail when run through regrtest
if the import lock was disabled.
2010-07-14 11:52:38 +00:00
Victor Stinner e9ebde48cf Issue #9243: Fix sndhdr module and add unit tests, contributed by James Lee. 2010-07-13 23:04:56 +00:00
Benjamin Peterson 5ef96e5fac allow byte literals 2010-07-11 23:06:06 +00:00
Mark Dickinson b214e90e01 Issue #9137: Fix issue in MutableMapping.update, which incorrectly
treated keyword arguments called 'self' or 'other' specially.
2010-07-11 18:53:06 +00:00
Martin v. Löwis 25fcd392aa Issue #8974: fix print calls in msgfmt.py. 2010-07-11 17:39:46 +00:00
Mark Dickinson 8e0c996873 Issue #9165: Add math.isfinite and cmath.isfinite. 2010-07-11 17:38:24 +00:00
Antoine Pitrou 1ac745b5c5 Issue #7616: Fix copying of overlapping memoryview slices with the Intel
compiler.
2010-07-11 12:12:00 +00:00
Georg Brandl 492f3fc272 Allow set literals in literal_eval(). 2010-07-11 09:41:21 +00:00
Ronald Oussoren d3950527e7 Fix for issue 9164 2010-07-11 09:05:07 +00:00
Jeffrey Yasskin d4fcdb1ea8 Issue #9189: Allow users to set $CFLAGS, $CPPFLAGS, and $LDFLAGS when running
configure to append to Python's default values for those variables, and
similarly allow users to set $XXFLAGS on the make command line to append to the
values set by configure.

In the makefile, this renames the variables that used to be $XXFLAGS to
$PY_XXFLAGS, and renames the old $PY_CFLAGS to $PY_CORE_CFLAGS.  To compensate,
sysconfig now aliases $XXFLAGS=$PY_XXFLAGS so that scripts using it keep
working.  I see that as the right interface, not a backward-compatibility hack,
since these are logically the $XXFLAGS variables; we just use a different name
in the makefile to deal with make's semantics.
2010-07-09 16:30:58 +00:00
R. David Murray ea340a317a 7846: limit fnmatch pattern cache to _MAXCACHE=100 entries.
Patch by Andrew Clegg.
2010-07-09 12:23:21 +00:00
Brian Curtin d40e6f70a5 Implement #1578269. Patch by Jason R. Coombs.
Added Windows support for os.symlink when run on Windows 6.0 or greater,
aka Vista. Previous Windows versions will raise NotImplementedError
when trying to symlink.

Includes numerous test updates and additions to test_os, including
a symlink_support module because of the fact that privilege escalation
is required in order to run the tests to ensure that the user is able
to create symlinks. By default, accounts do not have the required
privilege, so the escalation code will have to be exposed later (or
documented on how to do so). I'll be following up with that work next.

Note that the tests use ctypes, which was agreed on during the PyCon
language summit.
2010-07-08 21:39:08 +00:00
Mark Dickinson 0dd8f7890a Issue #9136: Profiling Decimal gave 'dictionary changed size during iteration'.
Remove the use of locals() that caused this error.
2010-07-08 21:15:36 +00:00
Mark Dickinson a123631a5c Fix a performance issue in Decimal.pow. Thanks Stefan Krah for finding this. 2010-07-08 19:03:34 +00:00
Antoine Pitrou f48ea7c2a9 Issue #8605: Skip test_gdb if Python is compiled with optimizations. 2010-07-08 18:51:30 +00:00
Benjamin Peterson ccabcd4bd4 make struct sequences subclass tuple; kill lots of code
This fixes #8413.
2010-07-07 20:54:01 +00:00
Benjamin Peterson a9800a8d5b add NEWS 2010-07-07 19:04:48 +00:00
Mark Dickinson be64d95169 Issue #9186: log1p(-1.0) should raise ValueError, not OverflowError. 2010-07-07 16:21:29 +00:00
Alexander Belopolsky a11d8c03a4 Issue #9000: datetime.timezone objects now have eval-friendly repr. 2010-07-06 23:19:45 +00:00
Mark Dickinson 2cc8a5e490 Issue #9130: Fix validation of relative imports in parser module. 2010-07-04 18:11:51 +00:00
Mark Dickinson 2bd61a988f Issue #9128: Fix validation of class decorators in parser module. 2010-07-04 16:37:31 +00:00
Alexander Belopolsky 60c762b77a Issue #9094: Make python -m pickletools disassemble pickles given in
the command line.
2010-07-03 20:35:53 +00:00
Senthil Kumaran df022da3d8 Fix Issue5468 - urlencode to handle bytes and other alternate encodings.
(Extensive tests provided). Patch by Dan Mahn.
2010-07-03 17:48:22 +00:00
Victor Stinner bc5c54bca2 Merged revisions 82492 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82492 | victor.stinner | 2010-07-03 15:36:19 +0200 (sam., 03 juil. 2010) | 3 lines

  Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
  ensure that the input string length is a multiple of the frame size
........
2010-07-03 13:44:22 +00:00
Nick Coghlan e2a89737c0 Issue 6507: missing patch submitter from NEWS entry in previous checkin 2010-07-03 07:38:28 +00:00
Nick Coghlan 5c8b54eb04 Issue 6507: accept source strings directly in dis.dis(). Original patch by Daniel Urban 2010-07-03 07:36:51 +00:00
Brett Cannon 8315fd12a5 Some people have mistaken Python bytecode as being stable and unchanging. In
reality it's simply an implementation detail for CPython. This point is now
clearly documented in both the docs for dis and the glossary.

Closes issue #7829. Thanks to Terry Reedy for some initial suggestions on
wording.
2010-07-02 22:03:00 +00:00
Benjamin Peterson f751bc9c01 fix lookup of __ceil__ 2010-07-02 13:46:42 +00:00
Benjamin Peterson 8bb9cde6c0 correctly lookup __trunc__ and __floor__ 2010-07-01 15:16:55 +00:00
Ezio Melotti 57221d02ba Update PyUnicode_DecodeUTF8 from RFC 2279 to RFC 3629.
1) #8271: when a byte sequence is invalid, only the start byte and all the
   valid continuation bytes are now replaced by U+FFFD, instead of replacing
   the number of bytes specified by the start byte.
   See http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf (pages 94-95);
2) 5- and 6-bytes-long UTF-8 sequences are now considered invalid (no changes
   in behavior);
3) Change the error messages "unexpected code byte" to "invalid start byte"
   and "invalid data" to "invalid continuation byte";
4) Add an extensive set of tests in test_unicode;
5) Fix test_codeccallbacks because it was failing after this change.
2010-07-01 07:32:02 +00:00
Giampaolo Rodolà 610aa4f07f Merged revisions 82404 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82404 | giampaolo.rodola | 2010-06-30 19:38:28 +0200 (mer, 30 giu 2010) | 1 line

  fix issue #6589: cleanup asyncore.socket_map if smtpd.SMTPServer constructor raises an exception
........
2010-06-30 17:47:39 +00:00
Michael Foord b3a8984488 Issue 9110. Adding ContextDecorator to contextlib. This enables the creation of APIs that act as decorators as well as context managers. contextlib.contextmanager changed to use ContextDecorator. 2010-06-30 12:17:50 +00:00
Mark Dickinson 50b79a80bd Issue #9011: Tests for Python 3.2's treatment of negated imaginary literals. 2010-06-30 11:13:36 +00:00
Brett Cannon f23e374441 Implement importlib.abc.SourceLoader and deprecate PyLoader and PyPycLoader.
SourceLoader is a simplification of both PyLoader and PyPycLoader. If one only
wants to use source, then they need to only implement get_data and
get_filename. To also use bytecode -- sourceless loading is not supported --
then two abstract methods -- path_mtime and set_data -- need to be implemented.
Compared to PyLoader and PyPycLoader, there are less abstract methods
introduced and bytecode files become an optimization controlled by the ABC and
hidden from the user (this need came about as PEP 3147 showed that not treating
bytecode as an optimization can cause problems for compatibility).

PyLoader is deprecated in favor of SourceLoader. To be compatible from Python
3.1 onwards, a subclass need only use simple methods for source_path and
is_package. Otherwise conditional subclassing based on whether Python 3.1 or
Python 3.2 is being is the only change. The documentation and docstring for
PyLoader explain what is exactly needed.

PyPycLoader is deprecated also in favor of SourceLoader. Because PEP 3147
shifted bytecode path details so much, there is no foolproof way to provide
backwards-compatibility with SourceLoader. Because of this the class is simply
deprecated and users should move to SourceLoader (and optionally PyLoader for
Python 3.1). This does lead to a loss of support for sourceless loading
unfortunately.

At some point before Python 3.2 is released, SourceLoader will be moved over to
importlib._bootstrap so that the core code of importlib relies on the new code
instead of the old PyPycLoader code. This commit is being done now so that
there is no issue in having the API in Python 3.1a1.
2010-06-27 23:57:46 +00:00
Brett Cannon c1c7cf682a Revert r82259; still no good way to override instead of replace OPT, but changing order alters pydebug optimization flags. 2010-06-27 20:40:18 +00:00
Georg Brandl eb1f4aa232 #9064: accept number of frames for "up" and "down" commands in pdb. 2010-06-27 10:37:48 +00:00
Brett Cannon 620c6c760d Having CFLAGS come before OPT prevents silencing certain classes of warnings
from the fact that OPT contains -Wall be default. This is annoying when
compilers like clang have thorough debugging information about things that
Python does extensively (e.g. -Wunused-value for unused return values caused by
a macro use).
2010-06-26 22:29:06 +00:00
Benjamin Peterson 88968ad380 only take into account positional arguments count in related error messages 2010-06-25 19:30:21 +00:00