[issue21955] ceval.c: implement fast path for integers with a single digit

2014-07-23 Thread Zach Byrne

Zach Byrne added the comment:

I ran the whole benchmark suite. There are a few that are slower: 
call_method_slots, float, pickle_dict, and unpack_sequence.

Report on Linux zach-vbox 3.2.0-24-generic-pae #39-Ubuntu SMP Mon May 21 
18:54:21 UTC 2012 i686 i686
Total CPU cores: 1

### 2to3 ###
24.789549 - 24.809551: 1.00x slower

### call_method_slots ###
Min: 1.743554 - 1.780807: 1.02x slower
Avg: 1.751735 - 1.792814: 1.02x slower
Significant (t=-26.32)
Stddev: 0.00576 - 0.01823: 3.1660x larger

### call_method_unknown ###
Min: 1.828094 - 1.739625: 1.05x faster
Avg: 1.852225 - 1.806721: 1.03x faster
Significant (t=2.28)
Stddev: 0.01874 - 0.24320: 12.9783x larger

### call_simple ###
Min: 1.353581 - 1.263386: 1.07x faster
Avg: 1.397946 - 1.302046: 1.07x faster
Significant (t=24.28)
Stddev: 0.03667 - 0.03154: 1.1629x smaller

### chaos ###
Min: 1.199377 - 1.115550: 1.08x faster
Avg: 1.230859 - 1.146573: 1.07x faster
Significant (t=16.24)
Stddev: 0.02663 - 0.02525: 1.0544x smaller

### django_v2 ###
Min: 2.682884 - 2.633110: 1.02x faster
Avg: 2.747521 - 2.690486: 1.02x faster
Significant (t=9.90)
Stddev: 0.02744 - 0.03010: 1.0970x larger

### fastpickle ###
Min: 1.751475 - 1.597340: 1.10x faster
Avg: 1.771805 - 1.613533: 1.10x faster
Significant (t=64.81)
Stddev: 0.01177 - 0.01263: 1.0727x larger

### float ###
Min: 1.254858 - 1.293067: 1.03x slower
Avg: 1.336045 - 1.365787: 1.02x slower
Significant (t=-3.30)
Stddev: 0.04851 - 0.04135: 1.1730x smaller

### json_dump_v2 ###
Min: 17.871819 - 16.968647: 1.05x faster
Avg: 18.428747 - 17.483397: 1.05x faster
Significant (t=4.10)
Stddev: 1.60617 - 0.27655: 5.8078x smaller

### mako ###
Min: 0.241614 - 0.231678: 1.04x faster
Avg: 0.253730 - 0.240585: 1.05x faster
Significant (t=8.93)
Stddev: 0.01912 - 0.01327: 1.4417x smaller

### mako_v2 ###
Min: 0.225664 - 0.213179: 1.06x faster
Avg: 0.234850 - 0.225984: 1.04x faster
Significant (t=10.12)
Stddev: 0.01379 - 0.01391: 1.0090x larger

### meteor_contest ###
Min: 0.777612 - 0.758924: 1.02x faster
Avg: 0.799580 - 0.780897: 1.02x faster
Significant (t=3.97)
Stddev: 0.02482 - 0.02212: 1.1221x smaller

### nbody ###
Min: 0.969724 - 0.883935: 1.10x faster
Avg: 0.996416 - 0.918375: 1.08x faster
Significant (t=12.65)
Stddev: 0.02426 - 0.03627: 1.4951x larger

### nqueens ###
Min: 1.142745 - 1.128195: 1.01x faster
Avg: 1.296659 - 1.162443: 1.12x faster
Significant (t=2.75)
Stddev: 0.34462 - 0.02680: 12.8578x smaller

### pickle_dict ###
Min: 1.433264 - 1.467394: 1.02x slower
Avg: 1.468122 - 1.506908: 1.03x slower
Significant (t=-7.20)
Stddev: 0.02695 - 0.02691: 1.0013x smaller

### raytrace ###
Min: 5.454853 - 5.538799: 1.02x slower
Avg: 5.530943 - 5.676983: 1.03x slower
Significant (t=-8.64)
Stddev: 0.05152 - 0.10791: 2.0947x larger

### regex_effbot ###
Min: 0.205875 - 0.194776: 1.06x faster
Avg: 0.28 - 0.198759: 1.06x faster
Significant (t=5.10)
Stddev: 0.01305 - 0.01112: 1.1736x smaller

### regex_v8 ###
Min: 0.141628 - 0.133819: 1.06x faster
Avg: 0.147024 - 0.140053: 1.05x faster
Significant (t=2.72)
Stddev: 0.01163 - 0.01388: 1.1933x larger

### richards ###
Min: 0.734472 - 0.727501: 1.01x faster
Avg: 0.760795 - 0.743484: 1.02x faster
Significant (t=3.50)
Stddev: 0.02778 - 0.02127: 1.3061x smaller

### silent_logging ###
Min: 0.344678 - 0.336087: 1.03x faster
Avg: 0.357982 - 0.347361: 1.03x faster
Significant (t=2.76)
Stddev: 0.01992 - 0.01852: 1.0755x smaller

### simple_logging ###
Min: 1.104831 - 1.072921: 1.03x faster
Avg: 1.146844 - 1.117068: 1.03x faster
Significant (t=4.02)
Stddev: 0.03552 - 0.03848: 1.0833x larger

### spectral_norm ###
Min: 1.710336 - 1.688910: 1.01x faster
Avg: 1.872578 - 1.738698: 1.08x faster
Significant (t=2.35)
Stddev: 0.40095 - 0.03331: 12.0356x smaller

### tornado_http ###
Min: 0.849374 - 0.852209: 1.00x slower
Avg: 0.955472 - 0.916075: 1.04x faster
Significant (t=4.82)
Stddev: 0.07059 - 0.04119: 1.7139x smaller

### unpack_sequence ###
Min: 0.30 - 0.20: 1.52x faster
Avg: 0.000164 - 0.000174: 1.06x slower
Significant (t=-13.11)
Stddev: 0.00011 - 0.00013: 1.2256x larger

### unpickle_list ###
Min: 1.333952 - 1.212805: 1.10x faster
Avg: 1.373228 - 1.266677: 1.08x faster
Significant (t=16.32)
Stddev: 0.02894 - 0.03597: 1.2428x larger

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21955
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22036] Obsolete reference to stringobject in comment

2014-07-23 Thread Martin Matusiak

Changes by Martin Matusiak numero...@gmail.com:


--
nosy: +benjamin.peterson

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22036
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20468] resource module documentation is incorrect

2014-07-23 Thread Ronald Oussoren

Ronald Oussoren added the comment:

The attached patch (for the default branch) adds information about the unit of 
maxrss to the documentation, and removes the sentences about calculating the 
total memory size from the getpagesize documentation.

--
assignee: ronaldoussoren - 
components: +Documentation -Macintosh
keywords: +needs review, patch
stage:  - patch review
Added file: http://bugs.python.org/file36044/issue-20468.txt

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20468
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22037] Poor grammar in asyncio TCP echo client example

2014-07-23 Thread Andrew Svetlov

Andrew Svetlov added the comment:

Fixed in d19c58e13ac9
Thanks

--
nosy: +asvetlov
resolution:  - fixed
stage:  - resolved
status: open - closed
versions: +Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22037
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18355] Merge super() guide into documentation

2014-07-23 Thread Chris Rebert

Changes by Chris Rebert pyb...@rebertia.com:


--
nosy: +cvrebert

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18355
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22037] Poor grammar in asyncio TCP echo client example

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

Thanks for the patch Aaron. I wrote the documentation and I'm not a native 
english speaker. Please don't hesitate to report other grammar issues like 
that. You may group all of them in a single issue.

--
nosy: +haypo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22037
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21933] Allow the user to change font sizes with the text pane of turtledemo

2014-07-23 Thread Lita Cho

Lita Cho added the comment:

Oops! I was suppose to add 'Control' not 'Ctrl'. I can fix that quickly but I 
will wait till the other patch goes through.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21933
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21597] Allow turtledemo code pane to get wider.

2014-07-23 Thread Lita Cho

Lita Cho added the comment:

Just to clarify, should I submit a new patch with outlined style changes?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21597
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21987] TarFile.getmember on directory requires trailing slash iff over 100 chars

2014-07-23 Thread Lars Gustäbel

Lars Gustäbel added the comment:

Apparently, the problem is located in TarInfo._proc_gnulong(). I attached a 
patch.

When tarfile reads an archive, it strips trailing slashes from all filenames, 
except GNUTYPE_LONGNAME headers, which is a bug. tarfile creates GNU_FORMAT tar 
files by default, hence it uses an additional GNUTYPE_LONGNAME header for 
filenames 100 chars. That's why tarfile_issue.py fails if used with 
PAX_FORMAT, because PAX_FORMAT doesn't have this bug.

--
keywords: +patch
Added file: http://bugs.python.org/file36045/issue21987.diff

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21987
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17709] http://docs.python.org/2.7/objects.inv doesn't support :func:`repr` or :exc:`Exception`

2014-07-23 Thread Andrew Svetlov

Andrew Svetlov added the comment:

Cannot reproduce.

--
nosy: +asvetlov
resolution:  - out of date
stage:  - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17709
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21777] Separate out documentation of binary sequence methods

2014-07-23 Thread Nick Coghlan

Nick Coghlan added the comment:

3rd in progress draft - converted most of the inherently assumes ASCII docs 
now. I think this set of changes really makes it clear how non-trivial it 
actually is to infer the binary domain behaviour from the str docs, which have 
all sorts of Unicode complications. You can't easily infer the behaviour from 
the Python 2 docs either, since these operations were locale dependent for 
Python 2 str objects.

--
Added file: 
http://bugs.python.org/file36046/separate_binary_sequence_docs_v3.diff

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21777
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21777] Separate out documentation of binary sequence methods

2014-07-23 Thread Nick Coghlan

Nick Coghlan added the comment:

Note I haven't added back the immutability guarantees yet - I'll do that before 
declaring this ready for final review.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21777
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21777] Separate out documentation of binary sequence methods

2014-07-23 Thread Ezio Melotti

Changes by Ezio Melotti ezio.melo...@gmail.com:


--
nosy: +chris.jerdonek, ezio.melotti, zach.ware
stage:  - patch review

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21777
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22045] Python make issue

2014-07-23 Thread Shannon Kerr

New submission from Shannon Kerr:

If you execute the following commands on a system that doesn’t already have 
Python 2.7.X installed on it, it will result in bloated libs that statically 
link libpythyon2.7.a instead of the locally built libpython2.7.so:

./configure
make
sudo make install
./configure —enable-shared
make
sudo make install


Due to the library search path order in the Python build tools being:
-L /usr/local/lib -L .
the first lib found is in /usr/local/lib and it is the static library, so this 
is used to link.  This results in, for example, cPickle.so being 4.9M instead 
of 188K.

Shouldn't the just-built local library be used before anything on the system?

--
components: Build
messages: 223736
nosy: skerr
priority: normal
severity: normal
status: open
title: Python make issue
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22045
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22045] Python make issue

2014-07-23 Thread Shannon Kerr

Changes by Shannon Kerr sk...@tycoint.com:


--
type:  - compile error

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22045
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22045] Python make issue

2014-07-23 Thread Shannon Kerr

Changes by Shannon Kerr sk...@tycoint.com:


--
type: compile error - behavior

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22045
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22046] ZipFile.read() should mention that it might throw NotImplementedError

2014-07-23 Thread Jason Heeris

New submission from Jason Heeris:

As per issue 5701, the zipfile.ZipFile.read() method will throw a 
NotImplementedError if the compression scheme is not supported. However, there 
is no mention of this possibility in the documentation for the read() method. I 
would suggest, say, Calling read() on a ZipFile that uses an unsupported 
compression scheme (eg. implode) will raise a NotImplementedError.

It looks like you can use the testzip() method to check that this won't happen 
(ie. after you open the file but before you extract an entry). If that is 
really the expected way to check for this kind of condition, it would be nice 
to mention that too (under either method).

--
assignee: docs@python
components: Documentation
messages: 223737
nosy: detly, docs@python
priority: normal
severity: normal
status: open
title: ZipFile.read() should mention that it might throw NotImplementedError
type: enhancement
versions: Python 2.7, Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22046
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22041] http POST request with python 3.3 through web proxy

2014-07-23 Thread Alejandro Mj

Changes by Alejandro Mj witchar...@gmail.com:


--
nosy:  -AlexMJ

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22041
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21591] exec(a, b, c) not the same as exec a in b, c in nested functions

2014-07-23 Thread Dirkjan Ochtman

Changes by Dirkjan Ochtman dirk...@ochtman.nl:


--
nosy: +djc

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21591
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17293] uuid.getnode() MAC address on AIX

2014-07-23 Thread Mark Lawrence

Mark Lawrence added the comment:

David is listed against AIX on the experts list 
https://docs.python.org/devguide/experts.html.  That alone suggests to me that 
AIX is an officially supported platform.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17293
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14484] missing return in win32_kill?

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

I understand that os.kill(pid, sig) should call TerminateProcess() or 
GenerateConsoleCtrlEvent() depending on the value of sig.

The problem is that these two functions are very different. A process can set a 
control handler for CTRL_C_EVENT and CTRL_BREAK_EVENT, so can decide how to 
handle GenerateConsoleCtrlEvent() event.

TerminateProcess() kills the process with the specified exit code.

To me it looks wrong to call TerminateProcess() with a signal number or event 
for the exit code!? We need to expose TerminateProcess() as a new Python 
function, os.TerminateProcess(pid, exitcode) for example.

os.kill(pid, sig) should raise a ValueError if sig is not CTRL_C_EVENT nor 
CTRL_BREAK_EVENT.

--
nosy: +haypo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14484
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22041] http POST request with python 3.3 through web proxy

2014-07-23 Thread Demian Brecht

Changes by Demian Brecht demianbre...@gmail.com:


--
nosy: +demian.brecht

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22041
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22038] Implement atomic operations on non-x86 platforms

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

+ #define __ATOMIC_RELAXED 0

You should use the _Py_ prefix for these constants, to avoid conflicts in 
applications.

(You may also replace tabs with spaces, the PEP 7 says Use 4-space indents and 
no tabs at all. but I also prefer to avoid tabs in other places.)

I tested your patch on Fedora 20 (Linux kernel 3.14.8, GCC 4.8.2, glibc 2.18) 
on x86_64 (Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz) and the whole Python test 
suite pass.

GCC 4.9 (released a few month ago) provides the stdatomic.h header:
https://gcc.gnu.org/gcc-4.9/changes.html

pyatomic.h contains this comment:

/* XXX: When compilers start offering a stdatomic.h with lock-free
   atomic_int and atomic_address types, include that here and rewrite
   the atomic operations in terms of it. */

But using stdatomic.h header can be done in a separated issue.

--
nosy: +haypo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22038
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21580] PhotoImage(data=...) apparently has to be UTF-8 or Base-64 encoded

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
nosy: +terry.reedy

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21580
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21888] plistlib.FMT_BINARY behavior doesn't send required dict parameter

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
assignee:  - serhiy.storchaka

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21888
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21423] concurrent.futures.ThreadPoolExecutor should accept an initializer argument

2014-07-23 Thread Dan O'Reilly

Dan O'Reilly added the comment:

It seems like everyone agrees that this functionality is useful, so I'm 
reviving this in hopes of getting a patch pushed through. I've updated Andreas' 
patch so that it applies cleanly against the latest tree, and tweaked the 
handling of exceptions in initializer. Now, ProcessPoolExecutor will raise a 
BrokenPoolException should an initializer method fail, and ThreadPoolExecutor 
will raise a RunTimeError stating that the pool can't be used because an 
initializer failed.

I was hoping to use multiprocessing.Pool's handling of initializer exceptions 
as a guide for the right behavior here, but it actually does terrible job: an 
exception raised in the initializer is completely unhandled, and results in an 
endless loop of new processes being started up and immediately failing. But 
that's a separate bug report. :)

For now there are still unit tests for testing exceptions being raised in the 
initializer, but they're noisy; the traceback for each initializer exception 
gets printed to stdout. I'm not sure if that's undesirable behavior or not.

If the new behavior looks ok, the docs will need an update to.

--
nosy: +dan.oreilly
Added file: http://bugs.python.org/file36047/pool_init.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21423
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21044] tarfile does not handle file .name being an int

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 825137d0d4ca by Serhiy Storchaka in branch '3.4':
Correct issue #21044 patch author.
http://hg.python.org/cpython/rev/825137d0d4ca

New changeset 4fe27263f9d4 by Serhiy Storchaka in branch 'default':
Correct issue #21044 patch author.
http://hg.python.org/cpython/rev/4fe27263f9d4

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21044
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21888] plistlib.FMT_BINARY behavior doesn't send required dict parameter

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 09746dc1a3b4 by Serhiy Storchaka in branch '3.4':
Issue #21888: plistlib's load() and loads() now work if the fmt parameter is
http://hg.python.org/cpython/rev/09746dc1a3b4

New changeset 275d02865d11 by Serhiy Storchaka in branch 'default':
Issue #21888: plistlib's load() and loads() now work if the fmt parameter is
http://hg.python.org/cpython/rev/275d02865d11

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21888
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22047] argparse improperly prints mutually exclusive options when they are in a group

2014-07-23 Thread Sam Kerr

New submission from Sam Kerr:

The following code:

   import argparse
   parser = argparse.ArgumentParser()
   group1 = parser.add_mutually_exclusive_group()
   group2 = group1.add_mutually_exclusive_group()
   group2.add_argument('-hello',action='store_true', help=A flag)
   args = parser.parse_args()

produces this output:

   skerr@gravel:~$ python bug.py -h
   usage: bug.py [-h] [[-hello]

   optional arguments:
-h, --help  show this help message and exit
-hello  A flag
   skerr@gravel:~$ 

Note the double [[ around hello, but there is no double ]] to close it. This is 
the error.

--
components: Library (Lib)
messages: 223744
nosy: Sam.Kerr
priority: normal
severity: normal
status: open
title: argparse improperly prints mutually exclusive options when they are in a 
group
type: behavior
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22047
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21888] plistlib.FMT_BINARY behavior doesn't send required dict parameter

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21888
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18168] plistlib output self-sorted dictionary

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
resolution:  - out of date
stage:  - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18168
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1598] unexpected response in imaplib

2014-07-23 Thread Lita Cho

Changes by Lita Cho lita@gmail.com:


--
nosy:  -Lita.Cho

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1598
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22002] Make full use of test discovery in test subpackages

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 4f9f7e0fe1fd by Zachary Ware in branch '3.4':
Issue #22002: Make full use of test discovery in test sub-packages.
http://hg.python.org/cpython/rev/4f9f7e0fe1fd

New changeset 6298895a52de by Zachary Ware in branch 'default':
Closes #22002: Merge with 3.4
http://hg.python.org/cpython/rev/6298895a52de

--
nosy: +python-dev
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22002
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22048] Add weighted random choice to random package

2014-07-23 Thread Dmitry Korchemny

New submission from Dmitry Korchemny:

Need to have a function for weighted randomization:

given a dictionary: key - weight (= non-negative number), return a key of the 
dictionary with the probability proportional to its weight. This capability is 
basic and is badly missing.

--
components: Library (Lib)
messages: 223746
nosy: dkorchem
priority: normal
severity: normal
status: open
title: Add weighted random choice to random package
versions: Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22048
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22002] Make full use of test discovery in test subpackages

2014-07-23 Thread Zachary Ware

Zachary Ware added the comment:

Committed with a couple of changes from the posted patch: commented on the 
multiple dirname() calls as Serhiy suggested, removed the 'with 
DirsOnSysPath():' line since it turns out to be unnecessary when supplying 
top_level_dir to loader.discover(), and added some documentation for the new 
function to Doc/library/test.rst.

Victor, I went ahead and did the change to test_asyncio since it looks like the 
tulip project test package doesn't actually have __init__.py or __main__.py, 
and thus should be no conflict.  Please correct me if I'm wrong on that.

Thanks for the reviews!

--
assignee:  - zach.ware

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22002
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22049] argparse: type=callable doesn't honor nargs 1

2014-07-23 Thread Chris Bruner

New submission from Chris Bruner:

From the documentation, I think that argparse should pass the entire 
nargs-long string to the type= callable. Instead, it only passes the first 
argument (of nargs), making it impossible within argparse's framework to check 
for a tuple of mixed types, e.g., 2 ints and a float (my case), or a string 
and three numbers, etc.

See attached reproducer.

--
files: argparse_typedef_bug.py
messages: 223748
nosy: Chris.Bruner
priority: normal
severity: normal
status: open
title: argparse: type=callable doesn't honor nargs  1
type: behavior
versions: Python 2.7
Added file: http://bugs.python.org/file36048/argparse_typedef_bug.py

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22049
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22048] Add weighted random choice to random package

2014-07-23 Thread Mark Dickinson

Mark Dickinson added the comment:

Duplicate of #18844.

--
nosy: +mark.dickinson
resolution:  - duplicate
status: open - closed
superseder:  - allow weights in random.choice

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22048
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18844] allow weights in random.choice

2014-07-23 Thread Mark Dickinson

Mark Dickinson added the comment:

Closed issue 22048 as a duplicate of this one.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18844
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18844] allow weights in random.choice

2014-07-23 Thread Mark Dickinson

Changes by Mark Dickinson dicki...@gmail.com:


--
nosy: +dkorchem

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18844
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21500] Make use of the load_tests protocol in test_importlib packages

2014-07-23 Thread Zachary Ware

Zachary Ware added the comment:

This has been covered by #22002.

--
nosy: +zach.ware
resolution:  - duplicate
stage: needs patch - resolved
status: open - closed
superseder:  - Make full use of test discovery in test subpackages

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21500
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15275] isinstance is called a more times that needed in ntpath

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset b22aaa59d24f by Serhiy Storchaka in branch 'default':
Issue #15275: Clean up and speed up the ntpath module.
http://hg.python.org/cpython/rev/b22aaa59d24f

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15275
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15275] isinstance is called a more times that needed in ntpath

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
assignee:  - serhiy.storchaka
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15275
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22050] argparse: read nargs 1 options from file doesn't work

2014-07-23 Thread Chris Bruner

New submission from Chris Bruner:

When reading options from a file, argparse should read all nargs values from 
each line. Instead, it complains of there not being enough options.

python file:
#!/usr/bin/env python
import argparse

p = argparse.ArgumentParser(description='Reproduce argparse nargs file bug',
fromfile_prefix_chars='@')
p.add_argument('-t', '--triple', metavar='N', nargs=3)

args = p.parse_args(['@input.opts'])
print args

input.opts:
--triple 1 2 3
-t 2 2 32


Output:
bernoulli:myclu cwbrune$ argparse_nargs_file_bug.py 
usage: argparse_nargs_file_bug.py [-h] [-t N N N]
argparse_nargs_file_bug.py: error: argument -t/--triple: expected 3 argument(s)

--
files: argparse_nargs_file_bug.py
messages: 223753
nosy: Chris.Bruner
priority: normal
severity: normal
status: open
title: argparse: read nargs  1 options from file doesn't work
type: behavior
versions: Python 2.7
Added file: http://bugs.python.org/file36049/argparse_nargs_file_bug.py

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22050
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue5718] Problem compiling ffi part of build on AIX 5.3.

2014-07-23 Thread Mark Lawrence

Mark Lawrence added the comment:

@David what is your opinion on this issue?

--
nosy: +David.Edelsohn

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue5718
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22050] argparse: read nargs 1 options from file doesn't work

2014-07-23 Thread R. David Murray

R. David Murray added the comment:

Your input.opts file is in the wrong format.  it should read

--triple
1
2
3
-t
2
3
32

--
nosy: +r.david.murray
resolution:  - not a bug
stage:  - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22050
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11077] Tkinter is not thread safe

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
resolution:  - works for me
status: open - pending

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11077
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22049] argparse: type=callable doesn't honor nargs 1

2014-07-23 Thread R. David Murray

R. David Murray added the comment:

Nope.  The documentation says:

N (an integer). N arguments from the command line will be gathered together 
into a list

The type function is applied to each argument independently.  It would be easy 
enough to make this explicit in one of the nargs multi-argument examples by 
using type as well.

--
assignee:  - docs@python
components: +Documentation
nosy: +docs@python, r.david.murray
stage:  - needs patch
versions: +Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22049
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21566] make use of the new default socket.listen() backlog argument

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset f7643c893587 by Charles-François Natali in branch 'default':
Issue #21566: Make use of socket.listen() default backlog.
http://hg.python.org/cpython/rev/f7643c893587

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21566
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22050] argparse: read nargs 1 options from file doesn't work

2014-07-23 Thread Chris Bruner

Chris Bruner added the comment:

Tried the format you gave. Still doesn't work. Same error message:

bernoulli:myclu cwbrune$ argparse_nargs_file_bug.py 
usage: argparse_nargs_file_bug.py [-h] [-t N N N]
argparse_nargs_file_bug.py: error: argument -t/--triple: expected 3 argument(s)
bernoulli:myclu cwbrune$ cat argparse_nargs_file_bug.py 
#!/usr/bin/env python
import argparse

p = argparse.ArgumentParser(description='Reproduce argparse nargs file bug',
fromfile_prefix_chars='@')
p.add_argument('-t', '--triple', metavar='N', nargs=3)

args = p.parse_args(['@input.opts'])
print args
bernoulli:myclu cwbrune$ cat input.opts 
--triple 
1 
2 
3
-t 
2 
2 
32
bernoulli:myclu cwbrune$

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22050
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22050] argparse: read nargs 1 options from file doesn't work

2014-07-23 Thread Chris Bruner

Chris Bruner added the comment:

Oops, my mistake: had multiple '-t' in file, but not an action=append. Your 
version works just fine.

Sorry for the confusion, and thank you for the correction!

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22050
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19132] Add compact mode to pprint

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 60301b9982b2 by Terry Jan Reedy in branch '2.7':
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
http://hg.python.org/cpython/rev/60301b9982b2

New changeset 0fb515063324 by Terry Jan Reedy in branch '3.4':
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
http://hg.python.org/cpython/rev/0fb515063324

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21597] Allow turtledemo code pane to get wider.

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 60301b9982b2 by Terry Jan Reedy in branch '2.7':
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
http://hg.python.org/cpython/rev/60301b9982b2

New changeset 0fb515063324 by Terry Jan Reedy in branch '3.4':
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
http://hg.python.org/cpython/rev/0fb515063324

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21597
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18132] buttons in turtledemo disappear on small screens

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

Fixed by
New changeset 60301b9982b2 by Terry Jan Reedy in branch '2.7':
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
http://hg.python.org/cpython/rev/60301b9982b2

New changeset 0fb515063324 by Terry Jan Reedy in branch '3.4':
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
http://hg.python.org/cpython/rev/0fb515063324

--
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21597] Allow turtledemo code pane to get wider.

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

No, I believe this is done ;-). Onward to font sizing.
Thank you for the hard work on this. It is a great improvement.

--
resolution:  - fixed
stage: commit review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21597
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21566] make use of the new default socket.listen() backlog argument

2014-07-23 Thread Charles-François Natali

Charles-François Natali added the comment:

Committed, thanks for the reviews (I only updated one call to socket.listen(), 
inside multiprocessing, the rest is in the test suite).

--
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21566
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21573] Clean up turtle.py code formatting

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

In private email, Gregor indicated that he would like to be involved in turtle 
maintenance, and will be available about Aug. 1.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21573
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6167] Tkinter.Scrollbar: the activate method needs to return a value, and set should take only two args

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 6ae34a948cb4 by Serhiy Storchaka in branch 'default':
Issue #6167: Scrollbar.activate() now returns the name of active element if
http://hg.python.org/cpython/rev/6ae34a948cb4

New changeset f5df571bfe1d by Serhiy Storchaka in branch '2.7':
Issue #6167: Backported tests for Scrollbar.activate() and Scrollbar.set()
http://hg.python.org/cpython/rev/f5df571bfe1d

New changeset 2cac1e3f825a by Serhiy Storchaka in branch '3.4':
Issue #6167: Backported tests for Scrollbar.activate() and Scrollbar.set()
http://hg.python.org/cpython/rev/2cac1e3f825a

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6167
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6167] Tkinter.Scrollbar: the activate method needs to return a value, and set should take only two args

2014-07-23 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Committed without change activate() parameter name. I still think this 
parameter name is wrong.

--
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6167
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4350] Remove dead code from Tkinter.py

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 549a7615abe3 by Serhiy Storchaka in branch 'default':
Issue #4350: Removed a number of out-of-dated and non-working for a long time
http://hg.python.org/cpython/rev/549a7615abe3

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4350
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4350] Remove dead code from Tkinter.py

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
resolution:  - fixed
stage: commit review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4350
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19493] Report skipped ctypes tests as skipped

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 49a2bed5185a by Zachary Ware in branch '2.7':
Issue #19493: Fix two uses of ctypes.test.requires (it's not a decorator)
http://hg.python.org/cpython/rev/49a2bed5185a

New changeset 374a9a259c09 by Zachary Ware in branch '3.4':
Issue #19493: Fix two uses of ctypes.test.requires (it's not a decorator)
http://hg.python.org/cpython/rev/374a9a259c09

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19493
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19776] Provide expanduser() on Path objects

2014-07-23 Thread Charles-François Natali

Charles-François Natali added the comment:

 There is a question. What should pathlib's expanduser() do in case
 when user directory can't be determined (or user does not exist)?
 Perhaps unlike to os.path.expanduser() it should raise an exception
 (as in many other pathlib's methods).

Let's see what POSIX says:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_01


If the system does not recognize the login name, the results are undefined.


Helpful, isn't it ;-)

Behaving like os.path.expanduser() would have the advantage of consistency 
(which is in turn consistent with Unix shells), OTOH, it seems wrong to just 
return the unexpanded form: for example, if someone calls expanduser('~apache') 
and there's apache user, returning '~apache' could be dangerous if there was an 
'~apache' folder in the CWD.

So I think it would be better to raise an exception.

--
nosy: +neologix

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19776
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22051] Turtledemo: stop reloading demos

2014-07-23 Thread Terry J. Reedy

New submission from Terry J. Reedy:

I propose to remove the following two lines with 'reload' from 
turtledemo.__main__.py.

from importlib import reload
...
... def loadfile(self, filename):
...
reload(self.module)

Reloading modules each time a demo is run allows and even encourages module 
level code that initializes variables (other than classes) and has system 
side-effects. In particular, some such calls created the test problems reported 
in #21882. Code that needs to be run each time the required main() is called 
should be inside main.  Indeed, reforming the two_canvases demo (see patch for 
#21882) made two_canvases work properly within the demo driver.

With the demos patched, I tried them all twice after commenting out the reload. 
I did not notice any difference, except possibly faster response.

I already edited the help text to tell users to initialize in main().

--
assignee: terry.reedy
keywords: patch
messages: 223771
nosy: gregorlingl, terry.reedy
priority: normal
severity: normal
stage: patch review
status: open
title: Turtledemo: stop reloading demos
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22051
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21882] turtledemo modules imported by test___all__ cause side effects or failures

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

I opened #22051 about removing reload to force better code. Since the tests are 
passing and I think the demo modules should be minimally tested by importing, 
and no one has said otherwise since the fix, I am closing this.

--
resolution:  - fixed
stage: commit review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21882
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21597] Allow turtledemo code pane to get wider.

2014-07-23 Thread Lita Cho

Lita Cho added the comment:

Sweet! Thank you so much, Terry!

On Wednesday, July 23, 2014, Terry J. Reedy rep...@bugs.python.org wrote:


 Terry J. Reedy added the comment:

 No, I believe this is done ;-). Onward to font sizing.
 Thank you for the hard work on this. It is a great improvement.

 --
 resolution:  - fixed
 stage: commit review - resolved
 status: open - closed

 ___
 Python tracker rep...@bugs.python.org javascript:;
 http://bugs.python.org/issue21597
 ___


--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21597
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14117] Turtledemo: exception and minor glitches.

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

Added #21933, change text font size, as dependency.
Added new #22051 remove reload, as dependency.
#18132: stop demo buttons from disappearing, was fixed by #21507 patch.

--
dependencies: +Allow the user to change font sizes with the text pane of 
turtledemo, Turtledemo: stop reloading demos

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14117
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16547] IDLE raises an exception in tkinter after fresh file's text has been rendered

2014-07-23 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
resolution:  - duplicate
stage: needs patch - resolved
status: open - closed
superseder:  - IDLE - quickly closing a large file triggers a traceback

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16547
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18643] add a fallback socketpair() implementation in test.support

2014-07-23 Thread Charles-François Natali

Charles-François Natali added the comment:

Barring any objection, I'll commit the patch attached within a couple days.

--
title: implement socketpair() on Windows - add a fallback socketpair() 
implementation in test.support
Added file: http://bugs.python.org/file36050/socketpair-3.diff

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18643
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18643] add a fallback socketpair() implementation in test.support

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

 Barring any objection, I'll commit the patch attached within a couple days.

I have objections!

You should copy the code from asyncio.windows_utils.socketpair(). It checks 
also type and proto parameter: raise a ValueError for unsupported values (only 
SOCK_STREAM and proto=0 are supported). It also supports IPv6. It handles 
BlockingIOError and InterruptedError on connect (I never understood why these 
exceptions are simply ignored).

You patch checks the address received by accept() and retry. It's a little bit 
surprising. If you get an unexpected connection, maybe an exception should be 
raised, instead of just ignoring it. Maybe we should modify the code in asyncio 
to check also the address?

Finally, please add socketpair() directly to the socket module. It is useful 
for applications, not only for tests.

A socket.socketpair() function available on Windows would help me to write 
tests for the issue #22018!

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18643
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22042] signal.set_wakeup_fd(fd): set the fd to non-blocking mode

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 9dc66b3a1d0d by Victor Stinner in branch 'default':
Issue #22042: Avoid dangerous C cast in socket.setblocking()
http://hg.python.org/cpython/rev/9dc66b3a1d0d

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22042
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22052] Comparison operators called in reverse order for subclasses with no override.

2014-07-23 Thread Mark Dickinson

New submission from Mark Dickinson:

As reported in a StackOverflow question [1]: the order in which the special 
comparison methods are called seems to be contradictory to the docs [2].  In 
the following snippet, __eq__ is called with reversed operands first:

 class A:
... def __eq__(self, other):
... print(type(self), type(other))
... return True
... 
 class B(A):
... pass
... 
 A() == B()
class '__main__.B' class '__main__.A'
True

However, the docs note that:

If the right operand’s type is a subclass of the left operand’s type and 
that subclass provides the reflected method for the operation, this method will 
be called before the left operand’s non-reflected method. This behavior allows 
subclasses to override their ancestors’ operations.

... which suggests that this reversal should only happen when the subclass B 
*overrides* A's definition of __eq__ (and indeed that's the usual behaviour for 
arithmetic operations like __add__).

Looking more closely, that statement in the docs is in the 'numeric-types' 
section, so it's not clear that its rules should apply to the comparison 
operators.  But either way, some doc clarification could be useful.


[1] http://stackoverflow.com/q/24919375/270986
[2] https://docs.python.org/3.5/reference/datamodel.html#emulating-numeric-types

--
assignee: docs@python
components: Documentation
messages: 223778
nosy: docs@python, mark.dickinson
priority: normal
severity: normal
status: open
title: Comparison operators called in reverse order for subclasses with no 
override.
versions: Python 2.7, Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22052
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21990] saxutils defines an inner class where a normal one would do

2014-07-23 Thread Eric V. Smith

Eric V. Smith added the comment:

Looks fine to me. Normally I'd define the class being returned before the 
function returning it, but it doesn't really make a difference.

--
nosy: +eric.smith

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21990
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22053] turtledemo: clean up start and stop, fix warning

2014-07-23 Thread Terry J. Reedy

New submission from Terry J. Reedy:

The patch adds a main function with the minimum needed to start the mainloop. 
It omits the 'while RUN' loop and development code for catching exceptions 
while running. They should never happen, and silently suppressing tracebacks is 
a bad idea.

The patch also deletes the unneeded sys.exit() call from _destroy. In 3.x debug 
builds, this call results in the following clipped warning being printed in the 
startup console.

while executing
46111032_destroy
(command for WM_DELETE_WINDOW window manager protocol) 

These no longer occur when sys.exit() is removed.

Turtledemo works fine with these changes.

--
assignee: terry.reedy
files: turdemo_start_stop.diff
keywords: patch
messages: 223780
nosy: terry.reedy
priority: normal
severity: normal
stage: commit review
status: open
title: turtledemo: clean up start and stop, fix warning
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5
Added file: http://bugs.python.org/file36051/turdemo_start_stop.diff

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22053
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22053] turtledemo: clean up start and stop, fix warning

2014-07-23 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 823f5507bd86 by Terry Jan Reedy in branch '2.7':
Issue #22053: Cleanup turtledemo start and stop and fix debug shutdown warning.
http://hg.python.org/cpython/rev/823f5507bd86

New changeset 57531d65cdd4 by Terry Jan Reedy in branch '3.4':
Issue #22053: Cleanup turtledemo start and stop and fix debug shutdown warning.
http://hg.python.org/cpython/rev/57531d65cdd4

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22053
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22053] turtledemo: clean up start and stop, fix warning

2014-07-23 Thread Terry J. Reedy

Changes by Terry J. Reedy tjre...@udel.edu:


--
resolution:  - fixed
stage: commit review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22053
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22054] Add os.get_blocking() and os.set_blocking() functions

2014-07-23 Thread STINNER Victor

New submission from STINNER Victor:

Antoine suggested me to add these functions in the issue #22042.

Here is a patch to implement these functions and use them in various places.

--
files: os_blocking.patch
keywords: patch
messages: 223782
nosy: haypo, neologix, pitrou
priority: normal
severity: normal
status: open
title: Add os.get_blocking() and os.set_blocking() functions
type: enhancement
versions: Python 3.5
Added file: http://bugs.python.org/file36052/os_blocking.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22054
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18643] add a fallback socketpair() implementation in test.support

2014-07-23 Thread STINNER Victor

Changes by STINNER Victor victor.stin...@gmail.com:


--
versions: +Python 3.5 -Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18643
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14117] Turtledemo: exception and minor glitches.

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

#22053 added main(), eliminated 'while RUN', and fixed this a 3.x debug 
shutdown message.

The main remaining problem I am aware of now is that some demos 'print' 
messages to the console (or shell), which would be a problem if there were not 
one (as with pythonw).  Except for one demo, the messages would fit on the demo 
window message button. A possible fix would be to call demo.main with the 
button, so mainloop demos could write back to it.
(Normal demo returns are put there now.)

--
versions: +Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14117
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22054] Add os.get_blocking() and os.set_blocking() functions

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

Oops, test_asyncio was failing. Fixed patched.

--
Added file: http://bugs.python.org/file36053/os_blocking-2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22054
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22042] signal.set_wakeup_fd(fd): set the fd to non-blocking mode

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

As suggested by Antoine, I created the issue #22054 to add os.get_blocking() 
and os.set_blocking() functions.

Here is the simplified patch for signal.set_wakeup_fd(fd). It now depends on 
the patch of the issue #22054.

--
Added file: http://bugs.python.org/file36054/os_blocking-2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22042
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21597] Allow turtledemo code pane to get wider.

2014-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

Lita, when replying by email, please, please delete the message you are 
replying to (except possibly for a directly quoted line or two).

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21597
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21597] Allow turtledemo code pane to get wider.

2014-07-23 Thread Lita Cho

Lita Cho added the comment:

Sorry about that!! Thanks for letting me know.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21597
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18643] add a fallback socketpair() implementation in test.support

2014-07-23 Thread Charles-François Natali

Charles-François Natali added the comment:

 You should copy the code from asyncio.windows_utils.socketpair(). It checks 
 also type and proto parameter: raise a ValueError for unsupported values 
 (only SOCK_STREAM and proto=0 are supported). It also supports IPv6. It 
 handles BlockingIOError and InterruptedError on connect (I never understood 
 why these exceptions are simply ignored).

I could use it then, although all those checks are unnecessary since
the underlying socket() call will check it for us.

 You patch checks the address received by accept() and retry. It's a little 
 bit surprising. If you get an unexpected connection, maybe an exception 
 should be raised, instead of just ignoring it. Maybe we should modify the 
 code in asyncio to check also the address?

Why?
If you have an unexpected connection, it should be dropped, and we
should wait until the client we're expecting connects, there's no
reason to raise an error.
But I'll just reuse asyncio's version.

 Finally, please add socketpair() directly to the socket module. It is useful 
 for applications, not only for tests.

Well, that's what I suggested initially, but never got any reply, so I
went for the least intrusive. I personally think too it should belong
to socket module.

So here it is.

--
Added file: http://bugs.python.org/file36055/socketpair-4.diff

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18643
___diff -r f7643c893587 Doc/library/socket.rst
--- a/Doc/library/socket.rstWed Jul 23 19:28:13 2014 +0100
+++ b/Doc/library/socket.rstWed Jul 23 23:20:09 2014 +0100
@@ -350,7 +350,6 @@
type, and protocol number.  Address family, socket type, and protocol 
number are
as for the :func:`.socket` function above. The default family is 
:const:`AF_UNIX`
if defined on the platform; otherwise, the default is :const:`AF_INET`.
-   Availability: Unix.
 
The newly created sockets are :ref:`non-inheritable fd_inheritance`.
 
@@ -361,6 +360,9 @@
.. versionchanged:: 3.4
   The returned sockets are now non-inheritable.
 
+   .. versionchanged:: 3.5
+  Windows support added
+
 
 .. function:: create_connection(address[, timeout[, source_address]])
 
diff -r f7643c893587 Lib/socket.py
--- a/Lib/socket.py Wed Jul 23 19:28:13 2014 +0100
+++ b/Lib/socket.py Wed Jul 23 23:20:09 2014 +0100
@@ -76,6 +76,11 @@
   if name.isupper() and name.startswith('SOCK_')})
 globals().update(SocketType.__members__)
 
+
+_LOCALHOST= '127.0.0.1'
+_LOCALHOST_V6 = '::1'
+
+
 def _intenum_converter(value, enum_klass):
 Convert a numeric family value to an IntEnum member.
 
@@ -468,6 +473,52 @@
 b = socket(family, type, proto, b.detach())
 return a, b
 
+else:
+
+# Origin: https://gist.github.com/4325783, by Geert Jansen.  Public domain.
+def socketpair(family=AF_INET, type=SOCK_STREAM, proto=0):
+if family == AF_INET:
+host = _LOCALHOST
+elif family == AF_INET6:
+host = _LOCALHOST_V6
+else:
+raise ValueError(Ony AF_INET and AF_INET6 socket address families 

+ are supported)
+if type != SOCK_STREAM:
+raise ValueError(Only SOCK_STREAM socket type is supported)
+if proto != 0:
+raise ValueError(Only protocol zero is supported)
+
+# We create a connected TCP socket. Note the trick with
+# setblocking(False) that prevents us from having to create a thread.
+lsock = socket(family, type, proto)
+try:
+lsock.bind((host, 0))
+lsock.listen()
+# On IPv6, ignore flow_info and scope_id
+addr, port = lsock.getsockname()[:2]
+csock = socket(family, type, proto)
+try:
+csock.setblocking(False)
+try:
+csock.connect((addr, port))
+except (BlockingIOError, InterruptedError):
+pass
+ssock, _ = lsock.accept()
+csock.setblocking(True)
+except:
+csock.close()
+raise
+finally:
+lsock.close()
+return (ssock, csock)
+
+socketpair.__doc__ = socketpair([family[, type[, proto]]]) - (socket 
object, socket object)
+Create a pair of socket objects from the sockets returned by the platform
+socketpair() function.
+The arguments are the same as for socket() except the default family is AF_UNIX
+if defined on the platform; otherwise, the default is AF_INET.
+
 
 _blocking_errnos = { EAGAIN, EWOULDBLOCK }
 
diff -r f7643c893587 Lib/test/test_socket.py
--- a/Lib/test/test_socket.py   Wed Jul 23 19:28:13 2014 +0100
+++ b/Lib/test/test_socket.py   Wed Jul 23 23:20:09 2014 +0100
@@ -3702,8 +3702,6 @@
 self.cli.connect((HOST, self.port))
 time.sleep(1.0)
 

[issue22052] Comparison operators called in reverse order for subclasses with no override.

2014-07-23 Thread R. David Murray

R. David Murray added the comment:

the subclass provides doesn't actually imply anything about overriding, I 
think.  For __eq__, though, that means that *every* class provides it.  
Indeed, I've always thought of the rule as the subclass goes first with no 
qualification, but that's only true for __eq__.

It looks like the subclass goes first note is missing from the __eq__ section.

But see issue 21408.  I find it hard to reason about this algorithm, so I could 
be completely wrong :)

--
nosy: +r.david.murray

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22052
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18174] Make regrtest with --huntrleaks check for fd leaks

2014-07-23 Thread Mark Lawrence

Mark Lawrence added the comment:

Just flagging this up as testing is rather important.

--
components: +Tests
nosy: +BreamoreBoy
versions: +Python 2.7, Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18174
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2091] file accepts 'rU+' as a mode

2014-07-23 Thread Mark Lawrence

Changes by Mark Lawrence breamore...@yahoo.co.uk:


--
versions: +Python 3.5 -Python 3.2, Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue2091
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22018] Add a new signal.set_wakeup_socket() function

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

Windows only supports non-blocking mode for sockets. IMO we should only support 
sockets on Windows. I opened the issue #22042 which proposes to change 
signal.set_wakeup_fd(fd) to automatically make the file descriptor 
non-blocking. I cannot implement it on Windows because files cannot be 
configured to non-blocking mode.


I have an API design issue. Choices:

(A) On UNIX, signal.set_wakeup_fd(fd) is unchanged: accept any file descriptors 
(int). On Windows, signal.set_wakeup_fd(fd) only accepts socket objects 
(socket.socket).

(B) On UNIX, signal.set_wakeup_fd(fd) is unchanged: accept any file descriptors 
(int). On Windows, signal.set_wakeup_fd(fd) only accepts socket handles (int).

(C) signal.set_wakeup_fd(fd) is unchanged but it is no more available on 
Windows (signal.set_wakeup_fd does not exist anymore, same change for 
PySignal_SetWakeupFd). Add a new signal.set_wakeup_socket(socket) function 
which only accepts socket objects (socket.socket), available on all platforms.


The issue #22042 (make the file descriptor or socket automatically 
non-blocking) can be implemented with any of these options.

The option (A) is really ugly: only accepting int on UNIX and only 
socket.socket on Windows doesn't look like a portable API.

I don't like the option (B). Sockets are usually stored as objects 
(socket.socket) because of Windows, not as socket handle (int)

So my favorite option is (C).


On Windows, socket.fileno() returns a socket handle. Even if socket handles and 
file descriptors look the same (small integers), their namespace are completly 
separated. Operations on socket handles don't accept file descriptor. 
Operations on file descriptors don't accept socket handles.

Socket objects are preferred for portability. For example, socket.send() works 
on all platforms.


The option (C) also avoids the need of guessing the file type. On Windows, 
there is no function to check if a number is a file descriptor or a socket 
handle. _PyVerify_fd() tells you if a number if a file descriptor or not. But 
there is no public Windows function to check if a number is a socket handle.

The option (C) also makes the implemantion simpler: the signal module can:
- call socket.setblocking(False) to make the socket non-blocking,
- get directly the socket handle/file descriptor from the socket object (using 
the private C structure),
- call the socket error handler instead of copying the code.


I'm not sure that getsockopt(sock_fd, SOL_SOCKET, SO_ERROR, ...) is reliable. I 
had bad experiences why I designed os.get_inheritable(fd) vs 
os.get_handle_inheritable(handle): calling os.get_inheritable() with a handle 
created file descriptors, which is something really strange. I'm no more sure 
about that, but I remember a very strange behaviour.

Python now has os.get_inheritable(fd) for file descriptors and 
os.get_handle_inheritable(handle) for handles (it is only used for socket 
handles in factor) to not guess.

--
Added file: http://bugs.python.org/file36056/wakeup_socket-6.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22018
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22018] Add a new signal.set_wakeup_socket() function

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

Windows only supports non-blocking mode for sockets. IMO we should only support 
sockets on Windows. I opened the issue #22042 which proposes to change 
signal.set_wakeup_fd(fd) to automatically make the file descriptor 
non-blocking. I cannot implement it on Windows because files cannot be 
configured to non-blocking mode.


I have an API design issue. Choices:

(A) On UNIX, signal.set_wakeup_fd(fd) is unchanged: accept any file descriptors 
(int). On Windows, signal.set_wakeup_fd(fd) only accepts socket objects 
(socket.socket).

(B) On UNIX, signal.set_wakeup_fd(fd) is unchanged: accept any file descriptors 
(int). On Windows, signal.set_wakeup_fd(fd) only accepts socket handles (int).

(C) signal.set_wakeup_fd(fd) is unchanged but it is no more available on 
Windows (signal.set_wakeup_fd does not exist anymore, same change for 
PySignal_SetWakeupFd). Add a new signal.set_wakeup_socket(socket) function 
which only accepts socket objects (socket.socket), available on all platforms.


The issue #22042 (make the file descriptor or socket automatically 
non-blocking) can be implemented with any of these options.

The option (A) is really ugly: only accepting int on UNIX and only 
socket.socket on Windows doesn't look like a portable API.

I don't like the option (B). Sockets are usually stored as objects 
(socket.socket) because of Windows, not as socket handle (int)

So my favorite option is (C).


On Windows, socket.fileno() returns a socket handle. Even if socket handles and 
file descriptors look the same (small integers), their namespace are completly 
separated. Operations on socket handles don't accept file descriptor. 
Operations on file descriptors don't accept socket handles.

Socket objects are preferred for portability. For example, socket.send() works 
on all platforms.


The option (C) also avoids the need of guessing the file type. On Windows, 
there is no function to check if a number is a file descriptor or a socket 
handle. _PyVerify_fd() tells you if a number if a file descriptor or not. But 
there is no public Windows function to check if a number is a socket handle.

The option (C) also makes the implemantion simpler: the signal module can:
- call socket.setblocking(False) to make the socket non-blocking,
- get directly the socket handle/file descriptor from the socket object (using 
the private C structure),
- call the socket error handler instead of copying the code.


I'm not sure that getsockopt(sock_fd, SOL_SOCKET, SO_ERROR, ...) is reliable. I 
had bad experiences why I designed os.get_inheritable(fd) vs 
os.get_handle_inheritable(handle): calling os.get_inheritable() with a handle 
created file descriptors, which is something really strange. I'm no more sure 
about that, but I remember a very strange behaviour.

Python now has os.get_inheritable(fd) for file descriptors and 
os.get_handle_inheritable(handle) for handles (it is only used for socket 
handles in factor) to not guess.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22018
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21850] Fix httplib and SimpleHTTPServer in unicodeless build

2014-07-23 Thread Demian Brecht

Demian Brecht added the comment:

Left a couple comments on Rietveld

--
nosy: +demian.brecht

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21850
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17548] unittest.mock: test_create_autospec_unbound_methods is skipped

2014-07-23 Thread Mark Lawrence

Mark Lawrence added the comment:

Both of these tests are still commented out in the default branch.

--
nosy: +BreamoreBoy
versions: +Python 3.5 -Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17548
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16005] smtplib.SMTP().sendmail() and rset()

2014-07-23 Thread Milan Oberkirch

Milan Oberkirch added the comment:

This bug is fixed (at least in 3.5) so you might want to close it.
(See the _rset function in smtplib.py:482 and how its used in sendmail.)

--
nosy: +jesstess, zvyn

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16005
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18605] 2.7: test_threading hangs on Solaris 9

2014-07-23 Thread Mark Lawrence

Mark Lawrence added the comment:

Is Solaris 9 supported as I can't find any buildbots for it?

--
nosy: +BreamoreBoy, jcea
versions: +Python 3.5 -Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18605
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18643] add a fallback socketpair() implementation in test.support

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

2014-07-24 0:21 GMT+02:00 Charles-François Natali rep...@bugs.python.org:
 You should copy the code from asyncio.windows_utils.socketpair(). It checks 
 also type and proto parameter: raise a ValueError for unsupported values 
 (only SOCK_STREAM and proto=0 are supported). It also supports IPv6. It 
 handles BlockingIOError and InterruptedError on connect (I never understood 
 why these exceptions are simply ignored).

 I could use it then, although all those checks are unnecessary since
 the underlying socket() call will check it for us.

socket.socket() supports SOCK_DGRAM on Windows, but asyncio
socketpair() function does not. The check on the socket family is just
to raise a better error message than an error on connect() or
something else.

I don't remember why I added a specific check on the proto parameter.

We might support more protocols in the future, but I'm not sure that
it's interesting to support them (right now). I  guess that most
people will call socketpair() without any parameter.

 You patch checks the address received by accept() and retry. It's a little 
 bit surprising. If you get an unexpected connection, maybe an exception 
 should be raised, instead of just ignoring it. Maybe we should modify the 
 code in asyncio to check also the address?

 Why?
 If you have an unexpected connection, it should be dropped, and we
 should wait until the client we're expecting connects, there's no
 reason to raise an error.
 But I'll just reuse asyncio's version.

Your version is safer. You should reuse your while dropping unknown connections.

By the way, we should reuse socket.socketpair() in
asyncio.windows_utils. The Tulip is written for Python 3.3 and shares
exactly the same code base, so you should write

Something like:

if hasattr(socket, 'socketpair'):
socketpair = socket.socketpair
else:
  def socketpair(...): ...

Please also fix socketpair() in asyncio to add the while/drop unknown
connection (well, the function in socket.py and windows_utils.py must
be the same).

 Well, that's what I suggested initially, but never got any reply, so I
 went for the least intrusive. I personally think too it should belong
 to socket module.

On Windows, asyncio uses a socket pair in its default event loop
(SelectorEventLoop) for its self pipe, because select.select() only
supports sockets. The Windows ProactorEventLoop also uses a socket
pair for its self pipe.

Oh, and you forgot to modify the documentation to update
Availability. Please add a .. versionchanged:: 3.5 mentionning
that the function is now also available on Windows.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18643
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22018] Add a new signal.set_wakeup_socket() function

2014-07-23 Thread STINNER Victor

Changes by STINNER Victor victor.stin...@gmail.com:


--
Removed message: http://bugs.python.org/msg223793

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22018
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22018] Add a new signal.set_wakeup_socket() function

2014-07-23 Thread Antoine Pitrou

Antoine Pitrou added the comment:

 I don't like the option (B). Sockets are usually stored as objects 
 (socket.socket) because of Windows, not as socket handle (int)

I don't understand this. If you're ok with calling fileno() under Linux, why 
not under Windows?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22018
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15267] tempfile.TemporaryFile and httplib incompatibility

2014-07-23 Thread Demian Brecht

Changes by Demian Brecht demianbre...@gmail.com:


--
nosy: +demian.brecht

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15267
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1191964] add non-blocking read and write methods to subprocess.Popen

2014-07-23 Thread STINNER Victor

STINNER Victor added the comment:

 I have implemented and would continue to lean towards continuing to hide 
 BrokenPipeError on the additional API endpoints.

FYI asyncio.Process.communicate() ignores BrokenPipeError and 
ConnectionResetError, whereas asyncio.Process.stdin.drain() (coroutine to wait 
until all bytes are written) raises a BrokenPipeError or ConnectionResetError 
if the child process exited. I think subprocess has the same design.

(I modified recently asyncio to ignore BrokenPipeError in communicate(), it was 
a bug.)

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1191964
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1481032] patch smtplib:when SMTPDataError, rset crashes with sslerror

2014-07-23 Thread Milan Oberkirch

Milan Oberkirch added the comment:

This bug was resolved for SMTPServerDisconnected exceptions but not for 
SSLError. Is it still reproducible? If so, the attached patch should fix it for 
3.x (couldn't test if it does because I don't know how to reproduce the error).

--
nosy: +jesstess, zvyn
Added file: http://bugs.python.org/file36057/issue1481032.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1481032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3566] httplib persistent connections violate MUST in RFC2616 sec 8.1.4.

2014-07-23 Thread Demian Brecht

Changes by Demian Brecht demianbre...@gmail.com:


--
nosy: +demian.brecht

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue3566
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14044] IncompleteRead error with urllib2 or urllib.request -- fine with urllib, wget, or curl

2014-07-23 Thread Demian Brecht

Changes by Demian Brecht demianbre...@gmail.com:


--
nosy: +demian.brecht

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14044
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



  1   2   >