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...@apache.org on 2001/11/02 12:34:28 UTC

cvs commit: embperl/test/html escape.htm

richter     01/11/02 03:34:28

  Modified:    .        Tag: Embperl2c Changes.pod DOM.xs Embperl.pm
                        Embperl.pod EmbperlD.pod MANIFEST Makefile.PL
                        README.v2 TODO embperl.h ep.h epchar.c epcomp.c
                        epdom.c epdom.h epmain.c eputil.c
               test/cmp Tag: Embperl2c epobase.htm escape.htm
               test/html Tag: Embperl2c escape.htm
  Added:       .        Tag: Embperl2c embpfastcgi.pl.templ
  Log:
  Embperl 2 - embpfastcgi & xml escmode & bug fixes
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.34 +18 -10    embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.33
  retrieving revision 1.129.4.34
  diff -u -r1.129.4.33 -r1.129.4.34
  --- Changes.pod	2001/10/31 13:47:41	1.129.4.33
  +++ Changes.pod	2001/11/02 11:34:25	1.129.4.34
  @@ -6,7 +6,7 @@
        thru any unkown fields.
      - Fixed problem when loading syntax. Spotted by Michael Stevens.
      - Allow Perl code inside of HTML attributes in ASP syntax, together with
  -     EmbperlHTML syntax. SPotted by Ivan G. Shevchenko.
  +     EmbperlHTML syntax. Spotted by Ivan G. Shevchenko.
      - Added POD syntax, which converts POD to XML, which can transformed to
        any other output format using XSLT.
      - Enhanced Makefile.PL to support plugins for linking of extra libraries.
  @@ -20,17 +20,12 @@
      - Add new debug flags dbgOutput, dbgRun, dbgCache, dbgCompile, dbgXML,
        dbgXSLT, dbgCheckpoint, dbgDOM to have a more fine control what's
        going into the log file
  -   - Removed obsolete debug flags dbgDisableCache, dbgWatchScalar,
  -     dbgEarlyHttpHeader
  -   - Chnages in Embperl's internal tree representation, to fix serveral
  +   - Changes in Embperl's internal tree representation, to fix serveral
        small problems and in preparation for proper XML handling.
      - print OUT inside loop works now correctly      
  +   - Added new escmode 8/15 which generates correct XML escaping. 
  +   - $row_foo will no longer treated as $row. Bug reported by Dave Fischer. 
   
  -   - Embperl can now be installed as Apache and non Apache version on the
  -     same system. This is neccessary to work on Windows in- and outside of
  -     Apache.
  -   - Fixed a linkage problem with symbol embperl_module, first reported
  -     by GustavKristoffer Ek.
   
   =head1 2.0b3 (BETA) 9. July 2001
   
  @@ -142,7 +137,8 @@
        with POSTed data reported by Lukas Zapletal.
      - Display correct Apache module name in Makefile.PL when
        requesting path for Apache module. Patch from James Lee.
  -   - New session handling using Apache::SessionX
  +   - New session handling using Apache::SessionX. (This also
  +     fixes problem with MD5 and Perl 5.6.1)
      - Fixed a bug that cause file-uploads to fail for the first 
        request to a file when running under EmbperlObject. Reported
        by Thoren Johne.
  @@ -155,6 +151,8 @@
      - If Perl's STDOUT and/or STDIN are tied to any package, Embperl now
        calls the Perl methods PRINT and READ for doing I/O. This currently
        only works, when not running under mod_perl.
  +   - Embperl can now run under FastCGI. Use embpfastcgi.pl instead of
  +     embpcgi.pl.
      - Delete unnecessary PerlFixupHandler from httpd.conf.src for make test.
        Reported by David Merberg.      
      - Add undef to %idat for select tag with nothing selected if
  @@ -163,6 +161,16 @@
        Problem reported by Kee Hinckley.
      - Embperl can now use encrypted sourcefiles. See crypto/README for
        details.
  +   - Embperl can now be installed as Apache and non Apache version on the
  +     same system. This is neccessary to work on Windows in- and outside of
  +     Apache.
  +   - Fixed a linkage problem with symbol embperl_module, first reported
  +     by GustavKristoffer Ek.
  +   - error message now always contain a filename.
  +   - Added optShowBacktrace to enable backtrace of filename in error messages
  +   - Removed obsolete debug flags dbgDisableCache, dbgWatchScalar,
  +     dbgEarlyHttpHeader
  +
   
   =head1 1.3.3 (RELEASE)   6. Juni 2001
   
  
  
  
  1.1.2.19  +4 -4      embperl/DOM.xs
  
  Index: DOM.xs
  ===================================================================
  RCS file: /home/cvs/embperl/DOM.xs,v
  retrieving revision 1.1.2.18
  retrieving revision 1.1.2.19
  diff -u -r1.1.2.18 -r1.1.2.19
  --- DOM.xs	2001/10/29 20:07:12	1.1.2.18
  +++ DOM.xs	2001/11/02 11:34:25	1.1.2.19
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: DOM.xs,v 1.1.2.18 2001/10/29 20:07:12 richter Exp $
  +#   $Id: DOM.xs,v 1.1.2.19 2001/11/02 11:34:25 richter Exp $
   #
   ###################################################################################
   
  @@ -63,7 +63,7 @@
   PPCODE:
       SvGETMAGIC_P4(sText) ;
       s = SV2String (sText, l) ;
  -    Node_replaceChildWithCDATA (DomTree_self(pDomNode -> xDomTree), pDomNode -> xNode, pCurrReq -> nCurrRepeatLevel, s, l, (pCurrReq -> nCurrEscMode & 3)== 3?1 + (pCurrReq -> nCurrEscMode & 4):pCurrReq -> nCurrEscMode, 0) ;
  +    Node_replaceChildWithCDATA (DomTree_self(pDomNode -> xDomTree), pDomNode -> xNode, pCurrReq -> nCurrRepeatLevel, s, l, (pCurrReq -> nCurrEscMode & 11)== 3?1 + (pCurrReq -> nCurrEscMode & 4):pCurrReq -> nCurrEscMode, 0) ;
       pCurrReq -> nCurrEscMode = pCurrReq -> nEscMode ;
       pCurrReq -> bEscModeSet = -1 ;
       /*SvREFCNT_inc (sText) ;*/
  @@ -82,7 +82,7 @@
   PPCODE:
       SvGETMAGIC_P4(sText) ;
       s = SV2String (sText, l) ;
  -    Node_replaceChildWithCDATA (DomTree_self(xDomTree), xOldChild, pCurrReq -> nCurrRepeatLevel, s, l, (pCurrReq -> nCurrEscMode & 3)== 3?1 + (pCurrReq -> nCurrEscMode & 4):pCurrReq -> nCurrEscMode, 0) ;
  +    Node_replaceChildWithCDATA (DomTree_self(xDomTree), xOldChild, pCurrReq -> nCurrRepeatLevel, s, l, (pCurrReq -> nCurrEscMode & 11)== 3?1 + (pCurrReq -> nCurrEscMode & 4):pCurrReq -> nCurrEscMode, 0) ;
       pCurrReq -> nCurrEscMode = pCurrReq -> nEscMode ;
       pCurrReq -> bEscModeSet = -1 ;
       /*SvREFCNT_inc (sText) ;*/
  @@ -100,7 +100,7 @@
   PPCODE:
       SvGETMAGIC_P4(sText) ;
       s = SV2String (sText, l) ;
  -    Node_replaceChildWithCDATA (DomTree_self(pCurrReq -> xCurrDomTree), xOldChild, pCurrReq -> nCurrRepeatLevel, s, l, (pCurrReq -> nCurrEscMode & 3)== 3?1 + (pCurrReq -> nCurrEscMode & 4):pCurrReq -> nCurrEscMode, 0) ;
  +    Node_replaceChildWithCDATA (DomTree_self(pCurrReq -> xCurrDomTree), xOldChild, pCurrReq -> nCurrRepeatLevel, s, l, (pCurrReq -> nCurrEscMode & 11)== 3?1 + (pCurrReq -> nCurrEscMode & 4):pCurrReq -> nCurrEscMode, 0) ;
       pCurrReq -> nCurrEscMode = pCurrReq -> nEscMode ;
       pCurrReq -> bEscModeSet = -1 ;
       /*SvREFCNT_inc (sText) ;*/
  
  
  
  1.118.4.55 +4 -3      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.118.4.54
  retrieving revision 1.118.4.55
  diff -u -r1.118.4.54 -r1.118.4.55
  --- Embperl.pm	2001/10/31 13:47:41	1.118.4.54
  +++ Embperl.pm	2001/11/02 11:34:25	1.118.4.55
  @@ -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.118.4.54 2001/10/31 13:47:41 richter Exp $
  +#   $Id: Embperl.pm,v 1.118.4.55 2001/11/02 11:34:25 richter Exp $
   #
   ###################################################################################
   
  @@ -151,6 +151,7 @@
   use constant escStd                 => 3 ;
   use constant escUrl                 => 2 ;
   use constant escEscape              => 4 ;
  +use constant escXML                 => 8 ;
   
   
   use constant optDisableChdir            => 128 ;
  @@ -390,7 +391,7 @@
       create_unknown => 1,
       ) ;
   my $session_handler = $ENV{EMBPERL_SESSION_HANDLER_CLASS} || 'Apache::SessionX' ; 
  -my $ver  ;
  +my $ver = '' ;
   
   if (defined ($ENV{EMBPERL_SESSION_ARGS}))
       {
  @@ -445,7 +446,7 @@
       if ($@)
           { 
           warn "[$$]SES:  Embperl Session management DISABLED beause of following error: $@\n" .
  -             "Set \$ENV{EMBPERL_SESSION_HANDLER_CLASS} to 'no' before loading Embperl to avoid this message" ;
  +             "Set \$ENV{EMBPERL_SESSION_HANDLER_CLASS} to 'no' before loading Embperl to avoid this message" if ($ENV{GATEWAY_INTERFACE}) ;
           $SessionMgnt = 0 ;
           }
       else
  
  
  
  1.56.4.12 +13 -0     embperl/Embperl.pod
  
  Index: Embperl.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pod,v
  retrieving revision 1.56.4.11
  retrieving revision 1.56.4.12
  diff -u -r1.56.4.11 -r1.56.4.12
  --- Embperl.pod	2001/11/02 09:48:22	1.56.4.11
  +++ Embperl.pod	2001/11/02 11:34:25	1.56.4.12
  @@ -79,6 +79,8 @@
   B<embpcgi.bat>
   
   Use embpcgi.pl on Unix systems and embpcgi.bat on Win32 systems.
  +You can also run Embperl with B<FastCGI>, in this case use embpfastcgi.pl
  +as cgi script. You must have FCGI.pm installed.
   
   If C<embpcgi.pl/embpcgi.bat> is invoked without any parameters and the
   environment variable B<PATH_TRANSLATED> is set, it runs itself as a CGI
  @@ -606,6 +608,12 @@
   
   where C<$errors> is a array reference. (1.3b5+)
   
  +=item optShowBacktrace = 0x8000000
  +
  +When set every error message not only show the sourcefiles, but all files
  +from which this file was called by Execute.
  +
  +
   =item optSafeNamespace = 4
   
   Tells Embperl to execute the embedded code in a safe namespace so the
  @@ -1798,6 +1806,11 @@
   to zero. (only 1.3b6 and above)
   
   =over 4
  +
  +=item B<$escmode = 8 (or 15)> (2.0b4 and above)
  +
  +The result of a Perl expression is always XML-escaped (e.g., `>'
  +becomes `&gt;' and ' become &apos;).
   
   =item B<$escmode = 3 (or 7)>
   
  
  
  
  1.29.4.11 +12 -2     embperl/EmbperlD.pod
  
  Index: EmbperlD.pod
  ===================================================================
  RCS file: /home/cvs/embperl/EmbperlD.pod,v
  retrieving revision 1.29.4.10
  retrieving revision 1.29.4.11
  diff -u -r1.29.4.10 -r1.29.4.11
  --- EmbperlD.pod	2001/11/02 09:48:22	1.29.4.10
  +++ EmbperlD.pod	2001/11/02 11:34:25	1.29.4.11
  @@ -110,8 +110,9 @@
   
   Um I<Embperl> als B<CGI Skript> zu nutzen, m�ssen Sie die Datei
   C<embpcgi.pl> (bzw. C<embpcgi.bat> unter Windows) in Ihr CGI
  -Verzeichnis kopieren (oft C</cgi-bin>). Zum Aufrufen verwenden Sie
  -die URL
  +Verzeichnis kopieren (oft C</cgi-bin>). Zur Benutzung mit FastCGI
  +zusammen, verwenden Sie die Datei embpfastcgi.pl.
  +Zum Aufrufen verwenden Sie die URL
   
    http://www.domain.de/cgi-bin/embpcgi.pl/uri/ihres/embperl/dokuments
   
  @@ -553,7 +554,11 @@
   
   zu ermitteln, wobei C<$errors> eine Arrayreferenz ist. (1.3b5+)
   
  +=item optShowBacktrace = 0x8000000
   
  +Wenn gesetzt wird bei der Ausgabe von Fehlermeldungen zus�tzlich eine Liste
  +aller Dateien ausgegeben diese die aktulle Sourcedatei aufgerufen haben.
  +
   =item optSafeNamespace = 4
   
   Veranlasst I<Embperl> den Code in einem sicheren Namensraum auszuf�hren.
  @@ -1712,6 +1717,11 @@
   B<Hinweis 2:>Um bin�re Daten auszugeben mu� escmode auf Null gesetzt werden (ab 1.3b6)
   
   =over 4
  +
  +=item B<$escmode = 8 (oder 15)> (2.0b4 und h�her)
  +
  +Das Resultat von Perlausdr�cken wird immer XML Kodiert 
  +(z.B. '>' wird zu '&gt;' und ' zu &apos;).
   
   =item $escmode = 3 (oder 7)
   
  
  
  
  1.50.4.32 +1 -0      embperl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /home/cvs/embperl/MANIFEST,v
  retrieving revision 1.50.4.31
  retrieving revision 1.50.4.32
  diff -u -r1.50.4.31 -r1.50.4.32
  --- MANIFEST	2001/10/31 13:26:42	1.50.4.31
  +++ MANIFEST	2001/11/02 11:34:25	1.50.4.32
  @@ -153,6 +153,7 @@
   epocgi.pl.templ
   epocgi.bat.templ
   epocgi.test.pl.templ
  +embpfastcgi.pl.templ
   ep.h
   epdat.h
   epio.c
  
  
  
  1.31.4.31 +2 -1      embperl/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /home/cvs/embperl/Makefile.PL,v
  retrieving revision 1.31.4.30
  retrieving revision 1.31.4.31
  diff -u -r1.31.4.30 -r1.31.4.31
  --- Makefile.PL	2001/10/30 09:54:34	1.31.4.30
  +++ Makefile.PL	2001/11/02 11:34:25	1.31.4.31
  @@ -3,7 +3,7 @@
   #
   # (C) 1997-2001 G.Richter (richter@dev.ecos.de) / ECOS
   #
  -# $Id: Makefile.PL,v 1.31.4.30 2001/10/30 09:54:34 richter Exp $
  +# $Id: Makefile.PL,v 1.31.4.31 2001/11/02 11:34:25 richter Exp $
   #
   
   
  @@ -1146,6 +1146,7 @@
   
   @bins = ('embpexec.pl','embpexec.bat', 
            'embpcgi.pl', 'embpcgi.test.pl', 'embpcgi.bat',
  +	 'embpfastcgi.pl',
            'epocgi.pl', 'epocgi.test.pl', 'epocgi.bat') ;
   
   
  
  
  
  1.1.4.14  +3 -2      embperl/Attic/README.v2
  
  Index: README.v2
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/README.v2,v
  retrieving revision 1.1.4.13
  retrieving revision 1.1.4.14
  diff -u -r1.1.4.13 -r1.1.4.14
  --- README.v2	2001/09/20 20:02:02	1.1.4.13
  +++ README.v2	2001/11/02 11:34:25	1.1.4.14
  @@ -9,7 +9,7 @@
   WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 
   MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   
  -$Id: README.v2,v 1.1.4.13 2001/09/20 20:02:02 richter Exp $
  +$Id: README.v2,v 1.1.4.14 2001/11/02 11:34:25 richter Exp $
   
   
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
  @@ -315,7 +315,8 @@
   file. You can also use the EMBPERL_XSLTSTYLESHEET configuration directive
   to set it from your configuration file.
   
  -
  +By setting EMBPERL_ESCMODE (or $escmode) to 15 you get the correct escaping
  +for XML.
   
   -------------------
   
  
  
  
  1.97.4.7  +0 -25     embperl/TODO
  
  Index: TODO
  ===================================================================
  RCS file: /home/cvs/embperl/TODO,v
  retrieving revision 1.97.4.6
  retrieving revision 1.97.4.7
  diff -u -r1.97.4.6 -r1.97.4.7
  --- TODO	2001/09/01 21:50:00	1.97.4.6
  +++ TODO	2001/11/02 11:34:25	1.97.4.7
  @@ -15,20 +15,14 @@
   
   - optKeepSpaces in <pre>
   
  -- BEGIN/END Blocks [Jason Bodnar 6.10.99]
  -
   - return value from sub
   
   - remove \n in perl code? when and how?
   
  -- url/html escaping [Eugene B. Byrganov 4.11.99]
  -
   - accpect unclosed html structs [Eugene B. Byrganov 9.11.99]
   
   - use APXS for LIBEXECDIR etc. [Matthias Ulrichs 22.11.99]
   
  -- url escape <input src>
  -
   - handle input image (add field.x/y to %idat) [Pierre Etchemaite 13.12.99]
   
   - make multifiled delimiter \t configurabel [Jean-Philippe FAUVELLE 13.12.99]
  @@ -54,18 +48,7 @@
   
   Bugs
   ----
  -- Embperl version number [Eric CHOLET]
  -
  -- errorright output
  -
  -- [* *] inside if [Vasco Chita 1.5.99] -> done in 2.0
  -
  -- StackFree in offline mode
   
  -- SIG DIE missing message arg [Alex Schmelkin 24.8.99]
  -
  -- contrib from Ken Hinckley 2.12.99
  -
   - var cleanup of in imported subs [Lai Yiu Fai 14.3.00] 
   
   - using outputfile inside a outputfile crashs
  @@ -117,18 +100,10 @@
   
   - Execute inside html tags [Jonny Cavell 26.4.01]
   
  -- print OUT inside loop [Michael Stevens 26.4.01]
  -
  -- add filename to error messages [ Michael Stevens 15.08.01]
   
   Docs 2.0
   --------
   
   
  -
  -optimazation
  -------------
  -
  -- don't create new node for unmodified checkbox/option -> embperlCmd_SetRemove
   
   
  
  
  
  1.19.4.10 +5 -3      embperl/embperl.h
  
  Index: embperl.h
  ===================================================================
  RCS file: /home/cvs/embperl/embperl.h,v
  retrieving revision 1.19.4.9
  retrieving revision 1.19.4.10
  diff -u -r1.19.4.9 -r1.19.4.10
  --- embperl.h	2001/10/31 13:47:41	1.19.4.9
  +++ embperl.h	2001/11/02 11:34:25	1.19.4.10
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: embperl.h,v 1.19.4.9 2001/10/31 13:47:41 richter Exp $
  +#   $Id: embperl.h,v 1.19.4.10 2001/11/02 11:34:25 richter Exp $
   #
   ###################################################################################*/
   
  @@ -154,7 +154,8 @@
       optDisableSelectScan       = 0x800000,
       optAddUserSessionToLinks   = 0x1000000,
       optAddStateSessionToLinks  = 0x2000000,
  -    optNoSessionCookies        = 0x4000000
  +    optNoSessionCookies        = 0x4000000,
  +    optShowBacktrace           = 0x8000000
       } ;
   
   /*
  @@ -198,7 +199,8 @@
       escHtml = 1,
       escUrl  = 2,
       escStd  = 3,
  -    escEscape  = 4
  +    escEscape  = 4,
  +    escXML  = 8
       } ;
   
   
  
  
  
  1.27.4.19 +1 -0      embperl/ep.h
  
  Index: ep.h
  ===================================================================
  RCS file: /home/cvs/embperl/ep.h,v
  retrieving revision 1.27.4.18
  retrieving revision 1.27.4.19
  diff -u -r1.27.4.18 -r1.27.4.19
  --- ep.h	2001/09/20 08:23:55	1.27.4.18
  +++ ep.h	2001/11/02 11:34:26	1.27.4.19
  @@ -373,6 +373,7 @@
   
   extern struct tCharTrans Char2Html [] ;
   extern struct tCharTrans Char2Url  [] ; 
  +extern struct tCharTrans Char2XML  [] ; 
   extern struct tCharTrans Html2Char [] ;
   extern int sizeHtml2Char ;
   
  
  
  
  1.12.4.6  +265 -1    embperl/epchar.c
  
  Index: epchar.c
  ===================================================================
  RCS file: /home/cvs/embperl/epchar.c,v
  retrieving revision 1.12.4.5
  retrieving revision 1.12.4.6
  diff -u -r1.12.4.5 -r1.12.4.6
  --- epchar.c	2001/09/11 17:45:08	1.12.4.5
  +++ epchar.c	2001/11/02 11:34:26	1.12.4.6
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epchar.c,v 1.12.4.5 2001/09/11 17:45:08 richter Exp $
  +#   $Id: epchar.c,v 1.12.4.6 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################*/
   
  @@ -552,6 +552,270 @@
           { '\255', ""   },    /* 	Small y, di�resis / umlaut  */
       } ; 
       
  +struct tCharTrans Char2XML [] = 
  +
  +    {
  +        { ' ' ,   ""         },    /* &#00;		Unused */ 
  +        { ' ' ,   ""         },    /* &#01;		Unused */
  +        { ' ' ,   ""         },    /* &#02;		Unused  */
  +        { ' ' ,   ""         },    /* &#03;		Unused  */
  +        { ' ' ,   ""         },    /* &#04;		Unused  */
  +        { ' ' ,   ""         },    /* &#05;		Unused  */
  +        { ' ' ,   ""         },    /* &#06;		Unused  */
  +        { ' ' ,   ""         },    /* &#07;		Unused  */
  +        { ' ' ,   ""         },    /* &#08;		Unused  */
  +        { ' ' ,   ""         },    /* &#09;		Horizontal tab  */
  +        { ' ' ,   ""         },    /* &#10;		Line feed  */
  +        { ' ' ,   ""         },    /* &#11;		Unused  */
  +        { ' ' ,   ""         },    /* &#12;		Unused  */
  +        { ' ' ,   ""         },    /* &#13;		Carriage Return  */
  +        { ' ' ,   ""         },    /* &#14;		Unused  */
  +        { ' ' ,   ""         },    /* &#15;		Unused  */
  +        { ' ' ,   ""         },    /* &#16;		Unused  */
  +        { ' ' ,   ""         },    /* &#17;		Unused  */
  +        { ' ' ,   ""         },    /* &#18;		Unused  */
  +        { ' ' ,   ""         },    /* &#19;		Unused  */
  +        { ' ' ,   ""         },    /* &#20;		Unused  */
  +        { ' ' ,   ""         },    /* &#21;		Unused  */
  +        { ' ' ,   ""         },    /* &#22;		Unused  */
  +        { ' ' ,   ""         },    /* &#23;		Unused  */
  +        { ' ' ,   ""         },    /* &#24;		Unused  */
  +        { ' ' ,   ""         },    /* &#25;		Unused  */
  +        { ' ' ,   ""         },    /* &#26;		Unused  */
  +        { ' ' ,   ""         },    /* &#27;		Unused  */
  +        { ' ' ,   ""         },    /* &#28;		Unused  */
  +        { ' ' ,   ""         },    /* &#29;		Unused  */
  +        { ' ' ,   ""         },    /* &#30;		Unused  */
  +        { ' ' ,   ""         },    /* &#31;		Unused  */
  +        { ' ' ,   ""         },    /* 	&#32;		Space  */
  +        { '!' ,   ""         },    /* 	&#33;		Exclamation mark  */
  +        { '"' ,   "&quot;"   },    /* 	Quotation mark  */
  +        { '#' ,   ""         },    /* 	&#35;		Number sign  */
  +        { '$' ,   ""         },    /* 	&#36;		Dollar sign  */
  +        { '%' ,   ""         },    /* 	&#37;		Percent sign  */
  +        { '&' ,   "&amp;"    },    /* 	Ampersand  */
  +        { '\'' ,  "&apos;"         },    /* 	&#39;		Apostrophe  */
  +        { '(' ,   ""         },    /* 	&#40;		Left parenthesis  */
  +        { ')' ,   ""         },    /* 	&#41;		Right parenthesis  */
  +        { '*' ,   ""         },    /* 	&#42;		Asterisk  */
  +        { '+' ,   ""         },    /* 	&#43;		Plus sign  */
  +        { ',' ,   ""         },    /* 	&#44;		Comma  */
  +        { '-' ,   ""         },    /* 	&#45;		Hyphen  */
  +        { '.' ,   ""         },    /* 	&#46;		Period (fullstop)  */
  +        { '/' ,   ""         },    /* 	&#47;		Solidus (slash)  */
  +        { '0' ,   ""         },    /* 	&#48;		Digit 0  */
  +        { '1' ,   ""         },    /* 	&#49;		Digit 1  */
  +        { '2' ,   ""         },    /* 	&#50;		Digit 2  */
  +        { '3' ,   ""         },    /* 	&#51;		Digit 3  */
  +        { '4' ,   ""         },    /* 	&#52;		Digit 4  */
  +        { '5' ,   ""         },    /* 	&#53;		Digit 5  */
  +        { '6' ,   ""         },    /* 	&#54;		Digit 6  */
  +        { '7' ,   ""         },    /* 	&#55;		Digit 7  */
  +        { '8' ,   ""         },    /* 	&#56;		Digit 8  */
  +        { '9' ,   ""         },    /* 	&#57;		Digit 9  */
  +        { ':' ,   ""         },    /* 	&#58;		Colon  */
  +        { ';' ,   ""         },    /* 	&#59;		Semicolon  */
  +        { '<' ,   "&lt;"     },    /* 	Less than  */
  +        { '=' ,   ""         },    /* 	&#61;		Equals sign  */
  +        { '>' ,   "&gt;"     },    /* 	Greater than  */
  +        { '?' ,   ""         },    /* 	&#63;		Question mark  */
  +        { '@' ,   ""         },    /* 	&#64;		Commercial at  */
  +        { 'A' ,   ""         },    /* 	&#65;		Capital A  */
  +        { 'B' ,   ""         },    /* 	&#66;		Capital B  */
  +        { 'C' ,   ""         },    /* 	&#67;		Capital C  */
  +        { 'D' ,   ""         },    /* 	&#68;		Capital D  */
  +        { 'E' ,   ""         },    /* 	&#69;		Capital E  */
  +        { 'F' ,   ""         },    /* 	&#70;		Capital F  */
  +        { 'G' ,   ""         },    /* 	&#71;		Capital G  */
  +        { 'H' ,   ""         },    /* 	&#72;		Capital H  */
  +        { 'I' ,   ""         },    /* 	&#73;		Capital I  */
  +        { 'J' ,   ""         },    /* 	&#74;		Capital J  */
  +        { 'K' ,   ""         },    /* 	&#75;		Capital K  */
  +        { 'L' ,   ""         },    /* 	&#76;		Capital L  */
  +        { 'M' ,   ""         },    /* 	&#77;		Capital M  */
  +        { 'N' ,   ""         },    /* 	&#78;		Capital N  */
  +        { 'O' ,   ""         },    /* 	&#79;		Capital O  */
  +        { 'P' ,   ""         },    /* 	&#80;		Capital P  */
  +        { 'Q' ,   ""         },    /* 	&#81;		Capital Q  */
  +        { 'R' ,   ""         },    /* 	&#82;		Capital R  */
  +        { 'S' ,   ""         },    /* 	&#83;		Capital S  */
  +        { 'T' ,   ""         },    /* 	&#84;		Capital T  */
  +        { 'U' ,   ""         },    /* 	&#85;		Capital U  */
  +        { 'V' ,   ""         },    /* 	&#86;		Capital V  */
  +        { 'W' ,   ""         },    /* 	&#87;		Capital W  */
  +        { 'X' ,   ""         },    /* 	&#88;		Capital X  */
  +        { 'Y' ,   ""         },    /* 	&#89;		Capital Y  */
  +        { 'Z' ,   ""         },    /* 	&#90;		Capital Z  */
  +        { '[' ,   ""         },    /* 	&#91;		Left square bracket  */
  +        { '\\' ,  ""         },    /* 	&#92;		Reverse solidus (backslash)  */
  +        { ']' ,   ""         },    /* 	&#93;		Right square bracket  */
  +        { '^' ,   ""         },    /* 	&#94;		Caret  */
  +        { '_' ,   ""         },    /* 	&#95;		Horizontal bar (underscore)  */
  +        { '`' ,   ""         },    /* 	&#96;		Acute accent  */
  +        { 'a' ,   ""         },    /* 	&#97;		Small a  */
  +        { 'b' ,   ""         },    /* 	&#98;		Small b  */
  +        { 'c' ,   ""         },    /* 	&#99;		Small c  */
  +        { 'd' ,   ""         },    /* 	&#100;		Small d  */
  +        { 'e' ,   ""         },    /* 	&#101;		Small e  */
  +        { 'f' ,   ""         },    /* 	&#102;		Small f  */
  +        { 'g' ,   ""         },    /* 	&#103;		Small g  */
  +        { 'h' ,   ""         },    /* 	&#104;		Small h  */
  +        { 'i' ,   ""         },    /* 	&#105;		Small i  */
  +        { 'j' ,   ""         },    /* 	&#106;		Small j  */
  +        { 'k' ,   ""         },    /* 	&#107;		Small k  */
  +        { 'l' ,   ""         },    /* 	&#108;		Small l  */
  +        { 'm' ,   ""         },    /* 	&#109;		Small m  */
  +        { 'n' ,   ""         },    /* 	&#110;		Small n  */
  +        { 'o' ,   ""         },    /* 	&#111;		Small o  */
  +        { 'p' ,   ""         },    /* 	&#112;		Small p  */
  +        { 'q' ,   ""         },    /* 	&#113;		Small q  */
  +        { 'r' ,   ""         },    /* 	&#114;		Small r  */
  +        { 's' ,   ""         },    /* 	&#115;		Small s  */
  +        { 't' ,   ""         },    /* 	&#116;		Small t  */
  +        { 'u' ,   ""         },    /* 	&#117;		Small u  */
  +        { 'v' ,   ""         },    /* 	&#118;		Small v  */
  +        { 'w' ,   ""         },    /* 	&#119;		Small w  */
  +        { 'x' ,   ""         },    /* 	&#120;		Small x  */
  +        { 'y' ,   ""         },    /* 	&#121;		Small y  */
  +        { 'z' ,   ""         },    /* 	&#122;		Small z  */
  +        { '{' ,   ""         },    /* 	&#123;		Left curly brace  */
  +        { '|' ,   ""         },    /* 	&#124;		Vertical bar  */
  +        { '}' ,   ""         },    /* 	&#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  */
  +        { ' ' ,   ""   },    /* 	Non-breaking Space  */
  +        { '�' ,   ""  },    /* 	Inverted exclamation    */
  +        { '�' ,   ""   },    /* 	Cent sign               */
  +        { '�' ,   ""  },    /* 	Pound sterling  */
  +        { '�' ,   "" },    /* 	General currency sign  */
  +        { '�' ,   ""    },    /* 	Yen sign  */
  +/*        { '�' ,   "" },    / *  	Broken vertical bar  */
  +        { '�' ,   "" },    /* 	Broken vertical bar  */
  +        { '�' ,   ""  },    /* 	Section sign  */
  +/*        { '�' ,   ""    },    / *  	Di�resis / Umlaut  */
  +        { '�' ,   ""   },    /* 	Di�resis / Umlaut  */
  +        { '�' ,   ""  },    /* 	Copyright               */
  +        { '�' ,   ""  },    /* 	Feminine ordinal  */
  +        { '�' ,   "" },    /* 	Left angle quote, guillemot left  */
  +        { '�' ,   ""   },    /*	Not sign  */
  +        { '�' ,   ""    },    /* 	Soft hyphen  */
  +        { '�' ,   ""    },    /* 	Registered trademark  */
  +/*        { '�' ,   ""   },    / *  	Macron accent  */
  +        { '�' ,   ""  },    /* 	Macron accent  */
  +        { '�' ,   ""    },    /* 	Degree sign  */
  +        { '�' ,   "" },    /* 	Plus or minus  */
  +        { '�' ,   ""   },    /* 	Superscript two  */
  +        { '�' ,   ""   },    /* 	Superscript three  */
  +        { '�' ,   ""  },    /* 	Acute accent  */
  +        { '�' ,   ""  },    /* 	Micro sign  */
  +        { '�' ,   ""   },    /* 	Paragraph sign  */
  +        { '�' ,   "" },    /* 	Middle dot  */
  +        { '�' ,   ""  },    /* 	Cedilla  */
  +        { '�' ,   ""   },    /* 	Superscript one  */
  +        { '�' ,   ""   },    /* 	Masculine ordinal  */
  +        { '�' ,   ""  },    /* 	Right angle quote, guillemot right  */
  +        { '�' ,   "" },    /* 	Fraction one-fourth  */
  +        { '�' ,   "" },    /* 	Fraction one-half  */
  +        { '�' ,   "" },    /* 	Fraction three-fourths  */
  +        { '�' ,   "" },    /* 	Inverted question mark  */
  +        { '�' ,   "" },    /* 	Capital A, grave accent  */
  +        { '�' ,   "" },    /* 	Capital A, acute accent  */
  +        { '�' ,   ""  },    /* 	Capital A, circumflex  */
  +        { '�' ,   "" },    /* 	Capital A, tilde  */
  +        { '�' ,   ""   },    /* 	Capital A, di�resis / umlaut  */
  +        { '�' ,   ""  },    /* 	Capital A, ring  */
  +        { '�' ,   ""  },    /* 	Capital AE ligature  */
  +        { '�' ,   "" },    /* 	Capital C, cedilla  */
  +        { '�' ,   "" },    /* 	Capital E, grave accent  */
  +        { '�' ,   "" },    /* 	Capital E, acute accent  */
  +        { '�' ,   ""  },    /* 	Capital E, circumflex  */
  +        { '�' ,   ""   },    /* 	Capital E, di�resis / umlaut  */
  +        { '�' ,   "" },    /* 	Capital I, grave accent  */
  +        { '�' ,   "" },    /* 	Capital I, acute accent  */
  +        { '�' ,   ""  },    /* 	Capital I, circumflex  */
  +        { '�' ,   ""   },    /* 	Capital I, di�resis / umlaut  */
  +        { '�' ,   ""    },    /* 	Capital Eth, Icelandic  */
  +        { '�' ,   "" },    /* 	Capital N, tilde  */
  +        { '�' ,   "" },    /* 	Capital O, grave accent  */
  +        { '�' ,   "" },    /* 	Capital O, acute accent  */
  +        { '�' ,   ""  },    /* 	Capital O, circumflex  */
  +        { '�' ,   "" },    /* 	Capital O, tilde  */
  +        { '�' ,   ""   },    /* 	Capital O, di�resis / umlaut  */
  +        { '�' ,   ""  },    /* 	Multiply sign  */
  +        { '�' ,   "" },    /* 	Capital O, slash  */
  +        { '�' ,   "" },    /* 	Capital U, grave accent  */
  +        { '�' ,   "" },    /* 	Capital U, acute accent  */
  +        { '�' ,   ""  },    /* 	Capital U, circumflex  */
  +        { '�' ,   ""   },    /* 	Capital U, di�resis / umlaut  */
  +        { '�' ,   "" },    /* 	Capital Y, acute accent  */
  +        { '�' ,   ""  },    /* 	Capital Thorn, Icelandic  */
  +        { '�' ,   ""  },    /* 	Small sharp s, German sz  */
  +        { '�' ,   "" },    /* 	Small a, grave accent  */
  +        { '�' ,   "" },    /* 	Small a, acute accent  */
  +        { '�' ,   ""  },    /* 	Small a, circumflex  */
  +        { '�' ,   "" },    /* 	Small a, tilde  */
  +        { '�' ,   ""   },    /* 	Small a, di�resis / umlaut  */
  +        { '�' ,   ""  },    /* 	Small a, ring  */
  +        { '�' ,   ""  },    /* 	Small ae ligature  */
  +        { '�' ,   "" },    /* 	Small c, cedilla  */
  +        { '�' ,   "" },    /* 	Small e, grave accent  */
  +        { '�' ,   "" },    /* 	Small e, acute accent  */
  +        { '�' ,   ""  },    /* 	Small e, circumflex  */
  +        { '�' ,   ""   },    /* 	Small e, di�resis / umlaut  */
  +        { '�' ,   "" },    /* 	Small i, grave accent  */
  +        { '�' ,   "" },    /* 	Small i, acute accent  */
  +        { '�' ,   ""  },    /* 	Small i, circumflex  */
  +        { '�' ,   ""   },    /* 	Small i, di�resis / umlaut  */
  +        { '�' ,   ""    },    /* 	Small eth, Icelandic  */
  +        { '�' ,   "" },    /* 	Small n, tilde  */
  +        { '�' ,   "" },    /* 	Small o, grave accent  */
  +        { '�' ,   "" },    /* 	Small o, acute accent  */
  +        { '�' ,   ""  },    /* 	Small o, circumflex  */
  +        { '�' ,   "" },    /* 	Small o, tilde  */
  +        { '�' ,   ""   },    /* 	Small o, di�resis / umlaut  */
  +        { '�' ,   "" },    /* 	Division sign  */
  +        { '�' ,   "" },    /* 	Small o, slash  */
  +        { '�' ,   "" },    /* 	Small u, grave accent  */
  +        { '�' ,   "" },    /* 	Small u, acute accent  */
  +        { '�' ,   ""  },    /* 	Small u, circumflex  */
  +        { '�' ,   ""   },    /* 	Small u, di�resis / umlaut  */
  +        { '�' ,   "" },    /* 	Small y, acute accent  */
  +        { '�' ,   ""  },    /* 	Small thorn, Icelandic  */
  +        { '\255', ""   },    /* 	Small y, di�resis / umlaut  */
  +    } ; 
  + 
       
   struct tCharTrans Html2Char [] = 
    
  
  
  
  1.4.2.67  +2 -5      embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.4.2.66
  retrieving revision 1.4.2.67
  diff -u -r1.4.2.66 -r1.4.2.67
  --- epcomp.c	2001/10/31 14:53:31	1.4.2.66
  +++ epcomp.c	2001/11/02 11:34:26	1.4.2.67
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epcomp.c,v 1.4.2.66 2001/10/31 14:53:31 richter Exp $
  +#   $Id: epcomp.c,v 1.4.2.67 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################*/
   
  @@ -330,7 +330,7 @@
   		or = strchr (eq + 1, '|') ;
   		e = or?or:q ;
   		if (f = (char *)strstrn (sText, eq, e - eq))
  -		    if (!isalnum (f[e - eq]))
  +		    if (!isalnum (f[e - eq]) && f[e - eq] != '_')
   			break ;
   		if (or == NULL)
   		    return 0 ;
  @@ -1061,9 +1061,6 @@
   	    if (pCurrReq -> bDebug & dbgCompile)
   		lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Set Checkpoint pending\n", pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber) ;
   	    }
  -
  -    if (pCmd -> bCallReturn)
  -	pNode -> bFlags |= nflgSubCheckpoint ;
   
       if (pCmd -> bRemoveNode & 1)
   	pNode -> bFlags = 0 ; 
  
  
  
  1.4.2.65  +6 -6      embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.4.2.64
  retrieving revision 1.4.2.65
  diff -u -r1.4.2.64 -r1.4.2.65
  --- epdom.c	2001/10/31 13:26:42	1.4.2.64
  +++ epdom.c	2001/11/02 11:34:26	1.4.2.65
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.c,v 1.4.2.64 2001/10/31 13:26:42 richter Exp $
  +#   $Id: epdom.c,v 1.4.2.65 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################*/
   
  @@ -2590,8 +2590,8 @@
       if (nEscMode != -1)
   	{
   	pNew -> nType  = (nEscMode & 3)?ntypText:ntypCDATA ;
  -	pNew -> bFlags &= ~(nflgEscUrl + nflgEscChar) ;
  -	pNew -> bFlags |= (nEscMode ^ nflgEscChar) & (nflgEscUrl + nflgEscChar) ;
  +	pNew -> bFlags &= ~(nflgEscXML + nflgEscUrl + nflgEscChar) ;
  +	pNew -> bFlags |= (nEscMode ^ nflgEscChar) & (nflgEscXML + nflgEscUrl + nflgEscChar) ;
   	}
       else
   	pNew -> nType  = ntypCDATA ;
  @@ -2653,8 +2653,8 @@
       if (nEscMode != -1)
   	{
   	pOldChild -> nType  = (nEscMode & 3)?ntypText:ntypCDATA ;
  -	pOldChild -> bFlags &= ~(nflgEscUrl + nflgEscChar) ;
  -	pOldChild -> bFlags |= (nEscMode ^ nflgEscChar) & (nflgEscUrl + nflgEscChar) ;
  +	pOldChild -> bFlags &= ~(nflgEscXML + nflgEscUrl + nflgEscChar) ;
  +	pOldChild -> bFlags |= (nEscMode ^ nflgEscChar) & (nflgEscXML + nflgEscUrl + nflgEscChar) ;
   	}
       else
   	pOldChild -> nType  = ntypCDATA ;
  @@ -3082,7 +3082,7 @@
   	        char * s ;
   	        int    l ;
   	        Ndx2StringLen (pNode -> nText,s,l) ;
  -	        OutputEscape (r, s, l, (pNode -> bFlags & nflgEscUrl)?Char2Url:Char2Html, (pNode -> bFlags & nflgEscChar)?'\\':0) ;
  +                OutputEscape (r, s, l, (pNode -> bFlags & nflgEscXML)?Char2XML:(pNode -> bFlags & nflgEscUrl)?Char2Url:Char2Html, (pNode -> bFlags & nflgEscChar)?'\\':0) ;
   	        }
   	    else 
   	        {
  
  
  
  1.4.2.40  +9 -9      embperl/Attic/epdom.h
  
  Index: epdom.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.h,v
  retrieving revision 1.4.2.39
  retrieving revision 1.4.2.40
  diff -u -r1.4.2.39 -r1.4.2.40
  --- epdom.h	2001/10/30 14:40:15	1.4.2.39
  +++ epdom.h	2001/11/02 11:34:26	1.4.2.40
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.h,v 1.4.2.39 2001/10/30 14:40:15 richter Exp $
  +#   $Id: epdom.h,v 1.4.2.40 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################*/
   
  @@ -131,14 +131,14 @@
   
   enum tNodeFlags
       {
  -    nflgDeleted	    = 0,
  -    nflgOK	    = 1,
  -    nflgEscUrl      = 2,
  -    nflgEscChar	    = 4,
  -    nflgIgnore      = 8,	/**< Ignore this node */
  -    nflgNewLevelNext = 16,	/**< Next sibling has new RepeatLevel */
  -    nflgNewLevelPrev = 32,	/**< Previous sibling has new RepeatLevel */
  -    nflgSubCheckpoint= 128
  +    nflgDeleted	     = 0,
  +    nflgOK	     = 1,
  +    nflgEscUrl       = 2,
  +    nflgEscChar	     = 4,
  +    nflgEscXML	     = 8,
  +    nflgIgnore       = 16,	/**< Ignore this node */
  +    nflgNewLevelNext = 32,	/**< Next sibling has new RepeatLevel */
  +    nflgNewLevelPrev = 64,	/**< Previous sibling has new RepeatLevel */
       } ;
   
   enum tAttrFlags
  
  
  
  1.75.4.52 +15 -2     embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.75.4.51
  retrieving revision 1.75.4.52
  diff -u -r1.75.4.51 -r1.75.4.52
  --- epmain.c	2001/10/31 15:14:49	1.75.4.51
  +++ epmain.c	2001/11/02 11:34:26	1.75.4.52
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epmain.c,v 1.75.4.51 2001/10/31 15:14:49 richter Exp $
  +#   $Id: epmain.c,v 1.75.4.52 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################*/
   
  @@ -179,6 +179,17 @@
       
       pSV = newSVpvf (msg, r -> nPid , rc, pSVLine?SvPV(pSVLine, l):"", r -> errdat1, r -> errdat2) ;
   
  +    if (r -> bOptions & optShowBacktrace)
  +        {
  +        req * l = r ;
  +        while (l && l != &InitialReq)
  +            {
  +            sv_catpvf(pSV, "\n    * %s", (!l -> Buf.pFile || !l -> Buf.pFile -> sSourcefile)?"<no filename available>":l -> Buf.pFile -> sSourcefile) ;
  +            l = l -> pLastReq ;
  +            }
  +        }
  +
  +
       if (pSVLine)
           SvREFCNT_dec(pSVLine) ;
   
  @@ -340,7 +351,9 @@
   			           SV * pSV)
   
       {
  -    if (r -> nEscMode & escHtml && !r -> bEscInUrl)
  +    if (r -> nEscMode & escXML && !r -> bEscInUrl)
  +	r -> pNextEscape = Char2XML ;
  +    else if (r -> nEscMode & escHtml && !r -> bEscInUrl)
   	r -> pNextEscape = Char2Html ;
       else if (r -> nEscMode & escUrl)
           r -> pNextEscape = Char2Url ;
  
  
  
  1.15.4.17 +3 -1      embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.15.4.16
  retrieving revision 1.15.4.17
  diff -u -r1.15.4.16 -r1.15.4.17
  --- eputil.c	2001/10/17 10:52:54	1.15.4.16
  +++ eputil.c	2001/11/02 11:34:26	1.15.4.17
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: eputil.c,v 1.15.4.16 2001/10/17 10:52:54 richter Exp $
  +#   $Id: eputil.c,v 1.15.4.17 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################*/
   
  @@ -158,6 +158,8 @@
   
       if (nEscMode >= 0)
   	{	    
  +	if (nEscMode & escXML && !r -> bEscInUrl)
  +	    pEscTab = Char2XML ;
   	if (nEscMode & escHtml && !r -> bEscInUrl)
   	    pEscTab = Char2Html ;
   	else if (nEscMode & escUrl)
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +0 -0      embperl/embpfastcgi.pl.templ
  
  Index: embpfastcgi.pl.templ
  ===================================================================
  RCS file: /home/cvs/embperl/embpfastcgi.pl.templ,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- embpfastcgi.pl.templ	2001/11/02 11:06:44	1.1
  +++ embpfastcgi.pl.templ	2001/11/02 11:34:26	1.1.2.1
  @@ -11,7 +11,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: embpfastcgi.pl.templ,v 1.1 2001/11/02 11:06:44 richter Exp $
  +#   $Id: embpfastcgi.pl.templ,v 1.1.2.1 2001/11/02 11:34:26 richter Exp $
   #
   ###################################################################################
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.4   +1 -1      embperl/test/cmp/epobase.htm
  
  Index: epobase.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/epobase.htm,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- epobase.htm	2001/10/31 15:14:49	1.1.2.3
  +++ epobase.htm	2001/11/02 11:34:27	1.1.2.4
  @@ -3,7 +3,7 @@
   The server encountered an internal error or misconfiguration and was unable to complete your request.<P>
   ^Please contact the server administrator\,.*?and inform them of the time the error occurred\, and anything you might have done that may have caused the error
   ^\[.*?\]ERR\:  32\:  Warning in Perl code\: Use of uninitialized value 
  -^\[.*?\]ERR\:  30\: epobase.htm\(1\): Not found &lt;no filename&gt;<p>
  +^\[.*?\]ERR\:  30\: epobase.htm\((1|6)\): Not found &lt;no filename&gt;<p>
   ^ HTML\:\:Embperl.*?<P>
   </BODY></HTML>
   
  
  
  
  1.19.4.5  +8 -0      embperl/test/cmp/escape.htm
  
  Index: escape.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/escape.htm,v
  retrieving revision 1.19.4.4
  retrieving revision 1.19.4.5
  diff -u -r1.19.4.4 -r1.19.4.5
  --- escape.htm	2001/07/09 12:53:31	1.19.4.4
  +++ escape.htm	2001/11/02 11:34:28	1.19.4.5
  @@ -83,6 +83,14 @@
   Now a Url: <A HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521">Here it goes</A>
   
   What is the EscMode? 3
  +15
  +Now lets look what we are getting from this:<BR>
  +(this is the value in $a) (this is the value in $a) ������???&lt;&amp;+   &apos;&quot;&lt;&gt;<BR>
  +
  +What is the EscMode? 15
  +Now a Url: <a href="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521 %27%22%3C%3E">Here it goes</A>
  +
  +What is the EscMode? 15
   file.html?name=abcd&amp;data=xyz
   Now we localy set $escmode:<BR>
   (this is the value in $a) ������???<&+    \<a><BR>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.13.4.6  +11 -0     embperl/test/html/escape.htm
  
  Index: escape.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/escape.htm,v
  retrieving revision 1.13.4.5
  retrieving revision 1.13.4.6
  diff -u -r1.13.4.5 -r1.13.4.6
  --- escape.htm	2001/07/09 12:53:34	1.13.4.5
  +++ escape.htm	2001/11/02 11:34:28	1.13.4.6
  @@ -103,6 +103,17 @@
   
   What is the EscMode? [+ $escmode +]
   
  +[+ $escmode = 15 +]
  +
  +Now lets look what we are getting from this:<BR>
  +[+ $a +] [+ $b +] [+ q{'"<>} +]<BR>
  +
  +What is the EscMode? [+ $escmode +]
  +
  +Now a Url: <A HREF="http://localhost/tests?id=[+%20$id +]&text=[+$text+] [+ q{'"<>} +]">Here it goes</A>
  +
  +What is the EscMode? [+ $escmode +]
  +
   [!
       sub foo($)
           {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org