From a1aaa4495cc2635db2f3ef12c43d6cfcfcf123a0 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Sun, 14 Nov 2010 14:44:20 -0500 Subject: [PATCH] fixing Lexer#ASSIGNED --- lib/lexer.js | 2 +- src/lexer.coffee | 2 +- test/test_literals.coffee | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/lexer.js b/lib/lexer.js index 932cfd2d..5f968428 100644 --- a/lib/lexer.js +++ b/lib/lexer.js @@ -623,7 +623,7 @@ HEREGEX_OMIT = /\s+(?:#.*)?/g; MULTILINER = /\n/g; HEREDOC_INDENT = /\n+([^\n\S]*)/g; - ASSIGNED = /^\s*@?[$A-Za-z_][$\w]*[^\n\S]*?[:=][^:=>]/; + ASSIGNED = /^\s*@?([$A-Za-z_][$\w]*|['"].*['"])[^\n\S]*?[:=][^:=>]/; LINE_CONTINUER = /^\s*(?:,|\??\.(?!\.)|::)/; LEADING_SPACES = /^\s+/; TRAILING_SPACES = /\s+$/; diff --git a/src/lexer.coffee b/src/lexer.coffee index bc46e982..b8546dfc 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -597,7 +597,7 @@ MULTILINER = /\n/g HEREDOC_INDENT = /\n+([^\n\S]*)/g -ASSIGNED = /^\s*@?[$A-Za-z_][$\w]*[^\n\S]*?[:=][^:=>]/ +ASSIGNED = /^\s*@?([$A-Za-z_][$\w]*|['"].*['"])[^\n\S]*?[:=][^:=>]/ LINE_CONTINUER = /// ^ \s* (?: , | \??\.(?!\.) | :: ) /// diff --git a/test/test_literals.coffee b/test/test_literals.coffee index 9db81ffb..902cb128 100644 --- a/test/test_literals.coffee +++ b/test/test_literals.coffee @@ -264,3 +264,12 @@ eq ok, obj.key #764: Boolean/Number should be indexable. ok 42['toString'] ok on['toString'] + + +# String-keyed objects shouldn't suppress newlines. +one = + '>!': 3 +six: -> 10 + +ok not one.six +