[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Added file: http://bugs.python.org/file17085/timemodule-gmtime-r265.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Added file: http://bugs.python.org/file17086/timemodule-gmtime-r27b1.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Added file: http://bugs.python.org/file17087/timemodule-gmtime-r312.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Added file: http://bugs.python.org/file17088/timemodule-gmtime-3-trunk.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Removed file: http://bugs.python.org/file16351/timemodule-gmtime-2-trunk.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Removed file: http://bugs.python.org/file16352/timemodule-gmtime-2-r27a3.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Removed file: http://bugs.python.org/file16353/timemodule-gmtime-2-r311.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Changes by Francesco Del Degan f.delde...@ngi.it: Removed file: http://bugs.python.org/file16354/timemodule-gmtime-2-r264.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Francesco Del Degan f.delde...@ngi.it added the comment: Fixed typos, new patches added -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8532] Refinements to Python 3 New GIL
Changes by Antoine Pitrou pit...@free.fr: -- resolution: - duplicate status: open - closed superseder: - Convoy effect with I/O bound threads and New GIL ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8532 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Charles-Francois Natali neolo...@free.fr added the comment: That's what I thought at first too. But the user's sockets were set to blocking. That's one broken networking stack... In fact, I think it's a little silly that OS X raises the error rather than just saying that 0 bytes were sent (which is what I suppose that other OSes do). Normal OS just block inside the send() call whenever socket buffers are full (unless there're set to non-blocking). So you can resume sending as soon as buffer space is available, and you don't have to resort to this send()/fail/sleep/re-send() scheme... But I think it's also not ideal that Python's socket.sendall() can't be used with confidence under OS X because it can fail under pretty normal circumstances. Agreed, but it's really a OS X issue here. How would you circumvent this problem anyway ? Add a timeout option to sendall() as a hint to how much we should wait before retrying when errno 35 is returned ? It would be really hacky... Maybe the user could try increasing SO_SNDBUF, but this won't necessarily solve his problem... @exarkun: ideas on this ? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7946] Convoy effect with I/O bound threads and New GIL
Antoine Pitrou pit...@free.fr added the comment: Dave, In the current implementation, threads perform a timed-wait on a condition variable. If time expires and no thread switches have occurred, the currently running thread is forced to drop the GIL. A problem, as far as I can see, is that these timeout sleeps run periodically, regardless of the actual times at which thread switching takes place. I'm not sure it's really an issue but it's a bit of a departure from the ideal behaviour of the switching interval. A new attribute 'cpu_bound' is added to the PyThreadState structure. If a thread is ever forced to drop the GIL, this attribute is simply set True (1). If a thread gives up the GIL voluntarily, it is set back to False (0). This attribute is used to set up simple scheduling (described next). Ok, so it's not very different, at least in principle, from what gilinter.patch does, right? (and actually, the benchmark results look very similar) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7946 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Antoine Pitrou pit...@free.fr added the comment: That's what I thought at first too. But the user's sockets were set to blocking. If you set a timeout on a socket, it is really non-blocking internally (from the OS' point of view). So perhaps this is what you are witnessing. By the way, rather than sleeping a fixed amount of time before retrying, you could probably use select() on the socket. -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Antoine Pitrou pit...@free.fr added the comment: What is the mnemonic corresponding to errno 35 under OS X? (under Linux I get EDEADLOCK, which probably isn't the right one) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4171] SSL handshake fails after TCP connection in getpeername()
Antoine Pitrou pit...@free.fr added the comment: Ok, so I think we can close the issue then. Thank you! -- resolution: - out of date status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4171 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6085] Logging in BaseHTTPServer.BaseHTTPRequestHandler causes lag
Antoine Pitrou pit...@free.fr added the comment: Actually, DNS resolution should be disabled by default, as in most HTTP servers probably. -- nosy: +pitrou stage: - unit test needed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6085 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8513] subprocess: support bytes program name
STINNER Victor victor.stin...@haypocalc.com added the comment: My patch changes: * os._execvpe(): support bytes type for the file argument (program name) * os.get_exec_path(): support bytes type for the PATH environment variable * Popen._execute_child(): decode the executable name before encoding the arguments (if the program name is not an absolute path) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8513 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6085] Logging in BaseHTTPServer.BaseHTTPRequestHandler causes lag
Senthil Kumaran orsent...@gmail.com added the comment: And for this specific request, it fdqn is looked up only for logging to sys.stderr. Either removing the fqdn call or just caching per connection it as the patch does is both fine. I doubt if someone is relying this logging anywhere in the code. This is useful only when BaseHTTPServer is started in the command like as a standalone HTTP server. What shall we do for this? remove the fqdn or cache it once and use it. Either is fine. And there is not testing code present (or required too - as this is a cli invocation scenario). -- assignee: - orsenthil ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6085 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fsencode() and fsdecode() functions in os.path
STINNER Victor victor.stin...@haypocalc.com added the comment: They're also useful for dealing with environment variables which are not strictly filesystem (fs) related but also suffer from the same issue requiring surrogate escape. Yes, Python3 decodes environment variables using sys.getfilesystemencoding()+surrogateescape. And since my last fix on os.execve(), subprocess (and os.execv(p)e) uses also surrogateescape to encode environment variables. And yes again, I also patched os.getenv() to decode bytes name to unicode using sys.getfilesystemencoding()+surrogateescape. But other than just calling these os.encode and os.decode *fs*encode() and *fs*decode() is a reference to the encoding: sys.get*filesystem*encoding(). I just wanted to point the other use out See also issue #8513. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8214] Add exception logging function to syslog module
Sean Reifschneider j...@tummy.com added the comment: I believe I have the first function implemented. See the attached patch for that code and feel free to review. -- keywords: +patch nosy: -haypo Added file: http://bugs.python.org/file17089/logexception.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8214 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8533] regrtest: use backslashreplace error handler for stdout
New submission from STINNER Victor victor.stin...@haypocalc.com: If a test fails, regrtest writes the backtrace to sys.stdout. If the backtrace contains a non-ASCII characters, it's encoded using sys.stdout encoding. In some conditions, sys.stdout is unable to encode some or all non-ASCII characters. Eg. if there is no locale set (empty environment or at least empty LANG variable value), sys.stdout.encoding=ascii. If regrtest fails to display a test output (error backtrace), regrtest exits directly (don't execute next tests). I propose to use backslashreplace error handler in sys.stdout, as done for sys.stderr to avoid this annoying issue. Attached patch (for py3k) replace sys.stdout by a new file using backslashreplace, just before executing the tests. I don't know if the issue concerns also Python2. -- files: regrtest_stdout_backslashreplace.patch keywords: patch messages: 104212 nosy: haypo severity: normal status: open title: regrtest: use backslashreplace error handler for stdout versions: Python 3.1, Python 3.2 Added file: http://bugs.python.org/file17090/regrtest_stdout_backslashreplace.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8533 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8533] regrtest: use backslashreplace error handler for stdout
Changes by STINNER Victor victor.stin...@haypocalc.com: -- components: +Tests, Unicode ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8533 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6085] Logging in BaseHTTPServer.BaseHTTPRequestHandler causes lag
Antoine Pitrou pit...@free.fr added the comment: And for this specific request, it fdqn is looked up only for logging to sys.stderr. Either removing the fqdn call or just caching per connection it as the patch does is both fine. I doubt if someone is relying this logging anywhere in the code. This is useful only when BaseHTTPServer is started in the command like as a standalone HTTP server. I think we should totally remove the call to fqdn. The common practice with HTTP servers is to log numeric IPs and, if desired, let a batch log analysis process (such as awstats) deal with DNS resolution and caching. And there is not testing code present (or required too - as this is a cli invocation scenario). What do you mean? BaseHTTPRequestHandler is tested in test_httpservers. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6085 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fsencode() and fsdecode() functions in os.path
STINNER Victor victor.stin...@haypocalc.com added the comment: Oh! In Python3, ntpath.expanduser() supports bytes path and uses sys.getfilesystemencoding() to encode an unicode environment variable to a byte string. Should we remove bytes path support in ntpath.expanduser(), or support bytes in ntpath.fsencode()/.fsdecode()? (sys.getfilesystemencoding() is mbcs on Windows) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8534] multiprocessing not working from egg
New submission from simon ext-simon.stei...@nokia.com: testmultiprocessing.py: def main(): import multiprocessing proc = multiprocessing.Process(target=runhi) proc.start() proc.join() def runhi(): print 'hi' if __name__ == __main__: main() testmultiprocessing.py is inside myegg.egg set PYTHONPATH=myegg.egg python -m testmultiprocessing Traceback (most recent call last): File string, line 1, in module File C:\Python26\lib\multiprocessing\forking.py, line 341, in main prepare(preparation_data) File C:\Python26\lib\multiprocessing\forking.py, line 450, in prepare file, path_name, etc = imp.find_module(main_name, dirs) ImportError: No module named testmultiprocessing -- components: Library (Lib) messages: 104215 nosy: simonsteiner severity: normal status: open title: multiprocessing not working from egg versions: Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8534 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6085] Logging in BaseHTTPServer.BaseHTTPRequestHandler causes lag
Senthil Kumaran orsent...@gmail.com added the comment: On Mon, Apr 26, 2010 at 10:45:56AM +, Antoine Pitrou wrote: What do you mean? BaseHTTPRequestHandler is tested in test_httpservers. I meant specifically for that function which is logging to sys.stderr. No return values, state changes and no tests present in test_httpservers. Seems to me the cli invokation scenario of the BaseHTTPServer module. Only other place where fqdn look up happens is HTTPServer.server_bind and in the setting of server_name, if any code is relying on it could break. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6085 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8535] passing optimization flags to the linker required for builds with gcc -flto
New submission from Matthias Klose d...@debian.org: Building with -flto (GCC 4.5.0) requires passing the very same optimization flags to the linker (lto1) as well. The attached patch just does this. Tested on Linux only, I don't know what will/could break on on other systems/compilers. Tested with a static build (--disable-shared) on x86_64. pybench results improve by 5% when building with 4.5.0 instead of 4.4.3, and by another 5% by building with -flto. -- components: Build files: make-lto.diff keywords: needs review, patch messages: 104217 nosy: doko severity: normal status: open title: passing optimization flags to the linker required for builds with gcc -flto versions: Python 2.7, Python 3.2 Added file: http://bugs.python.org/file17091/make-lto.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8535 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7946] Convoy effect with I/O bound threads and New GIL
David Beazley d...@dabeaz.com added the comment: Greg, I like the idea of the monitor suspending if no thread owns the GIL. Let me work on that. Good point on embedded systems. Antoine, Yes, the gil monitor is completely independent and simply ticks along every 5 ms. A worst case scenario is that an I/O bound thread is scheduled shortly after the 5ms tick and then becomes CPU-bound afterwards. In that case, the monitor might let it run up to about 10ms before switching it. Hard to say if it's a real problem though---the normal timeslice on many systems is 10 ms so it doesn't seem out of line. As for the priority part, this patch should have similar behavior to the glinter patch except for very subtle differences in thread scheduling due to the use of the GIL monitor. For instance, since threads never time out on the condition variable anymore, they tend to cycle execution in a purely round-robin fashion. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7946 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fs_encode() and fs_decode() functions in os.path
Marc-Andre Lemburg m...@egenix.com added the comment: STINNER Victor wrote: STINNER Victor victor.stin...@haypocalc.com added the comment: Please follow the naming convention used in os.path. The functions would have to be called os.path.fsencode() and os.path.fsdecode(). Ok Other than that, I'm +0 on the patch: the sys.filesystemencoding logic doesn't really work well in practice - on Unix and BSD platforms, there's no such thing as a single system-wide file system Today, most POSIX system uses utf8 by default for all partitions. If you mount an USB key, CD-Rom or network shared directory with the wrong options, you may get filenames in a different encoding. But this issue is not about fixing your OS configuration, but helping the most common case: a system using the same encoding everywhere (for the whole file system). You are still free to use directly the native OS type (unicode on Windows, bytes on other OS), ie. don't use fsencode()/fsdecode(). Right, but if you start using those new API in standard lib functions, programmers no longer have that choice. In real life applications, you do run into these problems quite often, so instead of coding against an ideal world, we have to be aware of the problems and make it possible for the standard lib modules to deal with them. Python3 prefers unicode, eg. print expects an unicode string, not a byte string. I mean it's more pratical to use unicode everywhere in Python, and so fsencode()/fsdecode() can be really useful on POSIX systems. Sure, but forcing UnicodeDecodeErrors upon Python3 programmers is not a good idea. Please keep that in mind. Thanks, -- Marc-Andre Lemburg eGenix.com ::: Try our new mxODBC.Connect Python Database Interface for free ! eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ -- title: Create fsencode() and fsdecode() functions in os.path - Create fs_encode() and fs_decode() functions in os.path ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8535] passing optimization flags to the linker required for builds with gcc -flto
Marc-Andre Lemburg m...@egenix.com added the comment: Matthias Klose wrote: New submission from Matthias Klose d...@debian.org: Building with -flto (GCC 4.5.0) requires passing the very same optimization flags to the linker (lto1) as well. The attached patch just does this. Tested on Linux only, I don't know what will/could break on on other systems/compilers. On some systems, this may very well break, due to configruations where LDFLAGS and CFLAGS contain the same options. While this is normally not much of a problem, some compilers may complain about this. E.g. GCC on Mac OS X complains about duplicate use of the -sysroot option. It's probably better to just pass OPT to the linker instead. -- nosy: +lemburg title: passing optimization flags to the linker required for builds with gcc -flto - passing optimization flags to the linker required for builds with gcc -flto ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8535 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8535] passing optimization flags to the linker required for builds with gcc -flto
Matthias Klose d...@debian.org added the comment: It's probably better to just pass OPT to the linker instead. not enough, because -fno-strict-aliasing might be passed in BASE_CFLAGS. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8535 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8534] multiprocessing not working from egg
Changes by Antoine Pitrou pit...@free.fr: -- assignee: - jnoller nosy: +jnoller priority: - low stage: - needs patch type: - behavior versions: +Python 2.7, Python 3.1, Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8534 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8533] regrtest: use backslashreplace error handler for stdout
Antoine Pitrou pit...@free.fr added the comment: A better resolution IMO would be to output tracebacks on stderr instead. -- nosy: +flox, pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8533 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fs_encode() and fs_decode() functions in os.path
STINNER Victor victor.stin...@haypocalc.com added the comment: In real life applications, you do run into these problems quite often Yes, I'm agree 100% with you :-) Python3 prefers unicode, eg. print expects an unicode string, not a byte string. I mean it's more pratical to use unicode everywhere in Python, and so fsencode()/fsdecode() can be really useful on POSIX systems. Sure, but forcing UnicodeDecodeErrors upon Python3 programmers is not a good idea. Please keep that in mind. I proposed to reject bytes on Windows because Martin (who knows Windows better than me) decided to *not* support byte string on Windows. Windows native API uses unicode, and conversion from bytes and unicode on Windows using mbcs is not reliable (it depends on the locale, and it may loose some informations). http://mail.python.org/pipermail/python-dev/2010-April/099556.html Reject byte string on Windows is just a suggestion. To support byte strings on Windows, each Python function written in C should be fixed to use the ANSI version instead of the Wide version (eg. CreateProcessA instead of CreateProcessW) if it gets byte arguments. The code would become twice bigger, and it introduces new issues: which function should be choosen if there are two arguments, one is a byte string, and the other an unicode string? _subprocess.CreateProcess has 9 arguments... Since unicode is a superset of MBCS and MBCS has subtle bugs, it's preferable to use (force) unicode. -- But on POSIX, it's the opposite: I'm doing my best to support byte string everywhere (filenames, environment variables, etc.). See the dependency list of my meta issue #8242. The first goal of fsencode() is to accept byte strings on POSIX systems. Maybe, I didn't explained it correctly. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fsencode() and fsdecode() functions in os.path
STINNER Victor victor.stin...@haypocalc.com added the comment: Le lundi 26 avril 2010 13:06:48, vous avez écrit : I don't see what environment variables have to do with the file system. A POSIX system only offers *one* function about the encoding: nl_langinfo(CODESET) and Python3 uses it for the filenames, environment variables and the command line arguments. Are you suggesting that Python3 should support a encoding different for environment variables and the file system? How would the user configure it? About filenames, Python3 choose the encoding using the locale, but the user cannot change it: sys.setfilesystemencoding() is removed by the site module. Also note that mbcs on Windows is a meta-encoding. The implementation of that encoding depends on the locale used by the Windows user. It's just a coincidence that this may actually work for the environment variables on Windows as well, but there's no guarantee. os.getenv() should raise a TypeError on Windows if key is a byte string. os.getenv() didn't support byte string. I patched it to support byte string (issue #8391, r80421). But I don't like my fix because we should reject support byte string *on Windows*. I would like to factorize the type check for all operations on the file system and environment variables in fsencode()/fsdecode(). On Unix, you often have the case that the environment variables use mixed encodings, e.g. the CGI interface is a good example where this happens per definition. The CGI environment can includes file system paths, data encoded in Latin-1 (or some other encoding), etc. Since Python3 choosed to store environment variables as unicode string on Windows and POSIX, in this specific case you should reconvert the value to byte strings using fsencode() and then manipulate byte strings. Because Python3 uses surrogateescape, you will get the original byte string values. My patch should help both cases: people using unicode objects and people using the native OS type (bytes on POSIX). As written in my previous message, you can still use byte strings if you want. My patch doesn't change that (on POSIX systems). -- title: Create fs_encode() and fs_decode() functions in os.path - Create fsencode() and fsdecode() functions in os.path ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8534] multiprocessing not working from egg
Changes by simon ext-simon.stei...@nokia.com: -- keywords: +patch Added file: http://bugs.python.org/file17092/forking.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8534 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3262] re.split doesn't split with zero-width regex
Tim Pietzcker tim.pietzc...@web.de added the comment: Sorry to revive this dormant (?) topic - has anybody brought this any further? This feature has tripped me up a few times, and I would be all for adding a flag to enable the split on zero-size matches behavior, but I myself am not competent enough to code a patch. -- nosy: +pietzcker versions: +Python 2.6, Python 2.7, Python 3.1 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3262 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Jean-Paul Calderone exar...@twistedmatrix.com added the comment: What is the mnemonic corresponding to errno 35 under OS X? EAGAIN -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Antoine Pitrou pit...@free.fr added the comment: Matthew, can you confirm whether the socket had a timeout set to it? (either through settimeout() or setglobaltimeout()) I think this is a bug in Python's socket module. recv()-like functions are written so as to first call select() before actually receiving data, but send()-like functions aren't. I guess blocking sends are quite rare thanks to in-kernel buffering, but we should do the correct thing and use the same logic for send() as we do for recv(). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8533] regrtest: use backslashreplace error handler for stdout
STINNER Victor victor.stin...@haypocalc.com added the comment: A better resolution IMO would be to output tracebacks on stderr instead. Yeah, that sounds easier and safer. Attached patch writes the tracebacks to stderr. I don't remember how to reproduce this issue :-/ I guess that stdout/stderr encoding should be ASCII (eg. LANG=) and the traceback (eg. the error message) should contain a non-ASCII character. -- Added file: http://bugs.python.org/file17093/regrtest_traceback_stderr.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8533 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Charles-Francois Natali neolo...@free.fr added the comment: What is the mnemonic corresponding to errno 35 under OS X? (under Linux I get EDEADLOCK, which probably isn't the right one) From the first message: errno 35 (resource temporarily unavailable). It's actually EAGAIN on Linux (which makes sense on a non-blocking socket). By the way, rather than sleeping a fixed amount of time before retrying, you could probably use select() on the socket. select doesn't mean much for sockets you want to send to, because it will report the socket in the writable set as soon as there's one byte free in the send buffer, so you can very well block (or fail in that case) even when select reports the socket as ready for writting. If you set a timeout on a socket, it is really non-blocking internally (from the OS' point of view). So perhaps this is what you are witnessing. Yes. Maybe it would help to have the sample code ? Googling a little bit gave this: http://lists.freebsd.org/pipermail/freebsd-hackers/2004-January/005369.html I have written a test program, http://www.infres.enst.fr/~pook/send/server.c, that shows that send does not block on FreeBSD. It does with Linux and Solaris. Do you know what the behaviour of Net- and/or OpenBSD is? NetBSD is the same as FreeBSD. I have not tested OpenBSD. MacOS X is similiar to FreeBSD in that send doesn't block, howver the send does not give an error: the packet is just thrown away. So there seems to be an issue on some systems when you run out of socket buffers, and since select doesn't seem to work either, I guess the only option is this sleep-a-little-hoping-the-buffer-gets-drained approach. I think this is a bug in Python's socket module. recv()-like functions are written so as to first call select() before actually receiving data, but send()-like functions aren't. I guess blocking sends are quite rare thanks to in-kernel buffering, but we should do the correct thing and use the same logic for send() as we do for recv(). When I look at trunk, I see this: do { timeout = internal_select(s, 1); n = -1; if (timeout) break; #ifdef __VMS n = sendsegmented(s-sock_fd, buf, len, flags); #else n = send(s-sock_fd, buf, len, flags); #endif if (n 0) { #ifdef EINTR /* We must handle EINTR here as there is no way for * the caller to know how much was sent otherwise. */ if (errno == EINTR) { /* Run signal handlers. If an exception was * raised, abort and leave this socket in * an unknown state. */ if (PyErr_CheckSignals()) return NULL; continue; } #endif break; } buf += n; len -= n; } while (len 0); we call internal_select(s, 1) (1 for writting) before sending. But as I said, it's not reliable. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8533] regrtest: use backslashreplace error handler for stdout
STINNER Victor victor.stin...@haypocalc.com added the comment: Write to stderr instead of stdout might change buildbot output order. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8533 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Antoine Pitrou pit...@free.fr added the comment: [...] we call internal_select(s, 1) (1 for writting) before sending. Oh, sorry, you are right. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7946] Convoy effect with I/O bound threads and New GIL
Changes by David Beazley d...@dabeaz.com: Removed file: http://bugs.python.org/file17084/dabeaz_gil.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7946 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7946] Convoy effect with I/O bound threads and New GIL
David Beazley d...@dabeaz.com added the comment: I've updated the GIL patch to reflect concerns about the monitor thread running forever. This version has a suspension mechanism where the monitor goes to sleep if nothing is going on for awhile. It gets resumed if threads try to acquire the GIL, but timeout for some reason. -- Added file: http://bugs.python.org/file17094/dabeaz_gil.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7946 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7946] Convoy effect with I/O bound threads and New GIL
David Beazley d...@dabeaz.com added the comment: I've also attached a new file schedtest.py that illustrates a subtle difference between having the GIL monitor thread and not having the monitor. Without the monitor, every thread is responsible for its own scheduling. If you have a lot of threads running, you may have a lot of threads all performing a timed wait and then waking up only to find that the GIL is locked and that they have to go back to waiting. One side effect is that certain threads have a tendency to starve. For example, if you run the schedtest.py with the original GIL, you get a trace where three CPU-bound threads run like this: Thread-3 16632 Thread-2 16517 Thread-1 31669 Thread-2 16610 Thread-1 16256 Thread-2 16445 Thread-1 16643 Thread-2 16331 Thread-1 16494 Thread-3 16399 Thread-1 17090 Thread-1 20860 Thread-3 16306 Thread-1 19684 Thread-3 16258 Thread-1 16669 Thread-3 16515 Thread-1 16381 Thread-3 16600 Thread-1 16477 Thread-3 16507 Thread-1 16740 Thread-3 16626 Thread-1 16564 Thread-3 15954 Thread-2 16727 ... You will observe that Threads 1 and 2 alternate, but Thread 3 starves. Then at some point, Threads 1 and 3 alternate, but Thread 2 starves. By having a separate GIL monitor, threads are no longer responsible for making scheduling decisions concerning timeouts. Instead, the monitor is what times out and yanks threads off the GIL. If you run the same test with the GIL monitor, you get scheduling like this: Thread-1 33278 Thread-2 32278 Thread-3 31981 Thread-1 33760 Thread-2 32385 Thread-3 32019 Thread-1 32700 Thread-2 32085 Thread-3 32248 Thread-1 31630 Thread-2 32200 Thread-3 32054 Thread-1 32721 Thread-2 32659 Thread-3 34150 Threads nicely cycle round-robin. There also appears to be about half as much thread switching (for reasons I don't quite understand). -- Added file: http://bugs.python.org/file17095/schedtest.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7946 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Jean-Paul Calderone exar...@twistedmatrix.com added the comment: But as I said, it's not reliable. I don't see any evidence in support of this statement. Did you notice that the FreeBSD thread you referenced is: * 6 years old * about UDP It's not obvious to me that it's actually relevant here. Maybe it would help to have the sample code ? This seems to be an excellent idea, though. Without actually knowing what program triggers this behavior, any change is just a wild guess and probably a waste of time. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fsencode() and fsdecode() functions in os.path
STINNER Victor victor.stin...@haypocalc.com added the comment: Version 3 of the patch: fix also os.getenv() which rejects now bytes on Windows (one of the goals of this issue). -- Added file: http://bugs.python.org/file17096/os_path_fs_encode_decode-3.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8514] Create fsencode() and fsdecode() functions in os.path
Changes by STINNER Victor victor.stin...@haypocalc.com: Removed file: http://bugs.python.org/file17082/os_path_fs_encode_decode-2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8514 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4120] Do not embed manifest files in *.pyd when compiling with MSVC
Thomas Heller thel...@ctypes.org added the comment: I'm not sure this issue is really done. The current state works fine, but there is one problem remaining: There are Python extensions that seem to need a manifest pointing to the MSVC runtime libs: dlls that start in-process com servers, like pythoncom.dll (from the PyWin32 extension), and also _ctypes.pyd plays this role. First question: Open a new issue, or discuss it in this one (and repoen it)? -- nosy: +theller ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4120 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4120] Do not embed manifest files in *.pyd when compiling with MSVC
egaudry e...@fft.be added the comment: Hi Thomas, I think we should open a new issue (child from issue 4120), just to make sure the whole thing remains understandable. Regards, Eloi Thomas Heller wrote: Thomas Heller thel...@ctypes.org added the comment: I'm not sure this issue is really done. The current state works fine, but there is one problem remaining: There are Python extensions that seem to need a manifest pointing to the MSVC runtime libs: dlls that start in-process com servers, like pythoncom.dll (from the PyWin32 extension), and also _ctypes.pyd plays this role. First question: Open a new issue, or discuss it in this one (and repoen it)? -- nosy: +theller ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4120 ___ -- Eloi Gaudry Free Field Technologies Axis Park Louvain-la-Neuve Rue Emile Francqui, 1 B-1435 Mont-Saint Guibert BELGIUM Company Phone: +32 10 487 959 Company Fax: +32 10 454 626 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4120 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5099] subprocess.Popen.__del__ causes AttributeError (os module == None)
Éric Araujo mer...@netwok.org added the comment: Hello Brett’s patch contains strange-looking docstrings. Since they are for private methods, they could be comments instead. The patch looks otherwise good to me. Does anyone have an idead on how to not write a __del__ method at all, according to Gabriel’s first comment? Regards -- nosy: +merwok title: subprocess.POpen.__del__() AttributeError (os module == None!) - subprocess.Popen.__del__ causes AttributeError (os module == None) ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5099 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Charles-Francois Natali neolo...@free.fr added the comment: I don't see any evidence in support of this statement. From Microfost Windows' documentation: The parameter writefds identifies the sockets that are to be checked for writability. If a socket is processing a connect call (nonblocking), a socket is writeable if the connection establishment successfully completes. If the socket is not processing a connect call, writability means a send, sendto, or WSASendto are guaranteed to succeed. However, they can block on a blocking socket if the len parameter exceeds the amount of outgoing system buffer space available. It is not specified how long these guarantees can be assumed to be valid, particularly in a multithreaded environment. For the Linux kernel, a few years ago a socket would be returned as writable if it had a fixed amount of send socket buffer queue available, so if you send more than is available at that time, you're either going to block, or get an error (now the threshold is 1/2 of the used buffer space, but this doesn't change the problem). That's why I said it's not reliable. Did you notice that the FreeBSD thread you referenced is: * 6 years old * about UDP So ? It's not obvious to me that it's actually relevant here. I'm not saying that it's the source of the problem, I'm just saying that there's a record of send() calls failing on lack of socket buffers, on blocking sockets. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Matthew Cowles mdcow...@users.sourceforge.net added the comment: [Replying to various posts] [neologix] That's one broken networking stack... I'm not disagreeing, but you'd have to take that up with Apple. How would you circumvent this problem anyway ? The code has to go around again in the case of an incomplete send. I imagine that it could go around again if the return value was -1 and errno was 35. Doing that in Python fixed the problem for the user. [pitrou] Matthew, can you confirm whether the socket had a timeout set to it? (either through settimeout() or setglobaltimeout()) I double- and triple-checked that the user wasn't setting a timeout. The problem came up in the context of the ftplib module and a look at the code (it was Python 2.6.2) suggests that that module doesn't set a timeout unless you ask it to. [neologix] Maybe it would help to have the sample code ? I'm sorry but I can't quite tell which code you mean here. The original user's traceback ended with: File /Library/Frameworks/Python.framework/Versions/ 2.6/lib/python2.6/ftplib.py, line 452, in storbinary conn.sendall(buf) File string, line 1, in sendall error: [Errno 35] Resource temporarily unavailable If there's something else that would be useful and I can provide it, I'd be glad to. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Jean-Paul Calderone exar...@twistedmatrix.com added the comment: None of that has much relevance when the socket is in *non-blocking* mode. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Jean-Paul Calderone exar...@twistedmatrix.com added the comment: If there's something else that would be useful and I can provide it, I'd be glad to. A minimal example which reproduces the behavior. :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4120] Do not embed manifest files in *.pyd when compiling with MSVC
Christoph Gohlke cgoh...@uci.edu added the comment: I mentioned the problem with pythoncom.dll and suggested a solution in issue7833. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4120 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8527] [PEP 3147] compileall.compile_dir() called multiple times creates empty __pycache__/__pycache__ subdirectories
Barry A. Warsaw ba...@python.org added the comment: Thanks for the patch! I added a test and committed your patch in r80497. -- resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8527 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8527] [PEP 3147] compileall.compile_dir() called multiple times creates empty __pycache__/__pycache__ subdirectories
Barry A. Warsaw ba...@python.org added the comment: er, make that r80501 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8527 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8523] shutil.rmtree and os.listdir cannot recover on error conditions
rubenlm ru...@libhertz.com added the comment: Your solution sounds fine to me. Currently we don't get a NameError because names is set to [] before the try. What happens is that the for is skipped and later rmdir fails with directory not empty. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8523 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3928] os.mknod missing on Solaris
Changes by Jesús Cea Avión j...@jcea.es: Removed file: http://bugs.python.org/file16536/mknod-solaris_2.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3928 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3928] os.mknod missing on Solaris
Jesús Cea Avión j...@jcea.es added the comment: Please, Review. Roumen?. I plan to commit this to 2.7, 2.6, 3.1 and 3.2, if you agree. -- Added file: http://bugs.python.org/file17097/mknod-solaris_3.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3928 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8325] improve regrtest command line help
R. David Murray rdmur...@bitdance.com added the comment: Committed (with both call formats) to trunk in r80503 and py3k in r80505. -- resolution: - accepted stage: patch review - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8325 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3928] os.mknod missing on Solaris
Jesús Cea Avión j...@jcea.es added the comment: Pitrou, the code configures correctly in Linux. Reading PEP11, I don't see the procedure to propose a platform for deprecation. Just mailing python-dev? I will delay the patch committing a couple of days, just in case somebody else want to comment. Thanks for the review, Pitrou. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3928 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3928] os.mknod missing on Solaris
Antoine Pitrou pit...@free.fr added the comment: Reading PEP11, I don't see the procedure to propose a platform for deprecation. Just mailing python-dev? Yes. Thanks for the review, Pitrou. You can call me Antoine. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3928 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7583] Improve explanation of tab expansion in doctests
R. David Murray rdmur...@bitdance.com added the comment: The problem is that it would be equally reasonable for someone to want to put real tab characters in the output section (which results in strange looking doctest text) or to put expanded spaces in the doctest output section based on the assumption that output starts in the column under the first of the and that doctest will expand the tabs in the output it receives from the executed test using a tabstop of 8. Neither of these is a good solution (the first gives you messed up looking doctests, the second means the output you document isn't really the output the test gives). The second solution would also mean a significant rewrite of the doctest processing loop. So the best course, since doctests are *primarily* about documentation, is to allow tabs in the output only with whitespace normalization. (If you really want to test for the presence of tabs in the output, as opposed to just creating documentation, you can capture the output and test it using string comparis on.) Personally I think the 'too bad' language in the docs is not really appropriate, so if you can think of a succinct way to document the above, I'll see about getting it in to the docs. -- components: +Documentation -Library (Lib) stage: patch review - needs patch title: doctest should normalize tabs when comparing output - Improve explanation of tab expansion in doctests type: behavior - feature request ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7583 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8536] Support new features of ZLIB 1.2.5
New submission from Jesús Cea Avión j...@jcea.es: Zlib 1.2.5 adds new features like inflateReset2(), inflateMark(), or Z_TREES flags. We should support them if we have zlib 1.2.5 installed. I think the patch is trivial, beside testing that we have a recent zlib version. -- keywords: easy messages: 104254 nosy: jcea severity: normal status: open title: Support new features of ZLIB 1.2.5 type: feature request versions: Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8536 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6006] ffi.c compile failures on AIX 5.3 with xlc
bugs-pyt...@vendor.thewrittenword.com bugs-pyt...@vendor.thewrittenword.com added the comment: Python is using the wrong ffi code, it should be using ffi_darwin.c -- keywords: +patch nosy: +bugs-pyt...@vendor.thewrittenword.com Added file: http://bugs.python.org/file17098/pyffi.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6006 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8536] Support new features of ZLIB 1.2.5
Jesús Cea Avión j...@jcea.es added the comment: Relevant links: http://www.zlib.net/ http://www.zlib.net/manual.html My mistake: these new features were added in zlib 1.2.4, not 1.2.5. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8536 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8536] Support new features of ZLIB 1.2.4
Changes by Jesús Cea Avión j...@jcea.es: -- title: Support new features of ZLIB 1.2.5 - Support new features of ZLIB 1.2.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8536 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3262] re.split doesn't split with zero-width regex
Matthew Barnett pyt...@mrabarnett.plus.com added the comment: You could try the regex module mentioned in issue 2636. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3262 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8537] Add ConfigureAction to argparse
New submission from Eric Smith e...@trueblade.com: From a python-dev email from Neal Becker, copied here so it won't get lost. steven.beth...@gmail.com made a very nice module for me to enhance argparse called argparse_bool.py, which contains ConfigureAction. This will allow a boolean value to be set very like the gnu configure style: --foo --with-foo --without-foo --no-foo --foo=yes --foo=no I've been happily using it, and I think it would be of sufficient general interest to include it with the standard library. -- components: Library (Lib) files: argparse_bool.py messages: 104258 nosy: bethard, eric.smith severity: normal status: open title: Add ConfigureAction to argparse type: feature request versions: Python 3.2 Added file: http://bugs.python.org/file17099/argparse_bool.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8537 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8538] Add ConfigureAction to argparse
New submission from Eric Smith e...@trueblade.com: From a python-dev email from Neal Becker, copied here so it won't get lost. steven.beth...@gmail.com made a very nice module for me to enhance argparse called argparse_bool.py, which contains ConfigureAction. This will allow a boolean value to be set very like the gnu configure style: --foo --with-foo --without-foo --no-foo --foo=yes --foo=no I've been happily using it, and I think it would be of sufficient general interest to include it with the standard library. -- components: Library (Lib) files: argparse_bool.py messages: 104259 nosy: bethard, eric.smith severity: normal status: open title: Add ConfigureAction to argparse type: feature request versions: Python 3.2 Added file: http://bugs.python.org/file17100/argparse_bool.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8538 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8539] Add ConfigureAction to argparse
New submission from Eric Smith e...@trueblade.com: From a python-dev email from Neal Becker, copied here so it won't get lost. steven.beth...@gmail.com made a very nice module for me to enhance argparse called argparse_bool.py, which contains ConfigureAction. This will allow a boolean value to be set very like the gnu configure style: --foo --with-foo --without-foo --no-foo --foo=yes --foo=no I've been happily using it, and I think it would be of sufficient general interest to include it with the standard library. -- components: Library (Lib) files: argparse_bool.py messages: 104260 nosy: bethard, eric.smith severity: normal status: open title: Add ConfigureAction to argparse type: feature request versions: Python 3.2 Added file: http://bugs.python.org/file17101/argparse_bool.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8539 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8539] Add ConfigureAction to argparse
Changes by Eric Smith e...@trueblade.com: -- resolution: - duplicate status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8539 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7904] urlparse.urlsplit mishandles novel schemes
Tres Seaver tsea...@agendaless.com added the comment: The fix for this bug breaks any code which worked with non-standard schemes in 2.6.4 (by working around the issue). This kind of backward incompatibility should be called out prominently in NEWS.txt (assuming that such a fix is considered appropriate in a third-dot release). -- nosy: +tseaver ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7904 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Alexander Belopolsky alexander.belopol...@gmail.com added the comment: It is too late to get new features in 2.x. Francesco, Please double-check timemodule-gmtime-r312.diff, it does not seem to reflect your reported changes. ('-' vs '--' typo is still there) There is no need to submit multiple patches. A patch for py3k branch should be enough. -- versions: -Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8540] Make Context._clamp public in decimal module
New submission from Mark Dickinson dicki...@gmail.com: The Context class in the decimal module has a hidden _clamp attribute, that controls whether to clamp values with large exponents. (Clamping a Decimal value involves adding extra significant zeros to decrease its exponent, while not altering the numeric value; it's sometimes necessary to get the exponent within a legal range). I think we should consider making this attribute public (documenting it, having it appear in the __str__ or __repr__ of a Context), for a couple of reasons: (1) It's necessary for full compliance with the specification: Python's default behaviour is actually non-compliant with the spec; it's only after doing getcontext()._clamp = 1 that it complies. (2) Clamping is necessary for modeling the standard formats described in IEEE 754-2008 (decimal64, decimal128), etc. These formats are coming into use in other languages (gcc already supports them and C201x may well include them). To be able to communicate effectively with other languages using these formats, it would be useful to expose Context._clamp. -- components: Library (Lib) messages: 104263 nosy: facundobatista, mark.dickinson, rhettinger, skrah severity: normal stage: unit test needed status: open title: Make Context._clamp public in decimal module type: feature request versions: Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8540 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8537] Add ConfigureAction to argparse
Eric Smith e...@trueblade.com added the comment: Sorry for the dupes. My ISP keeps disconnecting, but apparently it was able to create this issue 3 times for me. -- resolution: - duplicate status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8537 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3928] os.mknod missing on Solaris
Jesús Cea Avión j...@jcea.es added the comment: Informal europeans! :-). Hi, Antoine, I am Jesús (sunny Spain!). Deprecation request mailed to python-dev. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3928 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Alexander Belopolsky alexander.belopol...@gmail.com added the comment: Some more comments: - Documentation needs a versionadded entry. - A fate of calendar.timegm() needs to be decided. If the decision is to deprecate it, deprecation warning need to be added to calendar module and docs updated accordingly. Given that as implemented, time.timegm() is not a drop-in replacement for calendar.timegm(), deprecation may not be appropriate, it which case the difference between the two functions should probably be explained in the docs. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7844] Add -3 warning for absolute imports.
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7844 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8538] Add ConfigureAction to argparse
Changes by Eric Smith e...@trueblade.com: -- priority: - normal ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8538 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6085] Logging in BaseHTTPServer.BaseHTTPRequestHandler causes lag
Santoso Wijaya santa@me.com added the comment: Please correct my understanding if I am mistaken, but from skimming through the source code, it seems that a new BaseHTTPRequestHandler is instantiated per request. If a caching mechanism is to be adopted as per the patch, wouldn't it be forgotten when a new request from the same client arrives in the future? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6085 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4120] Do not embed manifest files in *.pyd when compiling with MSVC
Martin v. Löwis mar...@v.loewis.de added the comment: First question: Open a new issue, or discuss it in this one (and repoen it)? Please open a new issue. AFAICT, the original issues request (do not embed manifests in pyd files) is now implemented fully. Feel free to leave a link to the new issue here, but please start over describing the problem you are seeing, and in what version you are seeing it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4120 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6280] calendar.timegm() belongs in time module, next to time.gmtime()
Francesco Del Degan f.delde...@ngi.it added the comment: I thinks that isn't a so easy decision to take. And there are some other issues, imho: 1. timegm function is not specified by any standard (POSIX). The portable way (setting TZ, calling mktime, restore TZ) is a pure hack (could not work in future multithreaded environments). 2. if we want to strictly follow the time.h definition from POSIX standards, the timegm function should be kept away from time module (as now). 3. timegm seems to have some issues on mingw32. 4. Solaris doesn't come with the timegm function out-of-the-box. We could give up at this point. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6280 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5099] subprocess.Popen.__del__ causes AttributeError (os module == None)
Brett Cannon br...@python.org added the comment: Did you run the patch on a Windows machine, Eric? As for Gabriel's comment about not using a __del__ method, it's a general rule of thumb, not something you have to do. __del__ methods exist for those times when you REALLY need them, but otherwise should be avoided when possible. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5099 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8540] Make Context._clamp public in decimal module
Changes by Mark Dickinson dicki...@gmail.com: -- priority: - normal ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8540 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5099] subprocess.Popen.__del__ causes AttributeError (os module == None)
STINNER Victor victor.stin...@haypocalc.com added the comment: I'm -1 on Brett's patch: keep a reference to the required functions in the function arguments is ugly to me. The process should be destroyed before unloading the modules. I don't know how (or even if it's possible or not :-)), but I think that Brett's patch is the wrong solution to the problem. Eg. Can't we use atexit.register() to destroy the processes at exit? -- nosy: +haypo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5099 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Matthew Cowles mdcow...@users.sourceforge.net added the comment: A minimal example which reproduces the behavior. :) Unfortunately the problem wasn't mine originally. I'm just the guy on python-help who happened to figure out the answer. But if someone can get me access to an FTP server on the other end of a slow link, I'd be glad to do what I can half-wink. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5099] subprocess.Popen.__del__ causes AttributeError (os module == None)
Brett Cannon br...@python.org added the comment: I was just following the style already set in __del__ for storing a reference to sys (that and I didn't feel like having to explicitly store all of those references in the __init__ or at the class level just above the methods). As for using atexit, it's possible that could be the proper solution, it just requires someone coding it up before we hit 2.7rc1. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5099 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8541] Test issue
New submission from Martin v. Löwis mar...@v.loewis.de: What is the default priority? -- messages: 104274 nosy: loewis severity: normal status: open title: Test issue ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8541 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8541] Test issue
Changes by Martin v. Löwis mar...@v.loewis.de: -- resolution: - rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8541 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8542] Another test issue
New submission from Martin v. Löwis mar...@v.loewis.de: What is the priority now? -- messages: 104275 nosy: loewis priority: normal severity: normal status: open title: Another test issue ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8542 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8542] Another test issue
Changes by Martin v. Löwis mar...@v.loewis.de: -- resolution: - accepted status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8542 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8493] socket's send can raise errno 35 under OS X, which causes problems in sendall
Jean-Paul Calderone exar...@twistedmatrix.com added the comment: But if someone can get me access to an FTP server on the other end of a slow link, I'd be glad to do what I can half-wink. It's easy to get a slow FTP server. Twisted's FTP support lets you do all kinds of customization; making a server that doesn't read very fast (or at all!) would be a snap. Ultimately, I don't think you should actually need an FTP server to reproduce this, though. A discard server should work just as well. Unfortunately the problem wasn't mine originally. I'm just the guy on python-help who happened to figure out the answer. Perhaps you can encourage the OP to take a look at this issue and post some code. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8493 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5099] subprocess.Popen.__del__ causes AttributeError (os module == None)
Éric Araujo mer...@netwok.org added the comment: I don’t own a Windows machine. I just read the code, sorry if that was not helpful. Regarding quick fix vs. right fix, nothing prevents us from using Brett’s fix now and take some time to try the atexit way later. acute-accent-ly yours, Éric -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5099 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6085] Logging in BaseHTTPServer.BaseHTTPRequestHandler causes lag
Charles-Francois Natali neolo...@free.fr added the comment: @santa4nt: You're correct, the cache is retained only from within the same handler: the other solution would be to keep the cache at the server level, but then you'd have to deal with the cache size (you don't want it to grow forever), and it seems a bit overkill. I just kept the FQDN resolution because the code seemed to do it on purpose, but I agree that if nothing relies on this behaviour, it might be as simple to remove the resolution altogether. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6085 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3928] os.mknod missing on Solaris
Roumen Petrov bugtr...@roumenpetrov.info added the comment: Sorry Jesús, right now I cannot test new patch it but It looks goodand I expect first test to succeed so that second won't be tested as result OCF_XXX to be defined. If there is no spelling error it is fine. Roumen -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3928 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5099] subprocess.Popen.__del__ causes AttributeError (os module == None)
Brett Cannon br...@python.org added the comment: Code reviews are always helpful, Éric. I just wanted since that is what is preventing me from committing. And you are right that I can commit my change now and we can fix it after the fact. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5099 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com