title: Object doesn't support this action - all of a sudden
body: <p>I'm running version 1.7.5 and for some incomprehensible reason, all of a sudden I'm getting syntax errors (none of my stylesheets have changed since it was working) and I'm including the .js file in the same way):</p>
  
  <blockquote>
    <p>Object doesn't support this action</p>
  </blockquote>
  
  <p>I've traced the error to this curious fragment (line 7880):</p>
  
  <pre><code>new(less.Parser)(env).parse(data, function (e, root) {
      if (e) { return callback(e, null, null, sheet); }
      try {
          callback(e, root, data, sheet, webInfo, path);
      } catch (e) {
          callback(e, null, null, sheet);
      }
  }, {modifyVars: modifyVars, globalVars: less.globalVars});
  </code></pre>
  
  <p>...in the <code>loadStyleSheet</code> function.  I don't understand that syntax, in fact, and trying it at the console I get the same error message:</p>
  
  <pre><code>new(less.Parser) # fails
  new(less.Parser)(env) # fails
  typeof less.Parser # yields "function"
  </code></pre>
  
  <p>what is going on here?</p>
  
  <blockquote>
    <p>description: "Object doesn't support this action"
        message: "Object doesn't support this action"
        number: -2146827843
       stack: "TypeError: Object doesn't support this action\n   at Parser 
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:360:5" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:360:5</a>)\n   at
    Anonymous function
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7880:13" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7880:13</a>)\n   at
    Anonymous function
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7838:13" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7838:13</a>)\n   at
    handleResponse
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7763:13" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7763:13</a>)\n   at
    doXHR (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7783:9" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7783:9</a>)\n<br>
    at loadFile
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7832:5" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7832:5</a>)\n   at
    loadStyleSheet
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7856:5" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7856:5</a>)\n   at
    loadStyleSheets
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7896:9" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7896:9</a>)\n   at
    less.refresh
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7973:5" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7973:5</a>)\n   at
    Anonymous function
    (<a href="http://localhost:53109/Scripts/System/less-1.7.5.js:7999:1" rel="nofollow">http://localhost:53109/Scripts/System/less-1.7.5.js:7999:1</a>)"</p>
  </blockquote>
  
  <p><strong>* Update I *</strong></p>
  
  <p>so the syntax seems to be ok.  I can do:</p>
  
  <pre><code>new(function() {})('x')
  </code></pre>
  
  <p>so given that <code>less.Parser</code> is a function the code should work... but it doesn't.  here's what I get if I look at <code>less.Parser</code>:</p>
  
  <pre><code>function Parser(env) {
      var input,       // LeSS input string
          i,           // current index in `input`
          j,           // current chunk
          saveStack = [],   // holds state for backtracking
          furthest,    // furthest index the par
      [Methods]: {...}
      __proto__: 
  function() {
      [native code]
  }
  
      arguments: null
      caller: null
      length: 1
      prototype: {...}
  </code></pre>
  
  <p>does anything look amiss?</p>
  
  <p><strong>* Update II *</strong></p>
  
  <p>realising 1.7.5 is far behind the current, I upgraded to 2.5.0 (right off the CDN) but now it breaks elsewhere (line 2440):</p>
  
  <pre><code>if (typeof Object.create === 'undefined') {
      var F = function () {};
      F.prototype = Error.prototype;
      LessError.prototype = new F();
  } else {
      LessError.prototype = Object.create(Error.prototype); # breaks here
  }
  </code></pre>
  
  <p>with the error:</p>
  
  <blockquote>
    <p>Object.create: argument is not an Object and is not null</p>
  </blockquote>
  
  <p>and if I look at <code>Error.prototype</code> I get <code>undefined</code>... grr...</p>