[issue35762] subprocess.Popen with universal_newlines and nonblocking streams fails with "can't concat NoneType to bytes"

2019-01-18 Thread Martin Panter

Martin Panter  added the comment:

Yes, universal newlines mode uses the TextIOWrapper class to read the pipe, 
which isn’t really designed for non-blocking mode. This is the same problem 
described by Izbyshev at .

Raising TypeError isn’t ideal. IMO it would be better to raise BlockingIOError, 
which is what basic calls like “os.read” would do, and what 
“BufferedReader.read” is supposed to do according to the documentation. 
(However the documentation and implementation don’t match; that is what Issue 
13322 is about.)

--
nosy: +martin.panter
type: crash -> behavior

___
Python tracker 

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



[issue13322] buffered read() and write() does not raise BlockingIOError

2019-01-18 Thread Martin Panter

Martin Panter  added the comment:

Issue 35762 was opened specifically about Izbyshev’s case: TextIOWrapper 
behaviour with a non-blocking file. Calling “os.fdopen” with mode='r' (text 
mode) returns a TextIOWrapper object.

--

___
Python tracker 

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



[issue35748] urlparse library detecting wrong hostname leads to open redirect vulnerability

2019-01-18 Thread Martin Panter

Martin Panter  added the comment:

The “urllib.parse” module generally follows RFC 3986, which does not allow a 
literal backslash in the “userinfo” part:

userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded = "%" HEXDIG HEXDIG
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

The RFC does not allow a backslash in the host name, path, query or fragment 
either. That is why I said the URL is not valid.

--

___
Python tracker 

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



[issue35739] Enable verbose of tests during PGO build on amd64 platforms

2019-01-18 Thread Jorge Ramos


Jorge Ramos  added the comment:

Mmm, I don't find that option documented in the readme of the MSI folder nor in 
the help for buildrelease.bat (and also is not intuitive, what does IIRC stand 
for?), nevertheless:

It should be no problem if this PR doesn't pass but it should help newcomers 
like me to debug builds (the option -q is also not documented in the 
buildrelease but I found that option tracking the build calls all the way to 
regrtest.py) I leave this info here if anyone benefits from it.

In fact I edited the PGO option in the buildrelease file to:

PGO= -m test --pgo -uall -j8 -M 27Gb -x test_bigmem test_bz2 test_codecs 
test_httpservers test_nntplib test_platform test_regrtest test_sysconfig 
test_zlib

The test suite now reads: PASS (I know, it is not necessary for all the tests 
to pass, but it is a nice view IMO). The benefit of the -j option is  that it 
permits some tests to pass when they where failing before this option. The 
option -uall opens resources to the tests, so that some of them will no longer 
be denied to tests (and therefore leaving no tests run -or skipped- by lack of 
resources). The 27Gb memory "allocated" to the tests is overkill, but my system 
could handle it (it may be that some tests need more than that but I have no 
further memory). 

Sure, it takes a long time to build (close to 1 hr) but it is the best way I 
have found so far to minimize the number of failed tests: with this option, 
only those 9 tests fail out of the 407 in Python 3.6 This info was found by 
disabling the quiet option, so that is another plus.

If you have time, can I ask a question related to the *.pgc files?

--

___
Python tracker 

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



[issue18140] urlparse, urlsplit confused when password includes fragment (#), query (?)

2019-01-18 Thread Martin Panter

Martin Panter  added the comment:

Today I read RFC 3986, and I think the URLs in the bug reports are valid, and 
are already parsed correctly. The path is allowed to have a literal “at” symbol:

path-abempty = *( "/" segment )
segment = *pchar
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

The query and fragment are allowed to have “at” and question marks:

query = *( pchar / "/" / "?" )
fragment = *( pchar / "/" / "?" )

So I think this could be closed because the parsing is working correctly.

--
resolution:  -> not a bug
status: open -> pending

___
Python tracker 

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



[issue35299] LGHT0091: Duplicate symbol 'File:include_pyconfig.h' found

2019-01-18 Thread Jorge Ramos


Jorge Ramos  added the comment:

I want to document a workaround if anyone benefits from it, this would be step 
7:

7) This error goes away if you remove the pyconfig.h from the include directory 
before the tests end (and of course, after the test distutils).

This is only a workaround and requires the user placing attention to the build 
process (maybe for the first 5-10 minutes). Having the option "-q" removed from 
the buildrelease.bat file (as discussed in issue 
https://bugs.python.org/issue35739 ) helps with determining when to safely 
remove the file so that the distutils test pass.

--

___
Python tracker 

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



[issue20479] Efficiently support weight/frequency mappings in the statistics module

2019-01-18 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

> Is this proposal still relevant?

Yes.

As Raymond says, deciding on a good API is the hard part. Its relatively 
simple to change a poor implementation for a better one, but backwards 
compatibility means that changing the API is very difficult.

I would find it very helpful if somebody has time to do a survey of 
other statistics libraries or languages (e.g. numpy, R, Octave, Matlab, 
SAS etc) and see how they handle data with weights.

- what APIs do they provide?
- do they require weights to be positive integers, or do they 
  support arbitrary float weights?
- including negative weights? 
  (what physical meaning does a negative weight have?)

At the moment, a simple helper function seems to do the trick for 
non-negative integer weights:

def flatten(items):
for item in items:
yield from item

py> data = [1, 2, 3, 4]
py> weights = [1, 4, 1, 2]
py> statistics.mean(flatten([x]*w for x, w in zip(data, weights)))
2.5

In principle, the implementation could be as simple as a single 
recursive call:

def mean(data, weights=None):
if weights is not None:
return mean(flatten([x]*w for x, w in zip(data, weights)))
# base case without weights is unchanged

or perhaps it could be just a recipe in the docs.

--

___
Python tracker 

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



[issue35782] Missing whitespace after comma in randrange raise error

2019-01-18 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
stage: resolved -> needs patch

___
Python tracker 

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



[issue35737] crypt AuthenticationError introduced with new Linux kernel

2019-01-18 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

Thanks for the report. I couldn't find any CPython related stack trace in the 
traceback and this looks like a custom validation error raised by salt. Can you 
please add a simple reproducer without any external dependencies to reproduce 
this without which I propose to close this as third-party.

The Python version in GitHub issue report is Python 2.7.5 which is very old so 
can you please test this on Python 2.7.15 under different kernels as in the 
GitHub issue and perhaps add the traceback here for the same with a pure python 
reproducer without dependencies.

--
nosy: +xtreak

___
Python tracker 

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



[issue20479] Efficiently support weight/frequency mappings in the statistics module

2019-01-18 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

> Is this proposal still relevant? If so, I would 
> like to work on its implementation.

The first question is the important one.  Writing implementations is usually 
the easy part.  Deciding on whether there is a real need and creating a usable, 
extendable, and clean API is often the hard part.  So please don't run to a PR, 
that just complicates the important part.

--

___
Python tracker 

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



[issue35775] Add a general selection function to statistics

2019-01-18 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

> I'm very interested in adding quartiles and 
> general quantiles/fractiles, but I'm not 
> so sure that this select(data, index) function would be useful. 

I concur with Steven.

--

___
Python tracker 

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



[issue35782] Missing whitespace after comma in randrange raise error

2019-01-18 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

Cheryl, do you want to neaten-up this error message?  

It is triggered by randrange(3, 3).

--
assignee:  -> cheryl.sabella
nosy: +cheryl.sabella, rhettinger
status: closed -> open

___
Python tracker 

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



[issue35782] Missing whitespace after comma in randrange raise error

2019-01-18 Thread Louie Lu


Change by Louie Lu :


--
stage:  -> resolved
status: open -> closed

___
Python tracker 

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



[issue35756] Using `return value` in a generator function skips the returned value on for-loop iteration

2019-01-18 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

On Fri, Jan 18, 2019 at 12:31:51AM +, bryan.koch wrote:

> Thank you both for the clarifications.  I agree these's no bug in 
> `yield from` however is there a way to reference the return value when 
> a generator with a return is invoked using `for val in gen` i.e. when 
> the generator is invoked without delegation?

I don't believe so, because the for loop machinery catches and consumes 
the StopIteration.

Any change to that behaviour would be new functionality that would 
probably need to go through Python-Ideas first.

[...]
> Essentially I have code that looks like
> `
> for value in generator:
>   do thing with value 
>   yield value 
> ` 
> where I need to do something before yielding the value.
> It would be awesome if invoking a generator above would throw a 
> SyntaxError iff it contained a return and it wasn't invoked through 
> `yield from`.

How is the interpreter supposed to know? (I assume you mean for the 
SytnaxError to be generated at compile-time.) Without doing a 
whole-program analysis, there is no way for the interpreter to compile a 
generator:

def gen():
yield 1
return 1

and know that no other piece of code in some other module will never 
call it via a for loop.

> The below isn't valid Python and I'm not sure that it should be but 
> it's what I need to do.
> 
> `
> return_value = for value in generator:
>   do thing with value
>   yield value
> 
> if return_value:
>   do something with return_value
> `

Let me be concrete here. You have a generator which produces a sequence 
of values [spam, eggs, cheese, aardvark] and you need to treat the 
final value, aardvark, differently from the rest:

do thing with spam, eggs, cheese
do a different thing with aardvark (if aardvark is a True value)

Am I correct so far?

Consequently you writing this as:

def gen():
yield spam
yield eggs
yield cheese
return aardvark

Correct?

That's an interesting use-case, but I don't think there is any obvious 
way to solve that right now. Starting in Python 3.8, I think you should 
be able to write:

for x in (final := (yield from gen())):
do something with x  # spam, eggs, cheese
if final:
do something different with final  # aardvark

--

___
Python tracker 

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



[issue35782] Missing whitespace after comma in randrange raise error

2019-01-18 Thread Louie Lu


New submission from Louie Lu :

In random.py:randrange

  File "/usr/lib/python3.7/random.py", line 200, in randrange
raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, 
istop, width))
ValueError: empty range for randrange() (3,3, 0)


should be "empty range for randrange() (3, 3, 0)"

--
components: Library (Lib)
messages: 334033
nosy: louielu
priority: normal
severity: normal
status: open
title: Missing whitespace after comma in randrange raise error
versions: Python 3.7, Python 3.8

___
Python tracker 

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



[issue35748] urlparse library detecting wrong hostname leads to open redirect vulnerability

2019-01-18 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

I believe that Python's behaviour here is correct. You are supplying a netloc 
which includes a username "www.google.com\" with no password. That might be 
what you intend to do, or it might be malicious data. That depends on context, 
and the urlparse module can't tell what the context is and has no reason to 
assume malice.

If I am reading this correctly:

https://tools.ietf.org/html/rfc1738#section-3.1

the colon after the username can be omitted, so the URL is legal and Python has 
returned the correct value for the netloc.

As Christian says, Python is not an end-user application like a browser. It is 
right and proper for a browser to expect that the user is non-technical and may 
not have noticed the @ sign, and to expect malicious behaviour, or to assume 
that backslash \ is a typo for forward slash / but Python programmers by 
definition are technical users and it is their responsibility to validate their 
data.

There are legitimate uses for the userinfo component (user:password@hostname) 
and it is not the library's responsibility to assume that backslashes are typos 
for forward slashes.

So I think that the behaviour here is correct, and this should be closed. But 
if you disagree, please explain what you think the library should do, and why. 
WHen you do, remember that:

* there are legitimate users for user:password@hostname;
* either the user name or the password can contain backslashes.

--
nosy: +steven.daprano

___
Python tracker 

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



[issue35781] `logger.warn` method is used in "Logging HOWTO" documentation though `logger.warn` method is deprecated in Python 3.7

2019-01-18 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

Thanks for the report. Would you like to propose a PR for this? 

Cases of using warn method in documentation examples : 

* https://github.com/python/cpython/blob/master/Doc/howto/logging.rst
* https://github.com/python/cpython/blob/master/Doc/howto/logging-cookbook.rst

Doc/howto/logging.rst
613:logger.warn('warn message')
643:logger.warn('warn message')

Doc/howto/logging-cookbook.rst
189:logger.warn('warn message')
298:logger.warn('warn message')

--
nosy: +vinay.sajip, xtreak
versions: +Python 3.8

___
Python tracker 

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



[issue35781] `logger.warn` method is used in "Logging HOWTO" documentation though `logger.warn` method is deprecated in Python 3.7

2019-01-18 Thread yuji38kwmt


New submission from yuji38kwmt :

### Target Documentation

https://docs.python.org/3/howto/logging.html#configuring-logging


### Actual Sample Code

```
# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
```

### Expected Sample Code

```
# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warning('warn message')
logger.error('error message')
logger.critical('critical message')
```

### Reference

> There is an obsolete method warn which is functionally identical to warning. 
> As warn is deprecated, please do not use it - use warning instead.

https://docs.python.org/3.7/library/logging.html#logging.Logger.warning

--
assignee: docs@python
components: Documentation
messages: 334030
nosy: docs@python, yuji38kwmt
priority: normal
severity: normal
status: open
title: `logger.warn` method is used in "Logging HOWTO" documentation though 
`logger.warn` method is deprecated in Python 3.7
type: behavior
versions: Python 3.7

___
Python tracker 

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



[issue35780] Recheck logic in the C version of the lru_cache()

2019-01-18 Thread Raymond Hettinger


New submission from Raymond Hettinger :

After the check for popresult==Py_None, there is the comment that was mostly 
copied from the Python version but doesn't match the actual code:

 /* Getting here means that this same key was added to the
cache while the lock was released.  Since the link
update is already done, we need only return the
computed result and update the count of misses. */

The cache.pop uses the old key (the one being evicted), so at this point in the 
code we have an extracted link containing the old key but the pop failed to 
find the dictionary reference to that link.  It tells us nothing about whether 
the current new key has already been added to the cache or whether another 
thread added a different key. This code path doesn't add the new key.  Also, it 
leaves the self->full variable set to True even though we're now at least one 
link short of maxsize.

The next test is for popresult == NULL. If I'm understanding it correctly, it 
means that an error occurred during lookup (possible during the equality 
check).  If so, then why is the link being moved to the front of the lru_cache 
-- it should have remained at the oldest position.  The solution to this is 
only extract the link after a successful pop rather than before.

The final case runs code when the pop succeeded in finding the oldest link.  
The popresult is decreffed but not checked to make sure that it actually is the 
oldest link.  Afterwards, _PyDict_SetItem_KnownHash() is called with the new 
key.  Unlike the pure python code, it does not check to see if the new key has 
already been added by another thread.  This can result in an orphaned link (a 
link not referred to by the cache dict).  I think that is why popresult code 
can ever get to a state where it can return Py_None (it means that the cache 
structure is in an inconsistent state).

I think the fix is to make the code more closely follow the pure python code.  
Verify that the new key hasn't been added by another thread during the user 
function call.  Don't delete the old link until it has been successfully 
popped.  A Py_None return from the pop should be regarded as sign the structure 
is in an inconsistent state.  The self->full variable needed to be reset if 
there are any code paths that deletes links but don't add them back.  Better 
yet, the extraction of a link should be immediately followed by repopulating it 
will new values and moving it to the front of the cache.  That way, the cache 
structure will always remain in a consistent state and the number of links will 
be constant from start to finish.

The current code likely doesn't fail in any spectacular way.  Instead, it will 
occasionally have unreferenced orphan links, will occasionally be marked as 
full when it is short one or more links (and never regaining the lost links), 
will occasionally not put the result of the newest function call into the 
cache, and will occasionally mark the oldest link as being the newest even 
though there wasn't a user function call to the corresponding old key.

Minor nit:  The decrefs should be done at the bottom of each code path instead 
of the top.  This makes it a lot easier to verify that we aren't making 
arbitrary reentrant callbacks until the cache data structures have been put 
into a consistent state.

Minor nit: The test "self->root.next != >root" may no longer be necessary 
if the above issues are fixed.  We can only get to this wrapper when maxsize > 
0, so self->full being true implies that there is at least one link in the 
chain, so self->root.next cannot point back to itself.  Possibly the need for 
this test exists only because the cache is getting into an inconsistent state 
where it is marked as full but there aren't any extant links.

Minor nit:  "lru_cache_extricate_link" should be named 
"lru_cache_extract_link".  The word "extricate" applies only when solving an 
error case; whereas, "extract" applies equally well to normal cases and cases.  
The latter word more closely means "remove an object from a data structure" 
which is what was likely intended.

Another minor nit:  The code in lru_cache_append_link() is written in way where 
the compiler has to handle an impossible case where "link->prev->next = 
link->next" changes the value of "link->next".  The suspicion of aliased 
pointers causes the compiler to generate an unnecessary and redundant memory 
fetch.   The solution again is to more closely follow the pure python code:

diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c
index 0fb4847af9..8cbd79ceaf 100644
--- a/Modules/_functoolsmodule.c
+++ b/Modules/_functoolsmodule.c
@@ -837,8 +837,10 @@ infinite_lru_cache_wrapper(lru_cache_object *self, 
PyObject *args, PyObject *kwd
 static void
 lru_cache_extricate_link(lru_list_elem *link)
 {
-link->prev->next = link->next;
-link->next->prev = link->prev;
+lru_list_elem *link_prev = link->prev;
+lru_list_elem *link_next = link->next;
+   

[issue35779] Print friendly version message in REPL

2019-01-18 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

The version message doesn't look "too complicated" to me. It looks no more 
complicated as that which Python has always displayed, going back to Python 1.5 
(the oldest version I still have access to).

Python 1.5.2 (#1, Aug 27 2012, 09:09:18)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2

Python 2.7.2 (default, May 18 2012, 18:25:10)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2


You say:

> 9a3ffc0492git commit id may scare junior users.

I think that's quite patronising towards juniors. Any junior who doesn't know 
what that means will likely just ignore it. Besides, Python isn't designed 
solely for junior users, and they will never cease to be junior users if we 
dumb everything down least it "scare" them.

> 23:09:28  quite meaningless.

Its a time stamp, and it goes with the date. There can easily be two or more 
commits on a single day, having the time visible is useful.


> win32 "I'm using a 64 bit Windows, why call it win32?"

*shrug* Ask Microsoft.

https://duckduckgo.com/?q=I%27m+using+a+64+bit+Windows%2C+why+call+it+win32



I don't think anything here needs to change. We've been printing the same 
information going back to 1.5. Giving too much information hasn't been a 
problem, the usual problem is trying to get beginners to supply *sufficient* 
information. Having them copy and paste the startup message is useful for 
diagnosing problems. Don't dumb it down.

--
nosy: +steven.daprano

___
Python tracker 

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



[issue35775] Add a general selection function to statistics

2019-01-18 Thread Steven D'Aprano

Steven D'Aprano  added the comment:

On Fri, Jan 18, 2019 at 11:13:41PM +, Rémi Lapeyre wrote:

> Wouldn't be the 5-th percentile be select(data, round(len(data)/20)?

Oh if only it were that simple!

Using the method you suggest, the 50th percentile is not the same as the 
median unless the length of the list is three more than a multiple of 
four. It also runs into problems for small lists where the index rounds 
down to zero.

Langford (2006) does a literature review and finds fifteen methods for 
calculating the quartiles (Q1, Q2, Q3), of which twelve are distinct and 
incompatible; Hyndman & Fan (1996) did similar for general quantiles and 
came up with nine, of which seven match Langford's.

I know of at least six other methods, which gives a total of 20 distinct 
ways of calculating quartiles or quantiles.

http://jse.amstat.org/v14n3/langford.html

https://robjhyndman.com/publications/quantiles/

I stress that these are not merely different algorithms which give the 
same answer, but different methods which sometimes disagree on their 
answers. So whichever method you use, some people are going to be 
annoyed or confused or both.

http://mathforum.org/library/drmath/view/60969.html

Other statistics libraries provide a choice, e.g.:

- R and Octave provide the same 9 as H
- Maple provides 6 of those, plus 2 others.
- Wessa provides 5 that match H, plus another 3.
- SAS provides 5.
- even Excel provides 2 different ways.

Statisticians don't even agree on which is the "best" method. H 
recommend their method number 8. Langford recommends his method 4. I 
think that your suggestion matches Langford's method 14, which is H's 
method 3.

Selecting the i-th item from a list is the easy part. Turning that into 
meaningful quantiles, percentiles etc is where it gets really hairy. My 
favourite quote on this comes from J Nash on the Gnumeric mailing list:

Ultimately, this question boils down to where to cut to
divide 4 candies among 5 children. No matter what you do,
things get ugly.

--

___
Python tracker 

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



[issue35779] Print friendly version message in REPL

2019-01-18 Thread Ma Lin


New submission from Ma Lin :

The current version message in REPL is too complicate for official release.

Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit 
(AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 

tags/v3.7.2   git tag is superfluous.
9a3ffc0492git commit id may scare junior users.
23:09:28  quite meaningless.
win32 "I'm using a 64 bit Windows, why call it win32?"

IMO, we can simply print this message for official release:
Python 3.7.2 (64 bit, Dec 23 2018) on Windows

How about this logic?

if version in git_tag and "dirty" not in commit_id:
print_simplified_message()
else:
print_current_message()

--
messages: 334026
nosy: Ma Lin
priority: normal
severity: normal
status: open
title: Print friendly version message in REPL
type: enhancement
versions: Python 3.8

___
Python tracker 

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



[issue35778] RF: ``pathlib.Path.checksum()`` member

2019-01-18 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
nosy: +pitrou

___
Python tracker 

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



[issue35711] Print information about an unexpectedly pending error before crashing

2019-01-18 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I'm re-opening this.  The original intent of the PR was missed even though the 
change in the PR as is was not how we want to do this in the CPython VM.

Background: We build our default non-production test interpreter in `#undef 
NDEBUG` mode at Google which is why sfreilich@ ran into this while working on 
some code.

What we have today are a bunch of assert(!PyErr_Occurred()); statements around 
the CPython internals.

A failure (crash) from such asserts provides no information on its own about 
the unhandled exception itself to help the developer track down the C API use 
error that led to this state.

It'd be useful if all of these provided more information about the 
untracked/unhandled exception before crashing.

So instead of

```c
  assert(!PyErr_Occurred());
```

Something equivalent to:

```c
#ifndef NDEBUG
  if (PyErr_Occurred()) {
PyErr_Print();
assert(!PyErr_Occurred());  // crash
  }
#endif
```

were used.  But that is extremely verbose, so we wouldn't want to update all of 
the existing asserts into that.  Instead that should be encapsulated within 
something that, as with assert, compiles as a non-existant no-op in the NDEBUG 
(release) build state.  But otherwise does that.

Given this is C, a conditional macro is reasonable.  (i'd suggest a void 
function who's body is empty... but that still has consequences and would not 
be removed in all compilation and linking situations) potentially impacting 
performance.  A conditional macro similar to this would not:

```c
#ifdef NDEBUG
# define _Assert_No_PyErr_Occurred() ((void)0)
#else  /* Not NDEBUG (assertions enabled). */
# define _Assert_No_PyErr_Occurred()  do { \
int _unhandled_error = PyErr_Occurred();
if (_unhandled_error) {
PyErr_Print();
assert(!_unhandled_error);  // crash.
}
} while(0)
#endif
```

along with replacing all ~38 of our current `assert(!PyErr_Occurred());` 
statements with a call to that macro.

If, as vstinner noted in the PR comments, rather than just PyErr_Print() for 
this... using the new `_PyObject_ASSERT()` from Include/cpython/object.h macro 
giving it the unhandled exception object itself as obj would be good as it 
would produce even more useful debugging information.

Code doing that gets complicated but probably looks something like (untested):

```c
#ifdef NDEBUG
# define _Assert_No_PyErr_Occurred() ((void)0)
#else  /* Not NDEBUG (assertions enabled). */
# define _Assert_No_PyErr_Occurred()  do {  \
int _unhandled_exception = PyErr_Occurred();  \
if (_unhandled_exception) {  ]
PyObject *sys_module, *exception_object;  \
PyErr_Print();  /* Clears PyErr_Occurred() and sets sys.last_value. 
*/  \
sys_module = PyImport_ImportModule("sys");  \
assert(sys_module /* within _Assert_No_PyErr_Occurred() */);  \
exception_object = PyObject_GetAttrString(sys_module, 
"last_value");  \
if (exception_object == NULL) {  \
PyErr_Clear();  /* AttributeError */  \
/* Given PyErr_Print probably instantiated a value of there was 
 */  \
/* only a type, I don't even know if this code path is 
possible. */  \
/* Playing it safe and useful in debugging code. */  \
exception_object = PyObject_GetAttrString(sys_module, 
"last_type");  \
}  \
Py_DECREF(sys_module);  \
_PyObject_ASSERT(exception_object, _unhandled_exception);  \
/* Unreachable code, _PyObject_ASSERT should have aborted. */  \
Py_XDECREF(exception_object);  \
abort();  \
}  \
} while(0)
#endif
```

--
assignee:  -> gregory.p.smith
nosy: +gregory.p.smith
resolution: fixed -> 
status: closed -> open

___
Python tracker 

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



[issue15613] argparse ArgumentDefaultsHelpFormatter interacts badly with --arg and nargs=+

2019-01-18 Thread Cheryl Sabella


Cheryl Sabella  added the comment:

Closing per paul.j3's last comment which also is mentioned in the documentation 
(https://docs.python.org/3.8/library/argparse.html#default
):

> For positional arguments with nargs equal to ? or *, the default value is 
> used when no command-line argument was present

--
nosy: +cheryl.sabella

___
Python tracker 

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



[issue15613] argparse ArgumentDefaultsHelpFormatter interacts badly with --arg and nargs=+

2019-01-18 Thread Cheryl Sabella


Change by Cheryl Sabella :


--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

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



[issue35778] RF: ``pathlib.Path.checksum()`` member

2019-01-18 Thread Oscar Esteban


New submission from Oscar Esteban :

Gauging the interest in a checksum calculation function built-in Path objects:

```
>>> Path('somefile.img').checksum()
'4976c36bacf922cbc5c811c9c288e61d'

>>> Path('somefile.img').checksum(hash='md5')
'4976c36bacf922cbc5c811c9c288e61d'

>>> Path('somefile.img').checksum(hash='sha256')
'12917abe21e1eb4ba3c704600db53a1ff1434b3259422b86bfd08afa8216e4aa'

>>> Path.home().checksum()
'798d3a5c2b679750a90e91b09cf93129'

>>> Path.home().checksum(hash='sha256')
'b3e04961fd54818d93aac305db4a3dec51b9731808c19ea9c59460c841e2d145'

# Do not checksum content, just the file's path, as for directories
>>> Path('somefile.img').checksum(content=False)
'3fb531e352cbc2e2103ab73ede40f2d6'
```

--
components: Library (Lib)
messages: 334023
nosy: oesteban
priority: normal
severity: normal
status: open
title: RF: ``pathlib.Path.checksum()`` member
type: enhancement
versions: Python 3.7, Python 3.8

___
Python tracker 

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



[issue35775] Add a general selection function to statistics

2019-01-18 Thread Rémi Lapeyre

Rémi Lapeyre  added the comment:

Wouldn't be the 5-th percentile be select(data, round(len(data)/20)?

--

___
Python tracker 

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



[issue35633] test_eintr fails on AIX since fcntl functions were modified

2019-01-18 Thread Michael Felt

Michael Felt  added the comment:

I’ll make a new PR and delete the news entry. 

Sent from my iPhone

> On 15 Jan 2019, at 11:23, STINNER Victor  wrote:
> 
> 
> STINNER Victor  added the comment:
> 
>> On AIX the test for flock() passes, but the test for lockf() fails: (...)
> 
> I would prefer to simply skip the lockf() test rather than ignoring 
> PermissionError for flock() and lockf() on all platforms. Can you please 
> write a PR for that?
> 
> There is no need to add a NEWS entry, I will add "skip news". If you want to 
> add a NEWS entry, mention at least the fixed test and AIX.
> 
> --
> 
> ___
> Python tracker 
> 
> ___
>

--

___
Python tracker 

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



[issue35756] Using `return value` in a generator function skips the returned value on for-loop iteration

2019-01-18 Thread Greg Ewing


Greg Ewing  added the comment:

bryan.koch wrote:
> It would be awesome if invoking a generator above would throw a
> SyntaxError iff it contained a return and it wasn't invoked through `yield
> from`.

Why do you care about that so much? There's nothing to stop you
from ignoring the return value of an ordinary function. Why should
generator functions be different?

--

___
Python tracker 

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



[issue35775] Add a general selection function to statistics

2019-01-18 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

I'm very interested in adding quartiles and general quantiles/fractiles, but 
I'm not so sure that this select(data, index) function would be useful. Can you 
explain how you would use this?

--

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11367

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11368

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


miss-islington  added the comment:


New changeset 47290e7642dd41d94437dd0e2c0f6bfceb0281b5 by Miss Islington (bot) 
in branch '3.7':
bpo-35770: Fix off-by-1 error. (GH-11618)
https://github.com/python/cpython/commit/47290e7642dd41d94437dd0e2c0f6bfceb0281b5


--

___
Python tracker 

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



[issue35756] Using `return value` in a generator function skips the returned value on for-loop iteration

2019-01-18 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

No bug here.  You can discuss possible change on python-ideas, but I strongly 
suggest that you write your next wrapper and move on.

--
nosy: +terry.reedy
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed
versions: +Python 3.7 -Python 3.4, Python 3.5, Python 3.6

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


Change by miss-islington :


--
pull_requests: +11366, 11367

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


Change by miss-islington :


--
pull_requests: +11366

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


Change by miss-islington :


--
pull_requests: +11366, 11367, 11368

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Terry J. Reedy  added the comment:


New changeset 2cf1ddaff4c869780d9e796b21ef3e506f8ad321 by Terry Jan Reedy in 
branch 'master':
bpo-35770: Fix off-by-1 error. (#11618)
https://github.com/python/cpython/commit/2cf1ddaff4c869780d9e796b21ef3e506f8ad321


--

___
Python tracker 

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



[issue35777] mismatched eval() and ast.literal_eval() behavior with unicode_literals

2019-01-18 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

Python 2.7 has long passed feature freeze, and this would be new behaviour 
appearing in a bug-fix release, which we don't normally do.

I'm going to close this as Rejected, but if you think you can make a good case 
for why this enhancement is sufficiently important to break 
backwards-compatibility in a bug-fix release, or alternatively that the current 
behaviour is a bug (e.g. that it goes against the documentation) then we can 
re-open it.

(Merely "doesn't do what I think the user expects" is not a bug.)

--
nosy: +steven.daprano
resolution:  -> rejected
stage:  -> resolved
status: open -> closed
type: behavior -> enhancement

___
Python tracker 

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



[issue17005] Add a topological sort algorithm

2019-01-18 Thread Eric V. Smith


Eric V. Smith  added the comment:

This is why I prefer the API exposed by https://pypi.org/project/toposort/

list(toposort({2: {11},
   9: {11, 8, 10},
   10: {11, 3},
   11: {7, 5},
   8: {7, 3},
  }))

returns [{3, 5, 7}, {8, 11}, {2, 10}, {9}]

For an node with no edges, use an empty set:

list(toposort({100: set(),
   2: {11},
   9: {11, 8, 10},
   10: {11, 3},
   11: {7, 5},
   8: {7, 3},
  }))
[{3, 100, 5, 7}, {8, 11}, {2, 10}, {9}]

I also don't think we should provide multiple APIs. Let's just provide one, and 
recipes for any helpers, if needed. For example, to flatten the result into a 
list. Or to take a list of edges as the input.

--

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11364

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11365

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests: +11363, 11364, 11365

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests: +11363, 11364

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests: +11363

___
Python tracker 

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



[issue20399] Comparison of memoryview

2019-01-18 Thread Antoine Pitrou


Antoine Pitrou  added the comment:

If not wanting to support the whole gamut of PEP 3118 types, one could start by 
only providing ordered comparisons when format == 'B'.

--
stage:  -> needs patch
versions: +Python 3.8 -Python 3.5

___
Python tracker 

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



[issue17005] Add a topological sort algorithm

2019-01-18 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

I think 'toposort' is a good name for a function that implements 'topological 
sorting'.
https://en.wikipedia.org/wiki/Topological_sorting

--
versions: +Python 3.8 -Python 3.4

___
Python tracker 

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



[issue35777] mismatched eval() and ast.literal_eval() behavior with unicode_literals

2019-01-18 Thread Jez Hill


New submission from Jez Hill :

Following  `from __future__ import unicode_literals`   the expression `eval(" 
'foo' ")` will return a `unicode` instance.  However, using the same input, 
`ast.literal_eval(" 'foo' ")` will return a `str` instance. The caller's 
preference, that those plain single-quotes should a denote unicode literal, is 
respected by `eval()` but not by `ast.literal_eval()`.   I propose that 
`ast.literal_eval()` be made sensitive to this preference, to bring it in line 
with `eval()`.

--
messages: 334011
nosy: jez
priority: normal
severity: normal
status: open
title: mismatched eval() and ast.literal_eval() behavior with unicode_literals
type: behavior
versions: Python 2.7

___
Python tracker 

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



[issue17005] Add a topological sort algorithm

2019-01-18 Thread Gareth Rees


Gareth Rees  added the comment:

Just to elaborate on what I mean by "bug magnet". (I'm sure Pablo understands 
this, but there may be other readers who would like to see it spelled out.)

Suppose that you have a directed graph represented as a mapping from a vertex 
to an iterable of its out-neighbours. Then the "obvious" way to get a total 
order on the vertices in the graph would be to generate the edges and pass them 
to topsort:

def edges(graph):
return ((v, w) for v, ww in graph.items() for w in ww)
order = topsort(edges(graph))

This will appear to work fine if it is never tested with a graph that has 
isolated vertices (which would be an all too easy omission).

To handle isolated vertices you have to remember to write something like this:

reversed_graph = {v: [] for v in graph}
for v, ww in graph.items():
for w in ww:
reversed_graph[w].append(v)
order = topsort(edges(graph)) + [
  v for v, ww in graph.items() if not ww and not reversed_graph[v]]

I think it likely that beginner programmers will forget to do this and be 
surprised later on when their total order is missing some of the vertices.

--

___
Python tracker 

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



[issue20399] Comparison of memoryview

2019-01-18 Thread Josh Rosenberg


Josh Rosenberg  added the comment:

Not my use case specifically, but my link in the last post (repeated below) was 
to a StackOverflow answer to a problem where using buffer was simple and fast, 
but memoryview required annoying workarounds. Admittedly, in most cases it's 
people wanting to do this with strings, so in Python 3 it only actually works 
if you convert to bytes first (possibly wrapped in a memoryview cast to a 
larger width if you need to support ordinals outside the latin-1 range). But it 
seems a valid use case.

Examples where rich comparisons were needed include:

Effcient way to find longest duplicate string for Python (From Programming 
Pearls) - https://stackoverflow.com/a/13574862/364696 (which provides a 
side-by-side comparison of code using buffer and memoryview, and memoryview 
lost, badly)

strcmp for python or how to sort substrings efficiently (without copy) when 
building a suffix array - https://stackoverflow.com/q/2282579/364696 (a case 
where they needed to sort based on potentially huge suffixes of huge strings, 
and didn't want to end up copying all of them)

--

___
Python tracker 

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



[issue35752] test_buffer fails on ppc64le: memoryview pack_single() is miscompiled

2019-01-18 Thread Stefan Krah


Change by Stefan Krah :


--
assignee:  -> skrah

___
Python tracker 

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



[issue33608] [subinterpreters] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.

2019-01-18 Thread Eric Snow


Change by Eric Snow :


--
pull_requests: +11360, 11361

___
Python tracker 

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



[issue33608] [subinterpreters] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.

2019-01-18 Thread Eric Snow


Change by Eric Snow :


--
pull_requests: +11360, 11361, 11362

___
Python tracker 

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



[issue33608] [subinterpreters] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.

2019-01-18 Thread Eric Snow


Change by Eric Snow :


--
pull_requests: +11360

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


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

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11358

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11359

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11356

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11355

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11353

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
pull_requests:  -11352

___
Python tracker 

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



[issue35733] isinstance(ast.Constant(value=True), ast.Num) should be False

2019-01-18 Thread Serhiy Storchaka


Change by Serhiy Storchaka :


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

___
Python tracker 

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



[issue35733] isinstance(ast.Constant(value=True), ast.Num) should be False

2019-01-18 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:


New changeset 74176226179ed56ad1c910bec5c4100e72ab4e84 by Serhiy Storchaka 
(Anthony Sottile) in branch 'master':
bpo-35733: Make isinstance(ast.Constant(boolean), ast.Num) be false. (GH-11547)
https://github.com/python/cpython/commit/74176226179ed56ad1c910bec5c4100e72ab4e84


--

___
Python tracker 

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



[issue35321] None _frozen_importlib.__spec__.origin attribute

2019-01-18 Thread Barry A. Warsaw


Barry A. Warsaw  added the comment:

I am mentoring Nina so I'll review this.

--

___
Python tracker 

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



[issue35321] None _frozen_importlib.__spec__.origin attribute

2019-01-18 Thread Nina Zakharenko


Nina Zakharenko  added the comment:

I'll be happy to take a look at this.

--

___
Python tracker 

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



[issue35321] None _frozen_importlib.__spec__.origin attribute

2019-01-18 Thread Nina Zakharenko


Change by Nina Zakharenko :


--
assignee:  -> nnja
nosy: +nnja

___
Python tracker 

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



[issue35321] None _frozen_importlib.__spec__.origin attribute

2019-01-18 Thread Barry A. Warsaw


Barry A. Warsaw  added the comment:

Frozen module's origin isn't really documented AFAICT.  Here's the link to the 
library reference:

https://docs.python.org/3/library/importlib.html?highlight=origin#importlib.machinery.ModuleSpec.origin

The language reference doesn't really have anything to say here.  I think it 
wouldn't be difficult to add 'frozen' to the origin, but it should also be 
documented in the library reference (and of course, tested).

--

___
Python tracker 

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



[issue35321] None _frozen_importlib.__spec__.origin attribute

2019-01-18 Thread Barry A. Warsaw


Change by Barry A. Warsaw :


--
versions: +Python 3.8

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


miss-islington  added the comment:


New changeset a01e23559fd77083a2c6c59692b70d7896e5f59a by Miss Islington (bot) 
in branch '3.7':
bpo-35770: IDLE macosx deletes Options => Configure IDLE. (GH-11614)
https://github.com/python/cpython/commit/a01e23559fd77083a2c6c59692b70d7896e5f59a


--
nosy: +miss-islington

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


Change by miss-islington :


--
pull_requests: +11357, 11358

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


Change by miss-islington :


--
pull_requests: +11357, 11358, 11359

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread miss-islington


Change by miss-islington :


--
pull_requests: +11357

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Terry J. Reedy  added the comment:


New changeset 39ed289a3511d2e9bf0950a9d5dc53c8194f61b9 by Terry Jan Reedy in 
branch 'master':
bpo-35770: IDLE macosx deletes Options => Configure IDLE. (GH-11614)
https://github.com/python/cpython/commit/39ed289a3511d2e9bf0950a9d5dc53c8194f61b9


--

___
Python tracker 

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



[issue17005] Add a topological sort algorithm

2019-01-18 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

> 1. The name "topsort" is most naturally parsed as "top sort" which could be 
> misinterpreted (as a sort that puts items on top in some way). If the name 
> must be abbreviated then "toposort" would be better.


I totally agree that `topsort` is a bad name, I used it more or less as a dummy 
for starting the discussion about the implementation.

> 2. "Topological sort" is a terrible name: the analogy with topological graph 
> theory is (i) unlikely to be helpful to anyone; and (ii) not quite right. I 
> know that the name is widely used in computing, but a name incorporating 
> "linearize" or "linear order" or "total order" would be much clearer.


Topological sort (not as the function name) but as an operation is a very well 
known concept and is well defined. If you are referring to not use "Topological 
Sort" in the docstrings or the documentation, I strongly oppose.


Regarding the interface, I am more happy to change it once there is an 
agreement. I am still awaiting Raymond's comments regarding this so we can 
start discussing.

--

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Cheryl Sabella


Change by Cheryl Sabella :


--
pull_requests: +11354, 11355, 11356
stage: needs patch -> patch review

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Cheryl Sabella


Change by Cheryl Sabella :


--
pull_requests: +11354
stage: needs patch -> patch review

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Cheryl Sabella


Change by Cheryl Sabella :


--
pull_requests: +11354, 11355
stage: needs patch -> patch review

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Cheryl Sabella


Cheryl Sabella  added the comment:

I'll submit a quick PR as a PoC.  Tal emailed with additional ideas about 
menudefs, so I agree that another issue would probably be suitable for more 
discussion.

I haven't looked at the extensions too closely yet, but the insert you're 
referring to is actually on the 'values' part, so it's not an issue.

mainmenu.menudefs[0][1] refers to menu item 0 (file menu) and the [1] means the 
nested list of tuples within menu 0.  I learned that while converting to a dict.

A trickier one is this because it changes the menus:
mainmenu.menudefs.insert(0,
('application', [
('About IDLE', '<>'),
None,
]))

But I think this will work for that:
appmenu = {'application': [
('About IDLE', '<>'),
 None,
]}
mainmenu.menudefs = {**appmenu, **mainmenu.menudefs}

--
stage: patch review -> needs patch

___
Python tracker 

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



[issue17005] Add a topological sort algorithm

2019-01-18 Thread Gareth Rees


Gareth Rees  added the comment:

I approve in general with the principle of including a topological sort 
algorithm in the standard library. However, I have three problems with the 
approach in PR 11583:

1. The name "topsort" is most naturally parsed as "top sort" which could be 
misinterpreted (as a sort that puts items on top in some way). If the name must 
be abbreviated then "toposort" would be better.

2. "Topological sort" is a terrible name: the analogy with topological graph 
theory is (i) unlikely to be helpful to anyone; and (ii) not quite right. I 
know that the name is widely used in computing, but a name incorporating 
"linearize" or "linear order" or "total order" would be much clearer.

3. The proposed interface is not suitable for all cases! The function topsort 
takes a list of directed edges and returns a linear order on the vertices in 
those edges (if any linear order exists). But this means that if there are any 
isolated vertices (that is, vertices with no edges) in the dependency graph, 
then there is no way of passing those vertices to the function. This means that 
(i) it is inconvenient to use the proposed interface because you have to find 
the isolated vertices in your graph and add them to the linear order after 
calling the function; (ii) it is a bug magnet because many programmers will 
omit this step, meaning that their code will unexpectedly fail when their graph 
has an isolated vertex. The interface needs to be redesigned to take the graph 
in some other representation.

--
nosy: +g...@garethrees.org

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
keywords: +patch, patch, patch
pull_requests: +11351, 11352, 11353
stage: needs patch -> patch review

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
keywords: +patch, patch
pull_requests: +11351, 11352
stage: needs patch -> patch review

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
keywords: +patch
pull_requests: +11351
stage: needs patch -> patch review

___
Python tracker 

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



[issue35713] Fatal Python error: _PySys_BeginInit: can't initialize sys module

2019-01-18 Thread Tasy


Tasy  added the comment:

compiling without optimizations worked.

--
resolution:  -> fixed
stage:  -> resolved
status: open -> closed

___
Python tracker 

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



[issue23078] unittest.mock patch autospec doesn't work on staticmethods

2019-01-18 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
pull_requests: +11348, 11349, 11350

___
Python tracker 

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



[issue23078] unittest.mock patch autospec doesn't work on staticmethods

2019-01-18 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
pull_requests: +11348, 11349

___
Python tracker 

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



[issue23078] unittest.mock patch autospec doesn't work on staticmethods

2019-01-18 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
pull_requests: +11348

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

Cheryl, that sort of change needs an issue for discussion before going very 
far.  I am dubious that it will work (but you can try to show otherwise).

1. overrideRootMenu does an insertion that I don't think you can do with a dict.
  mainmenu.menudefs[0][1].insert(6, closeItem)

2. The structure of menudefs is part of the extension interface.  (The file 
should say so.)  The test extension zzdummy is incomplete.  test_zzdummy has 
not yet been written, and the definition of ZaDummy.menudefs, currently 
commented out, needs to me made conditional on whether tests are being run 
(__init__.testing)

--

___
Python tracker 

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



[issue33944] Deprecate and remove pth files

2019-01-18 Thread Vedran Čačić

Vedran Čačić  added the comment:

I have a directory inside my home directory, and inside it I have files with 
various utilities I have written over the years. So far, whenever I have 
installed a new version of Python, I have simply put a util.pth into 
site-packages. If you remove that possibility, what am I supposed to do? Every 
other solution is either much more complicated, or doesn't enable me to evolve 
my utilities inplace, or both. What am I missing? (My OS is Windows, and 
shortcuts don't work, I've tried.)

--
nosy: +veky

___
Python tracker 

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



[issue35776] Virtualenv 16.2.0 Error Finding Pip

2019-01-18 Thread Zachary Ware


Zachary Ware  added the comment:

virtualenv is not part of the Python standard library; please open an issue on 
the virtualenv bug tracker (https://github.com/pypa/virtualenv/issues).

--
nosy: +zach.ware
resolution:  -> third party
stage:  -> resolved
status: open -> closed

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

> Since it is my fix, I will write the PR.  But first, please test part 2, 
> changing '0' to '0:1', just to make sure it works.

Just tested it and it works fine with slice. Please find the respective diff 
and options menu displayed as below : 

git diff | cat
diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py
index 9be4ed2ec4..16a13a0f2e 100644
--- a/Lib/idlelib/macosx.py
+++ b/Lib/idlelib/macosx.py
@@ -178,7 +178,7 @@ def overrideRootMenu(root, flist):
 del mainmenu.menudefs[-1][1][0:2]
 # Remove the 'Configure Idle' entry from the options menu, it is in the
 # application menu as 'Preferences'
-del mainmenu.menudefs[-2][1][0]
+del mainmenu.menudefs[-3][1][0]
 menubar = Menu(root)
 root.configure(menu=menubar)
 menudict = {}

Options menu
- Show code context (disabled)
- Zoom height

git diff | cat
diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py
index 9be4ed2ec4..d6a1b376a1 100644
--- a/Lib/idlelib/macosx.py
+++ b/Lib/idlelib/macosx.py
@@ -178,7 +178,7 @@ def overrideRootMenu(root, flist):
 del mainmenu.menudefs[-1][1][0:2]
 # Remove the 'Configure Idle' entry from the options menu, it is in the
 # application menu as 'Preferences'
-del mainmenu.menudefs[-2][1][0]
+del mainmenu.menudefs[-3][1][0:1]
 menubar = Menu(root)
 root.configure(menu=menubar)
 menudict = {}

Options menu
- Show code context (disabled)
- Zoom height

--

___
Python tracker 

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



[issue35537] use os.posix_spawn in subprocess

2019-01-18 Thread Alexey Izbyshev


Alexey Izbyshev  added the comment:

>> * pass_fds: there is not API to mark a fd as inheritable (clear O_CLOEXEC 
>> flag)

> POSIX has a bug for this [5]. It's marked fixed, but the current POSIX docs 
> doesn't reflect the changes. The idea is to make 
> posix_spawn_file_actions_adddup2() clear O_CLOEXEC if the source and the 
> destination are the same (unlike dup2(), which would do nothing). musl has 
> already implemented the new behavior [6], but glibc hasn't.

Update: glibc has implemented it for 2.29 
(https://sourceware.org/bugzilla/show_bug.cgi?id=23640).

--

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Cheryl Sabella


Cheryl Sabella  added the comment:

Terry,

I've started working on a PR to change menudefs to a dictionary.  Since 
dictionaries are in guaranteed order now, it would be easier to reference the 
menus by their name instead of an index number.

--

___
Python tracker 

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



[issue35713] Fatal Python error: _PySys_BeginInit: can't initialize sys module

2019-01-18 Thread STINNER Victor


STINNER Victor  added the comment:

Hum. Are you aware that PGO with GCC is broken on such old and unsupported 
Ubuntu version?

My old note about that:

"PGO is broken on Ubuntu 14.04 LTS with GCC 4.8.4-2ubuntu1~14.04: 
Modules/socketmodule.c:7743:1: internal compiler error: in edge_badness, at 
ipa-inline.c:895"

https://pyperformance.readthedocs.io/usage.html#compile

See also https://bugs.python.org/issue31963

I suggest you to not use PGO compilation on old Ubuntu. Maybe upgrade to latest 
Ubuntu LTS?

--

___
Python tracker 

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



[issue35701] [uuid] 3.8 breaks weak references for UUIDs

2019-01-18 Thread David Heiberg


David Heiberg  added the comment:

Agreed. I will fix the documentation and submit a PR this weekend hopefully.

--

___
Python tracker 

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



[issue32947] Support OpenSSL 1.1.1

2019-01-18 Thread STINNER Victor


STINNER Victor  added the comment:

On Fedora 29 with OpenSSL 1.1.1 FIPS  11 Sep 2018, test_connect_cadata() of 
test_ssl fails randomly:

---
$ ./python -m test -u all -F -m test_connect_cadata test_ssl 
Run tests sequentially
0:00:00 load avg: 0.43 [  1] test_ssl
test test_ssl failed -- Traceback (most recent call last):
  File "/home/vstinner/prog/python/3.6/Lib/test/test_ssl.py", line 1642, in 
test_connect_cadata
s.connect(self.server_addr)
  File "/home/vstinner/prog/python/3.6/Lib/ssl.py", line 1109, in connect
self._real_connect(addr, False)
  File "/home/vstinner/prog/python/3.6/Lib/ssl.py", line 1100, in _real_connect
self.do_handshake()
  File "/home/vstinner/prog/python/3.6/Lib/ssl.py", line 1077, in do_handshake
self._sslobj.do_handshake()
  File "/home/vstinner/prog/python/3.6/Lib/ssl.py", line 689, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer

test_ssl failed

== Tests result: FAILURE ==

1 test failed:
test_ssl

Total duration: 131 ms
Tests result: FAILURE
---

This bug has been fixed in master by commit 
529525fb5a8fd9b96ab4021311a598c77588b918. It was partially backported in 3.6 
with commit 2a4ee8aa01d61b6a9c8e9c65c211e61bdb471826, but the backport is 
incomplete.

I wrote PR 11612 to backport remaining fixes.

--
nosy: +vstinner

___
Python tracker 

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



[issue35770] IDLE: python -m idlelib fails on master on Mac OS 10.10.4

2019-01-18 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

Since it is my fix, I will write the PR.  But first, please test part 2, 
changing '0' to '0:1', just to make sure it works.

c1b added 'None,' (for separater bar) after the configdialog entry.  When the 
configdialog entry is removed, the None should be also.  On Windows, a menu 
that starts with None starts with a visible bar.  On my Mac Mohave, and perhaps 
on your machine, it is supressed.  But a) I would rather have the data 
structure match what is shown, and b) we cannot know if the supression occurs 
on all versions of macOS and predecessors.

--

___
Python tracker 

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



[issue32947] Support OpenSSL 1.1.1

2019-01-18 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +11345, 11346, 11347

___
Python tracker 

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



[issue32947] Support OpenSSL 1.1.1

2019-01-18 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +11345, 11346

___
Python tracker 

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



[issue32947] Support OpenSSL 1.1.1

2019-01-18 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +11345

___
Python tracker 

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



  1   2   >