diff options
Diffstat (limited to 'neb/std')
| -rw-r--r-- | neb/std/core.py | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/neb/std/core.py b/neb/std/core.py index 9a9e56d..ea80d86 100644 --- a/neb/std/core.py +++ b/neb/std/core.py @@ -126,15 +126,18 @@ def interpretDropWhile(symbol, args, env, ns):      ev = None      which_idx = None      for idx, item in enumerate(coll.args): -        which_idx = idx          new_env.register("_item_", evaluate(item, env, ns))          for arg in args[1:]:              ev = evaluate(arg, new_env, ns)          if not isinstance(ev, Bool):              raise InterpretPanic(symbol, "condition must evaluate to a :bool", ev)          if ev.value is False: +            which_idx = idx              break -    return List(coll.args[which_idx:]) +    if which_idx is not None: +        return List(coll.args[which_idx:]) +    else: +        return List([])  CORE.register("drop-while", NebSyntax("drop-while", interpretDropWhile, [for_each_arg, for_body_arg], for_body_arg)) | 
