You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@locus.apache.org on 2000/05/02 06:41:43 UTC

cvs commit: embperl/test/html escape.htm

richter     00/05/01 21:41:42

  Modified:    .        Changes.pod Embperl.pm Embperl.pod EmbperlD.pod
                        EmbperlObject.pm Faq.pod embperl.h epchar.c epdat.h
                        epmain.c eputil.c
               Embperl  Mail.pm Module.pm
               eg/x     neu.htm
               emacs    embperl.el
               test/cmp escape.htm
               test/html escape.htm
  Log:
     - New $escmode (or EMBPERL_ESCMODE) to disable the possiblilty
       to turn off escaping with a leading backslash. Adding 4 to
       any escmode will cause Embperl to do no special processing
       on the backslash. This is mainly to avoid problems with
       cross site scripting issuse, where people are able to enter
       aribtary HTML.
     - Characters between 128 and 159 are all HTML escaped now to
       avoid problems with buggy browser, which were reported to
       treat the chars 139 and 141 as < and >.
  
  Revision  Changes    Path
  1.114     +17 -0     embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- Changes.pod	2000/04/25 04:25:51	1.113
  +++ Changes.pod	2000/05/02 04:41:37	1.114
  @@ -1,5 +1,22 @@
   =pod
   
  +=head1 1.3b4_dev -- That's what currently under developement
  +
  +Last Update: <$localtime$> (MET)
  +
  +NOTE: This version is only available via L<"CVS"|CVS/"INTRO">
  +
  +   - New $escmode (or EMBPERL_ESCMODE) to disable the possiblilty
  +     to turn off escaping with a leading backslash. Adding 4 to
  +     any escmode will cause Embperl to do no special processing
  +     on the backslash. This is mainly to avoid problems with
  +     cross site scripting issuse, where people are able to enter
  +     aribtary HTML. 
  +   - Characters between 128 and 159 are all HTML escaped now to
  +     avoid problems with buggy browser, which were reported to
  +     treat the chars 139 and 141 as < and >.
  +
  +
   =head1 1.3b3 (BETA)  25.04.2000
   
      - Fixed SIGSEGV which occurs in cleanup with Perl 5.6. Spotted by 
  
  
  
  1.103     +1 -1      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -u -r1.102 -r1.103
  --- Embperl.pm	2000/04/26 04:07:16	1.102
  +++ Embperl.pm	2000/05/02 04:41:37	1.103
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Embperl.pm,v 1.102 2000/04/26 04:07:16 richter Exp $
  +#   $Id: Embperl.pm,v 1.103 2000/05/02 04:41:37 richter Exp $
   #
   ###################################################################################
   
  @@ -79,7 +79,7 @@
   @ISA = qw(Exporter DynaLoader);
   
   
  -$VERSION = '1.3b3';
  +$VERSION = '1.3b4_dev';
   
   
   # HTML::Embperl cannot be bootstrapped in nonlazy mode except
  
  
  
  1.48      +15 -3     embperl/Embperl.pod
  
  Index: Embperl.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pod,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- Embperl.pod	2000/04/25 04:25:51	1.47
  +++ Embperl.pod	2000/05/02 04:41:37	1.48
  @@ -1717,20 +1717,29 @@
   Turn HTML and URL escaping on and off.  The default is on ($escmode =
   3).
   
  +B<NOTE:> Normaly you can disable escaping by preceeding the item that
  +normaly is escaped with a backslash. While this is a handy thing, it could
  +be very dangerous in situations, where content that is inserted by some
  +user is redisplayed, because they can enter arbitary HTML and preceed them
  +with a backslash to avoid correct esaping when their input is redisplayed
  +again. To avoid this problem, add 4 to the values below. This will cause
  +Embperl to ignore the backslash when it does output escaping at all.
  +(only 1.3b4 and above)
  +
   =over 4
   
  -=item B<$escmode = 3>
  +=item B<$escmode = 3 (or 7)>
   
   The result of a Perl expression is HTML-escaped (e.g., `>' becomes
   `&gt;') in normal text and URL-escaped (e.g., `&' becomes `%26')
   within of C<A>, C<EMBED>, C<IMG>, C<IFRAME>, C<FRAME> and C<LAYER> tags.
   
  -=item B<$escmode = 2>
  +=item B<$escmode = 2 (or 6)>
   
   The result of a Perl expression is always URL-escaped (e.g., `&'
   becomes `%26').
   
  -=item B<$escmode = 1>
  +=item B<$escmode = 1 (or 5)>
   
   The result of a Perl expression is always HTML-escaped (e.g., `>'
   becomes `&gt;').
  @@ -1741,6 +1750,8 @@
   
   =back
   
  +
  +
   =head2 $req_rec
   
   This variable is only available when running under control of
  @@ -2522,6 +2533,7 @@
    Win NT/95/98 binarys
    Apache/perl/
    mod_perl/Embperl	ftp://theoryx5.uwinnipeg.ca/pub/other/ 
  +    europe              http://www.robert.cz/misc/
   
   
   =head2 CVS
  
  
  
  1.21      +11 -3     embperl/EmbperlD.pod
  
  Index: EmbperlD.pod
  ===================================================================
  RCS file: /home/cvs/embperl/EmbperlD.pod,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- EmbperlD.pod	2000/04/25 04:25:52	1.20
  +++ EmbperlD.pod	2000/05/02 04:41:37	1.21
  @@ -1620,18 +1620,25 @@
   Schaltet die HTML und URL Kodierung der Ausgabe ein und aus.
   Default ist ein (C<$escmode> = 3).
   
  +B<Hinweis:> Normalerweise kann die Kodierung durch Voranstellen eines Backslashes ('\')
  +vor das entsprechende Zeichen verhindert werden. Das ist recht n�tzlich, ist aber
  +in Situation, wo eine Benutzereingabe nochmal angezeigt wird, sehr gef�hrlich, da dies
  +dem Benuter erm�glich beliebiges HTML einzugeben. Um dies zu verhindern mu� zu den
  +unten aufgef�hrten Werten jeweils eine 4 addiert werden. Dies f�hrt dazu, dass I<Embperl>
  +den Backslash bei der Ausgabe nicht gesondert behandelt. (ab 1.3b4)
  +
   =over 4
   
  -=item $escmode = 3
  +=item $escmode = 3 (oder 7)
   
   Das Resultat von Perlausdr�cken wird HTML Kodiert (z.B. '>' wird zu '&gt;')
   und URL Kodiert ('&' wird zu '%26') innerhalb von C<A>, C<EMBED>, C<IMG>, C<IFRAME>, C<FRAME> und C<LAYER> Tags.
   
  -=item $escmode = 2
  +=item $escmode = 2 (oder 6)
   
   Das Resultat von Perlausdr�cken wird immer URL Kodiert ('&' wird zu '%26').
   
  -=item $escmode = 1
  +=item $escmode = 1 (oder 5)
   
   Das Resultat von Perlausdr�cken wird immer HTML Kodiert (z.B. '>' wird zu '&gt;').
   
  @@ -2483,6 +2490,7 @@
    Win NT/95/98 Binaries
    Apache/perl/
    mod_perl/Embperl	ftp://theoryx5.uwinnipeg.ca/pub/other/ 
  +    europe              http://www.robert.cz/misc/
   
   
   =head2 CVS
  
  
  
  1.27      +0 -0      embperl/EmbperlObject.pm
  
  Index: EmbperlObject.pm
  ===================================================================
  RCS file: /home/cvs/embperl/EmbperlObject.pm,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- EmbperlObject.pm	2000/04/26 04:07:16	1.26
  +++ EmbperlObject.pm	2000/05/02 04:41:37	1.27
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: EmbperlObject.pm,v 1.26 2000/04/26 04:07:16 richter Exp $
  +#   $Id: EmbperlObject.pm,v 1.27 2000/05/02 04:41:37 richter Exp $
   #
   ###################################################################################
   
  
  
  
  1.14      +2 -1      embperl/Faq.pod
  
  Index: Faq.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Faq.pod,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Faq.pod	2000/04/25 04:25:52	1.13
  +++ Faq.pod	2000/05/02 04:41:37	1.14
  @@ -53,7 +53,8 @@
   =head2 Is there a binary distribution of Embperl for Win32?
   
   Win NT/95/98 binarys for Apache/perl/mod_perl/Embperl are
  -available from http://www.perl.com/CPAN/authors/Jeffrey_Baker/
  +available from ftp://theoryx5.uwinnipeg.ca/pub/other/ . A
  +european mirror is at http://www.robert.cz/misc/ .
   
   
   =head2 I want to run Embperl with mod_perl under Apache. In what order should I
  
  
  
  1.17      +2 -1      embperl/embperl.h
  
  Index: embperl.h
  ===================================================================
  RCS file: /home/cvs/embperl/embperl.h,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- embperl.h	1999/10/05 06:01:18	1.16
  +++ embperl.h	2000/05/02 04:41:37	1.17
  @@ -176,7 +176,8 @@
       escNone = 0,
       escHtml = 1,
       escUrl  = 2,
  -    escStd  = 3
  +    escStd  = 3,
  +    escEscape  = 4
       } ;
   
   
  
  
  
  1.11      +65 -34    embperl/epchar.c
  
  Index: epchar.c
  ===================================================================
  RCS file: /home/cvs/embperl/epchar.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- epchar.c	2000/04/13 21:36:54	1.10
  +++ epchar.c	2000/05/02 04:41:37	1.11
  @@ -154,40 +154,39 @@
           { '}' ,   ""         },    /* 	&#125;		Right curly brace  */
           { '~' ,   ""         },    /* 	&#126;		Tilde  */
           { '' ,   ""         },    /* 	&#127;		Unused  */
  -        { '�' ,   ""         },    /* 	&#128;		Unused */
  -         
  -        { ' ' ,   ""         },    /* &#129;		Unused  */
  -        { ' ' ,   ""         },    /* &#130;		Unused  */
  -        { ' ' ,   ""         },    /* &#131;		Unused  */
  -        { ' ' ,   ""         },    /* &#132;		Unused  */
  -        { ' ' ,   ""         },    /* &#133;		Unused  */
  -        { ' ' ,   ""         },    /* &#134;		Unused  */
  -        { ' ' ,   ""         },    /* &#135;		Unused  */
  -        { ' ' ,   ""         },    /* &#136;		Unused  */
  -        { ' ' ,   ""         },    /* &#137;		Unused  */
  -        { ' ' ,   ""         },    /* &#138;		Horizontal tab  */
  -        { ' ' ,   ""         },    /* &#139;		Line feed  */
  -        { ' ' ,   ""         },    /* &#140;		Unused  */
  -        { ' ' ,   ""         },    /* &#141;		Unused  */
  -        { ' ' ,   ""         },    /* &#142;		Carriage Return  */
  -        { ' ' ,   ""         },    /* &#143;		Unused  */
  -        { ' ' ,   ""         },    /* &#144;		Unused  */
  -        { ' ' ,   ""         },    /* &#145;		Unused  */
  -        { ' ' ,   ""         },    /* &#146;		Unused  */
  -        { ' ' ,   ""         },    /* &#147;		Unused  */
  -        { ' ' ,   ""         },    /* &#148;		Unused  */
  -        { ' ' ,   ""         },    /* &#149;		Unused  */
  -        { ' ' ,   ""         },    /* &#150;		Unused  */
  -        { ' ' ,   ""         },    /* &#151;		Unused  */
  -        { ' ' ,   ""         },    /* &#152;		Unused  */
  -        { ' ' ,   ""         },    /* &#153;		Unused  */
  -        { ' ' ,   ""         },    /* &#154;		Unused  */
  -        { ' ' ,   ""         },    /* &#155;		Unused  */
  -        { ' ' ,   ""         },    /* &#156;		Unused  */
  -        { ' ' ,   ""         },    /* &#157;		Unused  */
  -        { ' ' ,   ""         },    /* &#158;		Unused  */
  -        { ' ' ,   ""         },    /* &#159;		Unused  */
  -        { ' ' ,   "&nbsp;"   },    /* 	Non-breaking Space  */
  +        { '\x80' ,   "&#128;"         },    /* 	&#128;		Unused */
  +        { '\x81' ,   "&#129;"         },    /* &#129;		Unused  */
  +        { '\x82' ,   "&#130;"         },    /* &#130;		Unused  */
  +        { '\x83' ,   "&#131;"         },    /* &#131;		Unused  */
  +        { '\x84' ,   "&#132;"         },    /* &#132;		Unused  */
  +        { '\x85' ,   "&#133;"         },    /* &#133;		Unused  */
  +        { '\x86' ,   "&#134;"         },    /* &#134;		Unused  */
  +        { '\x87' ,   "&#135;"         },    /* &#135;		Unused  */
  +        { '\x88' ,   "&#136;"         },    /* &#136;		Unused  */
  +        { '\x89' ,   "&#137;"         },    /* &#137;		Unused  */
  +        { '\x8a' ,   "&#138;"         },    /* &#138;		Horizontal tab  */
  +        { '\x8b' ,   "&#139;"         },    /* &#139;		Line feed  */
  +        { '\x8c' ,   "&#140;"         },    /* &#140;		Unused  */
  +        { '\x8d' ,   "&#141;"         },    /* &#141;		Unused  */
  +        { '\x8e' ,   "&#142;"         },    /* &#142;		Carriage Return  */
  +        { '\x8f' ,   "&#143;"         },    /* &#143;		Unused  */
  +        { '\x90' ,   "&#144;"         },    /* &#144;		Unused  */
  +        { '\x91' ,   "&#145;"         },    /* &#145;		Unused  */
  +        { '\x92' ,   "&#146;"         },    /* &#146;		Unused  */
  +        { '\x93' ,   "&#147;"         },    /* &#147;		Unused  */
  +        { '\x94' ,   "&#148;"         },    /* &#148;		Unused  */
  +        { '\x95' ,   "&#149;"         },    /* &#149;		Unused  */
  +        { '\x96' ,   "&#150;"         },    /* &#150;		Unused  */
  +        { '\x97' ,   "&#151;"         },    /* &#151;		Unused  */
  +        { '\x98' ,   "&#152;"         },    /* &#152;		Unused  */
  +        { '\x99' ,   "&#153;"         },    /* &#153;		Unused  */
  +        { '\x9a' ,   "&#154;"         },    /* &#154;		Unused  */
  +        { '\x9b' ,   "&#155;"         },    /* &#155;		Unused  */
  +        { '\x9c' ,   "&#156;"         },    /* &#156;		Unused  */
  +        { '\x9d' ,   "&#157;"         },    /* &#157;		Unused  */
  +        { '\x9e' ,   "&#158;"         },    /* &#158;		Unused  */
  +        { '\x9f' ,   "&#159;"         },    /* &#159;		Unused  */
  +        { '\xa0' ,   "&nbsp;"   },    /* 	Non-breaking Space  */
           { '�' ,   "&iexcl;"  },    /* 	Inverted exclamation    */
           { '�' ,   "&cent;"   },    /* 	Cent sign               */
           { '�' ,   "&pound;"  },    /* 	Pound sterling  */
  @@ -555,6 +554,38 @@
   struct tCharTrans Html2Char [] = 
    
       {
  +        { '\x80' ,   "&#128;"         },    /* &#129;		Unused  */
  +        { '\x81' ,   "&#129;"         },    /* &#129;		Unused  */
  +        { '\x82' ,   "&#130;"         },    /* &#130;		Unused  */
  +        { '\x83' ,   "&#131;"         },    /* &#131;		Unused  */
  +        { '\x84' ,   "&#132;"         },    /* &#132;		Unused  */
  +        { '\x85' ,   "&#133;"         },    /* &#133;		Unused  */
  +        { '\x86' ,   "&#134;"         },    /* &#134;		Unused  */
  +        { '\x87' ,   "&#135;"         },    /* &#135;		Unused  */
  +        { '\x88' ,   "&#136;"         },    /* &#136;		Unused  */
  +        { '\x89' ,   "&#137;"         },    /* &#137;		Unused  */
  +        { '\x8a' ,   "&#138;"         },    /* &#138;		Horizontal tab  */
  +        { '\x8b' ,   "&#139;"         },    /* &#139;		Line feed  */
  +        { '\x8c' ,   "&#140;"         },    /* &#140;		Unused  */
  +        { '\x8d' ,   "&#141;"         },    /* &#141;		Unused  */
  +        { '\x8e' ,   "&#142;"         },    /* &#142;		Carriage Return  */
  +        { '\x8f' ,   "&#143;"         },    /* &#143;		Unused  */
  +        { '\x90' ,   "&#144;"         },    /* &#144;		Unused  */
  +        { '\x91' ,   "&#145;"         },    /* &#145;		Unused  */
  +        { '\x92' ,   "&#146;"         },    /* &#146;		Unused  */
  +        { '\x93' ,   "&#147;"         },    /* &#147;		Unused  */
  +        { '\x94' ,   "&#148;"         },    /* &#148;		Unused  */
  +        { '\x95' ,   "&#149;"         },    /* &#149;		Unused  */
  +        { '\x96' ,   "&#150;"         },    /* &#150;		Unused  */
  +        { '\x97' ,   "&#151;"         },    /* &#151;		Unused  */
  +        { '\x98' ,   "&#152;"         },    /* &#152;		Unused  */
  +        { '\x99' ,   "&#153;"         },    /* &#153;		Unused  */
  +        { '\x9a' ,   "&#154;"         },    /* &#154;		Unused  */
  +        { '\x9b' ,   "&#155;"         },    /* &#155;		Unused  */
  +        { '\x9c' ,   "&#156;"         },    /* &#156;		Unused  */
  +        { '\x9d' ,   "&#157;"         },    /* &#157;		Unused  */
  +        { '\x9e' ,   "&#158;"         },    /* &#158;		Unused  */
  +        { '\x9f' ,   "&#159;"         },    /* &#159;		Unused  */
           { '�' ,   "&AElig"  },    /* 	Capital AE ligature  */
           { '�' ,   "&Aacute" },    /* 	Capital A, acute accent  */
           { '�' ,   "&Acirc"  },    /* 	Capital A, circumflex  */
  
  
  
  1.17      +2 -1      embperl/epdat.h
  
  Index: epdat.h
  ===================================================================
  RCS file: /home/cvs/embperl/epdat.h,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- epdat.h	1999/10/07 07:06:43	1.16
  +++ epdat.h	2000/05/02 04:41:37	1.17
  @@ -292,7 +292,8 @@
   
       struct tCharTrans * pCurrEscape ;   /* pointer to current escape table */
       struct tCharTrans * pNextEscape ;   /* pointer to next escape table (after end of block) */
  -    int                 nEscMode ;      /* current escape mode */
  +    int                 nEscMode ;      /* escape mode set by the user */
  +    int                 nCurrEscMode ;  /* current active escape mode */
       int                 bEscModeSet ;   /* escape mode already set in this block */
       int                 bEscInUrl ;     /* we are inside an url */
       
  
  
  
  1.65      +5 -1      embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- epmain.c	2000/03/29 07:00:39	1.64
  +++ epmain.c	2000/05/02 04:41:37	1.65
  @@ -294,14 +294,17 @@
   
       {
       if (r -> nEscMode & escHtml && !r -> bEscInUrl)
  -        r -> pNextEscape = Char2Html ;
  +	r -> pNextEscape = Char2Html ;
       else if (r -> nEscMode & escUrl)
           r -> pNextEscape = Char2Url ;
       else 
           r -> pNextEscape = NULL ;
   
       if (r -> bEscModeSet < 1)
  +	{
           r -> pCurrEscape = r -> pNextEscape ;
  +        r -> nCurrEscMode = r -> nEscMode ;
  +	}
   
       if (r -> bEscModeSet < 0 && pSV && SvOK (pSV))
           r -> bEscModeSet = 1 ;
  @@ -1252,6 +1255,7 @@
       r -> Buf.pLineNoCurrPos = NULL ;    
   
       r -> nEscMode = escStd ;
  +    r -> nCurrEscMode = escStd ;
   
       if ((rc = OpenLog (r, sLogFile, ((r -> bDebug & dbgFunc) || (r -> bOptions & optOpenLogEarly))?1:0)) != ok)
           { 
  
  
  
  1.14      +1 -1      embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- eputil.c	1999/11/02 08:32:51	1.13
  +++ eputil.c	2000/05/02 04:41:38	1.14
  @@ -44,7 +44,7 @@
       
       while (*sData)
           {
  -        if (*sData == '\\')
  +        if (*sData == '\\' && (r -> nCurrEscMode & escEscape) == 0)
               {
               if (p != sData)
                   owrite (r, p, sData - p) ;
  
  
  
  1.26      +0 -0      embperl/Embperl/Mail.pm
  
  Index: Mail.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Mail.pm,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- Mail.pm	2000/04/26 04:07:16	1.25
  +++ Mail.pm	2000/05/02 04:41:39	1.26
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Mail.pm,v 1.25 2000/04/26 04:07:16 richter Exp $
  +#   $Id: Mail.pm,v 1.26 2000/05/02 04:41:39 richter Exp $
   #
   ###################################################################################
   
  
  
  
  1.27      +0 -0      embperl/Embperl/Module.pm
  
  Index: Module.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Module.pm,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- Module.pm	2000/04/26 04:07:16	1.26
  +++ Module.pm	2000/05/02 04:41:39	1.27
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Module.pm,v 1.26 2000/04/26 04:07:16 richter Exp $
  +#   $Id: Module.pm,v 1.27 2000/05/02 04:41:39 richter Exp $
   #
   ###################################################################################
   
  @@ -25,7 +25,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Module.pm,v 1.26 2000/04/26 04:07:16 richter Exp $
  +#   $Id: Module.pm,v 1.27 2000/05/02 04:41:39 richter Exp $
   #
   ###################################################################################
   
  
  
  
  1.2       +1 -1      embperl/eg/x/neu.htm
  
  Index: neu.htm
  ===================================================================
  RCS file: /home/cvs/embperl/eg/x/neu.htm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- neu.htm	1998/07/14 20:11:26	1.1
  +++ neu.htm	2000/05/02 04:41:40	1.2
  @@ -5,7 +5,7 @@
   <title>Example for creating a wizard with Embperl</title>
   </head>
   <body background="../images/jazzbkgd.gif">
  -<p>[- $b = defined($fdat{back})-][- $c =
  +<p>[- $escmode = 7 -][- $b = defined($fdat{back})-][- $c =
   defined($fdat{cont})-][-$kn = $fdat{Kundennummer} eq 'Ja'-][-$p =
   $fdat{page}<br>
   -][$if $p==0 or ($p==2 and $b) or ($p==4 and $b and !$kn)$]</p>
  
  
  
  1.95      +0 -0      embperl/emacs/embperl.el
  
  Index: embperl.el
  ===================================================================
  RCS file: /home/cvs/embperl/emacs/embperl.el,v
  retrieving revision 1.94
  retrieving revision 1.95
  diff -u -r1.94 -r1.95
  --- embperl.el	2000/04/26 04:07:17	1.94
  +++ embperl.el	2000/05/02 04:41:40	1.95
  @@ -19,9 +19,9 @@
   ;; Author          : Erik Arneson (erik@mind.net)
   ;; Created On      : Wed Jul 22 17:16:39 PDT 1998
   ;; Last Modified By: Erik Arneson
  -;; Last Modified On: $Date: 2000/04/26 04:07:17 $
  +;; Last Modified On: $Date: 2000/05/02 04:41:40 $
   ;; Version         : 1.00
  -;; $Id: embperl.el,v 1.94 2000/04/26 04:07:17 richter Exp $
  +;; $Id: embperl.el,v 1.95 2000/05/02 04:41:40 richter Exp $
   ;;
   ;; Please note that this software is very beta and rather broken.  I
   ;; don't know how useful it will be, although I definitely plan on
  
  
  
  1.15      +26 -5     embperl/test/cmp/escape.htm
  
  Index: escape.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/escape.htm,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- escape.htm	2000/04/17 21:03:17	1.14
  +++ escape.htm	2000/05/02 04:41:41	1.15
  @@ -74,10 +74,31 @@
   What is the EscMode? 3
   file.html?name=abcd&amp;data=xyz
   Now we localy set $escmode:<BR>
  -(this is the value in $a) ������???<&+  <BR>
  -(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+  <BR>
  -(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++<BR>
  -(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+  <BR>
  +(this is the value in $a) ������???<&+    \<a><BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    <a&gt;<BR>
  +(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++<a%3E<BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    <a&gt;<BR>
  +(this is the value in $a) ������???<&+    \<a><BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    \&lt;a&gt;<BR>
  +(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++\%3Ca%3E<BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    \&lt;a&gt;<BR>
  +
  +Same without local:
  +(this is the value in $a) ������???<&+    \<a><BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    <a&gt;<BR>
  +(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++<a%3E<BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    <a&gt;<BR>
  +(this is the value in $a) ������???<&+    \<a><BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    \&lt;a&gt;<BR>
  +(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++\%3Ca%3E<BR>
  +(this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+    \&lt;a&gt;<BR>
  +
  +
  +Control Chars 0x80-0x9f:
  +&#128;&#129;&#130;&#131;&#132;&#133;&#134;&#135;&#136;&#137;&#138;&#139;&#140;&#141;&#142;&#143;&#144;&#145;&#146;&#147;&#148;&#149;&#150;&#151;&#152;&#153;&#154;&#155;&#156;&#157;&#158;&#159;&nbsp;<BR>
  +
  +Control Chars 129 & 130:
  +&amp;#129;&amp;#130;<BR>
   
   0
   <A HREF='http://host/script?name=My+Name+���'>
  @@ -195,4 +216,4 @@
   
   </body>
   </html>
  -
  +
  
  
  
  1.11      +25 -4     embperl/test/html/escape.htm
  
  Index: escape.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/escape.htm,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- escape.htm	1999/10/07 07:07:06	1.10
  +++ escape.htm	2000/05/02 04:41:41	1.11
  @@ -104,10 +104,31 @@
   [+ foo (0) +]
   
   Now we localy set $escmode:<BR>
  -[+  local $escmode = 0 ; $b +]<BR>
  -[+  local $escmode = 1 ; $b +]<BR>
  -[+  local $escmode = 2 ; $b +]<BR>
  -[+  local $escmode = 3 ; $b +]<BR>
  +[+  local $escmode = 0 ; $b . "  \\\\<a>" +]<BR>
  +[+  local $escmode = 1 ; $b . "  \\\\<a>"  +]<BR>
  +[+  local $escmode = 2 ; $b . "  \\\\<a>"  +]<BR>
  +[+  local $escmode = 3 ; $b . "  \\\\<a>"  +]<BR>
  +[+  local $escmode = 4 ; $b . "  \\\\<a>"  +]<BR>
  +[+  local $escmode = 5 ; $b . "  \\\\<a>"  +]<BR>
  +[+  local $escmode = 6 ; $b . "  \\\\<a>"  +]<BR>
  +[+  local $escmode = 7 ; $b . "  \\\\<a>"  +]<BR>
  +
  +Same without local:
  +[+  $escmode = 0 ; $b . "  \\\\<a>" +]<BR>
  +[+  $escmode = 1 ; $b . "  \\\\<a>"  +]<BR>
  +[+  $escmode = 2 ; $b . "  \\\\<a>"  +]<BR>
  +[+  $escmode = 3 ; $b . "  \\\\<a>"  +]<BR>
  +[+  $escmode = 4 ; $b . "  \\\\<a>"  +]<BR>
  +[+  $escmode = 5 ; $b . "  \\\\<a>"  +]<BR>
  +[+  $escmode = 6 ; $b . "  \\\\<a>"  +]<BR>
  +[+  $escmode = 7 ; $b . "  \\\\<a>"  +]<BR>
  +
  +
  +Control Chars 0x80-0x9f:
  +[+  local $escmode = 7 ; foreach (127..160) { $cc .= chr ($_) }; $cc +]<BR>
  +
  +Control Chars 129 & 130:
  +[+  local $escmode = 7 ; "&#129;&#130;" +]<BR>
   
   [+ $n = 'My Name ���' ; $escmode = 0 +]