summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/parser.nim12
-rw-r--r--doc/manual/syntax.txt8
-rw-r--r--todo.txt7
3 files changed, 19 insertions, 8 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim
index 11dd6788a..eb0ef071d 100644
--- a/compiler/parser.nim
+++ b/compiler/parser.nim
@@ -250,12 +250,14 @@ proc isUnary(p: TParser): bool =
   if p.tok.tokType in {tkOpr, tkDotDot} and
      p.tok.strongSpaceB == 0 and
      p.tok.strongSpaceA > 0:
-    # XXX change this after 0.10.4 is out
-    if p.strongSpaces:
       result = true
-    else:
-      parMessage(p, warnDeprecated,
-        "will be parsed as unary operator; inconsistent spacing")
+      # versions prior to 0.13.0 used to do this:
+      when false:
+        if p.strongSpaces:
+          result = true
+        else:
+          parMessage(p, warnDeprecated,
+            "will be parsed as unary operator; inconsistent spacing")
 
 proc checkBinary(p: TParser) {.inline.} =
   ## Check if the current parser token is a binary operator.
diff --git a/doc/manual/syntax.txt b/doc/manual/syntax.txt
index c444a3995..ca3b582ca 100644
--- a/doc/manual/syntax.txt
+++ b/doc/manual/syntax.txt
@@ -64,6 +64,14 @@ Precedence level    Operators                                      First charact
 ================  ===============================================  ==================  ===============
 
 
+Whether an operator is used a prefix operator is also affected by preceeding whitespace (this parsing change was introduced with version 0.13.0):
+
+.. code-block:: nim
+  echo $foo
+  # is parsed as
+  echo($foo)
+
+
 Strong spaces
 -------------
 
diff --git a/todo.txt b/todo.txt
index afc3776a6..eca11ee07 100644
--- a/todo.txt
+++ b/todo.txt
@@ -2,8 +2,10 @@ essential for 1.0
 =================
 
 - introduce newSeqOfCap(10)
-- The remaining bugs of the lambda lifting pass that is responsible to enable
-  closures and closure iterators need to be fixed.
+- annotation support for getType()
+- overloading of `()` needs to be in .experimental
+- do notation needs to be documented properly
+
 - ``concept`` needs to be refined, a nice name for the feature is not enough.
 - Destructors need to be refined.
 - make '--implicitStatic:on' the default; then we can also clean up the
@@ -12,7 +14,6 @@ essential for 1.0
 - add "all threads are blocked" detection to 'spawn'
 - Deprecate ``immediate`` for templates and macros
 - document NimMain and check whether it works for threading
-- remove   echo $foo  gotcha
 - ``not`` or ``~`` for the effects system