summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2014-08-14 19:03:31 +0100
committerDominik Picheta <dominikpicheta@googlemail.com>2014-08-14 19:03:31 +0100
commitbd32255f90f0789db10865ce5b5565c3af5b033b (patch)
tree3b5c281434e8723268f6dbaba596db5fe8b20605
parentd8f6a2adcb980efcd75977ca8b9235fab3676ebd (diff)
downloadNim-bd32255f90f0789db10865ce5b5565c3af5b033b.tar.gz
Fixes #1158.
-rw-r--r--lib/pure/asyncdispatch.nim5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim
index e1837b0ea..5597acf6f 100644
--- a/lib/pure/asyncdispatch.nim
+++ b/lib/pure/asyncdispatch.nim
@@ -27,7 +27,6 @@ export TPort, TSocketFlags
 ## **Note:** This module is still largely experimental.
 
 
-# TODO: Discarded void PFutures need to be checked for exception.
 # TODO: ``except`` statement (without `try`) does not work.
 # TODO: Multiple exception names in a ``except`` don't work.
 # TODO: The effect system (raises: []) has trouble with my try transformation.
@@ -1003,7 +1002,7 @@ proc processBody(node, retFutureSym: PNimrodNode,
       of nnkIdent:
         # await x
         result = newNimNode(nnkYieldStmt, node).add(node[1]) # -> yield x
-      of nnkCall:
+      of nnkCall, nnkCommand:
         # await foo(p, x)
         var futureValue: PNimrodNode
         result.createVar("future" & $node[1][0].toStrLit, node[1], futureValue,
@@ -1020,7 +1019,7 @@ proc processBody(node, retFutureSym: PNimrodNode,
   of nnkVarSection, nnkLetSection:
     case node[0][2].kind
     of nnkCommand:
-      if node[0][2][0].ident == !"await":
+      if node[0][2][0].kind == nnkIdent and node[0][2][0].ident == !"await":
         # var x = await y
         var newVarSection = node # TODO: Should this use copyNimNode?
         result.createVar("future" & $node[0][0].ident, node[0][2][1],