rem: m[1].replace(new RegExp('"','g'),'"'); 
add: m[1] = m[1].replace(new RegExp('\\\\"','g'),'"'); 
context: function yaml_parse_inline (top, top_implicit, top_explicit, top_class) {  this.inline = this.inline.replace('^\\s+','').replace('\\s+$','');  var info     = this.parse_qualifiers(this.inline);  var anchor   = info[0];  var alias    = info[1];  var explicit = info[2];  var implicit = info[3];  var yclass   = info[4];  this.inline  = info[5];  var node;  var m;  // copy the reference  if (alias) {    if (! this.anchors[alias]) return this.error("Parse error - missing alias: "+alias);    node = this.anchors[alias];  // new key based array  } else if (m = this.inline.match('^\\{')) {    this.inline = this.inline.substring(m[0].length);    node = new Array ();    while (! (m = this.inline.match('^\\}'))) {      var key = this.parse_inline();      if (! (m = this.inline.match('^:\\s+'))) return this.error("Parse error - bad map element "+this.inline);      this.inline = this.inline.substring(m[0].length);      var value = this.parse_inline();      if (node[key]) this.warn("Warn - duplicate key found: "+key);      else node[key] = value;      if (this.inline.match('^\\}')) break;      if (! (m = this.inline.match('^,\\s*'))) return this.error("Parse error - missing map comma "+this.inline);      this.inline = this.inline.substring(m[0].length);    }    this.inline = this.inline.substring(m[0].length);      // new array  } else if (m = this.inline.match('^\\[\\s*')) {    this.inline = this.inline.substring(m[0].length);    node = new Array ();    while (! (m = this.inline.match('^\\]'))) {      node.push(this.parse_inline());      if (m = this.inline.match('^\\]')) break;      if (! (m = this.inline.match('^,\\s*'))) return this.error("Parse error - missing seq comma "+this.inline);      this.inline = this.inline.substring(m[0].length);    }    this.inline = this.inline.substring(m[0].length);  // double quoted  } else if (this.inline.match('^"')) {    if (m = this.inline.match('^"((?:"|[^"])*)"\\s*(.*)$')) {      this.inline = m[2];      m[1].replace(new RegExp('"','g'),'"');      node = m[1];    } else {      return this.error("Bad double quote "+this.inline);    }    node = unescape(node); // built in    if (implicit || top_implicit) node = this.parse_implicit(node);  // single quoted  } else if (this.inline.match("^'")) {    if (m = this.inline.match("^'((?:''|[^'])*)'\\s*(.*)$")) {       this.inline = m[2];      m[1].replace(new RegExp("''",'g'),"'");      node = m[1];    } else {      return this.error("Bad single quote "+this.inline);    }    node = unescape(node);  // built in    if (implicit || top_implicit) node = this.parse_implicit(node);  // simple  } else {    if (top) {      node = this.inline;      this.inline = '';    } else {      if (m = this.inline.match('^([^!@#%^&*,\\[\\]{}\\:]*)')) {        this.inline = this.inline.substring(m[1].length);        node = m[1];      } else {        return this.error ("Bad simple match "+this.inline);      }      if (! explicit && ! top_explicit) node = this.parse_implicit(node);    }  }  if (explicit || top_explicit) {    if (! explicit) explicit = top_explicit;    if (yclass) return this.error("Parse error - classes not supported");    else node = this.parse_explicit(node, explicit);  }  if (anchor) this.anchors[anchor] = node;  return node;}
meta: 5443	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5443/075c87d7e596ff9093a32e27ab10d55e69e0175d/yaml_load.js/buggy/lib/CGI/Ex/yaml_load.js