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

BUG REPORT: Website META Language 2.0.1 (23-May-2000)



__        ___  __ _     
\ \      / / \/  | |      Website META Language
 \ \ /\ / / |\/| | |      Version 2.0.1 (23-May-2000)
  \ V  V /| |  | | |___ 
   \_/\_/ |_|  |_|_____|  BUG REPORT
_________________________________________________________

From:     Brian Hatch
Reply-To: bri@ifokr.org
Subject:  wml incorrectly munging \" in perl

PROBLEM DESCRIPTION:

\" being corrupted in perl print statements

The following test.wml file

	<:  print "<a href=\"$variable\" > \n"; :>

survives pass 1 fine.  In pass 2 it becomes (in it's entirety)
	<:
	BEGIN {
	    unshift @INC, qw(
		/opt/pkgs/wml-2.0.1/lib/perl/lib
		/opt/pkgs/wml-2.0.1/lib/perl/lib/sparc-linux
	    );

	    $^W = 0;
	}
	:>m4_changequote()m4_changequote(`,')m4_dnl
	m4_define(`m4_noquotes', `m4_changequote()')m4_dnl
	m4_define(`m4_quotes',   `m4_changequote`'')m4_dnl
	m4_noquotes()m4_dnl
	m4_changecom()m4_dnl
	<:  print "<a href="$variable"> \n"; :>

Note the '\' was lost before the " in the print statement.  Pass 3
dies with the obvious error 
	"Scalar found where operator expected at /tmp/wml.20070.tmp1.wml line 15"


The following is a list of test strings I ran.  If it was munged
incorrectly (ie the backslash(es) dissapeared), it is noted to
 the right.  All others passed fine.


print "<\"$var>\n";
print "<\"$var>\n";
print "< \"$var>\n";
print "< \"$var >\n";
print "<a\"$var>\n";
print "<a\"$var>\n";
print "<a \"$var>\n";           # fails
print "<a \"$var >\n";          # fails

print "<\"$var\">\n";
print "<\"$var\">\n";
print "< \"$var\">\n";
print "< \"$var \">\n";
print "<a\"$var\">\n";
print "<a\"$var\">\n";
print "<a \"$var\">\n";         # fails
print "<a \"$var \">\n";        # fails

print "<q\"$var>\n";
print "<q\"$var>\n";
print "<q \"$var>\n";           # fails
print "<q \"$var >\n";          # fails
print "<q\"$var\">\n";
print "<q\"$var\">\n";
print "<q \"$var\">\n";         # fails
print "<q \"$var \">\n";        # fails

print "<;\"$var>\n";
print "<;\"$var>\n";
print "<; \"$var>\n";
print "<; \"$var >\n";
print "<;\"$var\">\n";
print "<;\"$var\">\n";
print "<; \"$var\">\n";
print "<; \"$var \">\n";

print "<1\"$var>\n";
print "<1\"$var>\n";
print "<1 \"$var>\n";
print "<1 \"$var >\n";
print "<1\"$var\">\n";
print "<1\"$var\">\n";
print "<1 \"$var\">\n";
print "<1 \"$var \">\n";



I ran across this error when trying to create the index from
www.openssl.org/index.wml (after downloading .wmlrc, openssl.wml)

the lines failing there are 343 and 344 which exhibit the exact same
problem.  Said lines are:

            print "<tr bgcolor=\"$col\">\n";
            print "  <td align=right><font face=\"Arial,Helvetica\"><b>$1:</b></font></td> <td>&nbsp;&nbsp;$2</td>\n";





PLATFORM CHARACTERISTICS:
Used WML System:
Built Environment:
    Host: sparc-whatever-linux-gnu2
    Perl: 5.005 (/usr/bin/perl)
    User: bri@entropy.cnc.ifokr.org
    Date: 31-May-2000
Built Location:
    Prefix: /opt/pkgs/wml-2.0.1
    BinDir: /opt/pkgs/wml-2.0.1/bin
    LibDir: /opt/pkgs/wml-2.0.1/lib
    ManDir: /opt/pkgs/wml-2.0.1/man

Used Perl System:
Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=linux, osvers=2.2.14-1.3.0, archname=sparc-linux
    uname='linux bart.devel.redhat.com 2.2.14-1.3.0 #1 tue jan 18 21:54:57 est 2000 sparc unknown '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
    cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
    ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
    stdchar='char', d_stdstdio=undef, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lc -lposix -lcrypt
    libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Built under linux
  Compiled at Feb  2 2000 15:46:09
  %ENV:
    PERL="/usr/bin/perl"
    PERL5="/usr/bin/perl"
    PERL5_005_03="/usr/bin/perl"
  @INC:
    /usr/lib/perl5/5.00503/sparc-linux
    /usr/lib/perl5/5.00503
    /usr/lib/perl5/site_perl/5.005/sparc-linux
    /usr/lib/perl5/site_perl/5.005
    .
______________________________________________________________________
Website META Language (WML)                www.engelschall.com/sw/wml/
Official Support Mailing List                   sw-wml@engelschall.com
Automated List Manager                       majordomo@engelschall.com