[Date Index][Thread Index]
[Date Prev][Date Next][Thread Prev][Thread Next]

WML 2.0.1



Hi,

i just uploaded WML 2.0.1

This release fixes all bugs reported against WML 2.0.0, and i will not
answer to each bug report separately.  So if your problem persist, please
file another one.

There have been numerous other bug fixes too.

In short main points are:

  * Undefined tags are now parsed like defined tags, it means that it is
    possible to write
       <ifeq 0 0 <img src="<get-var file>">>
    or
       <lang:en: <b>Hello, world!</b>>

  * This implies that left angle brackets inside ePerl code must be
    protected.

I did not yet document why these problems occur and how to solve them,
so here is a brief note.
Consider
    <: print "<img src=\"foo.png\">"; :>
It is expanded to
    <: print "<img src="foo.png">"; :>
by wml_p2_mp4h, and ePerl crashes.

The solution is to prevent expansion of <img>.  In this case, it could
be done with
    <: print "<"."img src=\"foo.png\">"; :>
because a valid macro name cannot begin with double quotes.

A less intuitive problem was caused by (in wml::fmt::xtable)
    <:... ;
      open (FH_XTABLE_IN, "wml_aux_freetable -w $tmpfile </dev/null |");
 ... :>
In this case, wml_p2_mp4h believes that </dev is an end tag which is not
closed, and an error is reported.  A workaround is to write
      open (FH_XTABLE_IN, "wml_aux_freetable -w $tmpfile < /dev/null |");

A third alternative is in wml::std::logo
        <perl:print>\
           #   The a tag begins here
           <a href="$url" \
              onMouseOver="self.status='$hint';return true" \
              onMouseOut="self.status='';return true"\
        </perl:print>
        if ($target ne '') {
          <perl:print> target="$target"</perl:print>
        }
        <perl:print>\
           #   and ends here
           ><img src="$file" alt="$alt" border=0></a>\
        </perl:print>
In this case i put <suck> between '<' and 'a'.

So there are many solutions, the problem is to understand why some
constructs cause trouble, and i will write something on this ASAP.

-- 
Denis Barbier
WML Maintainer

______________________________________________________________________
Website META Language (WML)                www.engelschall.com/sw/wml/
Official Support Mailing List                   sw-wml@engelschall.com
Automated List Manager                       majordomo@engelschall.com