From fb7c7e5794c1b4956528bd8e0a0f50f4305f8c3b Mon Sep 17 00:00:00 2001 From: Bob Tolbert Date: Sun, 22 Jun 2014 10:19:56 -0600 Subject: [PATCH] Fix #607, remove return from try when there is a generator inside Added the contains_yield attr to 'try' when the body it is wrapping contains 'yeild'. Should also address #600 and #563 --- hy/compiler.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hy/compiler.py b/hy/compiler.py index d177138..a4297e8 100644 --- a/hy/compiler.py +++ b/hy/compiler.py @@ -1,10 +1,10 @@ # -*- encoding: utf-8 -*- # -# Copyright (c) 2013 Paul Tagliamonte +# Copyright (c) 2013, 2014 Paul Tagliamonte # Copyright (c) 2013 Julien Danjou # Copyright (c) 2013 Nicolas Dandrimont # Copyright (c) 2013 James King -# Copyright (c) 2013 Bob Tolbert +# Copyright (c) 2013, 2014 Bob Tolbert # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), @@ -704,7 +704,8 @@ class HyASTCompiler(object): lineno=expr.start_line, col_offset=expr.start_column) - returnable = Result(expr=expr_name, temp_variables=[expr_name, name]) + returnable = Result(expr=expr_name, temp_variables=[expr_name, name], + contains_yield=body.contains_yield) body += ast.Assign(targets=[name], value=body.force_expr,