anchor.diff:    }
   
     Python3Lexer.prototype.atStartOfInput = function() {
  -    return false;
  +    return this.getCharIndex() === 0;
     }
   }
   
  
positive.code:        if (indent === previous) {
           // skip indents of the same size as the present indent-size
           this.skip();
         }
         else if (indent > previous) {
           this.indents.push(indent);
           this.emit(this.commonToken(Python3Parser.INDENT, spaces));
         }
         else {
           // Possibly emit more than 1 DEDENT token.
           while(this.indents.length && this.indents[this.indents.length - 1] > indent) {
             this.emit(this.createDedent());
             this.indents.pop();
           }
         }
  
negative.code: NEWLINE
   : ( {this.atStartOfInput()}?   SPACES
     | ( '\r'? '\n' | '\r' ) SPACES?
     ) {
       let newLine = this.text.replace(/[^\r\n]+/g, '');
       let spaces = this.text.replace(/[\r\n]+/g, '');
       let next = this._input.LA(1);
  
       if (this.opened > 0 || next === 13 /* '\r' */ || next === 10 /* '\n' */ || next === 35 /* '#' */) {
         // If we're inside a list or on a blank line, ignore all indents,
         // dedents and line breaks.
         this.skip();
       } else {
         this.emitToken(this.commonToken(Python3Parser.NEWLINE, newLine));
  
         let indent = this.getIndentationCount(spaces);
         let previous = this.indents.length ? this.indents[this.indents.length - 1] : 0;
  