Commit 156989aa authored by Martin v. Löwis's avatar Martin v. Löwis

Merge 3.2: issue #14937.

parents fe4dfd2b 862d13a3
......@@ -124,13 +124,20 @@ class AutoComplete:
curline = self.text.get("insert linestart", "insert")
i = j = len(curline)
if hp.is_in_string() and (not mode or mode==COMPLETE_FILES):
# Find the beginning of the string
# fetch_completions will look at the file system to determine whether the
# string value constitutes an actual file name
# XXX could consider raw strings here and unescape the string value if it's
# not raw.
self._remove_autocomplete_window()
mode = COMPLETE_FILES
while i and curline[i-1] in FILENAME_CHARS:
# Find last separator or string start
while i and curline[i-1] not in "'\"" + SEPS:
i -= 1
comp_start = curline[i:j]
j = i
while i and curline[i-1] in FILENAME_CHARS + SEPS:
# Find string start
while i and curline[i-1] not in "'\"":
i -= 1
comp_what = curline[i:j]
elif hp.is_in_code() and (not mode or mode==COMPLETE_ATTRIBUTES):
......
......@@ -354,6 +354,15 @@ class AutoCompleteWindow:
# A modifier key, so ignore
return
elif event.char:
# Regular character with a non-length-1 keycode
self._change_start(self.start + event.char)
self.lasttypedstart = self.start
self.listbox.select_clear(0, int(self.listbox.curselection()[0]))
self.listbox.select_set(self._binary_search(self.start))
self._selection_changed()
return "break"
else:
# Unknown event, close the window and let it through.
self.hide_window()
......
What's New in IDLE 3.3?
What's New in IDLE 3.3.0?
=========================
- Issue #14937: Perform auto-completion of filenames in strings even for
non-ASCII filenames.
- Issue #8515: Set __file__ when run file in IDLE.
Initial patch by Bruce Frederiksen.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment