Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
  • 10 commits
  • 75 files changed
  • 2 commit comments
  • 2 contributors
Commits on Sep 26, 2016
@lydell lydell Update the changelog for 1.11.0
Fixes #4321.
b0d8fca
@lydell lydell Fix `isLiteralArguments`
`isLiteralArguments` mistakenly looked at `Literal`s instead of
`IdentifierLiteral`s.

This also gets rid of the ugly `.asKey` hack in nodes.coffee.

Fixes #4320.
3204180
@lydell lydell Handle very large hexadecimal number literals correctly
Very large decimal number literals, binary number literals and octal
literals are lexed into an INFINITY token (instead of a NUMBER token)
and compiled into `2e308`. That is is supposed to be the case for very
large hexdecimal dumber literals as well, but previously wasn't.

Before:

    $ node -p 'require("./").tokens(`0x${Array(256 + 1).join("f")}`)[0][0]'
    NUMBER

After:

    $ node -p 'require("./").tokens(`0x${Array(256 + 1).join("f")}`)[0][0]'
    INFINITY

This commit also cleans up `numberToken` in lexer.coffee a bit.
57f5297
@lydell lydell Fix indentation-stripping in `"""` strings
`"""` (and `"`) strings are lexed into an array of tokens, consisting of
strings and interpolations. Previously, the minimum indententation
inside `"""` strings was stripped from the beginning of _all_ of those
string tokens. Usually, the indentation is longer than any other
sequence of spaces in a `"""` string, so the problem didn't occur in
most cases. This commit makes sure to only strip indentation after
newlines.

Fixes #4314.
568a0c7
@fliptheweb fliptheweb Fix minor typo in changelog for 1.11.0 964a588
@lydell lydell Merge pull request #4322 from fliptheweb/patch-1
Fix minor typo in changelog for 1.11.0
0b2d852
Commits on Sep 29, 2016
@lydell lydell Fix shorthands after interpolated key in objects
Fixes #4324.
46841d9
Commits on Oct 01, 2016
@lydell lydell Add changelog for version 1.11.1 809634b
@lydell lydell CoffeeScript 1.11.1 8623792
Commits on Oct 02, 2016
@lydell lydell Merge pull request #4327 from lydell/1.11.1
1.11.1
7b9fbf2
Showing with 247 additions and 152 deletions.
  1. +1 −1 bower.json
  2. +1 −1 documentation/docs/coffee-script.html
  3. +23 −18 documentation/docs/lexer.html
  4. +3 −4 documentation/docs/nodes.html
  5. +27 −2 documentation/index.html.js
  6. +1 −1 documentation/js/aliases.js
  7. +1 −1 documentation/js/array_comprehensions.js
  8. +1 −1 documentation/js/block_comment.js
  9. +1 −1 documentation/js/cake_tasks.js
  10. +1 −1 documentation/js/chaining.js
  11. +1 −1 documentation/js/classes.js
  12. +1 −1 documentation/js/comparisons.js
  13. +1 −1 documentation/js/conditionals.js
  14. +1 −1 documentation/js/constructor_destructuring.js
  15. +1 −1 documentation/js/default_args.js
  16. +1 −1 documentation/js/do.js
  17. +1 −1 documentation/js/embedded.js
  18. +1 −1 documentation/js/existence.js
  19. +1 −1 documentation/js/expansion.js
  20. +1 −1 documentation/js/expressions.js
  21. +1 −1 documentation/js/expressions_assignment.js
  22. +1 −1 documentation/js/expressions_comprehension.js
  23. +1 −1 documentation/js/expressions_try.js
  24. +1 −1 documentation/js/fat_arrow.js
  25. +1 −1 documentation/js/functions.js
  26. +1 −1 documentation/js/generators.js
  27. +1 −1 documentation/js/heredocs.js
  28. +1 −1 documentation/js/heregexes.js
  29. +1 −1 documentation/js/interpolation.js
  30. +1 −1 documentation/js/modules.js
  31. +1 −1 documentation/js/modulo.js
  32. +1 −1 documentation/js/multiple_return_values.js
  33. +1 −1 documentation/js/object_comprehensions.js
  34. +1 −1 documentation/js/object_extraction.js
  35. +1 −1 documentation/js/objects_and_arrays.js
  36. +1 −1 documentation/js/objects_reserved.js
  37. +1 −1 documentation/js/overview.js
  38. +1 −1 documentation/js/parallel_assignment.js
  39. +1 −1 documentation/js/patterns_and_splats.js
  40. +1 −1 documentation/js/prototypes.js
  41. +1 −1 documentation/js/range_comprehensions.js
  42. +1 −1 documentation/js/scope.js
  43. +1 −1 documentation/js/slices.js
  44. +1 −1 documentation/js/soaks.js
  45. +1 −1 documentation/js/splats.js
  46. +1 −1 documentation/js/splices.js
  47. +1 −1 documentation/js/strings.js
  48. +1 −1 documentation/js/switch.js
  49. +1 −1 documentation/js/switch_with_no_expression.js
  50. +1 −1 documentation/js/try.js
  51. +1 −1 documentation/js/while.js
  52. +6 −6 extras/coffee-script.js
  53. +31 −2 index.html
  54. +1 −1 lib/coffee-script/browser.js
  55. +1 −1 lib/coffee-script/cake.js
  56. +2 −2 lib/coffee-script/coffee-script.js
  57. +1 −1 lib/coffee-script/command.js
  58. +1 −1 lib/coffee-script/grammar.js
  59. +1 −1 lib/coffee-script/helpers.js
  60. +1 −1 lib/coffee-script/index.js
  61. +40 −29 lib/coffee-script/lexer.js
  62. +6 −5 lib/coffee-script/nodes.js
  63. +1 −1 lib/coffee-script/optparse.js
  64. +1 −1 lib/coffee-script/register.js
  65. +1 −1 lib/coffee-script/repl.js
  66. +1 −1 lib/coffee-script/rewriter.js
  67. +1 −1 lib/coffee-script/scope.js
  68. +1 −1 lib/coffee-script/sourcemap.js
  69. +1 −1 package.json
  70. +1 −1 src/coffee-script.coffee
  71. +23 −18 src/lexer.coffee
  72. +3 −4 src/nodes.coffee
  73. +5 −0 test/classes.coffee
  74. +6 −0 test/objects.coffee
  75. +10 −0 test/strings.coffee
View
@@ -1,6 +1,6 @@
{
"name": "coffee-script",
- "version": "1.11.0",
+ "version": "1.11.1",
"main": [
"lib/coffee-script/coffee-script.js"
],
@@ -144,7 +144,7 @@
</div>
- <div class="content"><div class='highlight'><pre>exports.VERSION = <span class="hljs-string">'1.11.0'</span>
+ <div class="content"><div class='highlight'><pre>exports.VERSION = <span class="hljs-string">'1.11.1'</span>
exports.FILE_EXTENSIONS = [<span class="hljs-string">'.coffee'</span>, <span class="hljs-string">'.litcoffee'</span>, <span class="hljs-string">'.coffee.md'</span>]</pre></div></div>
@@ -459,25 +459,30 @@ <h2 id="tokenizers">Tokenizers</h2>
<div class="content"><div class='highlight'><pre> numberToken: <span class="hljs-function">-&gt;</span>
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span> <span class="hljs-keyword">unless</span> match = NUMBER.exec @chunk
+
number = match[<span class="hljs-number">0</span>]
lexedLength = number.length
- <span class="hljs-keyword">if</span> <span class="hljs-regexp">/^0[BOX]/</span>.test number
- @error <span class="hljs-string">"radix prefix in '<span class="hljs-subst">#{number}</span>' must be lowercase"</span>, offset: <span class="hljs-number">1</span>
- <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> <span class="hljs-regexp">/E/</span>.test(number) <span class="hljs-keyword">and</span> <span class="hljs-keyword">not</span> <span class="hljs-regexp">/^0x/</span>.test number
- @error <span class="hljs-string">"exponential notation in '<span class="hljs-subst">#{number}</span>' must be indicated with a lowercase 'e'"</span>,
- offset: number.indexOf(<span class="hljs-string">'E'</span>)
- <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> <span class="hljs-regexp">/^0\d*[89]/</span>.test number
- @error <span class="hljs-string">"decimal literal '<span class="hljs-subst">#{number}</span>' must not be prefixed with '0'"</span>, length: lexedLength
- <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> <span class="hljs-regexp">/^0\d+/</span>.test number
- @error <span class="hljs-string">"octal literal '<span class="hljs-subst">#{number}</span>' must be prefixed with '0o'"</span>, length: lexedLength
- <span class="hljs-keyword">if</span> octalLiteral = <span class="hljs-regexp">/^0o([0-7]+)/</span>.exec number
- numberValue = parseInt(octalLiteral[<span class="hljs-number">1</span>], <span class="hljs-number">8</span>)
- number = <span class="hljs-string">"0x<span class="hljs-subst">#{numberValue.toString <span class="hljs-number">16</span>}</span>"</span>
- <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> binaryLiteral = <span class="hljs-regexp">/^0b([01]+)/</span>.exec number
- numberValue = parseInt(binaryLiteral[<span class="hljs-number">1</span>], <span class="hljs-number">2</span>)
+
+ <span class="hljs-keyword">switch</span>
+ <span class="hljs-keyword">when</span> <span class="hljs-regexp">/^0[BOX]/</span>.test number
+ @error <span class="hljs-string">"radix prefix in '<span class="hljs-subst">#{number}</span>' must be lowercase"</span>, offset: <span class="hljs-number">1</span>
+ <span class="hljs-keyword">when</span> <span class="hljs-regexp">/^(?!0x).*E/</span>.test number
+ @error <span class="hljs-string">"exponential notation in '<span class="hljs-subst">#{number}</span>' must be indicated with a lowercase 'e'"</span>,
+ offset: number.indexOf(<span class="hljs-string">'E'</span>)
+ <span class="hljs-keyword">when</span> <span class="hljs-regexp">/^0\d*[89]/</span>.test number
+ @error <span class="hljs-string">"decimal literal '<span class="hljs-subst">#{number}</span>' must not be prefixed with '0'"</span>, length: lexedLength
+ <span class="hljs-keyword">when</span> <span class="hljs-regexp">/^0\d+/</span>.test number
+ @error <span class="hljs-string">"octal literal '<span class="hljs-subst">#{number}</span>' must be prefixed with '0o'"</span>, length: lexedLength
+
+ base = <span class="hljs-keyword">switch</span> number.charAt <span class="hljs-number">1</span>
+ <span class="hljs-keyword">when</span> <span class="hljs-string">'b'</span> <span class="hljs-keyword">then</span> <span class="hljs-number">2</span>
+ <span class="hljs-keyword">when</span> <span class="hljs-string">'o'</span> <span class="hljs-keyword">then</span> <span class="hljs-number">8</span>
+ <span class="hljs-keyword">when</span> <span class="hljs-string">'x'</span> <span class="hljs-keyword">then</span> <span class="hljs-number">16</span>
+ <span class="hljs-keyword">else</span> <span class="hljs-literal">null</span>
+ numberValue = <span class="hljs-keyword">if</span> base? <span class="hljs-keyword">then</span> parseInt(number[<span class="hljs-number">2.</span>.], base) <span class="hljs-keyword">else</span> parseFloat(number)
+ <span class="hljs-keyword">if</span> number.charAt(<span class="hljs-number">1</span>) <span class="hljs-keyword">in</span> [<span class="hljs-string">'b'</span>, <span class="hljs-string">'o'</span>]
number = <span class="hljs-string">"0x<span class="hljs-subst">#{numberValue.toString <span class="hljs-number">16</span>}</span>"</span>
- <span class="hljs-keyword">else</span>
- numberValue = parseFloat(number)
+
tag = <span class="hljs-keyword">if</span> numberValue <span class="hljs-keyword">is</span> Infinity <span class="hljs-keyword">then</span> <span class="hljs-string">'INFINITY'</span> <span class="hljs-keyword">else</span> <span class="hljs-string">'NUMBER'</span>
@token tag, number, <span class="hljs-number">0</span>, lexedLength
lexedLength</pre></div></div>
@@ -548,12 +553,12 @@ <h2 id="tokenizers">Tokenizers</h2>
<span class="hljs-keyword">while</span> match = HEREDOC_INDENT.exec doc
attempt = match[<span class="hljs-number">1</span>]
indent = attempt <span class="hljs-keyword">if</span> indent <span class="hljs-keyword">is</span> <span class="hljs-literal">null</span> <span class="hljs-keyword">or</span> <span class="hljs-number">0</span> &lt; attempt.length &lt; indent.length
- indentRegex = <span class="hljs-regexp">/// ^<span class="hljs-subst">#{indent}</span> ///</span>gm <span class="hljs-keyword">if</span> indent
+ indentRegex = <span class="hljs-regexp">/// \n<span class="hljs-subst">#{indent}</span> ///</span>g <span class="hljs-keyword">if</span> indent
@mergeInterpolationTokens tokens, {delimiter}, <span class="hljs-function"><span class="hljs-params">(value, i)</span> =&gt;</span>
value = @formatString value
+ value = value.replace indentRegex, <span class="hljs-string">'\n'</span> <span class="hljs-keyword">if</span> indentRegex
value = value.replace LEADING_BLANK_LINE, <span class="hljs-string">''</span> <span class="hljs-keyword">if</span> i <span class="hljs-keyword">is</span> <span class="hljs-number">0</span>
value = value.replace TRAILING_BLANK_LINE, <span class="hljs-string">''</span> <span class="hljs-keyword">if</span> i <span class="hljs-keyword">is</span> $
- value = value.replace indentRegex, <span class="hljs-string">''</span> <span class="hljs-keyword">if</span> indentRegex
value
<span class="hljs-keyword">else</span>
@mergeInterpolationTokens tokens, {delimiter}, <span class="hljs-function"><span class="hljs-params">(value, i)</span> =&gt;</span>
@@ -1757,7 +1757,6 @@ <h3 id="access">Access</h3>
<div class="content"><div class='highlight'><pre>exports.Access = <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Access</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Base</span></span>
constructor: <span class="hljs-function"><span class="hljs-params">(@name, tag)</span> -&gt;</span>
- @name.asKey = <span class="hljs-literal">yes</span>
@soak = tag <span class="hljs-keyword">is</span> <span class="hljs-string">'soak'</span>
children: [<span class="hljs-string">'name'</span>]
@@ -2162,13 +2161,13 @@ <h3 id="obj">Obj</h3>
<span class="hljs-keyword">if</span> i &lt; dynamicIndex
<span class="hljs-keyword">if</span> prop <span class="hljs-keyword">not</span> <span class="hljs-keyword">instanceof</span> Assign
prop = <span class="hljs-keyword">new</span> Assign prop, prop, <span class="hljs-string">'object'</span>
- (prop.variable.base <span class="hljs-keyword">or</span> prop.variable).asKey = <span class="hljs-literal">yes</span>
<span class="hljs-keyword">else</span>
<span class="hljs-keyword">if</span> prop <span class="hljs-keyword">instanceof</span> Assign
key = prop.variable
value = prop.value
<span class="hljs-keyword">else</span>
[key, value] = prop.base.cache o
+ key = <span class="hljs-keyword">new</span> PropertyName key.value <span class="hljs-keyword">if</span> key <span class="hljs-keyword">instanceof</span> IdentifierLiteral
prop = <span class="hljs-keyword">new</span> Assign (<span class="hljs-keyword">new</span> Value (<span class="hljs-keyword">new</span> IdentifierLiteral oref), [<span class="hljs-keyword">new</span> Access key]), value
<span class="hljs-keyword">if</span> indent <span class="hljs-keyword">then</span> answer.push @makeCode indent
answer.push prop.compileToFragments(o, LEVEL_TOP)...
@@ -4974,10 +4973,10 @@ <h2 id="helper-functions">Helper Functions</h2>
code.replace <span class="hljs-regexp">/\s+$/</span>, <span class="hljs-string">''</span>
<span class="hljs-function">
<span class="hljs-title">isLiteralArguments</span> = <span class="hljs-params">(node)</span> -&gt;</span>
- node <span class="hljs-keyword">instanceof</span> Literal <span class="hljs-keyword">and</span> node.value <span class="hljs-keyword">is</span> <span class="hljs-string">'arguments'</span> <span class="hljs-keyword">and</span> <span class="hljs-keyword">not</span> node.asKey
+ node <span class="hljs-keyword">instanceof</span> IdentifierLiteral <span class="hljs-keyword">and</span> node.value <span class="hljs-keyword">is</span> <span class="hljs-string">'arguments'</span>
<span class="hljs-function">
<span class="hljs-title">isLiteralThis</span> = <span class="hljs-params">(node)</span> -&gt;</span>
- (node <span class="hljs-keyword">instanceof</span> ThisLiteral <span class="hljs-keyword">and</span> <span class="hljs-keyword">not</span> node.asKey) <span class="hljs-keyword">or</span>
+ node <span class="hljs-keyword">instanceof</span> ThisLiteral <span class="hljs-keyword">or</span>
(node <span class="hljs-keyword">instanceof</span> Code <span class="hljs-keyword">and</span> node.bound) <span class="hljs-keyword">or</span>
node <span class="hljs-keyword">instanceof</span> SuperCall
<span class="hljs-function">
@@ -112,7 +112,7 @@
<p>
<b>Latest Version:</b>
- <a href="http://github.com/jashkenas/coffeescript/tarball/1.11.0">1.11.0</a>
+ <a href="http://github.com/jashkenas/coffeescript/tarball/1.11.1">1.11.1</a>
</p>
<pre>npm install -g coffee-script</pre>
@@ -1271,6 +1271,26 @@ Block
</h2>
<p>
+ <%= releaseHeader('2016-10-02', '1.11.1', '1.11.0') %>
+ <ul>
+ <li>
+ Bugfix for shorthand object syntax after interpolated keys.
+ </li>
+ <li>
+ Bugfix for indentation-stripping in <code>"""</code> strings.
+ </li>
+ <li>
+ Bugfix for not being able to use the name "arguments" for a prototype
+ property of class.
+ </li>
+ <li>
+ Correctly compile large hexadecimal numbers literals to
+ <code>2e308</code> (just like all other large number literals do).
+ </li>
+ </ul>
+ </p>
+
+ <p>
<%= releaseHeader('2016-09-24', '1.11.0', '1.10.0') %>
<ul>
<li>
@@ -1313,6 +1333,11 @@ six = -&gt;
</ul>
</li>
<li>
+ <code>&amp;&amp;=</code>, <code>||=</code>, <code>and=</code> and
+ <code>or=</code> no longer accidentally allow a space before the
+ equals sign.
+ </li>
+ <li>
Improved several error messages.
</li>
<li>
@@ -1321,7 +1346,7 @@ six = -&gt;
<code>Infinity</code> into <code>2e308</code>.
</li>
<li>
- Bugfix for renamed destrucured parameters with defaults.
+ Bugfix for renamed destructured parameters with defaults.
<code>({a: b = 1}) -&gt;</code> no longer crashes the compiler.
</li>
<li>
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var volume, winner;
if (ignition === true) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var courses, dish, food, foods, i, j, k, l, len, len1, len2, ref;
ref = ['toast', 'cheese', 'wine'];
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
/*
SkinnyMochaHalfCaffScript Compiler v1.0
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var fs;
fs = require('fs');
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
$('body').click(function(e) {
return $('.box').fadeIn('fast').addClass('.active');
}).css('background', 'white');
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var Animal, Horse, Snake, sam, tom,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var cholesterol, healthy;
cholesterol = 127;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var date, mood;
if (singing) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var Person, tim;
Person = (function() {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var fill;
fill = function(container, liquid) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var filename, fn, i, len;
fn = function(filename) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var hi;
hi = function() {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var footprints, solipsism, speed;
if ((typeof mind !== "undefined" && mind !== null) && (typeof world === "undefined" || world === null)) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var first, last, ref, text;
text = "Every literary critic believes he will outwit history and have the last word";
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var eldest, grade;
grade = function(student) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var one, six, three, two;
six = (one = 1) + (two = 2) + (three = 3);
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var globals, name;
globals = ((function() {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var error;
alert((function() {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var Account;
Account = function(customer, cart) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var cube, square;
square = function(x) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var perfectSquares;
perfectSquares = function*() {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var html;
html = "<strong>\n cup of coffeescript\n</strong>";
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var OPERATOR;
OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var author, quote, sentence;
author = "Wittgenstein";
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
import 'local-file.coffee';
import 'coffee-script';
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var modulo = function(a, b) { return (+a % (b = +b) + b) % b; };
-7 % 5 === -2;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var city, forecast, ref, temp, weatherReport;
weatherReport = function(location) {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var age, ages, child, yearsOld;
yearsOld = {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var city, futurists, name, ref, ref1, street;
futurists = {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var bitlist, kids, singers, song;
song = ["do", "re", "mi", "fa", "so"];
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
$('.account').attr({
"class": 'active'
});
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var cubes, list, math, num, number, opposite, race, square,
slice = [].slice;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var ref, theBait, theSwitch;
theBait = 1000;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var close, contents, i, open, ref, tag,
slice = [].slice;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
String.prototype.dasherize = function() {
return this.replace(/_/g, "-");
};
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var countdown, num;
countdown = (function() {
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var changeNumbers, inner, outer;
outer = 1;
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.0
+// Generated by CoffeeScript 1.11.1
var copy, end, middle, numbers, start;
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
Oops, something went wrong.

Showing you all comments on commits in this comparison.

@jashkenas
Owner

Just curiosity — is this a regression or has the bug always been there?

@lydell
Collaborator
lydell commented on 46841d9 Sep 29, 2016

Regression since #4220.