xixixao
c3391e1dd8
Fix 1275
2014-01-22 18:33:44 +00:00
xixixao
39cb8815f7
Fixed chaining semantics after outdent
2014-01-21 22:00:57 +00:00
Michael Ficarra
21db08a23d
add missing implicit object literal test
...
ref michaelficarra/CoffeeScriptRedux#266 and 670a1f5f78 (diff-2)
2014-01-12 11:16:27 -06:00
xixixao
d7862647d9
Fix multiple postfix conditionals
2013-12-17 03:31:19 +01:00
Marc Häfner
26200f4640
Improve HEREDOC regexp
...
* Exclude trailing blank line from the match group
* Fix backslash handling
2013-11-28 16:46:00 +01:00
Marc Häfner
13f205404c
Merge pull request #3261 from xixixao/issue1273
...
Fix #1273 , Handle backslashes at the end of heredocs
2013-11-28 07:32:20 -08:00
xixixao
a61b6ee925
Fixed leading whitespace before interpolation in simple strings
2013-11-27 20:29:45 +00:00
xixixao
b11d956d53
Added compilation regression test
2013-11-27 12:58:14 +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
xixixao
42aa8d256c
Handle backslashes at the end of heredocs
2013-11-26 19:29:13 +00:00
Marc Häfner
873ed071d4
Fixes #3259 -- Use placeholders when adding params to scope
...
Don't register nested variables of complex parameters as parameters of the compiled function. Use the computed placeholder name instead.
2013-11-26 14:23:20 +01:00
xixixao
35d327a304
Escape newlines in heredocs with backslashes
2013-11-24 18:37:11 +00:00
xixixao
130899a39f
Fix multiple escaped backslashes in literal strings
2013-11-19 23:44:39 +00:00
Jeremy Ashkenas
6847400ccb
Merge pull request #3246 from xixixao/issue3229
...
Implements #3229 - Changed multiline string literals
2013-11-18 16:42:10 -08:00
xixixao
1102567b0c
Handle escaped backslashes
2013-11-19 00:04:17 +00:00
xixixao
8c6647849b
Don't rely on multiline in other tests
2013-11-18 16:26:48 +00:00
xixixao
de42ad0e1c
More test cases
2013-11-18 15:25:11 +00:00
xixixao
efe8c68c75
Changed multiline string literals
2013-11-18 04:32:15 +00:00
Marc Häfner
592aa33577
Fixes #2367 -- super in for-loop
2013-11-15 06:35:04 +01:00
Marc Häfner
aea0f2533b
Fixes #3232 -- Tag all class properties static
...
(and remove duplicate `context` assigment)
2013-11-15 03:44:26 +01:00
Marc Häfner
138c25fe5f
Cleanup and extend METHOD_DEF
...
* Fixes #2949 : Detect reserved names (not only for instance methods)
* Don't assign names which might result in incorrect `super` calls
2013-11-12 16:53:09 +01:00
Marc Häfner
1df8abf1cb
Refactor closure compilation
...
* Break up `Closure` and merge `Closure.wrap` into `Base.compileClosure`
* Construct class closure directly in `Class.compileNode`
* Reuse `isLiteralArguments` in `Range.compileArray`
* Move all helpers to bottom of file
* Add test for #3063
2013-10-31 23:25:11 +01:00
Marc Häfner
9ba1d41ec8
Fix: __extends helper above directive prologue
2013-10-26 06:54:54 +02:00
Marc Häfner
fa76e2dd21
Escapable linebreaks in heregexes
2013-10-24 00:36:46 +02:00
Marc Häfner
91ac3fa031
Escaped whitespace and slashes in Heregexes
...
* Resolves #3059 : Don't remove escaped whitespace.
* Fixes #2238 : Prevent escaping slashes that are already escaped.
* Fix detection of end of heregex with escaped slashes.
2013-10-22 18:08:17 +02:00
Jeremy Ashkenas
351c875576
merged in stricter noncallables
2013-10-20 18:49:30 -03:00
Marc Häfner
4cc2c305a4
Fixes #2181 -- conditional assignment as subexpression
...
* Parenthesize compilation of `||=` and `&&=` (when needed).
* Fix variable caching for `?=`
2013-10-20 22:59:01 +02:00
Jeremy Ashkenas
d5a25d138d
Fixes #3089 -- don't mutate options passed in to compile()
2013-10-20 16:21:06 -03:00
Jeremy Ashkenas
a7ecd80c92
Merge pull request #3096 from marchaefner/issue2994
...
Disallow single-line `IF expr ELSE` without `THEN`
2013-10-20 12:13:39 -07:00
Stephan Jorek
89f5f9d59d
added more block-comment related tests for single-line block-comments and jsdoc-like @doctags-comments.
2013-09-17 18:09:15 +02:00
Caitlin Potter
1b7491d63d
Fixes #3132 - Improve rendering of block-comments
2013-08-23 20:53:18 -04:00
Demian Ferreiro
9e716b310d
Avoid using a getter for the compiler error's "stack" property
...
Instead, set the "stack" property manually when the error gets updated on re-throws.
2013-08-02 01:52:36 -03:00
Demian Ferreiro
2b4a37296f
Override the SyntaxError's "stack" property instead of deleting it
...
This makes the "stack" property more useful when it's shown on other Node.js applications that compile CoffeeScript (e.g. testing libraries) and should fix #3023 . A minimal example:
$ node -e 'require("coffee-script").compile("class class")'
/usr/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:41
throw err;
^
[stdin]:1:7: error: unexpected CLASS
class class
^^^^^
2013-07-31 09:24:43 -03:00
Demian Ferreiro
3f9cdcf1fa
Change how error messages are shown
...
Instead of throwing the syntax errors with their source file location and needing to then catch them and call a `prettyErrorMessage` function in order to get the formatted error message, now syntax errors know how to pretty-print themselves (their `toString` method gets overridden).
An intermediate `catch` & re-`throw` is needed at the level of `CoffeeScript.compile` and friends. But the benefit of this approach is that now libraries that use the `CoffeeScript` object directly don't need to bother catching the possible compilation errors and calling a special function in order to get the nice error messages; they can just print the error itself (or let it bubble up) and the error will know how to pretty-print itself.
2013-07-31 08:27:49 -03: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
Marc Häfner
13024e6911
Fix path separator issues in tests.
2013-06-22 14:57:23 +02:00
Jeremy Ashkenas
7250fdd576
Merge pull request #3031 from alexgorbatchev/stack-trace-patch-optimizations-2
...
Stack trace patch optimizations
2013-06-16 02:37:33 -07:00
Marc Häfner
4fd5e9a3ab
Better handling of initial indent at file start.
...
* Detect initial indentation before the first token and enforce it.
* Don't add `INDENT` token (or the matching `OUTDENT, TERMINATOR`).
2013-06-14 00:28:45 +02:00
Alex Gorbatchev
3785996c44
Made stack patch test less brittle.
2013-06-13 13:50:05 -07:00
Alex Gorbatchev
3d761e73e3
Removed unnecessary source map generation during require() and made stack line number patching on by default.
2013-06-13 12:54:20 -07:00
Demian Ferreiro
8e90aaefc1
Merge branch 'master' into issue2849
...
Conflicts:
lib/coffee-script/coffee-script.js
src/coffee-script.coffee
2013-06-09 02:40:53 -03:00
Jeremy Ashkenas
2e408648aa
renaming import test files to avoid risking the disfavor of .gitignore
2013-06-02 10:57:18 +04:00
Jeremy Ashkenas
bd451800bf
Merge pull request #3000 from sgentle/require-extensions
...
Patch module.prototype.load to enable multiple extensions like .coffee.md
2013-06-01 21:44:02 -07: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
Jeremy Ashkenas
f038d0514a
Merge pull request #2984 from xixixao/literatetest
...
Fixes tabbed code test in literate
2013-05-26 04:08:01 -07:00
Nami-Doc
b3ffd25339
Disallowed for own in
2013-05-26 00:29:26 +02:00
Sam Gentle
46a0dc6dce
Didn't mean to commit testsymlink
2013-05-26 02:33:11 +10:00
Sam Gentle
e7d01b903f
New tests for module importing
2013-05-26 02:09:52 +10:00