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 ([EMAIL PROTECTED]) / 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to