[issue34333] Path.with_suffix() raises TypeError when doing %-formatting

2018-08-10 Thread miss-islington


Change by miss-islington :


--
pull_requests: +8217

___
Python tracker 

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



[issue34333] Path.with_suffix() raises TypeError when doing %-formatting

2018-08-10 Thread Berker Peksag


Berker Peksag  added the comment:


New changeset 423d05f6f59b24c91b9ef6b2e4ac130316764382 by Berker Peksag in 
branch 'master':
bpo-34333: Fix %-formatting in Path.with_suffix() (GH-8663)
https://github.com/python/cpython/commit/423d05f6f59b24c91b9ef6b2e4ac130316764382


--

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

Retested using Tim's ulp(x) function (see attached script).  The accuracy 
results are for 1,000 trials using 10,000 arguments to hypot() where the 
arguments are generated using triangular(0.999, 1.001) and arranged in the 
least favorable order, largest-to-smallest:

Patched:  
[(-1.0, 129),
 (0.0, 723),
 (1.0, 148)]

Baseline:
[(-33.0, 2),
 (-32.0, 1),
 (-31.0, 1),
 (-28.0, 5),
 (-27.0, 2),
 (-26.0, 4),
 (-25.0, 3),
 (-24.0, 4),
 (-23.0, 1),
 (-21.0, 9),
 (-20.0, 7),
 (-19.0, 6),
 (-18.0, 15),
 (-17.0, 12),
 (-16.0, 6),
 (-15.0, 12),
 (-14.0, 14),
 (-13.0, 15),
 (-12.0, 15),
 (-11.0, 25),
 (-10.0, 21),
 (-9.0, 24),
 (-8.0, 26),
 (-7.0, 29),
 (-6.0, 36),
 (-5.0, 33),
 (-4.0, 37),
 (-3.0, 31),
 (-2.0, 39),
 (-1.0, 43),
 (0.0, 48),
 (1.0, 45),
 (2.0, 32),
 (3.0, 37),
 (4.0, 34),
 (5.0, 25),
 (6.0, 36),
 (7.0, 29),
 (8.0, 35),
 (9.0, 27),
 (10.0, 24),
 (11.0, 17),
 (12.0, 18),
 (13.0, 18),
 (14.0, 18),
 (15.0, 11),
 (16.0, 8),
 (17.0, 6),
 (18.0, 9),
 (19.0, 15),
 (20.0, 8),
 (21.0, 5),
 (22.0, 6),
 (23.0, 4),
 (24.0, 2),
 (25.0, 1),
 (28.0, 2),
 (30.0, 1),
 (33.0, 1)]

--
Added file: https://bugs.python.org/file47746/hypot_accuracy.py

___
Python tracker 

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



[issue34379] Move note about repeated calls to json.dump using the same fp to the json.dump section

2018-08-10 Thread Evan Allrich


Change by Evan Allrich :


--
keywords: +patch
pull_requests: +8215
stage:  -> patch review

___
Python tracker 

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



[issue34379] Move note about repeated calls to json.dump using the same fp to the json.dump section

2018-08-10 Thread Evan Allrich


New submission from Evan Allrich :

At present the note [0] appears under the documentation for `json.dumps` (which 
does not use the `fp` argument). It seems the note would be better placed with 
the documentation for the affected function.

[0] 
> Note
> 
> Unlike pickle and marshal, JSON is not a framed protocol, so trying to > 
> serialize multiple objects with repeated calls to dump() using the same > fp 
> will result in an invalid JSON file.

--
assignee: docs@python
components: Documentation
messages: 323396
nosy: docs@python, eallrich
priority: normal
severity: normal
status: open
title: Move note about repeated calls to json.dump using the same fp to the 
json.dump section
type: enhancement
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



[issue34378] Documentation 3.5+

2018-08-10 Thread Mariatta Wijaya


Mariatta Wijaya  added the comment:

Sorry you're having trouble with this.
There is similar issue as https://bugs.python.org/issue28044.

The Python documentation Sphinx theme is now being maintained over at 
https://github.com/python/python-docs-theme/

Please file the issue there. Thanks.

--
nosy: +Mariatta
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> Make the sidebar in the documentation follow the section 
automatically

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

Here's a little more performance data that might suggest where possible speed 
optimizations may lay (I was mostly going for accuracy improvements in this 
patch).

On my 2.6GHz (3.6Ghz burst) Haswell, the hypot() function for n arguments takes 
about 11*n+60 ns per call.

The 60 ns fixed portion goes to function call overhead, manipulating native 
Python objects scattered all over memory, Inf/NaN handling, and in the external 
calls to __PyArg_ParseStack(), PyObject_Malloc(), PyFloat_AsDouble(), 
PyObject_Free(), and PyFloat_FromDouble().

The inlined summation routine accesses native C doubles in consecutive memory 
addresses.  Per Agner Fog's instruction timing tables, the DIVSD takes 10-13 
cycles which is about 3 ns, the MULSD takes 5 cycles which is about 2ns, and 
ADDSD/SUBSD each have a 3 cycle latency for another 1 ns each.  That accounts 
for most of the 11 ns per argument variable portion of the running time.

--

___
Python tracker 

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



[issue34378] Documentation 3.5+

2018-08-10 Thread Karan


New submission from Karan :

The documentation link for 3.5+ is having an issue with the left sidebar where 
the index is present. In 2.7 if I scroll the main doc below to mid of the 
document the sidebar still shows me the index. The same is not present in the 
3.5+. 

I know this is a very minor thing but for a new learner like me who is 
constantly reading these docs, this very small thing irritates a lot. 

Thanks

--
assignee: docs@python
components: Documentation
files: imgonline-com-ua-twotoone-eLRSfZftmcsz.jpg
messages: 323393
nosy: Kapple, docs@python
priority: normal
severity: normal
status: open
title: Documentation 3.5+
type: behavior
versions: Python 3.5, Python 3.6, Python 3.7, Python 3.8
Added file: 
https://bugs.python.org/file47745/imgonline-com-ua-twotoone-eLRSfZftmcsz.jpg

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Tim Peters


Tim Peters  added the comment:

Not that it matters:  "ulp" is a measure of absolute error, but the script is 
computing some notion of relative error and _calling_ that "ulp".  It can 
understate the true ulp error by up to a factor of 2 (the "wobble" of base 2 
fp).

Staying away from denorms, this is an easy way to get one ulp with respect to a 
specific 754 double:

def ulp(x):
import math
mant, exp = math.frexp(x)
return math.ldexp(0.5, exp - 52)

Then, e.g.,

>>> x
1.9991
>>> y
1.9996
>>> y - x
4.440892098500626e-16
>>> oneulp = ulp(x)
>>> oneulp # the same as sys.float_info.epsilon for this x
2.220446049250313e-16
>>> (y - x) / oneulp
2.0

which is the true absolute error of y wrt x.

>>> x + 2 * oneulp == y
True

But:

>>> (y - x) / x
2.220446049250314e-16
>>> _ / oneulp
1.0004

understates the true ulp error by nearly a factor of 2, while the 
mathematically (but not numerically) equivalent spelling used in the script:

>>> (y/x - 1.0) / oneulp
1.0

understates it by exactly a factor of 2.

--

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Eric V. Smith


Eric V. Smith  added the comment:

For the record, I don't disagree with namedtuples not having a base class.

Maybe it's best to let copy.deepcopy() deal with namedtuples, instead of trying 
to detect them here. So just special case exact tuples and lists, and pass 
everything else to copy.deepcopy().

>>> C = namedtuple('C', 'a b c')
>>> c = C(1, 2, 3)
>>> b=copy.deepcopy(c)
>>> b
C(a=1, b=2, c=3)
>>> hasattr(b, '_fields')
True
>>> hasattr(c, '_fields')
True
>>> b is c
False
>>>

Although by doing that, you lose dict_factory or tuple_factory on nested data 
structures, and namedtuples that contain dataclasses would be handled 
differently, I think. I'll do some investigating.

--

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

> What results for all components equal? hypot(1.0, 1.0, ..., 1.0)

The scaled summation will be exact (all elements scale to 1.0 and frac is 
always 0.0).

> Would it give a performance benefit if get rid of multiplication 
> and division, and scale by the power of two approximation of the 
> max using ldexp()?

You're right that the multiplication and division are the most expensive part 
(the adds and subtracts are cheaper and can be done in parallel with subsequent 
memory fetches).  See the attached Clang and GCC-8 disassemblies.

I've tried a number of variants and couldn't get any performance boost without 
breaking some of the test cases.  This patch is the best of a dozen attempts.

--
Added file: https://bugs.python.org/file47744/math_hypot.s

___
Python tracker 

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



[issue18307] Relative path in co_filename for zipped modules

2018-08-10 Thread Brett Cannon


Brett Cannon  added the comment:

This will be a semantic change to the value of co_filename so I don't think 
this can safely be backported.

--
versions:  -Python 2.7, Python 3.7

___
Python tracker 

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



[issue18307] Relative path in co_filename for zipped modules

2018-08-10 Thread Brett Cannon


Change by Brett Cannon :


--
nosy: +twouters

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

Would it give a performance benefit if get rid of multiplication and division, 
and scale by the power of two approximation of the max using ldexp()?

--

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

What results for all components equal? hypot(1.0, 1.0, ..., 1.0)

--

___
Python tracker 

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



[issue34377] Update valgrind suppressions

2018-08-10 Thread Paul Price


Change by Paul Price :


--
keywords: +patch
pull_requests: +8213
stage:  -> patch review

___
Python tracker 

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



[issue34377] Update valgrind suppressions

2018-08-10 Thread Paul Price


New submission from Paul Price :

I've found that the valgrind suppressions don't work for me with cpython 3.6.2. 
Renaming PyObject_Free/PyObject_Realloc to _PyObject_Free/_PyObject_Realloc in 
the suppressions file works.

I've got a patch that I'll put in via a GitHub PR.

--
components: Demos and Tools
messages: 323385
nosy: Paul Price
priority: normal
severity: normal
status: open
title: Update valgrind suppressions
type: enhancement
versions: Python 3.6

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Neil Girdhar


Neil Girdhar  added the comment:

> The code generated by oollections.namedtuple was based on patterns already in 
> widespread use at the time.

That's fair enough.  However, it seems like there is one important difference: 
unlike any other Sequence, namedtuples cannot be initialized with an iterable.

For that reason, I like Eric's option of checking for the _fields member rather 
than special-casing list and tuple since it seems like namedtuple is the 
special case.

--

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

> Raymond has resisted adding a base class to namedtuple. I believe the
> preferred way to identify a namedtuple is to look for a _fields member.

FWIW, that was also Guido's opinion as well.  A named tuple is generic concept 
defined in the glossary as "Any tuple-like class whose indexable elements are 
also accessible using a named attribute".  This includes user-defined classes, 
classes created by collections.namedtuple, and instances of structseq.  The 
code generated by oollections.namedtuple was based on patterns already in 
widespread use at the time.

--
nosy: +rhettinger

___
Python tracker 

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



[issue33125] Windows 10 ARM64 platform support

2018-08-10 Thread Paul Monson


Paul Monson  added the comment:

The PR hasn't changed since September.  Is it still active? 

Should I consider updating the libffi_msvc code to support ARM32 in Python?  
Completing the switch to libffi makes more sense to me.

I fetched the PR code to my fork and rebased it on the current master branch.  
When I run python -m test there are 2 tests that fail.  Is that what's holding 
the PR up? or is it something more?  I'm new to the Python codebase but I can 
try to help debugging if the failing tests are the issue.

--

___
Python tracker 

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



[issue34370] Tkinter scroll issues on macOS

2018-08-10 Thread Vlad Tudorache


Vlad Tudorache  added the comment:

Now, the video for TK 8.5 showing expected behavior on macOS.

--
Added file: https://bugs.python.org/file47743/Tk85Mac.mov

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Eric V. Smith


Eric V. Smith  added the comment:

Hmm, for some reason I'm not getting mail from this issue, so I made my PR 
before I saw the comments since my last comment.

Raymond has resisted adding a base class to namedtuple. I believe the preferred 
way to identify a namedtuple is to look for a _fields member. We could do that 
instead of use the (*[]) trick for all classes derived from tuple or list.

Maybe it's worthwhile bringing up the differences in how tuple and namedtuple 
handle creation with iterables on python-dev.

I'm still not certain of the right approach, but PR 8728 adds some tests and 
fixes the problem identified in this issue. I probably won't commit it until I 
can discuss with some other people.

--

___
Python tracker 

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



[issue34370] Tkinter scroll issues on macOS

2018-08-10 Thread Vlad Tudorache


Vlad Tudorache  added the comment:

The bug needs forwarding to the Tcl/Tk community. This is the script written in 
Tcl (run with tclsh8.6 script.tcl for Tcl 8.6 and tclsh8.5 script.tcl for 8.5):

package require Tk

scrollbar .vbar -width 10
text .edit

pack .vbar -side right -fill y
pack .edit -side left -fill both -expand 1

.vbar configure -command {.edit yview}
.edit configure -yscrollcommand {.vbar set}

bind .vbar { } {
set cx %x
set cy %y
set dz [.vbar identify $cx $cy]
puts "You clicked at ($cx,$cy) on $dz.\n"
}

for {set i 1} {$i <= 256} {incr i} {
.edit insert "$i.0" "This is the line number $i.\n"
}

I will post two videos made on my MacBook, showing an expected behavior with Tk 
8.5 and the scroll problems with Tk 8.6 on macOS.

--
Added file: https://bugs.python.org/file47742/Tk86MacIssue.mov

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Eric V. Smith


Change by Eric V. Smith :


--
keywords: +patch
pull_requests: +8212
stage:  -> patch review

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Raymond Hettinger


Change by Raymond Hettinger :


--
keywords: +patch
pull_requests: +8211
stage:  -> patch review

___
Python tracker 

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



[issue34376] Improve accuracy of math.hypot() and math.dist()

2018-08-10 Thread Raymond Hettinger


New submission from Raymond Hettinger :

Apply two accuracy improvements that work well together and that are both cheap 
(less than 5% difference in speed).  

1. Moving the max value to the end saves an iteration and can improve accuracy 
(especially in the case where len(args) <= 3 where the summation order is 
always optimal).

2. Use Kahan summation which works especially well because all the inputs are 
non-negative.

The patched version generally gets the error down to within 1 ULP (tested with 
100,000 trials using 100 arguments to hypot() where the arguments are generated 
using random.expovariate(1.0) and arranged in the least favorable order, 
largest-to-smallest):

Patched:
 [(0.0, 67276),
  (1.0, 16700),
  (-0.5, 14702),
  (-1.0, 1322)]

Baseline:
[(1.0, 30364),
 (0.0, 25328),
 (-0.5, 17407),
 (-1.0, 10554),
 (2.0, 6274),
 (-1.5, 4890),
 (-2.0, 3027),
 (-2.5, 897),
 (3.0, 752),
 (-3.0, 380),
 (-3.5, 61),
 (4.0, 51),
 (-4.0, 13),
 (-4.5, 1),
 (5.0, 1)]

The impact on performance is minimal (well under 5%).

Patched:
$ py -c 'import sys; print(sys.version)'
3.8.0a0 (heads/hypot-kahan-late-swap-2:e1d89184f0, Aug 10 2018, 11:06:21)
[Clang 9.1.0 (clang-902.0.39.2)]
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(15.0, 14.0, 13.0, 12.0, 
11.0, 10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0)'
100 loops, best of 7: 230 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(10.0, 9.0, 8.0, 7.0, 
6.0, 5.0, 4.0, 3.0, 2.0, 1.0)'
200 loops, best of 7: 170 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(5.0, 4.0, 3.0, 2.0, 1.0)'
200 loops, best of 7: 119 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(3.0, 2.0, 1.0)'
500 loops, best of 7: 95.7 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(2.0, 1.0)'
500 loops, best of 7: 81.5 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(1.0)'
500 loops, best of 7: 67.4 nsec per loop

Baseline:
$ py -c 'import sys; print(sys.version)'
3.8.0a0 (heads/master:077059e0f0, Aug 10 2018, 11:02:47)
[Clang 9.1.0 (clang-902.0.39.2)]
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(15.0, 14.0, 13.0, 12.0, 
11.0, 10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0)'
100 loops, best of 7: 237 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(10.0, 9.0, 8.0, 7.0, 
6.0, 5.0, 4.0, 3.0, 2.0, 1.0)'
200 loops, best of 7: 173 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(5.0, 4.0, 3.0, 2.0, 1.0)'
200 loops, best of 7: 120 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(3.0, 2.0, 1.0)'
500 loops, best of 7: 94.8 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(2.0, 1.0)'
500 loops, best of 7: 80.3 nsec per loop
$ py -m timeit -r 7 -s 'from math import hypot' 'hypot(1.0)'
500 loops, best of 7: 67.1 nsec per loop

--
assignee: rhettinger
components: Library (Lib)
files: measure_hypot_alternatives.py
messages: 323378
nosy: mark.dickinson, rhettinger, serhiy.storchaka, tim.peters
priority: low
severity: normal
status: open
title: Improve accuracy of math.hypot() and math.dist()
type: enhancement
versions: Python 3.8
Added file: https://bugs.python.org/file47741/measure_hypot_alternatives.py

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Neil Girdhar

Neil Girdhar  added the comment:

Why can't we add an ABC into a NamedTuple instance's MRO?  Because while I like 
Eric's solution, it seems to be backwards:  tuple and list are not the special 
cases—NamedTuple is.

All sequences accept an iterable in their constructor, and NamedTuple doesn't.  
So it should be NamedTuple that is marked as being "weird".  Right now, 
NamedTuple instances claim to be tuples, but don't accept iterables to 
initialize themselves.  That seems wrong.

This problem that we have with dataclass can easily pop up somewhere else, and 
it will require the same restriction to list and tuple types to fix it 
(breaking user-defined types).

Is it imposible to add to the MRO of NamedTuple instances?

--

___
Python tracker 

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



[issue34375] Subtests (unittest)

2018-08-10 Thread R. David Murray


R. David Murray  added the comment:

https://docs.python.org/3/library/unittest.html#distinguishing-test-iterations-using-subtests

--
nosy: +r.david.murray
resolution:  -> out of date
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



[issue34374] Shouldn't shutil.copyfile replace link in dst with follow_symlinks set?

2018-08-10 Thread R. David Murray


R. David Murray  added the comment:

It is following the model of the posix cp command, whose equivalent to 
'follow_symlinks' only affects the source.

--
nosy: +r.david.murray

___
Python tracker 

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



[issue34375] Subtests (unittest)

2018-08-10 Thread Victor Porton


New submission from Victor Porton :

The following is a fragment of a real code:

~~~
def test_run_xinlude(self):
# stub_stdin(self, 
Global.get_resource_bytes("tests/core/data/xml/xinclude.xml"))
for next_script_mode in ['doc1', 'doc2']:
for order in ['breadth', 'depth']:
with capture_stdin_and_stdout():
command_line.main(['-r',
   order,
   'chain',
   
Global.get_filename("tests/core/data/xml/xinclude.xml"),
   '-u',
   
'http://portonvictor.org/ns/trans/precedence-include',
   '-s',
   next_script_mode])
self.assertEqual(sys.stdout.buffer.getvalue(), 
TestUtility.XInclude_output,
 "for next_script=%s, order=%s" % 
(next_script_mode, order))
~~~

I wrote it in one test method instead of four similar methods.

It has the deficiency that if the first test fails, the three remaining tests 
are skipped.

I propose to add `subtest` context manager to use it like:

~~~
with subtest():
with capture_stdin_and_stdout():
command_line.main(['-r',
   order,
   'chain',
   
Global.get_filename("tests/core/data/xml/xinclude.xml"),
   '-u',
   
'http://portonvictor.org/ns/trans/precedence-include',
   '-s',
   next_script_mode])
self.assertEqual(sys.stdout.buffer.getvalue(), 
TestUtility.XInclude_output,
 "for next_script=%s, order=%s" % 
(next_script_mode, order))
~~~

which would split our test into four independent tests.

--
components: Library (Lib)
messages: 323375
nosy: porton
priority: normal
severity: normal
status: open
title: Subtests (unittest)
type: enhancement
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



[issue34374] Shouldn't shutil.copyfile replace link in dst with follow_symlinks set?

2018-08-10 Thread theger


New submission from theger :

This might not be an issue at all and maybe I'm just missing something but this 
confused me a bit and hence the question in title.

Python's shutil.copyfile() has a follow_symlinks argument but it only affects 
the source, not the destination - i.e. when src is a symlink, it makes a 
difference whether the flag is set (and then it will copy the destination of 
that src symlink) or not (and then it will just create a new symlink in dst 
pointing to the src symlink's destination). I hope it's clear so far.

When dst is a link though, the flag doesn't change anything and it will always 
copy that file to the dst symlink's destination.

My question is... If dst is a symlink and follow_symlinks flag is not set, 
wouldn't it be more logical if the dst symlink was just replaced by a copy of 
src instead of copying src to dst's destination?

Thanks and sorry if this is just noise.

--
components: Library (Lib)
messages: 323373
nosy: theger
priority: normal
severity: normal
status: open
title: Shouldn't shutil.copyfile replace link in dst with follow_symlinks set?
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



[issue34373] test_time errors on AIX

2018-08-10 Thread Michael Felt


Change by Michael Felt :


--
keywords: +patch
pull_requests: +8210
stage:  -> patch review

___
Python tracker 

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



[issue34373] test_time errors on AIX

2018-08-10 Thread Michael Felt


New submission from Michael Felt :

32-bit:

==
ERROR: test_mktime (test.test_time.TimeTestCase)
--
Traceback (most recent call last):
  File "/data/prj/python/src/python3-3.7.0/Lib/test/test_time.py", line 446, in 
test_mktime
self.assertEqual(time.mktime(tt), t)
OverflowError: mktime argument out of range

==
FAIL: test_pthread_getcpuclockid (test.test_time.TimeTestCase)
--
Traceback (most recent call last):
  File "/data/prj/python/src/python3-3.7.0/Lib/test/test_time.py", line 129, in 
test_pthread_getcpuclockid
self.assertNotEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
AssertionError: 12 == 12

--

64-bit:
==
ERROR: test_mktime (test.test_time.TimeTestCase)
--
Traceback (most recent call last):
  File "/opt/lib/python3.7/test/test_time.py", line 446, in test_mktime
self.assertEqual(time.mktime(tt), t)
OverflowError: mktime argument out of range

==
ERROR: test_pthread_getcpuclockid (test.test_time.TimeTestCase)
--
Traceback (most recent call last):
  File "/opt/lib/python3.7/test/test_time.py", line 130, in 
test_pthread_getcpuclockid
t1 = time.clock_gettime(clk_id)
OverflowError: signed integer is greater than maximum

The test_mktime failed because
time.mktime(time.localtime(-2)) -- actually any negative value in localtime - 
fails

The patch in the file Modules/timemodule.c fixes this.

The test_pthread_getcpuclockid is a bit more complex as the result is different
depending on 32 or 64-bit mode.

In 32-bit mode AIX always responds with the constant CLOCK_THREAD_CPUTIME_ID.
The patch in Lib/test/test_time.py makes the test aware of this.

In AIX clockid_t is actually long long. However, changing the type to parse to 
"L"
broke many other things. It seems to work as a long ("l") when the ABI is 
64-bit.

See additional change in Modules/timemodule.c 
static PyObject *
time_clock_gettime

Finally,
added some (additional) range checking for 
_PyTime_localtime for AIX. Not having this complicated testing for above.

--
components: Interpreter Core, Tests
messages: 323372
nosy: Michael.Felt
priority: normal
severity: normal
status: open
title: test_time errors on AIX
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



[issue34372] Compiler could output more accurate line numbers

2018-08-10 Thread Arusekk


New submission from Arusekk :

If this is a duplicate, please excuse me.

In particular, the most noticeable inaccuracy happens when the postfix if-else 
expression is involved. Maybe there are more of them.
The problem is quite self-explaining. The module named 'dis' will be helpful to 
reproduce the issue.

>>> import dis
>>> code = """(
... [
... call1(),
... call2()
... ]
... + call3()
... * call4()
... )"""
>>> dis.dis(code)
  3   0 LOAD_NAME0 (call1)
  3 CALL_FUNCTION0 (0 positional, 0 keyword pair)

  4   6 LOAD_NAME1 (call2)
  9 CALL_FUNCTION0 (0 positional, 0 keyword pair)
 12 BUILD_LIST   2

  6  15 LOAD_NAME2 (call3)
 18 CALL_FUNCTION0 (0 positional, 0 keyword pair)

  7  21 LOAD_NAME3 (call4)
 24 CALL_FUNCTION0 (0 positional, 0 keyword pair)
 27 BINARY_MULTIPLY
 28 BINARY_ADD
 29 RETURN_VALUE
>>> dis.dis(code.replace("+", "if").replace("*", "else"))
  6   0 LOAD_NAME0 (call3)
  3 CALL_FUNCTION0 (0 positional, 0 keyword pair)
  6 POP_JUMP_IF_FALSE   25
  9 LOAD_NAME1 (call1)
 12 CALL_FUNCTION0 (0 positional, 0 keyword pair)
 15 LOAD_NAME2 (call2)
 18 CALL_FUNCTION0 (0 positional, 0 keyword pair)
 21 BUILD_LIST   2
 24 RETURN_VALUE

  7 >>   25 LOAD_NAME3 (call4)
 28 CALL_FUNCTION0 (0 positional, 0 keyword pair)
 31 RETURN_VALUE

I used this code to show the difference between if-else and some arithmetics.

AFAICT the feature is possible to implement, as lnotab can contain negative 
line differences.

I don't know whether it is just a bug or a fully intended feature, but it would 
be quite an enhancement to have better line number tracking, useful for 
debugging.

If this is implemented, it may be worth further backporting.

Possible reasons in the upstream Python/compile.c (using < instead of !=):

https://github.com/python/cpython/blob/077059e0f086cf8c8b7fb9d1f053e38ddc743f59/Python/compile.c#L4092

https://github.com/python/cpython/blob/077059e0f086cf8c8b7fb9d1f053e38ddc743f59/Python/compile.c#L4438

--
components: Interpreter Core
messages: 323371
nosy: Arusekk
priority: normal
severity: normal
status: open
title: Compiler could output more accurate line numbers
type: behavior
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



[issue34369] kqueue.control() documentation and implementation mismatch

2018-08-10 Thread Toshio Kuratomi


Toshio Kuratomi  added the comment:

I don't believe (kqueue.control at least) is a regression from Argument Clinic. 
 Both the documentation and the behaviour are the same in Python-2.7.

--

___
Python tracker 

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



[issue34371] File reading gets stuck if you read at eof on macos

2018-08-10 Thread Ronald Oussoren


Change by Ronald Oussoren :


--
status: open -> pending

___
Python tracker 

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



[issue34371] File reading gets stuck if you read at eof on macos

2018-08-10 Thread Ronald Oussoren


Ronald Oussoren  added the comment:

For completeness sake I've attached a C program demonstrating the same problem.

--
status: pending -> open
Added file: https://bugs.python.org/file47740/readwrite.c

___
Python tracker 

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



[issue33125] Windows 10 ARM64 platform support

2018-08-10 Thread Steve Dower


Steve Dower  added the comment:

If libffi already has support and just needs to be updated in CPython, then 
sure. I thought we'd finished extracting it, but Zach posted aPR link above 
that apparently still needs finishing.

However, if libffi doesn't have the support yet then you'll have to approach 
them.

--

___
Python tracker 

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



[issue34371] File reading gets stuck if you read at eof on macos

2018-08-10 Thread Ronald Oussoren


Ronald Oussoren  added the comment:

This is IMHO not a bug in CPython (or even macOS).  On Python 2.7 file I/O is 
implemented using C's stdio library and that prescribes this behaviour (the "at 
EOF" state of a file stream is sticky. 

fd.seek(0, 2) should unset the "at EOF" flag.

--
nosy: +ronaldoussoren
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



[issue34369] kqueue.control() documentation and implementation mismatch

2018-08-10 Thread Berker Peksag


Berker Peksag  added the comment:

This is probably a regression from the Argument Clinic conversion.

Another docstring mismatches:

select(rlist, wlist, xlist, timeout=None, /)
Wait until one or more file descriptors are ready for some kind of I/O.


>>> select.select(timeout=0.1)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: select() takes no keyword arguments


poll(timeout=None, /) method of select.poll instance
Polls the set of registered file descriptors.

>>> select.poll().poll(timeout=0.1)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: poll() takes no keyword arguments

--
nosy: +berker.peksag, taleinat
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



[issue34371] File reading gets stuck if you read at eof on macos

2018-08-10 Thread Sverrir Berg


New submission from Sverrir Berg :

Reading a file that is at eof causes the file reading to halt indefinitely.
1) open() a file and read() everything from it.
2) call read() a second time - reading nothing (this causes the issue).
3) append to the file (using another file handle or manually).
4) try to read it again - read() always returns nothing.

Attached is a a test causing this - works correctly on Ubuntu 2.7.12/3.5.2, 
macos 3.7.0, macos PyPy 5.10.0 but fails on macos 2.7.10/2.7.15(brew)

I assume the expected behaviour is the same as on the other versions where you 
can continue to read from the file when it has been appended to?

--
components: IO
files: readwrite.py
messages: 323365
nosy: sverrirab
priority: normal
severity: normal
status: open
title: File reading gets stuck if you read at eof on macos
type: behavior
versions: Python 2.7
Added file: https://bugs.python.org/file47739/readwrite.py

___
Python tracker 

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



[issue34097] ZIP does not support timestamps before 1980

2018-08-10 Thread Marcel Plch


Change by Marcel Plch :


--
pull_requests: +8209
stage: resolved -> patch review

___
Python tracker 

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



[issue34369] kqueue.control() documentation and implementation mismatch

2018-08-10 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
nosy: +xtreak

___
Python tracker 

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



[issue34363] dataclasses.asdict() mishandles dataclass instance attributes that are instances of subclassed typing.NamedTuple

2018-08-10 Thread Ivan Levkivskyi


Ivan Levkivskyi  added the comment:

Eric, I like your solution. It is probably not perfect, but at least it solves 
the existing problem without introducing obvious problems.

Neil, your way will not work since named tuples don't have NamedTuple in their 
MROs:

CustomNT.mro == (CustomNT, tuple, object)

--

___
Python tracker 

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



[issue34343] Why is turtle still present in python embedded for Windows?

2018-08-10 Thread Vlad Tudorache


Change by Vlad Tudorache :


--
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



[issue34370] Tkinter scroll issues on macOS

2018-08-10 Thread Vlad Tudorache


New submission from Vlad Tudorache :

Run the python script below.

import tkinter

root = tkinter.Tk()

text = tkinter.Text(root)
vbar = tkinter.Scrollbar(root)

vbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
text.pack(side=tkinter.LEFT, fill=tkinter.BOTH, expand=1)

text.config(yscrollcommand=vbar.set)
vbar.config(command=text.yview)

lines = ['This is the line number %d.\n' % i for i in range(256)]
text.insert(tkinter.END, ''.join(lines))
 
def click_trace(event):
text.insert('%d.%d' % (1, 0), 'Clicked at (%d,%d) on %s.\n' % (event.x, 
event.y, vbar.identify(event.x, event.y)))

vbar.bind('', click_trace)

root.mainloop()

When the slider is at the top of the scrollbar, clicking on its upper half 
doesn't allow dragging. The little script shows that the Scrollbar considers it 
as being on "through1" - in Tk the zone between the upper arrow and the 
"slider" - and not on "slider". Another consequence is that one can drag (up 
and down) the slider when clicking a little bit below the slider, on "through2" 
region. This issue doesn't manifest on Windows, where the scrollbar's arrows 
are shown.
I've seen this issue when trying to explore the reasons of another (34047, 
fixed) concerning the slider locked at the end of the scrollbar in IDLE.

--
components: Tkinter
messages: 323363
nosy: vtudorache
priority: normal
severity: normal
status: open
title: Tkinter scroll issues on macOS
type: behavior
versions: Python 3.6, Python 3.7

___
Python tracker 

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



[issue34360] urllib.parse doesn't fully comply to RFC 3986

2018-08-10 Thread Ivan Pozdeev


Ivan Pozdeev  added the comment:

I confirm violation of https://tools.ietf.org/html/rfc3986#section-3.2.2 . 

URLs are now covered by RFC 3986 which obsoletes RFC 1808 that `urllib's 
documentation refers to.

This new URL RFC adds [] to 'reserved' characters, so them being present 
unquoted anywhere where reserved characters are not allowed shall be a parsing 
error.

--
nosy: +Ivan.Pozdeev
title: urllib.parse doesn't fail with multiple unmatching square brackets -> 
urllib.parse doesn't fully comply to RFC 3986
versions: +Python 3.6, 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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread Tal Einat


Change by Tal Einat :


--
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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread Tal Einat


Tal Einat  added the comment:

> Should one open a different report for the clicks on the scrollbar ends, like 
> in the script I put (independent of IDLE)?

Indeed.  Please open a new issue with an appropriate title and attach your 
example script and video.

--

___
Python tracker 

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



[issue34177] test_site fails in macOS-PR VSTS builds for 3.7 branch

2018-08-10 Thread INADA Naoki


Change by INADA Naoki :


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

___
Python tracker 

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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread miss-islington


miss-islington  added the comment:


New changeset ca4badb5c0bedaa4ebcb33b9cad5f64750876750 by Miss Islington (bot) 
in branch '3.6':
bpo-34047: IDLE: fix mousewheel scrolling direction on macOS (GH-8678)
https://github.com/python/cpython/commit/ca4badb5c0bedaa4ebcb33b9cad5f64750876750


--

___
Python tracker 

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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread miss-islington


miss-islington  added the comment:


New changeset ea8835fb302447da82f265a5bc0f785353100271 by Miss Islington (bot) 
in branch '3.7':
bpo-34047: IDLE: fix mousewheel scrolling direction on macOS (GH-8678)
https://github.com/python/cpython/commit/ea8835fb302447da82f265a5bc0f785353100271


--
nosy: +miss-islington

___
Python tracker 

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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread Vlad Tudorache


Vlad Tudorache  added the comment:

The scroll works. Many thanks, I thought the callback should have been 
rewritten, too. Should one open a different report for the clicks on the 
scrollbar ends, like in the script I put (independent of IDLE)?

--

___
Python tracker 

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



[issue34369] kqueue.control() documentation and implementation mismatch

2018-08-10 Thread Toshio Kuratomi


New submission from Toshio Kuratomi :

The current kqueue documentation specifies that timeout is a keyword argument 
but it can only be passed as a positional argument right now:

>>> import select
>>> ko = select.kqueue()
>>> ko.control([1], 0, timeout=10)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: control() takes no keyword arguments
>>> help(ko.control)
Help on built-in function control:

control(...) method of select.kqueue instance
control(changelist, max_events[, timeout=None]) -> eventlist

Calls the kernel kevent function.
- changelist must be an iterable of kevent objects describing the changes
  to be made to the kernel's watch list or None.
- max_events lets you specify the maximum number of events that the
  kernel will return.
- timeout is the maximum time to wait in seconds, or else None,
  to wait forever. timeout accepts floats for smaller timeouts, too.

This may be related to https://bugs.python.org/issue3852 in which the 
max_events argument used to be documented as optional but the code made it 
mandatory.

--
components: Library (Lib)
messages: 323357
nosy: a.badger
priority: normal
severity: normal
status: open
title: kqueue.control() documentation and implementation mismatch
type: behavior
versions: Python 2.7, Python 3.7

___
Python tracker 

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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread miss-islington


Change by miss-islington :


--
pull_requests: +8208

___
Python tracker 

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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread Tal Einat


Tal Einat  added the comment:


New changeset 077059e0f086cf8c8b7fb9d1f053e38ddc743f59 by Tal Einat in branch 
'master':
bpo-34047: IDLE: fix mousewheel scrolling direction on macOS (GH-8678)
https://github.com/python/cpython/commit/077059e0f086cf8c8b7fb9d1f053e38ddc743f59


--

___
Python tracker 

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



[issue34047] IDLE: on macOS, scroll slider 'sticks' at bottom of file

2018-08-10 Thread miss-islington


Change by miss-islington :


--
pull_requests: +8207

___
Python tracker 

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