diff --git a/evaluate.py b/evaluate.py index 842d02e0..5aa3f585 100644 --- a/evaluate.py +++ b/evaluate.py @@ -936,6 +936,9 @@ def get_scopes_for_name(scope, name_str, position=None, search_global=False): if isinstance(it, (Generator, Array)): generators.append(it) else: + if not hasattr(it, 'execute_subscope_by_name'): + debug.warning('for loop input wrong', it) + continue try: generators += it.execute_subscope_by_name('__iter__') except KeyError: diff --git a/mixin/builtins.py b/mixin/builtins.py index 9b9f3225..e4e986a9 100644 --- a/mixin/builtins.py +++ b/mixin/builtins.py @@ -21,6 +21,9 @@ def iter(collection, sentinel=None): for c in collection: yield c +def range(start, stop=None, step=1): + return [0] + #-------------------------------------------------------- # descriptors diff --git a/test/completion/basic.py b/test/completion/basic.py index ee9323a9..617bab9d 100644 --- a/test/completion/basic.py +++ b/test/completion/basic.py @@ -45,6 +45,13 @@ for i in b: #? float() str() a[0] +# ----------------- +# range() +# ----------------- +for i in range(10): + #? int() + i + # ----------------- # list comprehensions # -----------------