New submission from Kaarle Ritvanen:

Tab completion in the readline module does not seem to work well with Unicode 
terminals. The get_line_buffer function converts the line buffer to the str 
type (which are Unicode strings in Python 3), but the indices returned by 
get_begidx and get_endidx are not adjusted with respect to possible wide 
characters in the buffer, and hence are not very useful. The documentation is a 
bit vague on the index functions, but I think they should be relative to code 
points, regardless of the encoding used by the C library. The suggested 
correction is attached.

My second point of complaint is related to the use of PyUnicode_FromString in 
the module. The strings returned by the readline library use the current locale 
encoding, which is not necessarily UTF-8. I wonder if PyUnicode_DecodeLocale 
should be used instead for more portable code.

----------
components: Library (Lib)
files: readline-wide-char-index.patch
keywords: patch
messages: 172517
nosy: kunkku
priority: normal
severity: normal
status: open
title: readline: Wrong tab completion scope indices in Unicode terminals
type: behavior
versions: Python 3.2, Python 3.3
Added file: http://bugs.python.org/file27508/readline-wide-char-index.patch

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

Reply via email to