Commit Graph

2259 Commits

Author SHA1 Message Date
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
Jeremy Ashkenas
2970d59395 Merge pull request #2743 from epidemian/revert-2599
Revert #2599
2013-02-28 13:53:34 -08:00
Jason Walton
7073d18f23 Add source map support 2013-02-28 15:51:29 -05:00
Jeremy Ashkenas
23d8cd6c2a Merge branch 'master' of https://github.com/jashkenas/coffee-script 2013-03-01 07:46:04 +13:00
Jeremy Ashkenas
e70dd156b0 Fixing heredocs in literate coffeescript 2013-03-01 07:42:12 +13:00
Demian Ferreiro
bf70b4660e Revert #2599 2013-02-28 10:37:30 -03:00
Jeremy Ashkenas
c0e07013e8 Merge pull request #2741 from troels/implicit-call-try-catch-finally
Fix implicit calls with try/catch/finally as arguments
2013-02-28 03:00:49 -08:00
Jeremy Ashkenas
c6f30935a8 (Aside: For historical reasons we do make the filename extension optional, which is a deeply regrettable accident of history that I would not repeat, given the chance.) 2013-02-28 23:54:19 +13:00
Troels Nielsen
cb187fd900 Fix implicit calls with try/catch/finally as arguments 2013-02-28 11:53:04 +01:00
Jeremy Ashkenas
3f23be2854 Merge pull request #2718 from sbp/sbp-literate
Add support for text/literate-coffeescript in the browser
2013-02-28 02:47:43 -08:00
Sean B. Palmer
881ae5528d Add support for text/literate-coffeescript in the browser 2013-02-28 10:15:20 +00:00
Michael Smith
1a8354482a Modify extension handling to allow for .coffee.md
Move filename processing to a `parseFileName` function in
helpers.coffee.

Map `.coffee.md` as a Literate CoffeeScript extension.

Also, make .litcoffee and .coffee.md files executable without their file
extension - eg. `coffee test` would work for a file called
`test.litcoffee`.
2013-02-27 22:49:24 -08: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
Demian Ferreiro
5115fcb162 Add CompilationError.fromLocationData 2013-02-26 23:03:33 -03:00
Jason Walton
541ab8334d Compile to an array of CodeFragments instead of to a giant string. 2013-02-26 13:34:27 -05:00
Demian Ferreiro
1db89d1589 Optimized repeat and its tests 2013-02-26 14:41:01 -03:00
Demian Ferreiro
fbc8417263 Fix failing parser error message test 2013-02-26 05:55:09 -03:00
Michael Smith
ff1ddd0284 Fix repl handling of blank line
Since the move to the nodeREPL package, input lines to be evaluated are
now wrapped in parentheses; that is:

    'foo'

would become:

    ('foo'
    )

The old way of detecting empty lines was to see if the input string was
either totally empty, or whitespace-only. The addition of these
parentheses breaks that.

In order to fix this, we simply tweak the regex a little to ignore these
added parentheses if they're present. As an added bonus, the regex
should match empty inputs even if they aren't.

This also makes the "empty command evaluates to undefined" test pass,
for the right reasons (i.e. not because of the broken error behavior
from before).
2013-02-25 22:09:50 -08:00
Michael Smith
deaa31dca5 Prevent repl from crashing on error [Fixes #2716]
Move execution of the compiled code inside the try/catch block:

    try
      js = CoffeeScript.compile "_=(#{input}\n)", {filename, bare: yes}
    catch err
      cb err
>   cb null, vm.runInContext(js, context, filename)

    try
      js = CoffeeScript.compile "_=(#{input}\n)", {filename, bare: yes}
>     cb null, vm.runInContext(js, context, filename)
    catch err
      cb err
2013-02-25 22:08:01 -08:00
Demian Ferreiro
f2efada0d4 Improved compiler error messages 2013-02-25 23:37:30 -03:00
Demian Ferreiro
5f00d6478a Remove redundant filename in error message 2013-02-25 19:20:37 -03:00
Demian Ferreiro
7e5f1b14a3 Pass 0-based indexes to CompilerError 2013-02-25 15:12:25 -03:00
Demian Ferreiro
caacd892cc Improved parser error messages 2013-02-25 15:09:42 -03:00
Demian Ferreiro
25091fb2a0 Improved lexer error messages 2013-02-25 14:41:34 -03:00
Demian Ferreiro
f609036bee Remove unnecessary returns and use default parameters 2013-02-25 10:44:56 -03:00
Jeremy Ashkenas
af53c230a1 CoffeeScript 1.5.0 2013-02-25 21:12:22 +13:00
Jeremy Ashkenas
ac9d0e17e4 Merging in location data in the AST. Yee-hah. 2013-02-25 17:51:05 +13:00
Jeremy Ashkenas
5e498ca395 merged 2013-02-25 17:41:27 +13:00
Jeremy Ashkenas
9b63e806dd #2702 -- remove more dead code 2013-02-25 17:34:14 +13:00
Jeremy Ashkenas
bd842241a6 #2702 -- remove dead code 2013-02-25 17:33:27 +13:00
Jeremy Ashkenas
3815f0a132 #2702 -- remove old code 2013-02-25 17:32:51 +13:00
Michael Ficarra
5ae9c5d947 compile a320e1e535 2013-02-24 21:12:57 -06:00
Michael Ficarra
2402f9774a Revert "Moving the 'generated by coffeescript version X' comment to the bottom, to get it out of the way"
This reverts commit b31cc70235.
2013-02-24 21:11:43 -06:00
Demian Ferreiro
9ed804d9b1 Simplify Value::unfoldSoak momoization code (only a bit...) 2013-02-23 08:26:10 -03:00
Demian Ferreiro
03cfe23493 Remove unnecessary if statement 2013-02-23 08:24:04 -03:00
Demian Ferreiro
a97c23a4bd Make it more explicit that 'this' is the only possible value for tag in Value's constructor. 2013-02-23 06:34:11 -03:00
Jason Walton
e1a2e11de4 Fix merge problem, and rebuild parser.js 2013-02-21 20:17:06 -05:00
Jason Walton
5e49df8ed4 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/coffee-script/grammar.js
	src/grammar.coffee
2013-02-14 14:21:46 -05:00
Jeremy Ashkenas
fa1ffa66d3 Fixes #2359 -- tweak grammar to use new name 2013-02-14 16:34:32 +13:00
Jason Walton
c31bc6deb7 Update js files. 2013-02-06 10:40:48 -05:00
Jason Walton
fe45f1bf35 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/coffee-script/grammar.js
	lib/coffee-script/rewriter.js
	src/grammar.coffee
	src/rewriter.coffee
2013-02-06 10:29:19 -05:00
Jeremy Ashkenas
fc7f4ed904 Fixes #2523 -- remove resetting of process.execPath 2013-02-02 12:40:50 +11:00
Jeremy Ashkenas
1818e74f42 Fixes #2525, #1187, #1208, #1758, and many more -- allow looping over an array downwards 2013-02-02 12:23:14 +11:00
Jeremy Ashkenas
d72daca7bd simpler implementation of the previous commit 2013-02-02 11:19:29 +11:00
Jeremy Ashkenas
c37202ecb9 Removing variable indirection for simple steps 2013-02-02 11:16:17 +11:00
Jeremy Ashkenas
1f5b19b81c slightly better conditions for range steps 2013-02-02 11:02:40 +11:00
Jeremy Ashkenas
de5e2c60ae require a file name before checking for a fallback 2013-02-02 10:46:17 +11:00
Jeremy Ashkenas
b31cc70235 Moving the 'generated by coffeescript version X' comment to the bottom, to get it out of the way 2013-02-02 10:42:46 +11:00
Jeremy Ashkenas
78891a0ccc Merging in @epedemian's fix for #2359 -- disallow other-typed constructors 2013-02-01 22:30:22 +11:00