New submission from stefanholek <ste...@epy.co.at>:

The input builtin always uses "strict" error handling for Unicode conversions. 
This means that when I enter a latin-1 string in a utf-8 environment, input 
breaks with a UnicodeDecodeError. Now don't tell me not to do that, I have a 
valid use-case. ;-)

While "strict" may be a good default choice, it is clearly not sufficient. I 
would like to propose an optional 'errors' argument to input, similar to the 
'errors' argument the decode and encode methods have.

I have in fact implemented such an input method for my own use:
https://github.com/stefanholek/rl/blob/surrogate-input/rl/input.c

While this solves my immediate needs, the fact that my implementation is 
basically just a copy of bltinmode.input with one additional argument, makes me 
think that this could be fixed in Python proper.

There cannot be a reason input() should be confined to "strict", or can there? 
;-)

----------
components: Unicode
messages: 147005
nosy: ezio.melotti, stefanholek
priority: normal
severity: normal
status: open
title: input() builtin always uses "strict" error handler
type: behavior
versions: Python 3.2, Python 3.3, Python 3.4

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13342>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to