Branch: Tag:

2001-08-21

2001-08-21 21:50:26 by Martin Stjernholm <mast@lysator.liu.se>

Added temporary extra debug check for the intermittent "Bad argument 1
to finish(). Expected string" bug. Include the parser name in the
_sprintf functions for the types.

Rev: server/etc/modules/RXML.pmod/module.pmod:1.228

2:   //   // Created 1999-07-30 by Martin Stjernholm.   // - // $Id: module.pmod,v 1.227 2001/08/21 18:03:55 mast Exp $ + // $Id: module.pmod,v 1.228 2001/08/21 21:50:26 mast Exp $      // Kludge: Must use "RXML.refs" somewhere for the whole module to be   // loaded correctly.
3363:    else    foreach (indices (raw_args), string arg) {    Type t = atypes[arg] || tag->def_arg_type; +  +  // Temporary debug check. +  if (!stringp (raw_args[arg])) +  error ("%O: raw_args[%O] not a string:\n" +  "raw_args: %O\n" +  "atypes: %O\n" +  "raw_args == atypes: %O\n", +  this_object(), arg, raw_args, atypes, +  [mapping] raw_args == [mapping] atypes); +     if (t->parser_prog != PNone) {    Parser parser = t->get_parser (ctx, ctx_tag_set, 0, 0);    THIS_TAG_DEBUG ("Evaluating argument value %s with %O\n",
5431:    MARK_OBJECT_ONLY;    //! @endignore    -  string _sprintf() {return "RXML.Type(" + this_object()->name + ")" + OBJ_COUNT;} +  string _sprintf() +  { +  return "RXML.Type(" + this_object()->name + ", " + +  parser_prog->name + ")" + OBJ_COUNT;}   }      static class PCacheObj
5474:    return val;    }    -  string _sprintf() {return "RXML.t_any" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_any(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TNil t_nil = TNil();
5510:       int subtype_of (Type other) {return 1;}    -  string _sprintf() {return "RXML.t_nil" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_nil(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TSame t_same = TSame();
5522:    constant name = "same";    Type supertype = t_any;    constant conversion_type = 0; -  string _sprintf() {return "RXML.t_same" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_same(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TType t_type = TType();
5567:    format_short (val), describe_error (err));    }    -  string _sprintf() {return "RXML.t_type" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_type(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TParser t_parser = TParser();
5609:    format_short (val), describe_error (err));    }    -  string _sprintf() {return "RXML.t_parser" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_parser(" + parser_prog->name + ")" + OBJ_COUNT;}   }      // Basic types. Even though most of these have a `+ that fulfills
5653:    return [string|int|float] val;    }    -  string _sprintf() {return "RXML.t_scalar" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_scalar(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TNum t_num = TNum();
5697:    return [int|float] val;    }    -  string _sprintf() {return "RXML.t_num" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_num(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TInt t_int = TInt();
5738:    format_short (val), describe_error (err));    }    -  string _sprintf() {return "RXML.t_int" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_int(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TFloat t_float = TFloat();
5779:    format_short (val), describe_error (err));    }    -  string _sprintf() {return "RXML.t_float" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_float(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TString t_string = TString();
5842:    string capitalize (string val) {return String.capitalize (val);}    //! Converts the first literal character in @[val] to uppercase.    -  string _sprintf() {return "RXML.t_string" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_string(" + parser_prog->name + ")" + OBJ_COUNT;}   }      // Text types:
5873:    constant free_text = 1;    constant handle_literals = 0;    -  string _sprintf() {return "RXML.t_any_text" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_any_text(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TText t_text = TText();
5901:    format_short (val), name, describe_error (err));    }    -  string _sprintf() {return "RXML.t_text" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_text(" + parser_prog->name + ")" + OBJ_COUNT;}   }      TXml t_xml = TXml();
6052:    return "&" + entity + ";";    }    -  string _sprintf() {return "RXML.t_xml" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_xml(" + parser_prog->name + ")" + OBJ_COUNT;}   }      THtml t_html = THtml();
6074:       constant decode = 0; // Cover it; not needed here.    -  string _sprintf() {return "RXML.t_html" + OBJ_COUNT;} +  string _sprintf() {return "RXML.t_html(" + parser_prog->name + ")" + OBJ_COUNT;}   }