richter     02/03/05 03:20:11

  Modified:    .        Tag: Embperl2c README.v2
               driver   Tag: Embperl2c epxalan.cpp
  Log:
  sun fixes
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.4.23  +87 -74    embperl/Attic/README.v2
  
  Index: README.v2
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/README.v2,v
  retrieving revision 1.1.4.22
  retrieving revision 1.1.4.23
  diff -u -r1.1.4.22 -r1.1.4.23
  --- README.v2 2 Mar 2002 19:55:46 -0000       1.1.4.22
  +++ README.v2 5 Mar 2002 11:20:11 -0000       1.1.4.23
  @@ -1,6 +1,6 @@
   HTML::Embperl - Building dynamic Websites with Perl
   
  -Copyright (c) 1997-2001 Gerald Richter / ECOS GmbH
  +Copyright (c) 1997-2002 Gerald Richter / ecos gmbh  www.ecos.de
   
   You may distribute under the terms of either the GNU General Public 
   License or the Artistic License, as specified in the Perl README file.
  @@ -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.22 2002/03/02 19:55:46 richter Exp $
  +$Id: README.v2,v 1.1.4.23 2002/03/05 11:20:11 richter Exp $
   
   
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
  @@ -18,11 +18,11 @@
   ### This is a BETA release of Embperl 2.0, before installing
   ### please read the README.v2. Documentation is not yet updated to
   ### reflect the changes in 2.0, everything that has changed is
  -### documented in README.v2. Since the last beta I have fixed a lot
  -### of smaller bugs and use it now in production environment on my own.
  -### But be carefull this release may still contain bugs.
  +### documented in README.v2. 
  +### I use Embperl 2.0b in production environment on my own.
  +### But be careful, this release may still contain bugs.
   ###
  -### The current stable release is Embperl 1.3.3
  +### The current stable release is Embperl 1.3.4
   ###
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
   
  @@ -31,30 +31,30 @@
   ---------------------------
   
   Embperl 2 has a totaly rewritten core. It contains nearly 7500 lines 
  -new (mostly C-) code. Also I have done a lot of testing, there may
  +new (mostly C-) code. Although I have done a lot of testing, there may
   be still undiscovered bugs!
   
  -Please report any weired behaviour to the embperl mailing list, but
  -be sure to read this whole README to understand what can't work so far.
  +Please report any weird behaviour to the embperl mailing list, but
  +be sure to read this whole README to understand what doesn't work yet.
   
   The Embperl core now works in a totaly different way. It is divided into
   smaller steps:
   
       1 reading the source
  -    2 parseing 
  +    2 parsing 
       3 compiling 
       4 executing
       5 outputing
   
  -Further version will allow to replace every single step of this pipeline
  +Subsequent versions will allow replacing every single step of this pipeline
   with custom modules. Also it will be possible to cascade multiple
  -processors. This allows for example to have Embperl and SSI in one file
  -and to parse the file only once, feeding it first to the SSI processor and
  +processors. This allows, for example, having Embperl and SSI in one file
  +and parsing the file just once, feeding it first to the SSI processor and
   afterwards to the Embperl processor. Also the parser will be exchangeable
  -in future version to allow for example to use an XML parser and an
  +in future version to allow for example the use of an XML parser and an
   XSLT stylesheet processor.
   
  -These new execution scheme is also faster, because html tags and metacommands
  +The new execution scheme is also faster, because html tags and metacommands
   are parsed only once (Perl code was also (and is still) cached in 1.x)
   My first benchmarks show 50%-100% faster execution under mod_perl for pages
   longer then 20K (For short pages ( < 5K ouput) you won't see such a great 
difference)
  @@ -62,29 +62,29 @@
   
   Another new feature is that the syntax of the Embperl parser is defined
   within the module HTML::Embperl::Syntax and can be modified as nessecary.
  -Embperl comes with a set syntax definitons which can be extened modified by
  -the user. So far there are syntaxdefinitions for SSI, Text only, Perl only,
  +Embperl comes with a set of syntax definitons which can be modified by
  +the user. So far there are syntax definitions for SSI, Text only, Perl only,
   ASP and a Mail taglib. You can tell Embperl which syntax to use either in
   the configuration via EMBPERL_SYNTAX, or with the syntax parameter of
  -Execute or you change the syntax dynamicly inside the page via the
  -[$syntax   $] command. You also could specify more then one syntax at the same
  -time e.g. [$syntax Embperl SSI $] to mix Embperl tags and SSI tags in the same
  +Execute, or you can change the syntax dynamically inside the page via the
  +[$syntax $] command. You also could specify more then one syntax at the same
  +time, e.g. [$syntax Embperl SSI $] to mix Embperl tags and SSI tags in the same
   page.
   
  -If you like to create your own syntax read 
  +If you'd like to create your own syntax read:
   
  -perldoc HTML::Embperl::Syntax
  +   perldoc HTML::Embperl::Syntax
   
  -and look at the files under Embperl/Syntax/ for examples how to do it.
  +and look at the files under Embperl/Syntax/ for examples on how to do it.
   
  -Also new is the possibility to cache (parts of) the output. See
  -for the new configuration directives below
  +Also new is the ability to cache (parts of) the output. See
  +the new configuration directives below.
   
   
   Debugging
   ---------
   
  -Starting with 2.0b2 Embperl files can debugged via the interavtive debugger.
  +Starting with 2.0b2 Embperl files can debugged via the interactive debugger.
   The debugger shows the Embperl page source along with the correct linenumbers. 
   You can do anything you can do inside a normal Perl programm via the debugger,
   e.g. show variables, modify variables, single step, set breakpoints etc.
  @@ -105,38 +105,38 @@
   right thing. Apache::DB is available from CPAN.
   
   
  -The following difference to Embperl 1.x apply:
  +The following differences to Embperl 1.x apply:
   ------------------------------------------------------
   
  -- The following options can currently only set from the httpd.conf:
  +- The following options can currently only be set from httpd.conf:
        optRawInput, optKeepSpaces
   
   - The following options are currently not supported:
        optDisableHtmlScan, optDisableTableScan,
        optDisableInputScan, optDisableMetaScan
   
  -  optDisableHtmlScan can be replaced by switching the syntax e.g.
  +  optDisableHtmlScan can be replaced by switching the syntax, e.g.
   
     [$syntax EmbperlBlocks $]  # same as [- $optDisableHtmlScan = 1 -]
   
  -  here goes your code, Embperl will not interpret any html tags here 
  +    (here goes your code - Embperl will not interpret any html tags here)
   
     [$syntax Embperl $]        # same as [- $optDisableHtmlScan = 0 -]
   
   
  -- Nesting must be properly. I.e. you cannot put a <table> tag (for an
  -  dynamic table) inside an if and the </table> inside another if.
  +- Nesting must be done properly. I.e. you cannot put a <table> tag (for a
  +  dynamic table) inside an 'if' and the </table> inside another 'if'.
     (That still works for static tables)
   
   - optUndefToEmptyValue is always set and cannot be disabled.
   
  -- [$ foreach $x (@x) $] requires now the brackets around the
  +- [$ foreach $x (@x) $] now requires the brackets around the
     array (like Perl)
   
   - [+ +] blocks must now contain a valid Perl expression. Embperl 1.x
     allows you to put multiple statements into such a block. For performance
  -  reasons this is not possible anymore. Also the expression must _not_
  -  terminated with a semikolon. To let old code work, just wrap it into a do
  +  reasons this is not possible anymore. Also the expression must _not_ be
  +  terminated with a semicolon. To let old code work, just wrap it into a 'do'
     e.g. [+ do { my $a = $b + 5 ; $a } +]
   
   - EMBPERL_INPUT_FUNC and EMBPERL_OUTPUT_FUNC are not supported anymore
  @@ -155,9 +155,22 @@
   Embperl 1.x compatibility flag
   ------------------------------
   
  -The Embperl 1 compatibility flags has been remove in 2.0b6. Since starting
  -with 2.0b6 Embperl uses the Embperl namespace, it it possible to install
  -Embperl 1.x and 2.0 on the same machine without conflicts.
  +If you don't have a separate computer to make the test setup, you can
  +include
  +
  +     PerlSetEnv EMBPERL_EP1COMPAT 1
  +
  +at the top level of your httpd.conf. Then Embperl will behave just the same
  +like Embperl 1.3b7. In the directories where you make your tests, you
  +include
  +
  +     PerlSetEnv EMBPERL_EP1COMPAT 0
  +
  +to enable the new engine.
  +
  +but _DON'T_ use this one on a production machine. While this compatibility mode
  +is tested and shows no problems for me, it's not as well tested as 1.3b7
  +itself!
   
   
   Addtional Config directives
  @@ -176,7 +189,7 @@
   
   cache_key_options / EMBPERL_CACHE_KEY_OPTIONS / $CACHE_KEY_OPTIONS
   
  -    ckoptCarryOver = 1,     use result from CacheKeyFunc of preivious step if any 
  +    ckoptCarryOver = 1,     use result from CacheKeyFunc of previous step if any 
       ckoptPathInfo  = 2,     include the PathInfo into CacheKey 
       ckoptQueryInfo = 4,          include the QueryInfo into CacheKey 
       ckoptDontCachePost = 8, don't cache POST requests  (not yet implemented)
  @@ -192,19 +205,19 @@
   
   expires_func / EMBPERL_EXPIRES_FUNC / &EXPIRES
   
  -function that is called everytime before data is taken from the cache.
  +function that is called every time before data is taken from the cache.
   If this funtion returns true, the data from the cache isn't used anymore,
  -but rebuild.
  +but rebuilt.
   
   
   Function could be either a coderef (when passed to Execute), a name of a
   subroutine or a string starting with "sub " in which case it is compiled
  -as anoymous subroutine.
  +as anonymous subroutine.
   
   
   expires_in / EMBPERL_EXPIRES_IN / $EXPIRES
   
  -Time in seconds that the output schould be cached. (0 = never, -1 = forever)
  +Time in seconds that the output should be cached. (0 = never, -1 = forever)
   
   expires_in / EMBPERL_EXPIRES_FILENAME / $EXPIRES_FILENAME
   
  @@ -219,14 +232,14 @@
   Used to tell Embperl which syntax to use inside a page. Embperl comes with
   the following syntaxes: 
   
  -    - EmbperlHTML       # all the HTML tag that Embperl recognizes by default
  +    - EmbperlHTML       # all the HTML tags that Embperl recognizes by default
       - EmbperlBlocks     # all the [ ] blocks that Embperl supports
       - Embperl           # (default; contains EmbperlHtml and EmbperlBlocks)
       - ASP               # <%  %> and <%=  %>, see perldoc HTML::Embperl::Syntax::ASP
       - SSI               # Server Side Includes, see perldoc 
HTML::Embperl::Syntax::SSI
       - Perl              # File contains pure Perl (similar to Apache::Registry), but
                           #  can be used inside EmbperlObject
  -    - Text              # File contains only Text, no actions is taken on the Text
  +    - Text              # File contains only Text, no actions are taken on the Text
       - Mail              # Defines the <mail:send> tag, for sending mail. This is an
                           # example for a taglib, which could be a base for writing
                           # your own taglib to extent the number of available tags
  @@ -238,7 +251,7 @@
   
       perldoc HTML::Embperl::Syntax::xxx
   
  -where xxx is the name of the syntax.
  +where 'xxx' is the name of the syntax.
   
   You can also specify multiple syntaxes e.g.
   
  @@ -246,7 +259,7 @@
   
       Execute ({inputfile => '*', syntax => 'Embperl ASP'}) ;
   
  -The syntax metacommand allows to switch the syntax or to 
  +The 'syntax' metacommand allows to switch the syntax or to 
   add or subtract syntaxes e.g.
   
       [$ syntax + Mail $]
  @@ -277,20 +290,20 @@
   Recipes
   -------
   
  -Starting with 2.0b4 Embperl introduces the concept of recipes. A recipe basicly
  -tells Embperl how the request should be processed. While before 2.0b4 you can 
  -have only one processor that works on the request (the Embperl processor, also
  -you are able to define different syntaxes), now you can have multiple of them
  -arragend in a pipeline or even a tree. While you are able to give the full
  -recipe when calling Execute, this is not very convenient, so normaly you
  +Starting with 2.0b4 Embperl introduces the concept of recipes. A recipe basically
  +tells Embperl how the request should be processed. While before 2.0b4 you could 
  +have only one processor that works on the request (the Embperl processor -
  +you're also able to define different syntaxes), now you can have multiple of them
  +arranged in a pipeline or even a tree. While you are able to give the full
  +recipe when calling Execute, this is not very convenient, so normally you
   will only give the name of a recipe, either as parameter 'recipe' to
   Execute or as EMBPERL_RECIPE in your httpd.conf. Of course you can have
   different recipes for different locations and/or files. A recipe is constructed
  -out of providers. A provider can either be read some source or do some
  -processing on a source. There is no restriction what sort of data a provider
  -has as in- and output you just have to make sure that output format of
  +out of providers. A provider can either be read from some source or do some
  +processing on a source. There is no restriction on what sort of data a provider
  +has as in- and output - you just have to make sure that output format of
   a provider matches the input format of the next provider. In the current 
  -implementation Embperl comes with a set of build in providers:
  +implementation Embperl comes with a set of built-in providers:
   
   - file                  read file data
   - memory                get data from a scalar
  @@ -300,13 +313,13 @@
   - eptostring            convert Embperl tree structure to string
   - libxslt-parse-xml     parse xml source for libxslt
   - libxslt-compile-xsl   parse and compile stylesheet for libxslt
  -- libxslt               do a xsl transformation via libxslt
  +- libxslt               do an xsl transformation via libxslt
   - xalan-parse-xml       parse xml source for xalan
   - xalan-compile-xsl     parse and compile stylesheet for xalan
  -- xalan                 do a xsl transformation via xalan
  +- xalan                 do an xsl transformation via xalan
   
  -There is a C interface, so new custom providers can be written, but what it
  -make real usefull is, that the next release of Embperl will contain a
  +There is a C interface, so new custom providers can be written, but what makes it
  +really useful is that the next release of Embperl will contain a
   Perl interface, so you can write your own providers in Perl.
   
   The default recipe is named Embperl and contains the following providers:
  @@ -331,33 +344,33 @@
       +-----------+
   
   This cause Embperl to behave like it has done in the past, when no
  -recipes exists.
  +recipes existed.
   
   Each intermediate result could be cached. So for example you are able
   to cache the already parsed XML or compiled stylesheet in memory,
   without the need to reparse/recompile it over and over again.
   
  -Another nice thing of recipes are that they are not staticly. A recipe
  -is defined by a recipe object. When a request comes in Embperl calls
  +Another nice thing about recipes is that they are not static. A recipe
  +is defined by a recipe object. When a request comes in, Embperl calls
   the new method of the recipe object, which should return a hash
   that describes what Embperl has to do. The new method can of course
  -build the hash dynamicly, looking, for example, at the request parameters
  +build the hash dynamically, looking, for example, at the request parameters
   like filename, formvalues, mime type or whatever. For example if you
   give a scalar as input the Embperl recipe replaces the file provider
  -with a memory provider. Addtionaly you can specify more then one
  -recipe (spearated by spaces). Embperl will all the new methods in
  -turn until the first not returns undef. This way you can create recipes
  -that are know for what they are responsible. One possibility would be
  -to check the file extention and only return the recipe if it matches.
  -Much more sophistcated things are possible...
  +with a memory provider. Additionally you can specify more then one
  +recipe (separated by spaces). Embperl will call all the new methods in
  +turn until the first one that returns undef. This way you can create recipes
  +that are known for what they are responsible. One possibility would be
  +to check the file extension and only return the recipe if it matches.
  +Much more sophisticated things are possible...
   
  -See perldoc HTML::Embperl::Recipe how to create your own provider.
  +See perldoc HTML::Embperl::Recipe for how to create your own provider.
   
   
   XML, XSLT
   ---------
   
  -As written above Embperl now contains provider for doing XSLT transformations.
  +As mentioned above, Embperl now contains a provider for doing XSLT transformations.
   More XML will come in the next releases. The easiest thing is to use the XSLT
   stuff thru the predefined recipes:
   
  @@ -371,7 +384,7 @@
       XSLT                run source thru the XSL transformer given by xsltproc or 
                           EMBPERL_XSLTPROC
   
  -For example including the result of an XSLT 
  +For example, including the result of an XSLT 
   transformation into your html page could look like this:
   
   
  @@ -385,7 +398,7 @@
       </body>
       </html>
   
  -As you already guess the xsltstylesheet parameter gives the name of the xsl 
  +As you already guessed, the xsltstylesheet parameter gives the name of the xsl 
   file. You can also use the EMBPERL_XSLTSTYLESHEET configuration directive
   to set it from your configuration file.
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.22  +7 -4      embperl/driver/Attic/epxalan.cpp
  
  Index: epxalan.cpp
  ===================================================================
  RCS file: /home/cvs/embperl/driver/Attic/epxalan.cpp,v
  retrieving revision 1.1.2.21
  retrieving revision 1.1.2.22
  diff -u -r1.1.2.21 -r1.1.2.22
  --- epxalan.cpp       5 Mar 2002 11:10:58 -0000       1.1.2.21
  +++ epxalan.cpp       5 Mar 2002 11:20:11 -0000       1.1.2.22
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epxalan.cpp,v 1.1.2.21 2002/03/05 11:10:58 richter Exp $
  +#   $Id: epxalan.cpp,v 1.1.2.22 2002/03/05 11:20:11 richter Exp $
   #
   
###################################################################################*/
   
  @@ -887,7 +887,10 @@
   
       ((tProviderXalan *)pProvider) -> pParamHV = pParamHV ;
       if (pParamHV)
  -        SvREFCNT_inc (((tProviderXalan *)pProvider) -> pParamHV) ;
  +        {
  +        SV * pSV = ((tProviderXalan *)pProvider) -> pParamHV ;
  +        SvREFCNT_inc (pSV) ;
  +        }
   
       return ok ;
       }
  @@ -1010,8 +1013,8 @@
            return rcXalanError ;
            }
   
  -        *pData = ((tProviderXalan *)pProvider) -> pOutputSV ;
  -        SvREFCNT_inc(*pData) ;
  +        *pData = iowrite.pProvider -> pOutputSV ;
  +        SvREFCNT_inc((*pData)) ;
           }
   
       return ok ;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to