Branch: Tag:

2001-03-26

2001-03-26 16:37:10 by Martin Stjernholm <mast@lysator.liu.se>

Fixed incorrect use of Parser.HTML.parse_tag_args in Frame.propagate_tag.
Fixes the argument parsing problem in [bug 1168 (#1168)].

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

2:   //!   //! Created 1999-07-30 by Martin Stjernholm.   //! - //! $Id: module.pmod,v 1.144 2001/03/23 22:49:43 mast Exp $ + //! $Id: module.pmod,v 1.145 2001/03/26 16:37:10 mast Exp $      //! Kludge: Must use "RXML.refs" somewhere for the whole module to be   //! loaded correctly.
2056: Inside #if defined(MODULE_DEBUG)
   if (!stringp (this_object()->raw_tag_text))    fatal_error ("raw_tag_text must have a string value.\n");   #endif -  sscanf (this_object()->raw_tag_text, "%*[^ \t\n\r]%s", string str); +  if (mixed err = catch { +  Parser_HTML()->_set_tag_callback (lambda (object p) { +  args = p->tag_args(); +  throw (0); +  })->finish (this_object()->raw_tag_text); +  }) throw (err);   #ifdef DEBUG -  if (!str || !sizeof (str) || str[-1] != '>') -  fatal_error ("Failed to parse tag args from %O.\n", -  this_object()->raw_tag_text); - #endif -  args = Parser_HTML()->parse_tag_args (str); - #ifdef DEBUG +     if (!mappingp (args)) fatal_error ("Failed to parse tag args from %O.\n",    this_object()->raw_tag_text);   #endif
4132:    inherit Type;    constant name = "*";    constant conversion_type = 0; -  constant free_text = 1; // FIXME: Temporary measure. +        mixed encode (mixed val, void|Type from)    {