py/repl: Fix case where shorter names are shadowed by longer names.

Previous to this patch, if "abcd" and "ab" were possible completions
to tab-completing "a", then tab would expand to "abcd" straight away
if this identifier appeared first in the dict.
pull/1367/head
Damien George 2015-07-06 14:00:09 +01:00
rodzic 6ab8b63bdd
commit ef7dd8db2d
1 zmienionych plików z 3 dodań i 1 usunięć

Wyświetl plik

@ -187,7 +187,9 @@ mp_uint_t mp_repl_autocomplete(const char *str, mp_uint_t len, const mp_print_t
match_str = d_str;
match_len = d_len;
} else {
for (mp_uint_t j = s_len; j < match_len && j < d_len; ++j) {
// search for longest common prefix of match_str and d_str
// (assumes these strings are null-terminated)
for (mp_uint_t j = s_len; j <= match_len && j <= d_len; ++j) {
if (match_str[j] != d_str[j]) {
match_len = j;
break;