Merge 3.2: issue #14937.
This commit is contained in:
commit
156989aa79
|
@ -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()
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue