rem: } else if (m = this.lines[0].match('^( *)\\S') && m[1].length > offset) { 
add: } else if ((m = this.lines[0].match('^( *)\\S')) && m[1].length > offset) { 
context: function yaml_parse_next_line (type) {  var m;  var level  = this.level;  var offset = this.offset[level];  if (offset == undefined) return this.error("Parse error - Bad level " + level);  // done with the current line - get the next  // remove following commented lines  this.lines.shift();  this.line ++;  this.eoy = this.done = ! this.lines.length;  if (this.eoy) return;  this.parse_throwaway();  if (this.eoy) return;  // Determine the offset for a new leaf node  if (this.preface && (m = this.preface.match('[>\\|][+\\-]?(\\d*)\\s*$'))) {    if (m[1].length && m[1] == '0') return this.error("Parse error zero indent");    type = 1;    if (m[1].length) {      this.offset[level + 1] = offset + m[1];    } else if (m = this.lines[0].match('^( *)\\S') && m[1].length > offset) {      this.offset[level + 1] = m[1].length;    } else {      this.offset[level + 1] = offset + 1;    }    level ++;    offset = this.offset[level];  }  // COLLECTION  if (type == 2 && this.preface.match('^\\s*(!\\S*|&\\S+)*\\s*$')) {    m = this.lines[0].match('^( *)\\S');    if (! m) return this.error("Missing leading space on line "+this.lines[0]);    this.offset[level + 1] = (m[1].length > offset) ? m[1].length : offset + 1;    offset = this.offset[++ level];  // LEAF  } else if (type == 1) {    // skip blank lines and comment lines    while (this.lines.length && this.lines[0].match('^\\s*(#|$)')) {      m = this.lines[0].match('^( *)');      if (! m) return this.error("Missing leading space on comment " + this.lines[0]);      if (m[1].length > offset) break;      this.lines.shift();      this.line ++;    }    this.eoy = this.done = ! this.lines.length;        } else {    this.parse_throwaway();  }  if (this.eoy) return;  if (this.lines[0].match('^---(\\s|$)')) {    this.done = 1;    return;  }  if (type == 1 && (m = this.lines[0].match('^ {'+offset+'}(.*)$'))) {    this.indent = offset;    this.content = m[1];  } else if (this.lines[0].match('^\\s*$')) {    this.indent = offset;    this.content = '';  } else {    m = this.lines[0].match('^( *)(\\S.*)$');    // # yaml.warn("   indent(${\length($1)})  offsets(@{$o->{offset}}) \n");    var len = (m) ? m[1].length : 0;    while (this.offset[level] > len) level --;    if (this.offset[level] != len)      return this.error("Parse error inconsitent indentation:\n"                        + '(this.lines[0]: '+this.lines[0]+', len: '+len+', level: '+level+', this.offset[level]: '+this.offset[level]+')\n');        this.indent  = len;    this.content = m ? m[2] : '';  }  if (this.indent - offset > 1)    return this.error("Parse error - indentation");  return;}
meta: 5443	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5443/8b93559ff3f7963b18d2e92487403e269bf773ae/yaml_load.js/buggy/lib/CGI/Ex/yaml_load.js