STINNER Victor added the comment:
Should these be cherry-picked too?
We discuss with Guido and Yury to only include critical changes, so in short:
yes, all commits related to asyncio should be cherrry-picked into RC2. It
should also be easier for you to include all changes, to avoid
STINNER Victor added the comment:
changeset: 89300:c3abdf016b18
tag: tip
user:Victor Stinner victor.stin...@gmail.com
date:Thu Feb 20 10:12:59 2014 +0100
files: Lib/asyncio/subprocess.py
description:
asyncio.subprocess: Fix a race condition in communicate()
Use
New submission from Henning von Bargen:
Regression: Behavior of ZipFile with file-like object and BufferedWriter.
The following code worked with Python 2.6:
LOB_BLOCKSIZE = 1024*1024 # 1 MB
class UnbufferedBlobWriter(io.RawIOBase):
A file-like wrapper for a write-only cx_Oracle BLOB
STINNER Victor added the comment:
changeset: 89302:3e19634b396f
tag: tip
user:Victor Stinner victor.stin...@gmail.com
date:Thu Feb 20 10:37:27 2014 +0100
files: Lib/asyncio/events.py Lib/asyncio/futures.py Lib/asyncio/tasks.py
Lib/asyncio/test_utils.py
STINNER Victor added the comment:
Sorry, I found new bugs /o\
You may skip 3e19634b396f if the last commit to cherry-pick, it's just cleanup.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20648
STINNER Victor added the comment:
You may skip 3e19634b396f if the last commit to cherry-pick, it's just
cleanup.
(Ooops, if *it is* the last commit)
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20648
Antoine Pitrou added the comment:
Antoine: would it be reasonable to rework the implementation of
subTest in a way that permitted us to revert the changes to
expectedFailure?
I can't tell you for sure, but certainly not in an easy way. Expected failures
were the most delicate feature to
Vajrasky Kok added the comment:
Here is the preliminary patch to address Serhiy's concern. I added some
regression tests as well. Give me a time to think how to refactor the code
(especially the test).
--
Added file:
Gregory P. Smith added the comment:
there's a separate issue open for you with the necessary rollback patch to
apply to your 3.4 release branch. http://bugs.python.org/issue20651
This particular issue is actually solved in default, 3.3 and 2.7 as benjamin
did the backouts/rollbacks of the
Daniel U. Thibault added the comment:
It seems to me the statement is correct as written. What experiments indicate
otherwise?
Here's a simple one:
print «1»
The guillemets are certainly not ASCII (Unicode AB and BB, well outside ASCII's
7F upper limit) but are rendered as guillemets.
Barry A. Warsaw added the comment:
On Feb 20, 2014, at 06:13 AM, Larry Hastings wrote:
Benjamin, Barry: I take it #20261 should go in to 3.4.0?
Yes please!
--
title: 3.4 cherry-pick: b328f8ccbccf pickle shouldn't look up dunder methods on
instances - 3.4 cherry-pick: b328f8ccbccf
Eli Bendersky added the comment:
Ethan, the patch you committed here seems obscure to me. Why __reduce_ex__ and
not __reduce__? Where are the accompanying documentation changes? Can you
clarify more how the full logic of pickling now works - preferably in comments
withing the code?
Eli Bendersky added the comment:
I left some comments in #20653
As for cherry-picking this into 3.4, I'm not sure. Ethan - what is the worst
scenario this patch enables to overcome? Someone getting locked in to by-value
pickling with certain enums in 3.4?
--
R. David Murray added the comment:
I think the docs are accurate (but I haven't been *all* the way down the NEWS
chain yet). I have a fix for whatsnew in my buffer that I haven't applied yet.
Probably this weekend. But as a doc change, I don't see this as a release
blocker anyway.
R. David Murray added the comment:
Thanks, yes, Georg already pointed out the issue with print. I suppose that
this is something that changed at some point in Python2's history but this bit
of the docs was not updated.
Python can write anything to a file, you just have to tell it what
Changes by Piotr Dobrogost p...@bugs.python.dobrogost.net:
--
nosy: +piotr.dobrogost
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7231
___
___
David Edelsohn added the comment:
time.mktime((-100, 1, 10) + (0,)*6)
-897577382.0
time.mktime((100, 1, 10) + (0,)*6)
111922.0
time.mktime((1900, 1, 10) + (0,)*6)
2086784896.0
time.mktime((1930, 1, 10) + (0,)*6)
-1261497600.0
time.mktime((1969,12,31, 23,59,59, 0,0,0))
28799.0
STINNER Victor added the comment:
@David Edelsohn: Oh nice, mktime() has an integer overflow on AIX. Could you
please try to apply attached mktime_aix.patch, run test_time and try again my
examples of msg211616? Thanks.
--
Added file: http://bugs.python.org/file34153/mktime_aix.patch
New submission from David Felix:
On longer documentation pages, the sidebar is scrolling out of view and in an
unexpected manner when the main page is scrolled. Seems to only affect 3.4
docs, but I'm not positive.
http://docs.python.org/3.4/whatsnew/3.4.html is a good example. Using Firefox
Changes by Zachary Ware zachary.w...@gmail.com:
--
nosy: +David.Felix
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20693
___
___
Python-bugs-list
Zachary Ware added the comment:
Hi David,
Thanks for the report, but this has already been reported in issue20693. I've
added you to the nosy list on that issue.
--
assignee: docs@python -
nosy: +zach.ware
resolution: - duplicate
stage: - committed/rejected
status: open - closed
STINNER Victor added the comment:
changeset: 89303:d1f0ec5a9317
tag: tip
user:Victor Stinner victor.stin...@gmail.com
date:Thu Feb 20 16:43:09 2014 +0100
files: Lib/asyncio/base_events.py
description:
asyncio: Fix _check_resolved_address() for IPv6 address
Changes by Ezio Melotti ezio.melo...@gmail.com:
--
nosy: +ezio.melotti, pitrou
stage: - needs patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20693
___
STINNER Victor added the comment:
changeset: 89304:03b14690a9be
tag: tip
user:Victor Stinner victor.stin...@gmail.com
date:Thu Feb 20 17:01:11 2014 +0100
files: Lib/test/test_asyncio/test_events.py
description:
asyncio: ops, and now fix also the unit test for IPv6
New submission from Antoine Pitrou:
When building the docs, I get the following message:
/home/antoine/cpython/default/Doc/library/compileall.rst:23: WARNING: Malformed
option description u'[directory|file]...', should look like -opt args, --opt
args or /opt args
--
assignee:
New submission from Antoine Pitrou:
When building the docs, I get the following message:
/home/antoine/cpython/default/Doc/using/cmdline.rst:167: WARNING: Malformed
option description u'-?', should look like -opt args, --opt args or /opt
args
--
assignee: docs@python
components:
Antoine Pitrou added the comment:
Doesn't seem to happen with a local build of the doc tree, using Sphinx 1.2.1.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20693
___
Sean Rodman added the comment:
I just realized that my two last updates on this ticket could be sort of
confusing. So here is what I did for the 2.7 patch. First I copied the wording
that I used for the 3.3/4 patch and then I created a relative link using the
syntax `sequence
New submission from Xavier de Gaye:
Issuing the 'continue' pdb command with a lazy_import.py script as:
# START of lazy_import.py
import sys, pdb
for m in sys.modules:
if m == 'sys':
pdb.set_trace()
# END of lazy_import.py
gives the following output:
$ python lazy_import.py
R. David Murray added the comment:
I figured out what you meant, but thanks for the clarification.
The section of interest in 2.7 is near the bottom of the page you linked to.
It already has a Sphinx section reference (collections-abstract-base-classes),
so you can use :ref: to link to it.
Ethan Furman added the comment:
When I implemented pickle support I did not have a complete understanding of
the pickle protocols nor how to best use them. As a result, I picked
__getnewargs__ and only supported protocols 2 and 3 (4 didn't exist yet).
Serhiy came along and explained a bunch
New submission from Yury Selivanov:
This is a proxy issue for https://code.google.com/p/tulip/issues/detail?id=136
--
assignee: haypo
messages: 211740
nosy: gvanrossum, haypo, yselivanov
priority: normal
severity: normal
stage: committed/rejected
status: open
title: asyncio: Implement
Changes by Yury Selivanov yselivanov...@gmail.com:
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20704
___
Yury Selivanov added the comment:
NEWS updates:
changeset: 89305:db749f0c6567
tag: tip
user:Yury Selivanov yseliva...@sprymix.com
date:Thu Feb 20 13:59:14 2014 -0500
files: Misc/NEWS
description:
Misc/NEWS: Add some missing news items re asyncio.
--
Yury Selivanov added the comment:
Relevant commits: 549f451aa4c3 and dbf13a7d3987
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20704
___
___
New submission from Rémi Rampin:
While this is obviously a programming error, distutils currently has no check
for the 'sources' list being empty, which might or might not result in a
self-explanatory error message once the CCompiler's link() method is called
(the exact error depends on the
Roundup Robot added the comment:
New changeset 1c35d3114ea1 by Yury Selivanov in branch 'default':
asyncio.docs: Improve documentation of Streams. Issue #20696.
http://hg.python.org/cpython/rev/1c35d3114ea1
--
nosy: +python-dev
___
Python tracker
Changes by Yury Selivanov yselivanov...@gmail.com:
--
resolution: - fixed
stage: patch review - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20696
Yury Selivanov added the comment:
Again, documentation update.
changeset: 89306:1c35d3114ea1
tag: tip
user:Yury Selivanov yseliva...@sprymix.com
date:Thu Feb 20 14:10:02 2014 -0500
files: Doc/library/asyncio-stream.rst
description:
asyncio.docs: Improve
Zachary Ware added the comment:
Ok, I had missed that the warnings in your two separate cases were in fact
different. I still don't understand why VC++ sees the two cases so differently
(throwing different warnings), but it at least explains the different results
in your two cases.
I don't
Sean Rodman added the comment:
Great! Thank you for the reference name. I have changed the patch to use a ref
link. Here is the new patch.
--
Added file:
http://bugs.python.org/file34155/DictReader_DictWriter_python2_ref.patch
___
Python tracker
Changes by Sean Rodman srodman7...@gmail.com:
Removed file:
http://bugs.python.org/file34141/DictReader_DictWriter_python2_NewWording.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20628
___
Larry Hastings added the comment:
Then I'm marking this as 3.5 and clearing the regression keyword. From here we
can either fix it in 3.5 or not bother (and just close this issue as wontfix).
--
keywords: -3.4regression
priority: high - normal
versions: +Python 3.5 -Python 3.4
STINNER Victor added the comment:
changeset: 89307:96e078663083
tag: tip
user:Victor Stinner victor.stin...@gmail.com
date:Thu Feb 20 21:59:38 2014 +0100
files: Lib/asyncio/base_events.py Lib/test/test_asyncio/test_events.py
description:
asyncio:
Larry Hastings added the comment:
I finished the second preview of rc2 just before you posted 96e078663083.
That'll go in the third preview.
Also, I found another revision you forgot about (something about improving
debug info). With that, and the other revisions I mentioned, asyncio in the
Changes by Yury Selivanov yselivanov...@gmail.com:
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20706
___
New submission from Yury Selivanov:
Codereview: https://codereview.appspot.com/66430046/
--
assignee: yselivanov
messages: 211751
nosy: gvanrossum, haypo, yselivanov
priority: normal
severity: normal
status: open
title: asyncio.docs: Fix wording in 'this method returns a coroutine
Roundup Robot added the comment:
New changeset cd23d0c3f850 by Yury Selivanov in branch 'default':
asyncio.docs: Improve wordings; add a note to the Coroutines section. Issue
#20706
http://hg.python.org/cpython/rev/cd23d0c3f850
--
nosy: +python-dev
Yury Selivanov added the comment:
Hopefully, the last one from me ;) Again, some documentation updates.
Thank you, Larry, for accepting these last minute fixes.
changeset: 89308:cd23d0c3f850
tag: tip
user:Yury Selivanov yseliva...@sprymix.com
date:Thu Feb 20 16:20:44
Roundup Robot added the comment:
New changeset 9aedb876c2d7 by Zachary Ware in branch '3.3':
Issue #20221: Removed conflicting (or circular) hypot definition
http://hg.python.org/cpython/rev/9aedb876c2d7
New changeset bf413a97f1a9 by Zachary Ware in branch 'default':
Issue #20221: Removed
Zachary Ware added the comment:
Fixed, thanks for the report and patch!
--
assignee: - zach.ware
resolution: - fixed
stage: patch review - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
New submission from Zachary Ware:
PC/pyconfig.h does #define hypot _hypot, but VS 2010 and above already define
a hypot function (implemented by _hypot), which results in a warning if you
have warning 4211 enabled (which warning level 4 does) or a recursive
definition which results in a crash
Changes by Yury Selivanov yselivanov...@gmail.com:
--
nosy: +asvetlov
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20694
___
___
Python-bugs-list
STINNER Victor added the comment:
Extract of the POSIX standard for recvmsg():
http://pubs.opengroup.org/onlinepubs/009695399/functions/recvmsg.html
DESCRIPTION
(...) The recvmsg() function shall return the total length of the message.
(...) If a message is too long to fit in the supplied
Yury Selivanov added the comment:
Patch is attached, please review.
--
keywords: +patch
Added file: http://bugs.python.org/file34156/asyncio_subp_docs_01.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20694
New submission from Yanming Xiao:
I saw this issue on Python 2.7.3 running on FreeBSD 9.1-64 and ubuntu 12.04-64.
All under BASH.
It seems that the shell for the external script does not have the access to
RANDOM environment variable. If I run the script directly,
the results are OK.
#
New submission from Jan-Philip Gehrcke:
The os.utime() docs for Python 2
(http://docs.python.org/2/library/os.html#os.utime) and 3
(http://docs.python.org/3/library/os.html#os.utime) both contain the sentence
Whether a directory can be given for path depends on whether the operating
system
STINNER Victor added the comment:
I'm not sure that commands.getstatusoutput() will use the same shell than your
shell. Try to display $SHELL environment variable to know your shell.
--
nosy: +haypo
___
Python tracker rep...@bugs.python.org
Changes by STINNER Victor victor.stin...@gmail.com:
--
nosy: +larry
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20709
___
___
Python-bugs-list
STINNER Victor added the comment:
recvmsg_trunc_emsgsize.patch: modify recvmsg() tests checking for truncated
data to ignore the test on OSError(EMSGSIZE).
--
keywords: +patch
Added file: http://bugs.python.org/file34158/recvmsg_trunc_emsgsize.patch
Changes by Larry Hastings la...@hastings.org:
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20707
___
Larry Hastings added the comment:
ok. it's a low-risk fix.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20707
___
___
Python-bugs-list
STINNER Victor added the comment:
Oh, AIX has the same issue. I propose broken_unix_getsockname.patch to skip
also the check on 'sockname' extra info on AIX.
The fix can wait Python 3.4.1.
http://buildbot.python.org/all/builders/PPC64%20AIX%203.x/builds/1757/steps/test/logs/stdio
Larry Hastings added the comment:
ok.
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20685
___
___
Antoine Pitrou added the comment:
Thank you! Unfortunately, it is too late for 3.4, but I will make sure the fix
is included in 3.4.1 (and 3.5).
--
nosy: +serhiy.storchaka
stage: - patch review
___
Python tracker rep...@bugs.python.org
STINNER Victor added the comment:
For failing FD pass tests, see issue #12958: these tests are also skipped on
Mac OS X. We should maybe also skip these tests on OpenBSD.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20669
Changes by Yury Selivanov yselivanov...@gmail.com:
Added file: http://bugs.python.org/file34160/asyncio_subp_docs_02.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20694
___
Changes by Yury Selivanov yselivanov...@gmail.com:
Added file: http://bugs.python.org/file34161/asyncio_subp_docs_03.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20694
___
New submission from Larry Hastings:
inspect has a bug:
* inspect.ismethod() returns False for bound methods on builtins.
If I fix that, that exposes a bug in pydoc:
* pydoc's two docroutine() functions assume that bound methods
have a __func__; bound builtins do not.
The only reason pydoc
Changes by Larry Hastings la...@hastings.org:
--
stage: - patch review
type: - behavior
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20710
___
Yury Selivanov added the comment:
Larry, I think you can use undocumented and private (but still heavily tested)
'inspect._signature_internal(skip_bound_arg=False)', instead of signature.
That will give you a Signature object with 'self' parameter always included.
And in 3.5 we'll probably
Yury Selivanov added the comment:
(The thing with my proposal, is that pydoc will handle everything that
'inspect.signature' supports + it's behaviour won't change at all)
--
___
Python tracker rep...@bugs.python.org
Larry Hastings added the comment:
Whoops, the test suite hadn't finished when I posted that, and it had an error.
Here's an updated patch that fixes the tests.
Also, there's one more minor fix in the patch. pydoc has cut-and-pasted code
for HTML versus text rendering, and they had fallen
Yury Selivanov added the comment:
I don't think we should touch 'inspect.isbuiltin' at this stage.
Please consider my proposal instead.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20710
Larry Hastings added the comment:
We discussed it in python-dev:
https://mail.python.org/pipermail/python-dev/2014-January/132051.html
And the overwhelming majority voted +1 for don't show self for bound methods.
So I'd like to change it for 3.4. (I meant to get it in earlier but lacked
Larry Hastings added the comment:
I'm not proposing to modify isbuiltin. Rather, I'm proposing to fix a bug in
ismethod.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20710
___
Yury Selivanov added the comment:
Rather, I'm proposing to fix a bug in ismethod.
Oh, sorry, that's what I meant. I don't think it's good to fix it either.
But please hold on, I think I found a bug in inspect.signature.
--
___
Python tracker
Yury Selivanov added the comment:
Indeed, here it is: #20711
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20710
___
___
Python-bugs-list
New submission from Yury Selivanov:
current behaviour:
import inspect
import os
inspect.getfullargspec(os.stat)
module 'posix' (built-in)
FullArgSpec(args=['module', 'path'], varargs=None, varkw=None, defaults=None,
kwonlyargs=['dir_fd', 'follow_symlinks'], kwonlydefaults={'dir_fd': None,
Larry Hastings added the comment:
So why is it necessary (and a release blocker) to fix a bug in
inspect._signature_fromstr, but a terrible idea to fix a bug in
inspect.ismethod?
--
___
Python tracker rep...@bugs.python.org
Yury Selivanov added the comment:
So why is it necessary (and a release blocker) to fix a bug in
inspect._signature_fromstr, but a terrible idea to fix a bug in
inspect.ismethod?
I was actually writing a comment, when I received this on my email ;) Let me
explain my point of view.
And
Changes by Yury Selivanov yselivanov...@gmail.com:
--
stage: - patch review
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20711
___
___
Roundup Robot added the comment:
New changeset ec3a70ef759d by Yury Selivanov in branch 'default':
asyncio.docs: Document subprocess_exec and subprocess_shell. Issue #20694.
http://hg.python.org/cpython/rev/ec3a70ef759d
--
nosy: +python-dev
___
Changes by Yury Selivanov yselivanov...@gmail.com:
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20694
___
Yury Selivanov added the comment:
Last bit of documentation from me.
I, personally, don't have any more changes in mind, so this one is probably the
last from me on the asyncio front in this thread.
changeset: 89312:ec3a70ef759d
tag: tip
user:Yury Selivanov
Larry Hastings added the comment:
Okay, that's a fair point. I checked, and the documentation specifically says
that ismethod only returns true on bound methods implemented in Python. I
think that's a bad API, it should be agnostic about the implementation
language. But I'll remove the
New submission from Larry Hastings:
Some of the methods on the inspect module behave differently depending on
whether the callable passed in was implemented in C or in Python. For example,
ismethod() only returns True for bound methods implemented in Python.
I assert that the interface
Yury Selivanov added the comment:
I think that's a bad API, it should be agnostic about the implementation
language.
Agree.
Re #20711: Please take a look at the patch I wrote. It's your code I modified,
you know it and the __text_signature__ quirks better than anyone.
--
Larry Hastings added the comment:
Here's a revised patch that doesn't modify inspect.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20710
___
Changes by Larry Hastings la...@hastings.org:
Added file:
http://bugs.python.org/file34165/larry.fix.help.on.bound.methods.3.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20710
___
Larry Hastings added the comment:
A slight tweak to the patch. Previously I was just using truth testing on the
value I got from __self__, but that's wrong if the object is considered false
(e.g. ''.zfill). (Yury got this right in #20711, and I copied from him!)
--
Added file:
New submission from Donald Stufft:
Please pull in the upgrade from pip 1.5.2 to 1.5.3 into CPython 3.4.0, the
revision is d57df3f72715
--
assignee: larry
messages: 211787
nosy: dstufft, larry, ncoghlan
priority: release blocker
severity: normal
status: open
title: 3.4 cherry-pick:
Donald Stufft added the comment:
I created issue20713
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20570
___
___
Python-bugs-list mailing list
Donald Stufft added the comment:
pip 1.5.3 is released and I've requested larry cherry-pick it into 3.4.0 with
issue20713
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20053
___
Larry Hastings added the comment:
ok.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20713
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Larry Hastings la...@hastings.org:
--
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20713
___
New submission from Artur R. Czechowski:
Current support for ]] inside CDATA is to raise an Exception. However, it
could be solved by dividing the ]] to two strings:
- ]]
-
and each one is a separate CDATA inside elemement. So, to put ]] inside CDATA
one can write:
element
Changes by Ethan Furman et...@stoneleaf.us:
--
Removed message: http://bugs.python.org/msg211739
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20679
___
Ethan Furman added the comment:
When I implemented pickle support I did not have a complete understanding of
the pickle protocols nor how to best use them. As a result, I picked
__getnewargs__ and only supported protocols 2 and 3 (4 didn't exist yet).
Serhiy came along and explained a bunch
Ethan Furman added the comment:
When I implemented pickle support I did not have a complete understanding of
the pickle protocols nor how to best use them. As a result, I picked
__getnewargs__ and only supported protocols 2 and 3 (4 didn't exist yet).
Serhiy came along and explained a bunch
1 - 100 of 130 matches
Mail list logo