richter 00/12/23 12:13:28
Modified: . Changes.pod Embperl.pm Embperl.pod EmbperlD.pod
INSTALL.pod MANIFEST NEWS.pod TODO test.pl
test/conf httpd.conf.src
Added: test/cmp epobless.htm
test/html/EmbperlObject eposubs.htm
test/html/EmbperlObject/sub epobless.htm eposubs.htm
Log:
- Added object and isa parameters to Execute, which allows to get an
object reference for a certain file and set the Perl inherence
hierachive. Ideas from Neil Gunton and Agnus Lees.
Revision Changes Path
1.148 +13 -0 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -r1.147 -r1.148
--- Changes.pod 2000/12/04 07:41:00 1.147
+++ Changes.pod 2000/12/23 20:13:15 1.148
@@ -1,5 +1,18 @@
=pod
+
+
+=head1 1.3.1_devv -- That's what currently under developement
+
+Last Update: <$localtime$> (MET)
+
+NOTE: This version is only available via L<"CVS"|CVS/"INTRO">
+
+ - Added object and isa parameters to Execute, which allows to get an
+ object reference for a certain file and set the Perl inherence
+ hierachive. Ideas from Neil Gunton and Agnus Lees.
+
+
=head1 1.3.0 (RELEASE) 4 Dec. 2000
- Corrected a wrong test, that let make test fail. Spotted by Eddie Lau.
1.137 +20 -7 embperl/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl.pm,v
retrieving revision 1.136
retrieving revision 1.137
diff -u -r1.136 -r1.137
--- Embperl.pm 2000/12/04 07:41:00 1.136
+++ Embperl.pm 2000/12/23 20:13:16 1.137
@@ -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.136 2000/12/04 07:41:00 richter Exp $
+# $Id: Embperl.pm,v 1.137 2000/12/23 20:13:16 richter Exp $
#
###################################################################################
@@ -731,16 +731,18 @@
$req -> {'cookie_expires'} = CGI::expires($req -> {'cookie_expires'},
'cookie') ;
}
+
my $conf = SetupConfData ($req, $opcodemask) ;
my $Outputfile = $$req{'outputfile'} ;
- my $In = $$req{'input'} ;
+ my $In = $$req{'input'} ;
my $Out = $$req{'output'} ;
my $filesize ;
my $mtime ;
my $OutData ;
my $InData ;
+ my $import = exists ($req -> {'import'})?$req -> {'import'}:($$req{'isa'}
|| $$req{'object'})?0:undef ;
if (exists $$req{'input_func'})
{
@@ -785,7 +787,7 @@
$Out = \$OutData if (exists $$req{'output_func'}) ;
- my $Inputfile = $$req{'inputfile'} || '?' ;
+ my $Inputfile = $$req{'inputfile'} || $$req{'isa'} || $$req{'object'} || '?'
;
my $Sub = $$req{'sub'} || '' ;
my $lastreq = CurrReq () ;
@@ -833,7 +835,7 @@
my $ar ;
$ar = Apache->request if (defined ($req_rec)) ; # workaround that
Apache::Request has another C Interface, than Apache
my $r = SetupRequest ($ar, $Inputfile, $mtime, $filesize, ($$req{firstline} ||
1), $Outputfile, $conf,
- &epIOMod_Perl, $In, $Out, $Sub, exists
($$req{import})?scalar(caller ($$req{import} > 0?$$req{import} -
1:0)):'',$SessionMgnt) ;
+ &epIOMod_Perl, $In, $Out, $Sub, defined
($import)?scalar(caller ($import > 0?$import - 1:0)):'',$SessionMgnt) ;
bless $r, $$req{'bless'} if (exists ($$req{'bless'})) ;
@@ -845,9 +847,9 @@
$r -> CreateAliases () ;
- if (exists ($$req{import}) && ($exports = $r -> ExportHash))
+ if (defined ($import) && ($exports = $r -> ExportHash))
{
- $r -> Export ($exports, caller ($$req{import} - 1)) if ($$req{import}) ;
+ $r -> Export ($exports, caller ($import - 1)) if ($import) ;
$rc = 0 ;
}
else
@@ -958,7 +960,7 @@
$r -> CleanupSession ;
- $r -> Export ($exports, caller ($$req{import} - 1)) if ($$req{import} &&
($exports = $r -> ExportHash)) ;
+ $r -> Export ($exports, caller ($import - 1)) if ($import && ($exports = $r
-> ExportHash)) ;
my $cleanup = $$req{'cleanup'} || ($optDisableVarCleanup?-1:0) ;
@@ -983,12 +985,23 @@
}
$rc = $r -> Error?500:0 ;
+ no strict ;
+ push @{caller () . '::ISA'}, $package if ($req -> {'isa'}) ;
+ use strict ;
}
@{$req -> {errors}} = @{$r -> ErrArray()} if (ref ($req -> {errors}) eq
'ARRAY') ;
$r -> FreeRequest () ;
+ if ($rc == 0 && $req -> {'object'})
+ {
+ my $object = {} ;
+ bless $object, $package ;
+ return $object ;
+ }
+
+
return $rc ;
}
1.66 +3 -1 embperl/Embperl.pod
Index: Embperl.pod
===================================================================
RCS file: /home/cvs/embperl/Embperl.pod,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- Embperl.pod 2000/12/04 07:41:00 1.65
+++ Embperl.pod 2000/12/23 20:13:17 1.66
@@ -2675,8 +2675,10 @@
binary redhat 6.0 ftp://ftp.akopia.com/pub/support/6.0/
binary redhat 6.1 ftp://ftp.akopia.com/pub/support/6.1/
+ Debian packages http://www.cse.unsw.edu.au/~gusl/embperl
+
PPM for ActiveState http://theoryx5.uwinnipeg.ca/ppmpackages/
-
+
=head2 CVS
1.38 +2 -0 embperl/EmbperlD.pod
Index: EmbperlD.pod
===================================================================
RCS file: /home/cvs/embperl/EmbperlD.pod,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- EmbperlD.pod 2000/12/04 07:41:00 1.37
+++ EmbperlD.pod 2000/12/23 20:13:19 1.38
@@ -2645,6 +2645,8 @@
binary redhat 6.0 ftp://ftp.akopia.com/pub/support/6.0/
binary redhat 6.1 ftp://ftp.akopia.com/pub/support/6.1/
+ Debian packages http://www.cse.unsw.edu.au/~gusl/embperl
+
PPM f�r ActiveState http://theoryx5.uwinnipeg.ca/ppmpackages/
=head2 CVS
1.15 +34 -0 embperl/INSTALL.pod
Index: INSTALL.pod
===================================================================
RCS file: /home/cvs/embperl/INSTALL.pod,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- INSTALL.pod 2000/11/15 08:15:40 1.14
+++ INSTALL.pod 2000/12/23 20:13:19 1.15
@@ -70,6 +70,40 @@
they are mainly nesseccary for debugging I<Embperl> itself.
+=head2 Debian packages
+
+The Debian packages are maintained by Angus Lees. Here are his
+installation hints:
+
+i've also setup an apt repository for those using stable (potato). to
+use it, just add these lines to /etc/apt/sources.list (deb-src line is
+only necessary if you want to download the source at some point):
+
+ deb http://www.cse.unsw.edu.au/~gusl/embperl stable/binary-$(ARCH)/
+ deb-src http://www.cse.unsw.edu.au/~gusl/embperl stable/source/
+
+then run "apt-get update" followed by either
+"apt-get install libhtml-embperl-perl" or just "apt-get upgrade" if
+you already have embperl installed.
+
+if you don't like apt, and want to do it the old fashioned way, i'm
+sure you can work out how to download the .deb manually.
+
+
+notes:
+
+currently i only have i386 packages built for stable. if anyone wants
+to build other archs and let me know, i can add them in (else, i can
+probably get a sparc and alpha version compiled)
+
+
+the package for unstable is compiled against perl5.6, so it has to
+conflict with earlier mod_perl packages that are compiled against
+perl5.5. unfortunately, there is no perl5.6 apache-perl package yet
+(drow assures me he's uploading one soon), so you have to make do with
+a DSO mod-perl (ie: apache + libapache-mod-perl) for now.
+
+
=head2 WIN 32
I have tested the offline mode on Windows 95 with a Microsoft Visual C++ 4.2
1.59 +4 -0 embperl/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /home/cvs/embperl/MANIFEST,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- MANIFEST 2000/12/04 07:41:00 1.58
+++ MANIFEST 2000/12/23 20:13:20 1.59
@@ -159,6 +159,9 @@
test/html/EmbperlObject/sub/epohead.htm
test/html/EmbperlObject/sub/epopage2.htm
test/html/EmbperlObject/epofallback.htm
+test/html/EmbperlObject/eposubs.htm
+test/html/EmbperlObject/sub/eposubs.htm
+test/html/EmbperlObject/sub/epobless.htm
test/html/EmbperlObject/obj/epobase.htm
test/html/EmbperlObject/obj/epohead.htm
test/html/EmbperlObject/obj/epofoot.htm
@@ -260,6 +263,7 @@
test/cmp/eponotfound.htm
test/cmp/epostopdir.htm
test/cmp/epobaselib.htm
+test/cmp/epobless.htm
test/cmp/getbsess.htm
test/cmp/delrdsess.htm
test/cmp/delwrsess.htm
1.3 +17 -0 embperl/NEWS.pod
Index: NEWS.pod
===================================================================
RCS file: /home/cvs/embperl/NEWS.pod,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- NEWS.pod 2000/12/04 09:16:29 1.2
+++ NEWS.pod 2000/12/23 20:13:20 1.3
@@ -3,6 +3,23 @@
=over 4
+=item * 22. Dec 2000
+
+After long time of talking, designing, developing, codeing and testing I am
+now happy to announce the first beta of Embperl 2.0. It has a totaly
+rewritten core and makes the way free for a lot of new possibilities...
+
+At the moment it's mainly a speed improvement and introduces caching of the
+(component) output. In the next releases I successively make the
+possibilities of this new architecture available. (see the readme below for
+some ideas what will happen).
+
+Since it's not yet ready for production use, it's only available from my ftp
+server at
+
+ftp://ftp.dev.ecos.de/pub/perl/embperl/HTML-Embperl-2.0b1.tar.gz
+
+
=item * 4. Dec 2000
After nearly a year of beta test, the final 1.3.0 release is out.
1.104 +6 -0 embperl/TODO
Index: TODO
===================================================================
RCS file: /home/cvs/embperl/TODO,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -r1.103 -r1.104
--- TODO 2000/12/04 07:41:00 1.103
+++ TODO 2000/12/23 20:13:20 1.104
@@ -66,6 +66,10 @@
- discard output [ Roman Maeder 28.11.00]
+- object bless via Execute [ Neil Gunton 21.12.00 ]
+
+- [$ uses xxx $] -> ISA [ Angus Lees 21.12.00 ]
+
Test
----
- test FORBIDDEN
@@ -88,6 +92,8 @@
Docs
----
- [- -] [+ +] etc all turns into _perl_code_ in html [S Page 13.9.99]
+
+- Execute -> object, isa
1.3
---
1.88 +5 -0 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- test.pl 2000/12/03 13:13:44 1.87
+++ test.pl 2000/12/23 20:13:20 1.88
@@ -429,6 +429,11 @@
'offline' => 0,
'cgi' => 0,
},
+ 'EmbperlObject/sub/epobless.htm' => {
+ 'offline' => 0,
+ 'cgi' => 0,
+ 'repeat' => 2,
+ },
'EmbperlObject/obj/epoobj1.htm' => {
'offline' => 0,
'cgi' => 0,
1.1 embperl/test/cmp/epobless.htm
Index: epobless.htm
===================================================================
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>another head from sub</h1>
txt1: txt1 from same dir <br>
txt2: txt2 from base dir <br>
<hr> Footer <hr>
</body>
</html>
1.31 +29 -0 embperl/test/conf/httpd.conf.src
Index: httpd.conf.src
===================================================================
RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- httpd.conf.src 2000/11/17 05:30:49 1.30
+++ httpd.conf.src 2000/12/23 20:13:26 1.31
@@ -388,3 +388,32 @@
ApJServLogFile /dev/null
</IfModule>
EOD
+
+print OFH <<EOD ;
+
+<Location /embperl/hw>
+SetHandler perl-script
+PerlHandler HTML::Embperl
+Options ExecCGI
+#PerlSetEnv EMBPERL_OPTIONS 8083
+#PerlSetEnv EMBPERL_OPTIONS 8147
+PerlSetEnv EMBPERL_OPTIONS 209
+PerlSetEnv EMBPERL_DEBUG 0
+</Location>
+
+<Location /embperl/asp>
+SetHandler perl-script
+PerlHandler Apache::ASP
+PerlSetVar Global $EPPATH/test/tmp
+PerlSetVar Debug 0
+PerlSetVar CookiePath /
+PerlSetVar NoState 1
+PerlSetVar StatScripts 0
+#PerlSetVar DynamicIncludes 1
+#PerlSetVar SessionTimeout .5
+#PerlSetVar AllowSessionState 1
+</Location>
+
+
+EOD
+
1.1 embperl/test/html/EmbperlObject/eposubs.htm
Index: eposubs.htm
===================================================================
[!
sub txt2 { "txt2 from base dir" } ;
!]
** base dir **
1.1 embperl/test/html/EmbperlObject/sub/epobless.htm
Index: epobless.htm
===================================================================
[- $subs = Execute ({'object' => 'eposubs.htm'}) -]
txt1: [+ $subs -> txt1 +] <br>
txt2: [+ $subs -> txt2 +] <br>
1.1 embperl/test/html/EmbperlObject/sub/eposubs.htm
Index: eposubs.htm
===================================================================
[! $subs = Execute ({'isa' => '../eposubs.htm'}) !]
[!
sub txt1 { "txt1 from same dir" } ;
!]
** same dir **
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]