finally removes 'echo ' gotcha

This commit is contained in:
Andreas Rumpf
2016-01-15 11:34:52 +01:00
parent 9429e0f064
commit 46f1f41cc9
3 changed files with 19 additions and 8 deletions

View File

@@ -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.

View File

@@ -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
-------------

View File

@@ -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