[issue11654] errors in atexit hooks don't change process exit code

2011-03-25 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Comparing to the atexit() in C, I think this is the wrong behavior. I's weird 
that error in atexit does't change process exit code while error in common 
python code does. There should be a fix.

--
nosy: +ysj.ray

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



[issue11647] function decorated with a context manager can only be invoked once

2011-03-25 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Agreed with nick's idea, the implicitly recreation of the context managers 
would confuse users.

How about removing the generator must yield exactly one value restriction of 
@contextlib.contextmanage? Then if I want a generator to be used as a common 
context manager, I can make it yield exactly one value, else further if I want 
the resulting context manager can be used as a decorator, (reusable), I can put 
the generator code in a while True loop and add a yield at the end of loop 
body, like this:

@contextmanager
def func():
while True:
print('begin func')
yield
print('end func')
yield

:)

--
nosy: +ysj.ray

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



[issue11654] errors in atexit hooks don't change process exit code

2011-03-25 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

A straight forward fix maybe making the interpreter exit code a static global 
variable and change it in Modules/atexitmodule.c:atexit_callfuncs() in the case 
of errors occurred.

--

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



[issue11647] function decorated with a context manager can only be invoked once

2011-03-25 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

  Agreed with nick's idea, the implicitly recreation of the context
  managers would confuse users.

 Uh, why would it? That's exactly what I expect the decorator to do, and
 I was astonished to discover that it *doesn't*.


Because there is no *OBVIOUS* code or sign which can illustrate that context 
manager changes from a one-shot to a reusable. When using in with statement, 
it's a one-shot, while using as a decorator, it becomes a reusable. I think the 
way using it doesn't provide enough reason for its behavior change. Is there 
somebody who may expected that the GeneratorContextManager IS a one-shot?

--

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

By the way, as my simple tests, wprintf() with %ls does apply the width and 
precision formatters on units of characters.

--

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Sorry for having done that! I will remove old patches and leave a cleaner view.

--

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-24 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20739/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-24 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20786/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-24 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20983/issue7330_2.diff

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



[issue9523] Improve dbm modules

2011-03-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I tried to work out a doc patch for 3.2 to mention the limitation api: the 
missing methods compared with dict and the imperfect methods(keys(), items()) 
of collections.MutableMapping. Here is it.

--
Added file: http://bugs.python.org/file21369/issue_9523_3.2_doc_patch.diff

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



[issue11655] map() must not swallow exceptions from PyObject_GetIter

2011-03-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

There maybe compatibility issues which prevent such behavior change.

--
nosy: +ysj.ray

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



[issue9523] Improve dbm modules

2011-03-23 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Updated patch:

1, Changes follows review comments: http://codereview.appspot.com/4185044/. 
Thanks eric!

2, Make Objects/dictobject.c:all_contained_in() a common useful limited api 
Object/abstract.c:_PyObject_AllContainedIn() for the purpose of re-usage in 
Modules/_gdbmmodule.c and Modules/_dbmmodule.c. Not sure if this is proper. I 
will ask somebody with C knowledge to do a review on the C code.

--
Added file: http://bugs.python.org/file21355/issue_9523_3.diff

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



[issue11287] Add context manager support to dbm modules

2011-03-22 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

patch updated.

--
Added file: http://bugs.python.org/file21337/issue_11287.diff

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



[issue9302] distutils API Reference: setup() and Extension parameters' description not correct.

2011-03-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I searched the distutils docs for such a parameter description table and find 
tow more on the distutils.core.setup() function descriptions. Reflected in my 
updated patch.

--
title: distutils.core.Extension: list parameters documented as strings - 
distutils API Reference: setup() and Extension parameters' description not 
correct.
Added file: http://bugs.python.org/file21323/issue_9302.diff

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



[issue9523] Improve dbm modules

2011-03-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 I think the patch will not be suitable for 3.1 and 3.2

Yes, it changes some api(e.g keys()), which may introduces compatibility issues.

 so there should be a doc patch to mention the limitations of the dbm API 
 (keys()  returning a list and all that).

Do you mean a doc patch for 3.2 which mentions the missing or imperfect methods 
of collections.MutableSequence()? e.g keys() not returns a KeysView but a list 
instead, update() is missing

--

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-21 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file21032/issue7330_3.diff

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Ooops! I found my last submitted patch is a wrong one.


Here is the updated patch add doc entries about the changes. The test cases 
which assert error messages generated by PyUnicode_FromFormat() with %.200s 
formatters equality would failed due to this patch. Hope you don't miss any of 
them.

--
Added file: http://bugs.python.org/file21324/issue_7330.diff

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



[issue11608] GzipFile cannot be used for streaming

2011-03-20 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Looks like a duplicate issue of #9664 and #914340. And has been fixed in patch 
of #914340.

--
nosy: +ysj.ray

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



[issue4492] httplib code thinks it closes connection, but does not

2011-03-20 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Another fix could be making HTTPResponse to hold a reference to the 
HTTPConnection object and call its close() at the time of a bad chunk
length was received. This can close the connection as soon as possible.

--

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



[issue11604] Have type(n,b,d) check for type(b[i]) is module

2011-03-19 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 I am only suggesting a check for module because the is the only mistake  I 
 remember anyone reporting. Passing a number as a base class gives a   
 similar message, but no one does that. And as far as I know, there is  no 
 way in general to detect whether a callable works as a metaclass  except by 
 calling it with name, bases, and dict.


Since 3.x all the module names became lower-case and can be easily differ from 
class names, so I don't think this problem will present much in 3.x, right?

--
nosy: +ysj.ray

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



[issue11586] Python/pythonrun.c: get_codec_name() typo

2011-03-17 Thread Ray.Allen

New submission from Ray.Allen ysj@gmail.com:

I guess there is a typo in the source of this function:
Python/pythonrun.c: get_codec_name()


diff -r 48970d754841 Python/pythonrun.c
--- a/Python/pythonrun.cThu Mar 17 17:06:27 2011 +0800
+++ b/Python/pythonrun.cThu Mar 17 22:11:15 2011 +0800
@@ -147,7 +147,7 @@
 goto error;
 
 name_utf8 = _PyUnicode_AsString(name);
-if (name == NULL)
+if (name_utf8 == NULL)
 goto error;
 name_str = strdup(name_utf8);
 Py_DECREF(name);

--
components: Interpreter Core
messages: 131252
nosy: ysj.ray
priority: normal
severity: normal
status: open
title: Python/pythonrun.c: get_codec_name() typo
versions: Python 3.3

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



[issue11587] METH_KEYWORDS alone gives METH_OLDARGS is no longer supported!

2011-03-17 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Looks like just the problem of error msg.

--
nosy: +ysj.ray

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



[issue4492] httplib code thinks it closes connection, but does not

2011-03-17 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
nosy: +ysj.ray

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



[issue11580] Add width and precision formatters to PyBytes_FromFormatV()

2011-03-16 Thread Ray.Allen

New submission from Ray.Allen ysj@gmail.com:

By working on some PyUnicode_FromFormatV() related issue(#7330, #10829), I 
found some same problems with PyBytes_FromFormatV(): It doesn't support width 
formatter for %u, %i, %x, %d, %s, also it doesn't support %lld and %llu.


Attached patch fix the problem:

Add width formatter for %u, %i, %x, %d
Add width and precision formatter for %s
Add %lld and %llu support.

It copies the same idea from #10829: add the parse_format_flags() function.

--
components: Interpreter Core
files: pybytes_fromformatv.diff
keywords: patch
messages: 131218
nosy: ysj.ray
priority: normal
severity: normal
status: open
title: Add width and precision formatters to PyBytes_FromFormatV()
versions: Python 3.3
Added file: http://bugs.python.org/file21261/pybytes_fromformatv.diff

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



[issue2142] difflib.unified_diff(...) produces invalid patches

2011-03-14 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Yes there may be.

Here is the updated patch:

Add a new keyword argument to context_diff() and unified_diff() named 
warn_no_newline_at_end. If true, emit \ No newline etc. It defaults to 
True, set it to false to get the old behavior. I'm not sure if this name is too 
long, but I haven't got a better name.

--
Added file: http://bugs.python.org/file21207/issue_2142_2.diff

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



[issue2142] difflib.unified_diff(...) produces invalid patches

2011-03-12 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 I re-read the discussion on python-dev, where it was suggested to add a 
 keyword argument to get the old behavior.  Have you considered it?


IIUC, at the time of that discusstion, 3.2 is pre-beta so the suitable option 
is to add \No newline etc by default and add a keyword to get the old 
behavior, but now it is for 3.3. I wonder if 3.3 is a chance to totally get rid 
of the *OLD WRONG* behavior.

--

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



[issue1635741] Interpreter seems to leak references after finalization

2011-03-12 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 Does the title of this issue accurately reflect the current status of the 
 Python interpreter?

Yes, here is the running result on current 3.3 latest code:
[37182 refs]
[39415 refs]
[41607 refs]
[43799 refs]
[45991 refs]
[48183 refs]
[50375 refs]


This seems to be a known bug that Py_Finalize() doesn't free all objects 
according doc 
http://docs.python.org/dev/c-api/init.html?highlight=py_finalize#Py_Finalize

--

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



[issue2142] difflib.unified_diff(...) produces invalid patches

2011-03-09 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Updated patch which can apply to current py3k cleanly and with changes follow 
eric's review comments.

--
Added file: http://bugs.python.org/file21067/issue_2142.diff

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



[issue7330] PyUnicode_FromFormat: implement width and precision for %s, %S, %R, %V, %U, %A

2011-03-07 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I noticed that after apply my last patch and running full unittest cases, some 
weird errors which I don't know the reasons occurred, for example:

AttributeError: 'dict' object has no attribute 'get'
and
AttributeError: 'Queue' object has no attribute 'get'

I didn't look deep into it. But I found after I optimist my patch, these errors 
disappeared: I removed the unicode_format_align() function in previous patch, 
directly add needed spaces and copy part of unicode got from parameters 
according to width and precision formatters in step 4(using Py_UNICODE_FILL() 
and Py_UNICODE_COPY()) . This avoid create temporary unicode objects using 
unicode_format_align() in step 3. And also the patch becomes simpler.

So this patch is intended to replace of the previous. And if I have more time, 
I will try to find the reasons of the weird errors.

--
Added file: http://bugs.python.org/file21032/issue7330_3.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-03-03 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Here is the updated patch:

1, Work with function parse_format_flags() which is introduced in issue10829, 
and the patch is simpler and more clear than before.
2, Change parse_format_flags() to set precision value to -1 in the case of '%s' 
in order to differ with '%.0s'
3, Move call of unicode_format_align() in step 3 in order to avoid many codes 
like n += width  PyUnicode_GET_SIZE(str) ? width : PyUnicode_GET_SIZE(str);, 
(following haypo's comments)

--
Added file: http://bugs.python.org/file20983/issue7330_2.diff

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



[issue10829] PyUnicode_FromFormatV() bugs with % and %% format strings

2011-03-02 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Hi, haypo, would you mind modify your newly added parse_format_flags() function 
so that it can diff the precision value of '%.0s' and '%s'(Currently both of 
them return precision as 0)? Because if used with string formatters(%s, %R, %S, 
%A, ...), they should be very different. And so I can work on issue7330 with it.

Just return precision as -1 to indicate no precision is designated could work.

--

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



[issue11350] __setitem__()'s problem of dbm.dumb object pointed out by comments

2011-03-01 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Here is a test case.

First here is a patch which implements a simple builtin function abort() that 
calls exit(0) directly, it simulates the cases that Py_FatalError occurred or 
segment fault.

Then run the following:

import dbm.dumb as dumb

db = dumb.open('test_db', 'c')
db.clear()
db['a'] = 'a'
db.sync()
db['a'] = 'aa'
abort()


Now the database 'test_db' is corrupt because .dat file and .dir file are out 
of sync:

db = dumb.open('test_db', 'c')
print(db['a'])
db.close()

prints:
b'a'

But the value of key 'a' in .dat file are: 'aa':
cat test_db.dat
aa

--
keywords: +patch
Added file: http://bugs.python.org/file20969/builtin_abort.diff

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



[issue11350] __setitem__()'s problem of dbm.dumb object pointed out by comments

2011-02-28 Thread Ray.Allen

New submission from Ray.Allen ysj@gmail.com:

By reading the Lib/dbm/dumb.py source, there seems to be an distinct problem 
which is pointed out in comments: the __setitem__() should call self._commit() 
in order to keep .dat file and .dir file consist.

Here is a piece of comment found at the end of __setitem__():

# Note that _index may be out of synch with the directory
# file now:  _setval() and _addval() don't update the directory
# file.  This also means that the on-disk directory and data
# files are in a mutually inconsistent state, and they'll
# remain that way until _commit() is called.  Note that this
# is a disaster (for the database) if the program crashes
# (so that _commit() never gets called).


And another piece found in __delitem__():

# XXX It's unclear why we do a _commit() here (the code always
# XXX has, so I'm not changing it).  __setitem__ doesn't try to
# XXX keep the directory file in synch.  Why should we?  Or
# XXX why shouldn't __setitem__?


One probable reason I guess is that the self._commit() method which writes the 
keys information to .dir file is regarded as a slow process, and the 
__setitem__() is called frequently at most cases while __deltiem__ is not, so 
calling self._commit() at each __setitem__ could make the program very slow.

But based on the fact that The dbm.dumb module is not written for speed and is 
not nearly as heavily used as the other database modules.(found on dbm's 
library document), maybe correctness is more important than speed.

So I think it should be fixed:

Index: Lib/dbm/dumb.py
===
--- Lib/dbm/dumb.py (revision 88674)
+++ Lib/dbm/dumb.py (working copy)
@@ -196,6 +196,7 @@
 # remain that way until _commit() is called.  Note that this
 # is a disaster (for the database) if the program crashes
 # (so that _commit() never gets called).
+self._commit()
 
 def __delitem__(self, key):
 if isinstance(key, str):

And the remaining comments can be deleted.

--
components: Library (Lib)
messages: 129688
nosy: ysj.ray
priority: normal
severity: normal
status: open
title: __setitem__()'s problem of dbm.dumb object pointed out by comments
versions: Python 3.1, Python 3.2, Python 3.3

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



[issue11287] Add context manager support to dbm modules

2011-02-25 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Update: change unittest code following eric's comments.

--
Added file: http://bugs.python.org/file20902/issue11287.diff

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




[issue11287] Add context manager support to dbm modules

2011-02-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Here is the patch.

--
keywords: +patch
Added file: http://bugs.python.org/file20882/issue11287.diff

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



[issue10516] Add list.clear() and list.copy()

2011-02-23 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Please modify the patch so that it can be applied to current py3k trunk 
cleanly. (Notice that Lib/collections.py has been changed to a package in 
#11085).

--

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



[issue10228] Refleak run of test_dbm fails when several dbm modules are available

2011-02-22 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

It looks like because before the second time running of 
WhichDBTestCase.test_whichdb(), previous dumb files are not cleaned clearly, so 
the gdbm's open() doesn't create a new gdbm database but open an existing dumb 
database.

In fact during the working of #9523, I found this problem and fix it in the 
patch of #9523. Here I extract the fixing, it is simple:


cat patches/issue10228.diff 
Index: Lib/test/test_dbm.py
===
--- Lib/test/test_dbm.py(revision 88499)
+++ Lib/test/test_dbm.py(working copy)
@@ -123,7 +123,7 @@
 name = module.__name__
 if name == 'dbm.dumb':
 continue   # whichdb can't support dbm.dumb
-test.support.unlink(_fname)
+delete_files()
 f = module.open(_fname, 'c')
 f.close()
 self.assertEqual(name, dbm.whichdb(_fname))

--
nosy: +ysj.ray

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



[issue3783] dbm.sqlite proof of concept

2011-02-22 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
versions: +Python 3.3 -Python 3.2

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



[issue2159] dbmmodule inquiry function is performance prohibitive

2011-02-22 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
nosy: +ysj.ray

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



[issue11287] Add context manager support to dbm modules

2011-02-22 Thread Ray.Allen

New submission from Ray.Allen ysj@gmail.com:

dbm objects, including gdbm, ndbm, dumb, should support context manager. That 
is, can be used with 'with' keyword, just like regular file objects.

I'm working out a patch for this.

--
components: Extension Modules
messages: 129076
nosy: ysj.ray
priority: normal
severity: normal
status: open
title: Add context manager support to dbm modules
type: feature request
versions: Python 3.3

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



[issue10829] PyUnicode_FromFormatV() bugs with % and %% format strings

2011-02-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Hi, haypo, Your patch seems cannot be applied cleanly on current py3k trunk. 
And after modified your patch, test_unicode.py runs into Segmentation fault. Is 
there something wrong or some changes which could influence this bug had been 
already made since the patch is worked out?


On the current trunk, I guess the bug could be fixed in a simpler way:

In step 1, before check '%%', check '%'(a string ends with '%') first. Then 
check '%%' and skip it.

The whole patch:

Index: Objects/unicodeobject.c
===
--- Objects/unicodeobject.c (revision 88453)
+++ Objects/unicodeobject.c (working copy)
@@ -750,8 +750,12 @@
  * result in an array) */
 for (f = format; *f; f++) {
  if (*f == '%') {
- if (*(f+1)=='%')
+ if (*(f+1)=='\0')
+continue;
+ if (*(f+1)=='%') {
+ f++;
  continue;
+ }
  if (*(f+1)=='S' || *(f+1)=='R' || *(f+1)=='A')
  ++callcount;
  while (Py_ISDIGIT((unsigned)*f))


After applying this small patch and tests in your patch, test_unicode.py can 
passed.

--
nosy: +ysj.ray

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



[issue10829] PyUnicode_FromFormatV() bugs with % and %% format strings

2011-02-21 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
type:  - behavior

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



[issue10833] Replace %.100s by %s in PyErr_Format(): the arbitrary limit of 500 bytes is outdated

2011-02-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

see also #7330, I'm implementing %.100s in that issue.

--
nosy: +ysj.ray

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



[issue11246] PyUnicode_FromFormat(%V) decodes the byte string from ISO-8859-1

2011-02-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Thanks haypo!

Here the updated patch, following your comments.

--
type:  - behavior
Added file: http://bugs.python.org/file20831/issue11246.diff

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



[issue10829] PyUnicode_FromFormatV() bugs with % and %% format strings

2011-02-21 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 Well, the main problem is that there are 3 different codes to parse the 
 format string, and each code is different... Attached patch factorizes the 
 code: create one subfunction parse_format_flags(). It fixes also this issue 
 and prepares the work to fix #10831.


Sounds nice! Maybe several related issues can also use this, like #7330.

--

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-20 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

   With your patch, %.200s truncates the input string to 200 *characters*, 
   but I think that it should truncate to 200 *bytes*, as printf does.
  
  Sorry, I don't understand. The result of PyUnicode_FromFormatV() is a 
  unicode object. Then how to truncate to 200 *bytes*?

 You can truncate the input char* on the call to PyUnicode_DecodeUTF8:
pass a size smaller than strlen(s).


Now I wonder how should we treat precision formatters of '%s'. First of all, 
the PyUnicode_FromFormat() should behave like C printf(). In C printf(), the 
precision formatter of %s is to specify a maximum width of the displayed 
result. If final result is longer than that value, it must be truncated. That 
means the precision is applied on the final result. While python's 
PyUnicode_FromFormat() is to produce unicode strings, so the width and 
precision formatter should be applied on the final unicode string result. And 
the format stage is split into two ones, one is converting each paramater to an 
unicode string, another one is to put the width and precision formatters on 
them. So I wonder if we should apply the precision formatter on the converting 
stage, that is, to PyUnicode_DecodeUTF8(). So in my opinion precision should 
not be applied to input chars, but output unicodes.

I hope I didn't misunderstand something.

So haypo, what's your opinion.

--

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-20 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20739/issue_7330.diff

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



[issue11246] PyUnicode_FromFormat(%V) decodes the byte string from ISO-8859-1

2011-02-20 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Yes. The %V should be combination of %U and %s.

Here is a patch which fixed this problem.

--

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



[issue11246] PyUnicode_FromFormat(%V) decodes the byte string from ISO-8859-1

2011-02-20 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
keywords: +patch
Added file: http://bugs.python.org/file20818/issue11246.diff

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



[issue9523] Improve dbm modules

2011-02-18 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

An updated patch, based on latest several reviews on 
http://codereview.appspot.com/4185044/

update:
1, Refactoring the common tests between test_dbm_gnu and test_dbm_ndbm.
2, Move the abc registering in Lib/dbm/ndbm.py and Lib/dbm/gnu.py.
3, Other changes pointed out in review comments.

--
Added file: http://bugs.python.org/file20783/issue_9523.diff

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



[issue9523] Improve dbm modules

2011-02-18 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20771/issue_9523.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-18 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 No you don't. You can copy a substring of the input string with
Py_UNICODE_COPY: just pass a smaller length.

Oh, yes, I got your meaning now. I'll follow this.


 You can truncate the input char* on the call to PyUnicode_DecodeUTF8:

Oh, what if the trunked char* cannot be decoded correctly? e.g. a tow-bytes 
character is divided in the middle? 


 Yes, but I am no more sure that it is the right thing to do.

If I understand correctly(my English ability is limited), your suggestion is to 
combine, right? I'm afraid that combine may bring us too complicated code to 
write. The currently 4 steps just divide the process into smaller and simpler 
pieces. I'm not sure.

--

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-18 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 Can you add tests for %.s? I would like to know if %.s is different than 
 %s :-)

Oh sorry~~  I made an mistake. There is no bug here. I have attached tests that 
show that '%.s' is the same as '%s'.


Here is the updated patch:
1, changed the function name unicode_format() to 
1, remove

- must be a sequence, not %200s,
+ must be a sequence, not %.200s,

in Python/ceval.c

2, Removing using PySequence_GetSlice() in unicode_format_align() and do a 
refactor to optimize the process.

3, Add tests for '%.s' and '%s', as haypo wanted.


This is obviously not the final patch just convenient for other to do a  
review. Something more need to be discussed.

--
Added file: http://bugs.python.org/file20786/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-17 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Thanks hyapo! 

 It looks like your patch fixes #10829: you should add tests for that, you can 
 just reuse the tests of my patch (attached to #10829).

Sorry, but I think my patch doesn't fix #10829. It seems link another issue. 
And by applying my patch and add tests from #10829's patch, the tests cannot 
passed. Or did I missed something?


 You should also avoid the creation of a temporary unicode object (it can be 
 slow if precision is large) using PySequence_GetSlice(). Py_UNICODE_COPY() 
 does already truncate the string because you can pass an arbitrary length.

In order to use Py_UNICODE_COPY, I have to create a unicode object with 
required length first. I feel this have the same cost as using 
PySequence_GetSlice(). If I understand correctly?


 With your patch, %.200s truncates the input string to 200 *characters*, but 
 I think that it should truncate to 200 *bytes*, as printf does.

Sorry, I don't understand. The result of PyUnicode_FromFormatV() is a unicode 
object. Then how to truncate to 200 *bytes*? I think the %s formatter just 
indicate that the argument is c-style chars, the result is always unicode 
string, and the width and precision formatters are to applied after converting 
c-style chars to string. 


 I don't like this change because I hate having to compute manually strings 
 length. It should that it would be easier if you format directly strings with 
 width and precision at step 3, instead of doing it at step 4: so you can just 
 read the length of the formatted string, and it avoids having to handle 
 width/precision in two steps (which may be inconsistent :-/).

Do you mean combine step 3 and step 4 together? Currently step 3 is just to 
compute the biggest width value and step 4 is to compute exact width and do the 
real format work. Only by doing real format we can get the exact width of a 
string. So I have to compute each width twice in both step 3 and step 4. Is 
combining the two steps in to one a good idea?


 In my opinion, the patch is a little bit too big. We may first commit the fix 
 on the code parsing the width and precision: fix #10829?

Again, I guess #10829 need another its own patch to fix. 


 Can you add tests for %.s? I would like to know if %.s is different than 
 %s :-)

Err, '%.s' causes unexpected result both with and without my patch. Maybe it's 
still another bug?

--

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-17 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 Do you mean combine step 3 and step 4 together? Currently step 3 is just to 
 compute the biggest width value and step 4 is to compute exact width and do 
 the real format work. Only by doing real format we can get the exact width of 
 a string. So I have to compute each width twice in both step 3 and step 4. Is 
 combining the two steps in to one a good idea?

Sorry, Here I mean:

Do you mean combine step 3 and step 4 together? Currently step 3 is just to 
compute the biggest width value and step 4 is to compute exact width and do the 
convert work(by calling 
PyObject_Str()/PyObject_Repr()/PyObject_ASCII()/PyUnicode_DecodeUTF8() for 
%S/%R/%A/%s). Only by doing convert we can get the exact width of a string. So 
I have to compute each width twice in both step 3 and step 4. Is combining the 
two steps in to one a good idea?

--

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



[issue9523] Improve dbm modules

2011-02-16 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Thanks!

Here is my updated patch:
1, Now the dbm view objects are the same as dict view objects, which are in 
conformity with collections.KeysView, ValuesView and ItemsView.
2, I register all these abcs explicitly because these abcs have not 
__subclasshook__() method so they can't check api conformance(at lease exist) 
through isinstance(). I could not make sure api conformance except testing each 
method I find in abc explicitly. And my test_abc() is just to test the 
registering.
3, Other updates which are from comments I wrote newly on codereview: 
http://codereview.appspot.com/4185044/

--
Added file: http://bugs.python.org/file20771/issue_9523.diff

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



[issue9523] Improve dbm modules

2011-02-16 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20751/issue_9523.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file18305/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file19132/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20731/issue_7330.diff

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



[issue9523] Improve dbm modules

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file18402/issue8634.diff

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



[issue9523] Improve dbm modules

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file19987/issue_9523.diff

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



[issue9523] Improve dbm modules

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file20726/issue_9523.diff

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



[issue1635741] Interpreter seems to leak references after finalization

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
nosy: +ysj.ray

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



[issue3710] Reference leak in thread._local

2011-02-13 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
nosy: +ysj.ray

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



[issue9523] Improve dbm modules

2011-02-12 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

  1. Make keys(), values(), items() methods return view object for ndbm, gdbm 
  and dumb objects. I following the codes in dictobject.c.
 Did you have to copy the code?  Isn’t it possible to somehow reuse it?

I feel not so easy to reuse the code, there could be several differences in the 
c code. Resuing the code may make the code more complecated. But if someone 
could find a better way to reuse the code, it would be nice.


  The keysview object support len(), in operator, and iteratable, while 
  valuesview and itemsview object only support len() and iteratable.
 That does not seem to comply with the definition of dict views. 

Oh, yes, I missed the rich compare functions and isdisjoint() method of view 
objects.


 Do the views yield elements in the same order?  (In a dict, iteration order 
 is undefined but consistent between the various views, IIUC.)
gdbm and dumb views yield elements in the same order, ndbm views doesn't. I 
missed it.


  3. Remove dumb's keys() method which calls self._index.keys() since it is 
  unnecessary.
 Does dumb have no keys method then?
Yes, it does. Its keys() method is provided by Mapping abc already.


Here is the updated patch:
1. Add rich compare functions and disjoint() method to dbm view objects to make 
them as MappingView objects, and add abc registration for them.
2. Make ndbm view objects yield elements in the same order.
3. Other changes during to the codeview: http://codereview.appspot.com/4185044/

--

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



[issue9523] Improve dbm modules

2011-02-12 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Added file: http://bugs.python.org/file20751/issue_9523.diff

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



[issue9523] Improve dbm modules

2011-02-10 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Thanks eric for reviewing my patch! And thanks for you suggestions. I'm  
following them.

 I don’t know if you should use a plain set or a collections.ItemsView here.  
 In dict objects, KeysView and ValuesView are set-like objects with added 
 behavior, for example they yield their elements in the same order.

Yes you are right. I think returning a view object is better than returning a 
set.

Here is the updated patch. It updates:
1. Make keys(), values(), items() methods return view object for ndbm, gdbm and 
dumb objects. I following the codes in dictobject.c. The keysview object 
support len(), in operator, and iteratable, while valuesview and itemsview 
object only support len() and iteratable.
2. Removing doc changes: 
  The object returned by :func:`.open` supports the same basic functionality as
  -dictionaries
  +:mod:`collection`.MutableMapping
which is mentioned in eric's comment.
3. Remove dumb's keys() method which calls self._index.keys() since it is 
unnecessary.
4. Using more specialized assertXxx methods in test cases.
5. Remove the values() and items() method are not supported in 
Doc/library/dbm.rst.


 See #5736 for a patch adding iteration support.  If the patch attached to his 
 report supersedes the other one, I’ll close the other bug as duplicate.

#5736 's patch for adding iteration to ndbm and gdbm modules simple calling 
PyObject_GetIter(dbm_keys(dbm, NULL)) for both gdbm and ndbm, but I feel it's 
better to create a seperate iterator object for gdbm objects.

--
Added file: http://bugs.python.org/file20726/issue_9523.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-10 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


Removed file: http://bugs.python.org/file19131/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-10 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Thanks haypo!

Here is the updated patch, it add the tests about width modifiers and precision 
modifiers of %S, %R, %A. Besides I don't know how to add tests of %s, since 
when calling through ctypes, I could not get correct result value as python 
object from PyUnicode_FromFormat() with '%s' in format string as argument.

--
Added file: http://bugs.python.org/file20731/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2011-02-10 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Here's the complete patch, added unittest for width modifier and precision 
modifier for '%s' formatter of PyUnicode_FromFormat() function.

--
Added file: http://bugs.python.org/file20739/issue_7330.diff

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



[issue10611] sys.exit() in a test causes a test run to die

2010-12-15 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 I'd like to fix all these issues by moving the exception handling into a 
 single method and unifying the reporting of failure / error / expected 
 failure / skip test. This will fix all these issues and nicely simplify the 
 implementation.

That sounds good.

--

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



[issue10516] Add list.clear() and list.copy()

2010-12-10 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 That's good if it's so... can you explain why list_clear doesn't 
 guarantee that the list is empty? Why would XDECREF populate the list? 
 I don't quite understand it.


Does this mean that durning the Py_DECREF progress the list may be populated 
again? It's not a problem. Here is the simplest example(with applying eli's 
patch):


class A(object):
def __init__(self, li):
self._li = li
def __del__(self):
self._li.append(self)

li = []
li.append(A(li))
li.clear()
print(li)

--

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



[issue9523] Improve dbm modules

2010-12-09 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Here is the updated patch, which fixed:

1. remove get() method of gdbm since issue6045 has already add it.

2. method keys() and items() of dbm object return set instead of list. Since 
pep3119 said keys() and items() should return collections.Set and set is a 
collections.Set.

3. add update() method to dbm object, which follows implementation in 
collections.MutableMapping.update().

--
Added file: http://bugs.python.org/file19987/issue_9523.diff

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



[issue10516] Add list.clear() and list.copy()

2010-12-09 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

eli, you should also add New in version 3.3 to the doc of the tow new list 
methods.

--
nosy: +ysj.ray

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



[issue10611] sys.exit() in a test causes a test run to die

2010-12-09 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Agreed. I think the except Exception in TestCase.run() should be except 
BaseException, since BaseException could catch Exception, SystemExit, 
GeneratorExit, KeyboardInterrupt. The KeyboardInterrupt should be caught first. 
The remaining three is exactly what is needed.

Here is a patch I worked, with unittest.

--
keywords: +patch
nosy: +ysj.ray
Added file: http://bugs.python.org/file19994/issue_10611.diff

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



[issue10517] test_concurrent_futures crashes with Fatal Python error: Invalid thread state for this thread

2010-12-08 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Couldn't repro this on my debian 5.

--
nosy: +ysj.ray

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



[issue9523] Improve dbm modules

2010-12-07 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Oh, yes. I noticed that the pep3119 defines return value of method 
MutableMapping.keys() as Set, as well as method items(). So the implementation 
of dumb.keys() and dump.items() are not correct since they all return lists 
while the class inherits MutableMapping. 

The implementations in my patch should also be corrected since I made the same 
mistake. Besides, since issue6045 has already added get(), I need to update my 
patch. I will do it later.

And who can tell the specification of MutableMapping.update()? The pep3119 
lacks of it. Should I follow the implementation in the ABC class MutableMapping?

--

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



[issue9299] os.makedirs(): Add a keyword argument to suppress File exists exception

2010-12-02 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Oh, yes, I missed that, too. I didn't pay attention to that. Thanks for  
pointing out it and fix it!

--

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



[issue9299] os.makedirs(): Add a keyword argument to suppress File exists exception

2010-11-28 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Thanks for Terry's addition to the patch! 

On my python3.2a3 on windows(also copied os.py and test_os.py to the 
installation), I only get the tow os.link errors. And this is because the 
python3.2a3 hasn't the os.link function, and the test.LinkTests in test_os.py 
is added later after python3.2a3, at r86733.

I don't know Why is there a WindowsError in time.sleep(), but I cannot 
reproduce this Error.

--

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



[issue7238] frame.f_lineno doesn't get updated after local trace function assigned to it

2010-11-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

It's not a bug. What happens is like this:

1, You set trace function using sys.settrace(tracer).
2, When the following func() is called, tracer is called with a call event, 
so the trace function in PyThreadState is set to NULL since 
sys.settrace(None) is execute, but since the return value is a valid local 
trace function, the frame of called function(func()) has its local trace 
function.
3, The called function(func()) executes, though its frame has a local trace 
function, but it will not be executed since PyThreadState-c_tracefunc is NULL. 
When you get f_lineno from frame, you get the not refreshed f_lineno value but 
not the dynamically computed lineno, as the f_lineno's getter function said:
if(f-f_trace)
return f-f_lineno;
else
return PyCode_Addr2Line(f-f_code, f-f_lasti);

   Here because your frame's local trace function is not executed, the f_lineno 
is not refreshed.

4, When the second time func() calls, there is no global trace function. Each 
time you get the f_lineno, it uses PyCode_Addr2Line() to get the dynamically 
computed line number.


I think this situation is so rarely that the doc saying f_lineno is 
the current line number of the frame is correct.

--
nosy: +ysj.ray

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



[issue8481] doc: ctypes no need to explicitly allocate writable memory with Structure

2010-11-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I think not only Structures but also other ctypes can be passed with byref() to 
functions expecting pointer to mutable memory.

--
nosy: +ysj.ray

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



[issue9014] Incorrect documentation of the PyObject_HEAD macro

2010-11-24 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Additionally, I prefer move the discussion of Py_TRACE_REFS under the 
documentation of PyObject: 
http://docs.python.org/dev/py3k/c-api/structures.html?highlight=pyobject_head#PyObject,
 since they'are connected directly. The doc of PyObject_HEAD should only saying 
like expands to a PyObject variable.

--
nosy: +ysj.ray

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



[issue10037] multiprocessing.pool processes started by worker handler stops working

2010-11-23 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Could you give an example code which can reproduce this issue?

--
nosy: +ysj.ray

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



[issue8690] multiprocessing.dummy.Queue does not expose same interface as multiprocessing.Queue

2010-11-19 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

+1 on make it identical to multiprossing.Queue. Since the documentation said:

multiprocessing.dummy replicates the API of multiprocessing but is no more than 
a wrapper around the threading module.

Does the word replicates implies that multiprossing.dummy.[AClass] should 
have the same interfaces as multiprossing.[AClass]? I think so. We should be 
able to use multiprossing.dummy.xxx wherever multiprossing.xxx can be used. We 
can just create a subclass of Queue.Queue and implemented these missing methods 
as dummy functions.

I wonder is there other inconsistence between multiprocessing.dummy and 
multiprocessing?

--
nosy: +ysj.ray
versions: +Python 3.1, Python 3.2

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



[issue6269] threading documentation makes no mention of the GIL

2010-10-26 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Agree with Jesse, the description in the patch is not quite correct. I think 
detailed description of the GIL has been given in C API documentation: 
http://docs.python.org/c-api/init.html#thread-state-and-the-global-interpreter-lock.
 How about just give this link in threading module documentation?

--
nosy: +ysj.ray

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



[issue7330] PyUnicode_FromFormat segfault

2010-10-05 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I update the patch. Hope somebody could do a review.

--
Added file: http://bugs.python.org/file19131/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2010-10-05 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I update the patch. Hope somebody could do a review.

--
Added file: http://bugs.python.org/file19132/issue_7330.diff

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



[issue7330] PyUnicode_FromFormat segfault

2010-10-05 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Oooops! Sorry for re-submit the request...

--

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



[issue706406] fix bug #685846: raw_input defers signals

2010-08-18 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

I seems this has been fixed already, at least on my python 2.7 on linux.

--
nosy: +ysj.ray

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



[issue1524938] PEP MemoryError with a lot of available memory gc not called

2010-08-18 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

How about calling gc.collect() explicitly in the loop?

--
nosy: +ysj.ray

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



[issue9299] os.makedirs(): Add a keyword argument to suppress File exists exception

2010-08-07 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Since the patch cannot be applied to py3k cleanly, I update it.

--
Added file: http://bugs.python.org/file18422/mkdir.diff

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



[issue9417] Declaring a class creates circular references

2010-08-07 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

krisvale:

 What about my suggestion of simply providing a convention on how to disable 
 links manually, similar to how minidom.document does it with an unlink 
 method?  If these cases are documented, then there shouldn't be any extra 
 bother to do so.
We could provide an builtin unlink() function that calls any __unlink__ special 
method if present.


Maybe through this way such problems can be solved, but it seems it's not 
graceful and pythonic enough. The reason such an unlink method appears in 
xml.dom.minidom is because usually large xml document can eat up so much memory 
that we had to do something to make the memory garbaged sooner. But adding this 
as a standard __unlink__ method and requiring explicitly call the unlink() 
method make it similar as using c  c++, which require explicitly memory 
release. 

Besides, as you mentioned, exposes an implementation detail of C python, it's 
better that the object reference mechanism be fully controlled by python core 
and not be awared by users at all. That is also one of the purposes of 
designing python. 

I prefer terry's idea, which suggests adding a metaclass that produces rc-free 
class to stdlib. These class should behave almost the same as the ones type 
metaclass produces. In order not to introduce the slower lookup, we can also 
add a little differences on usage of such classes, for example, internally 
store mro list without the class itself, but construct a full mro list when 
getting the __mro__ attribute, and different super implementation, since 
explicitly getting the mro is not so common in practice.

--

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



[issue5871] email.header.Header too lax with embeded newlines

2010-08-07 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Besides, not only the header value, but also the header name can only be 
printable ascii characters according to RFC2822:

A field name MUST be composed of printable US-ASCII characters (i.e., 
characters that have values between 33 and 126, inclusive), except   colon.

But the msg object's __getitem__() seems to accept all ascii characters.

--
nosy: +ysj.ray

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



[issue8306] ctypes.create_string_buffer should only accept bytes

2010-08-06 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

Why not close this issue? It seems that this has been fixed in current py3k 
branch.

--
nosy: +ysj.ray

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



[issue9523] Improve dbm module

2010-08-05 Thread Ray.Allen

New submission from Ray.Allen ysj@gmail.com:

During the patching work of issue8634, I found several problems about the 
module dbm.gnu and dbm.ndbm, I feel it's better to address them on a separate 
issue.

1. As issue8634 said, the dbm.gnu, dbm.ndbm and dbm.dumb should have the 
similar interface, since they are intended to use the general dbm module as a 
common interface. If some methods only appears in one or two of them, like the 
get() method, it will be not convenient for users. Making all the three ones 
follow the collections.MutableMapping interface could be a better choice. Since 
the dbm.dumb is already collections.MutableMapping, I implemented missing 
methods of collections.MutableMapping in dbm.gnu and dbm.ndbm, and register the 
dbm object type in dbm.gnu and dbm.ndbm to the ABC. The missing methods mainly 
include get(), values(), items(), pop(), popitem(), clear()

2. I fix the dbm_contains() function which implement the in operator to 
accept all buffer object, just like the dbm_subscript() fuction which implment 
the [] slice operator. I feel it's wearied that if dbm['a'] yields the 
expected result but at the same time 'a' in dbm raises TypeError. 

3. The type of dbm object in dbm.gnu is not iterable, and there is no way to 
iterate on it sufficiently because the only way we can iterate over it is to 
get all the keys first using keys() and then iter on the keys list. So I 
implemented a iterator type for dbm.gnu. Besides the dbm object in dbm.ndbm is 
also not iterable, and I implemented its tp_iter by get an iterator from its 
keys list instead of implementing a real iterator since the ndbm c api for 
get all the keys one by one is thread specific and I could not found a way to 
implement a real iterator to avoid the problem which occurred in the case we 
get tow iterators from one db object in the same thread and iterate over both 
at the same time.

The patch contains also unittest and doc.

--
files: issue8634.diff
keywords: patch
messages: 112989
nosy: ysj.ray
priority: normal
severity: normal
status: open
title: Improve dbm module
Added file: http://bugs.python.org/file18402/issue8634.diff

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



[issue8634] get method for dbm interface

2010-08-05 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

See issue9523.

--

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



[issue7574] PyUnicode_FromFormat broken and not documented for 2.x

2010-08-05 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

It seems there is pretty much problems in PyUnicode_FromFormatV().
see issue7330.

--
nosy: +ysj.ray

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



[issue9523] Improve dbm module

2010-08-05 Thread Ray.Allen

Changes by Ray.Allen ysj@gmail.com:


--
components: +Extension Modules
type:  - feature request
versions: +Python 3.2

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



[issue9299] os.makedirs(): Add a keyword argument to suppress File exists exception

2010-08-03 Thread Ray.Allen

Ray.Allen ysj@gmail.com added the comment:

 Doc review: Small typo, Flase vs False.  Also, exceptions are raised rather 
 than thrown in Python land (same for the docstring).  Both exception 
 references should be :exc:`OSError`.

Here fixed these doc problems. Thanks for reviewing! Besides, the reason why I 
use throw rather than raise is that I found current Doc use throw an 
exception, so I think an exception is thrown. ^_^

--
Added file: http://bugs.python.org/file18338/mkdir.diff

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



  1   2   >