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

[BUG REPORT] WML 1.7.2 and current CVS snapshot, SunOS 5.5.1



BUG REPORT

Package: WML 1.7.2 and current CVS snapshot
Operating System: SunOS 5.5.1

Problem Description:
| The processing of the -D option always strips off a
| trailing " on the option, even if that quote has been
| escaped by a \. Thus the option
| 
|  -DFOO="moo \"bar\""
| 
| Results in things like
| 
|   --set "FOO" "moo \"bar\"
| 
| Being sent into meta-html. The problem was with the
| regex which splits the values from @opt_D up for the
| backends which use it. The regex was:
| 
|   ($var, $val) = ($d =~ m|^(.+?)="?(.*?)"?$|);
| 
| I have corrected this to the following, which handles
| trailing " correctly and leaves escaped " along so that
| the correct thing happens. The new regex is:
| 
| ($var, $val) = ($d =~ m|^(.+?)="?(.*?(?:\\")?)"?$|);
| 
| The following is a patch against wml.src from the current
| CVS snap shot which fixes the problem.
| 
| *** wml.src-ORIG        Tue Jun 29 18:02:11 1999
| --- wml.src     Tue Jun 29 18:02:49 1999
| ***************
| *** 952,964 ****
|   
|   $defipp = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?)"?$|);
|       $defipp .= " \"-D$var=$val\"";
|   }
|   $defipp .= " -M$opt_M" if $opt_M ne '-';
|   $defmhtml = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?)"?$|);
|       $defmhtml .= " --set \"$var\" \"$val\"";
|   }
|   $cnt=0;
| --- 952,964 ----
|   
|   $defipp = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?(?:\\")?)"?$|);
|       $defipp .= " \"-D$var=$val\"";
|   }
|   $defipp .= " -M$opt_M" if $opt_M ne '-';
|   $defmhtml = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?(?:\\")?)"?$|);
|       $defmhtml .= " --set \"$var\" \"$val\"";
|   }
|   $cnt=0;
| ***************
| *** 968,979 ****
|   }
|   $defeperl = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?)"?$|);
|       $defeperl .= " \"-d$var=$val\"";
|   }
|   $defgm4 = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?)"?$|);
|       $defgm4 .= " \"-Dm4_$var=$val\"";
|   }
|   
| --- 968,979 ----
|   }
|   $defeperl = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?(?:\\")?)"?$|);
|       $defeperl .= " \"-d$var=$val\"";
|   }
|   $defgm4 = '';
|   foreach $d (@opt_D) {
| !     ($var, $val) = ($d =~ m|^(.+?)="?(.*?(?:\\")?)"?$|);
|       $defgm4 .= " \"-Dm4_$var=$val\"";
|   }
|   

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