       run_context.display_object result
     catch e
       run_context.handle_exception e, string
+    finally
+      running_context_binding = previous_running_context_binding
 
   {create_base_context, create_context, create_run_context, create_standalone_context, run_coffeescript_in_context, run_in_context, scope, collect_extension_points}


        nested_context = _.extend {}, run_context,
          output: output $item
        nested_context.current_context = nested_context
        nested_context.fns = bind_context_fns nested_context, run_context.imported_context_fns
        fn.apply nested_context, args

      handle_exception: (e, compiled) ->

    bind_fn = (name, op) ->
      bound = (args...) ->
        # if the function returned a value, unwrap it. otherwise, ignore it
        op.fn.apply(run_context.active_context(), args)?._lead_context_fn_value ? ignore
      bound._lead_context_fn = op
      bound._lead_context_name = name
      bound
