Jeremy Ashkenas
e0ec8a51e4
CoffeeScript 1.9.0
2015-01-29 12:20:46 -05:00
Simon Lydell
3db029f2c1
Make regexes always uncallable
...
No matter if they have interpolations or not.
2015-01-15 19:44:14 +01:00
Simon Lydell
fce502ac98
Fix #3194 : Make strings always uncallable
...
No matter if they have interpolations or not.
2015-01-14 21:27:24 +01:00
Michael Ficarra
9fa77af576
Merge pull request #3784 from lydell/unique-generated-vars
...
Unique generated vars
2015-01-12 21:14:44 -08:00
Simon Lydell
62712060c0
Better error message for unexpected CALL_END
2015-01-12 20:40:59 +01:00
Simon Lydell
8ab15d7372
Fix #1500 , #1574 , #3318 : Name generated vars uniquely
...
Any variables generated by CoffeeScript are now made sure to be named to
something not present in the source code being compiled. This way you can no
longer interfere with them, either on purpose or by mistake. (#1500 , #1574 )
For example, `({a}, _arg) ->` now compiles correctly. (#1574 )
As opposed to the somewhat complex implementations discussed in #1500 , this
commit takes a very simple approach by saving all used variables names using a
single pass over the token stream. Any generated variables are then made sure
not to exist in that list.
`(@a) -> a` used to be equivalent to `(@a) -> @a`, but now throws a runtime
`ReferenceError` instead (unless `a` exists in an upper scope of course). (#3318 )
`(@a) ->` used to compile to `(function(a) { this.a = a; })`. Now it compiles to
`(function(_at_a) { this.a = _at_a; })`. (But you cannot access `_at_a` either,
of course.)
Because of the above, `(@a, a) ->` is now valid; `@a` and `a` are not duplicate
parameters.
Duplicate this-parameters with a reserved word, such as `(@case, @case) ->`,
used to compile but now throws, just like regular duplicate parameters.
2015-01-10 23:25:01 +01:00
Andreas Lubbe
c72556619f
added 'yield from'
2014-09-06 13:53:21 +02:00
Andreas Lubbe
565d78f00b
removed support for '->*" and '=>*'
2014-09-06 13:38:04 +02:00
Andreas Lubbe
75900660fd
Merge remote-tracking branch 'A/master'
2014-09-06 11:32:25 +02:00
Jeremy Ashkenas
81047d45ee
CoffeeScript 1.8.0
2014-08-26 12:24:29 -04:00
Michael Ficarra
4ab8503e5a
CoffeeScript 1.7.1
2014-01-29 23:19:36 -06:00
xixixao
10293df1f9
Recompile source with 1.7.0 version
2014-01-28 03:34:00 +00:00
xixixao
04b0b94a8c
Fixes chaining after inline implicit objects
2014-01-26 22:11:10 +00:00
Michael Ficarra
cc1b74f11b
Merge pull request #3329 from xixixao/issue3325
...
Fixes #3325 : implicit indendation error messages
2014-01-25 22:00:24 -08:00
xixixao
104b4666fe
Fix indendation error messages
2014-01-26 05:25:13 +00:00
xixixao
c2727d964c
Fix for declarations in object literals
2014-01-26 04:41:30 +00:00
Andreas Lubbe
f375394381
Merge https://github.com/jashkenas/coffee-script
...
Conflicts:
lib/coffee-script/lexer.js
lib/coffee-script/parser.js
lib/coffee-script/rewriter.js
src/lexer.coffee
src/rewriter.coffee
2014-01-25 19:37:35 -08:00
Demian Ferreiro
2b4421fca1
Merge branch 'master' into more-math-operators
...
Conflicts:
lib/coffee-script/grammar.js
lib/coffee-script/lexer.js
lib/coffee-script/nodes.js
lib/coffee-script/parser.js
test/regexps.coffee
2014-01-24 15:40:28 -03:00
xixixao
8b976acac1
Fixes #1871 , close implicit objects in implicit returns
2014-01-23 23:12:12 +00:00
xixixao
f0463e9981
Improve error messages for generated tokens
2014-01-22 02:54:09 +00:00
xixixao
39cb8815f7
Fixed chaining semantics after outdent
2014-01-21 22:00:57 +00:00
Andreas Lubbe
dab4ae9416
'->*' and '=>*' now produce generators
2013-12-19 18:08:25 -08:00
Andreas Lubbe
56b04a58dc
first attempt at using '->*" and '=>*' for generators
2013-12-19 14:21:14 -08:00
xixixao
bc975e556e
Prevent loop collection in endAllImplicitCalls
2013-12-05 21:53:42 +00:00
xixixao
ee9febe399
Handle nested calls and function oneliners when chaining
2013-11-27 04:57:44 +00:00
xixixao
15a70f863c
Implemented method call chaining
2013-11-27 03:41:52 +00:00
Marc Häfner
910e38749c
Merge removeMidExpressionNewlines into addImplicitIndentation
...
and rename it to `normalizeLines`
2013-07-31 22:12:44 +02:00
Marc Häfner
4342bedd2f
Fix multi-line if-else in single-line expression.
...
* When searching for the closing token of a single-line expression, ignore TERMINATORS that will subsequently be removed.
* Add a test.
2013-07-31 12:18:50 +02:00
Marc Häfner
fdd5796f5e
Disallow single-line IF expr ELSE without THEN
...
* Supplement missing block before `ELSE` token only for multi-line `if`.
* Don't prematurely remove `TERMINATOR` before `ELSE` (so we can differentiate single- and multi-line forms).
* Cleanup: Remove `WHEN` from `EXPRESSION_CLOSE`. (Only `LEADING_WHEN` tokens are preceded by a `TERMINATOR`.)
* Cleanup: Remove really old, inapplicable text from comment.
2013-07-30 19:31:46 +02:00
Jeremy Ashkenas
84b8b5ccee
CoffeeScript 1.6.3
2013-06-02 09:37:45 +04:00
Michael Ficarra
0f5ae54014
Merge pull request #2930 from marchaefner/Issue1057
...
Fixes #1057 : Allow catch/finally in single line functions.
2013-05-31 14:56:04 -07:00
Marc Häfner
40d2761bd8
Fixes #2916 -- implicit calls with preceding herecomment
2013-04-28 10:30:03 +02:00
Marc Häfner
69d66a1d4d
Fixes #1057 : Allow catch/finally in single line functions.
...
* Don't end single-line functions at `catch` or `finally`.
* Remove unused `IMPLICIT_BLOCK` and superfluous test for `IF`.
2013-04-15 20:20:52 +02:00
Marc Häfner
cf07fcb4b1
#2900 -- parameter-less catch clause.
...
Plus some minor cleanup after f8c6b494aa
2013-04-12 17:50:45 +02:00
Demian Ferreiro
08b59aef8a
Make power operator have higher precedence than unary operators: +, -, ~, !
2013-03-25 00:05:04 -03:00
Jeremy Ashkenas
566a7dabb2
Fixing erroneous whitespace fix in generated JS
2013-03-18 17:47:55 +08:00
Jeremy Ashkenas
a3e8de338a
CoffeeScript 1.6.2
2013-03-18 13:06:33 +08:00
Jeremy Ashkenas
2f5b11b295
Fixes #2555
2013-03-17 19:27:16 +08:00
Jeremy Ashkenas
de8ec2beb0
Fixes #1066 -- interpolated strings are not implicit funcs
2013-03-05 21:28:29 +13:00
Marc Häfner
dcd74d3e59
Clean up unused parameter.
2013-03-05 01:02:16 +01:00
Marc Häfner
74181c0ec0
Improve locationData of implicit object braces.
...
Set location of generated left brace to start of content, so the corresponding AST nodes don't span preceding spaces, blank lines or comments.
2013-03-05 00:12:51 +01:00
Jeremy Ashkenas
eef83a9fcb
CoffeeScript 1.6.1
2013-03-05 11:07:16 +13:00
Jeremy Ashkenas
9f614fedec
CoffeeScript 1.6.0
2013-03-05 08:19:08 +13:00
Troels Nielsen
37a6ea63b1
#2757 , Allow non-significant commas at end of nested implicit objects
2013-03-04 12:55:15 +01:00
Jeremy Ashkenas
b3452c1276
Fixes #2508 -- existential access of the prototype.
2013-03-04 22:07:47 +13:00
Jeremy Ashkenas
f33517368e
Removing duplicate 'CATCH'
2013-03-01 12:38:41 +13:00
Troels Nielsen
71e04d9839
Disallow implicit calls in cases like:
...
f
a
and only allow cases like:
f
a: 1
2013-02-28 23:20:42 +01:00
Troels Nielsen
cb187fd900
Fix implicit calls with try/catch/finally as arguments
2013-02-28 11:53:04 +01:00
Troels Nielsen
1666716c31
Improve the handling of implicit object and implicit call combinations
...
by handling them together.
2013-02-27 08:15:38 +01:00
Jeremy Ashkenas
af53c230a1
CoffeeScript 1.5.0
2013-02-25 21:12:22 +13:00