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/03/07 09:18:32 UTC
cvs commit: embperl/test/html input.htm
richter 01/03/07 00:18:32
Modified: . Tag: Embperl2c Embperl.pm Syntax.xs ep2.h epcomp.c
epdat.h epparse.c eputil.c typemap
Embperl Tag: Embperl2c Syntax.pm
Embperl/Syntax Tag: Embperl2c EmbperlBlocks.pm HTML.pm
eg/images Tag: Embperl2c jazzbkgd.gif
test/html Tag: Embperl2c input.htm
Log:
Embperl 2 - multiple syntaxes
Revision Changes Path
No revision
No revision
1.118.4.24 +3 -3 embperl/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl.pm,v
retrieving revision 1.118.4.23
retrieving revision 1.118.4.24
diff -u -r1.118.4.23 -r1.118.4.24
--- Embperl.pm 2001/03/07 04:54:41 1.118.4.23
+++ Embperl.pm 2001/03/07 08:18:25 1.118.4.24
@@ -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.23 2001/03/07 04:54:41 richter Exp $
+# $Id: Embperl.pm,v 1.118.4.24 2001/03/07 08:18:25 richter Exp $
#
###################################################################################
@@ -1984,7 +1984,7 @@
foreach $err (@$errors)
{
$self -> output ("<A HREF=\"$virtlog?$logfilepos&$$#E$cnt\">") ; #<tt>") ;
- $HTML::Embperl::escmode = 3 ;
+ $HTML::Embperl::escmode = 7 ;
$err =~ s|\n|\n\\<br\\>\\ \\ \\ \\ |g;
$err =~ s|(Line [0-9]*:)|$1\\</a\\>|;
$self -> output ($err) ;
@@ -1996,7 +1996,7 @@
}
else
{
- $HTML::Embperl::escmode = 3 ;
+ $HTML::Embperl::escmode = 7 ;
foreach $err (@$errors)
{
$err =~ s|\n|\n\\<br\\>\\ \\ \\ \\ |g;
1.1.2.3 +4 -4 embperl/Attic/Syntax.xs
Index: Syntax.xs
===================================================================
RCS file: /home/cvs/embperl/Attic/Syntax.xs,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- Syntax.xs 2001/03/07 04:54:42 1.1.2.2
+++ Syntax.xs 2001/03/07 08:18:25 1.1.2.3
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Syntax.xs,v 1.1.2.2 2001/03/07 04:54:42 richter Exp $
+# $Id: Syntax.xs,v 1.1.2.3 2001/03/07 08:18:25 richter Exp $
#
###################################################################################
@@ -28,7 +28,7 @@
HV * pHV ;
SV ** ppSV ;
- if (!SvROK (pSyntaxObj) || SvTYPE(pHV = (HV *)SvRV(pSyntaxObj)) == SVt_PVHV || (mg = mg_find ((SV *)pHV, '~')))
+ if (!SvROK (pSyntaxObj) || SvTYPE(pHV = (HV *)SvRV(pSyntaxObj)) != SVt_PVHV || (mg = mg_find ((SV *)pHV, '~')))
{
/* tTokenTable * pTab = *((tTokenTable **)(mg -> mg_ptr)) ; */
croak ("Internal Error: pSyntaxObj has already a TokenTable") ;
@@ -40,8 +40,8 @@
sv_magic ((SV *)pHV, NULL, '~', (char *)&pTab, sizeof (pTab)) ;
ppSV = hv_fetch (pHV, "-root", 5, 0) ;
- if (ppSV == NULL || *ppSV == NULL)
+ if (ppSV == NULL || *ppSV == NULL || !SvROK (*ppSV))
croak ("Internal Error: pSyntaxObj has no -root") ;
else
- BuildTokenTable (pCurrReq, (HV *)*ppSV, "", pTab) ;
+ BuildTokenTable (pCurrReq, (HV *)(SvRV(*ppSV)), "", NULL, pTab) ;
1.1.2.9 +1 -0 embperl/Attic/ep2.h
Index: ep2.h
===================================================================
RCS file: /home/cvs/embperl/Attic/ep2.h,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -u -r1.1.2.8 -r1.1.2.9
--- ep2.h 2001/02/25 22:04:42 1.1.2.8
+++ ep2.h 2001/03/07 08:18:26 1.1.2.9
@@ -51,6 +51,7 @@
int BuildTokenTable (/*i/o*/ register req * r,
/*in*/ HV * pTokenHash,
/*in*/ const char * pDefEnd,
+ /*i/o*/ void * * ppCompilerInfo,
/*out*/ struct tTokenTable * pTokenTable) ;
int ParseFile (/*i/o*/ register req * r) ;
1.4.2.37 +1 -1 embperl/Attic/epcomp.c
Index: epcomp.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epcomp.c,v
retrieving revision 1.4.2.36
retrieving revision 1.4.2.37
diff -u -r1.4.2.36 -r1.4.2.37
--- epcomp.c 2001/03/03 14:45:56 1.4.2.36
+++ epcomp.c 2001/03/07 08:18:26 1.4.2.37
@@ -1487,7 +1487,7 @@
lprintf (r, "Setup source code for interactive debugger\n") ;
}
- if ((rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, "main")) != ok)
+ if ((rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, EPMAINSUB)) != ok)
return rc ;
#if 0
1.20.4.11 +2 -0 embperl/epdat.h
Index: epdat.h
===================================================================
RCS file: /home/cvs/embperl/epdat.h,v
retrieving revision 1.20.4.10
retrieving revision 1.20.4.11
diff -u -r1.20.4.10 -r1.20.4.11
--- epdat.h 2001/03/07 04:54:43 1.20.4.10
+++ epdat.h 2001/03/07 08:18:26 1.20.4.11
@@ -544,3 +544,5 @@
+
+#define EPMAINSUB "_ep_main"
1.4.2.10 +16 -10 embperl/Attic/epparse.c
Index: epparse.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epparse.c,v
retrieving revision 1.4.2.9
retrieving revision 1.4.2.10
diff -u -r1.4.2.9 -r1.4.2.10
--- epparse.c 2001/03/07 04:54:44 1.4.2.9
+++ epparse.c 2001/03/07 08:18:26 1.4.2.10
@@ -63,10 +63,10 @@
/* */
/* ------------------------------------------------------------------------ */
-int CheckProcInfo (/*i/o*/ register req * r,
+static int CheckProcInfo (/*i/o*/ register req * r,
/*in*/ HV * pHash,
/*in*/ struct tToken * pToken,
- /*in*/ struct tTokenTable * pTokenTable)
+ /*i/o*/ void * * ppCompilerInfo)
{
@@ -107,9 +107,9 @@
}
if (strcmp (pKey, "embperl") == 0)
- embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, 1, &pTokenTable -> pCompilerInfo) ;
+ embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, 1, ppCompilerInfo) ;
else if (strncmp (pKey, "embperl#", 8) == 0 && (n = atoi (pKey+8)) > 0)
- embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, n, &pTokenTable -> pCompilerInfo) ;
+ embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, n, ppCompilerInfo) ;
}
}
@@ -131,11 +131,12 @@
/* */
/* ------------------------------------------------------------------------ */
-int BuildSubTokenTable (/*i/o*/ register req * r,
+static int BuildSubTokenTable (/*i/o*/ register req * r,
/*in*/ HV * pHash,
/*in*/ const char * pKey,
/*in*/ const char * pAttr,
/*in*/ const char * pDefEnd,
+ /*i/o*/ void * * ppCompilerInfo,
/*out*/ struct tTokenTable * * pTokenTable)
@@ -164,7 +165,7 @@
if (r -> bDebug & dbgBuildToken)
lprintf (r, "[%d]TOKEN: -> %s\n", r -> nPid, pAttr) ;
- if ((rc = BuildTokenTable (r, pSubHash, pDefEnd, pNewTokenTable)))
+ if ((rc = BuildTokenTable (r, pSubHash, pDefEnd, ppCompilerInfo, pNewTokenTable)))
return rc ;
if (r -> bDebug & dbgBuildToken)
lprintf (r, "[%d]TOKEN: <- %s\n", r -> nPid, pAttr) ;
@@ -203,6 +204,7 @@
int BuildTokenTable (/*i/o*/ register req * r,
/*in*/ HV * pTokenHash,
/*in*/ const char * pDefEnd,
+ /*i/o*/ void * * ppCompilerInfo,
/*out*/ struct tTokenTable * pTokenTable)
@@ -225,7 +227,11 @@
memset (pAllChars, 0, sizeof (pTokenTable -> cAllChars)) ;
pTokenTable -> bLSearch = 0 ;
pTokenTable -> pContainsToken = NULL ;
+ pTokenTable -> pCompilerInfo = NULL ;
+ if (ppCompilerInfo == NULL)
+ ppCompilerInfo = &pTokenTable -> pCompilerInfo ;
+
numTokens = 1 ;
hv_iterinit (pTokenHash) ;
while ((pEntry = hv_iternext (pTokenHash)))
@@ -317,15 +323,15 @@
p -> nNodeName = String2Ndx (p -> sText, strlen (p -> sText)) ;
- if ((rc = CheckProcInfo (r, pHash, p, pTokenTable)) != ok)
+ if ((rc = CheckProcInfo (r, pHash, p, ppCompilerInfo)) != ok)
return rc ;
- if ((rc = BuildSubTokenTable (r, pHash, pKey, "follow", p -> sEndText, &pNewTokenTable)))
+ if ((rc = BuildSubTokenTable (r, pHash, pKey, "follow", p -> sEndText, ppCompilerInfo, &pNewTokenTable)))
return rc ;
p -> pFollowedBy = pNewTokenTable ;
- if ((rc = BuildSubTokenTable (r, pHash, pKey, "inside", "", &pNewTokenTable)))
+ if ((rc = BuildSubTokenTable (r, pHash, pKey, "inside", "", ppCompilerInfo, &pNewTokenTable)))
return rc ;
p -> pInside = pNewTokenTable ;
@@ -429,7 +435,7 @@
/* */
/* ------------------------------------------------------------------------ */
-int ParseTokens (/*i/o*/ register req * r,
+static int ParseTokens (/*i/o*/ register req * r,
/*in */ char * * ppCurr,
char * pEnd,
struct tTokenTable * pTokenTable,
1.15.4.4 +1 -1 embperl/eputil.c
Index: eputil.c
===================================================================
RCS file: /home/cvs/embperl/eputil.c,v
retrieving revision 1.15.4.3
retrieving revision 1.15.4.4
diff -u -r1.15.4.3 -r1.15.4.4
--- eputil.c 2000/12/22 06:19:46 1.15.4.3
+++ eputil.c 2001/03/07 08:18:27 1.15.4.4
@@ -867,7 +867,7 @@
if ((symtab = gv_stashpv ((char *)sPackage, 0)) == NULL)
return ;
- ppSV = hv_fetch (symtab, "__ANON__", 8, 0) ;
+ ppSV = hv_fetch (symtab, EPMAINSUB, sizeof (EPMAINSUB) - 1, 0) ;
if (!ppSV || !*ppSV)
{
if (bDebug)
1.3.4.5 +2 -2 embperl/typemap
Index: typemap
===================================================================
RCS file: /home/cvs/embperl/typemap,v
retrieving revision 1.3.4.4
retrieving revision 1.3.4.5
diff -u -r1.3.4.4 -r1.3.4.5
--- typemap 2001/03/07 04:54:44 1.3.4.4
+++ typemap 2001/03/07 08:18:27 1.3.4.5
@@ -48,10 +48,10 @@
T_PTROBJ_SYNTAX
{
MAGIC * mg ;
- if (mg = mg_find (SvRV($arg), '~'))
+ if (SvROK ($arg) && (mg = mg_find (SvRV($arg), '~')))
$var = *((tTokenTable **)(mg -> mg_ptr)) ;
else
- croak (\"$var is not of type XML::Embperl::Syntax\") ;
+ croak (\"$var is not of type HTML::Embperl::Syntax\") ;
}
No revision
No revision
1.1.4.21 +59 -51 embperl/Embperl/Attic/Syntax.pm
Index: Syntax.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
retrieving revision 1.1.4.20
retrieving revision 1.1.4.21
diff -u -r1.1.4.20 -r1.1.4.21
--- Syntax.pm 2001/03/07 04:54:48 1.1.4.20
+++ Syntax.pm 2001/03/07 08:18:29 1.1.4.21
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Syntax.pm,v 1.1.4.20 2001/03/07 04:54:48 richter Exp $
+# $Id: Syntax.pm,v 1.1.4.21 2001/03/07 08:18:29 richter Exp $
#
###################################################################################
@@ -148,7 +148,7 @@
my ($name) = @_ ;
my @names = map { /::/?$_:'HTML::Embperl::Syntax::'. $_ } split (/\s/, $name) ;
- my $name = join (' ', @names) ;
+ $name = join (' ', @names) ;
return undef if (!$name) ;
return $Syntax{$name} if (exists ($Syntax{$name})) ;
@@ -156,7 +156,7 @@
foreach (@names)
{
eval "require $_" ;
- warn $@ ;
+ warn $@ if ($@) ;
return undef if ($@) ;
}
@@ -169,13 +169,55 @@
&{"$_::new"}($self) ;
}
- return $Syntax{$name} = BuildTokenTable ($self) ;
+ BuildTokenTable ($self) ;
+ $Syntax{$name} = $self ;
+ return $self ;
}
+# ---------------------------------------------------------------------------------
+#
+# Deep clone a hash and make replacements
+#
+# ---------------------------------------------------------------------------------
+sub CloneHash
+ {
+ my ($self, $old, $replace) = @_ ;
+
+ my $new = {} ;
+ $replace ||= {} ;
+ my ($v, $k) ;
+
+ while (($k, $v) = each (%$old))
+ {
+ if ($replace -> {$k})
+ {
+ $new -> {$k} = $replace -> {$k} ;
+ }
+ else
+ {
+ if (ref ($v) eq 'HASH')
+ {
+ $new -> {$k} = $self -> CloneHash ($v, $replace) ;
+ }
+ elsif (ref ($v) eq 'ARRAY')
+ {
+ $new -> {$k} = [@$v] ;
+ }
+ else
+ {
+ $new -> {$k} = $v ;
+ }
+ }
+ }
+
+ return $new ;
+ }
+
+
###################################################################################
#
# Definitions for documents
@@ -252,40 +294,6 @@
__END__
-sub clonehash
- {
- my ($old, $new, $replace) = @_ ;
-
-
- $replace ||= {} ;
- my ($v, $k) ;
-
- while (($k, $v) = each (%$old))
- {
- if ($replace -> {$k})
- {
- $new -> {$k} = $replace -> {$k} ;
- }
- else
- {
- if (ref ($v) eq 'HASH')
- {
- $new -> {$k} = clonehash ($v, {}, $replace) ;
- }
- elsif (ref ($v) eq 'ARRAY')
- {
- $new -> {$k} = [$v] ;
- }
- else
- {
- $new -> {$k} = $v ;
- }
- }
- }
-
- return $new ;
- }
-
###################################################################################
#
@@ -304,7 +312,7 @@
'end' => '"',
'inside' => \%Cmds,
'nodetype' => ntypAttr,
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
},
'Attribut \'\'' =>
{
@@ -312,14 +320,14 @@
'end' => '\'',
'inside' => \%Cmds,
'nodetype' => ntypAttr,
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
},
'Attribut alphanum' =>
{
'contains' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789',
'inside' => \%Cmds,
'nodetype' => ntypAttr,
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
}
) ;
@@ -451,7 +459,7 @@
%HtmlTagsStd = (
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' => \%Cmds,
) ;
@@ -472,7 +480,7 @@
%HtmlTags = (
'input' => {
'text' => 'input',
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' =>
{
'type' => { 'text' => 'type', 'nodename' => 'type', follow => \%AssignAttr },
@@ -495,7 +503,7 @@
'textarea' => {
'text' => 'textarea',
'nodetype' => ntypStartTag,
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' =>
{
'name' => { 'text' => 'name', 'nodename' => 'name', follow => \%AssignAttr },
@@ -681,37 +689,37 @@
},
'a' => {
'text' => 'a',
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' => \%HrefLink,
},
'frame' => {
'text' => 'frame',
'inside' => \%SrcLink,
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
},
'iframe' => {
'text' => 'iframe',
'inside' => \%SrcLink,
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
},
'embed' => {
'text' => 'embed',
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' => \%SrcLink,
},
'layer' => {
'text' => 'layer',
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' => \%SrcLink,
},
'img' => {
'text' => 'img',
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' => \%SrcLink,
},
'form' => {
'text' => 'form',
- 'cdatatype' => ntypAttrValue,
+ #'cdatatype' => ntypAttrValue,
'inside' => \%ActionLink,
},
No revision
No revision
1.1.2.6 +15 -18 embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm
Index: EmbperlBlocks.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- EmbperlBlocks.pm 2001/03/06 12:33:48 1.1.2.5
+++ EmbperlBlocks.pm 2001/03/07 08:18:30 1.1.2.6
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlBlocks.pm,v 1.1.2.5 2001/03/06 12:33:48 richter Exp $
+# $Id: EmbperlBlocks.pm,v 1.1.2.6 2001/03/07 08:18:30 richter Exp $
#
###################################################################################
@@ -51,9 +51,11 @@
if ($firsttime)
{
- $self -> AddToRoot (\%Blocks) ;
- $self -> AddToRoot (\%BlocksOutput) ;
+ $self -> {-epbBlocks} = $self -> CloneHash ({ %Blocks, %BlocksOutput }) ;
+ $self -> {-epbBlocksLink} = $self -> CloneHash ({ %Blocks, %BlocksOutputLink }, { 'unescape' => 2 }) ;
+ $self -> AddToRoot ($self -> {-epbBlocks}) ;
+
Init ($self) ;
}
@@ -157,14 +159,11 @@
#### add the Embperl Block inside the new HTML Tag ####
$tag -> {inside} ||= {} ;
-
- while (my ($k, $v) = each (%Blocks))
- {
- $tag -> {inside} -> {$k} = $v ;
- }
- while (my ($k, $v) = each (%BlocksOutput))
+ my $inside = $tag -> {inside} ;
+
+ while (my ($k, $v) = each (%{$self -> {-epbBlocks}}))
{
- $tag -> {inside} -> {$k} = $v ;
+ $inside -> {$k} = $v ;
}
if (!$self -> {-epbHTMLInit})
@@ -173,9 +172,11 @@
$self -> {-epbHTMLInit} = 1 ;
- foreach ('-htmlAssignAttr', '-htmlAssignAttrLink')
+ my $unescape = 0 ;
+ foreach ('', 'Link')
{
- my $attr = $self -> {$_} ;
+ my $attr = $self -> {"-htmlAssignAttr$_"} ;
+ my $blocks = $self -> {"-epbBlocks$_"} ;
while (my ($k1, $v1) = each %$attr)
{
if (!($k1 =~ /^-/) && ref ($v1) eq 'HASH')
@@ -190,14 +191,10 @@
$v2 -> {inside} ||= {} ;
my $inside = $v2 -> {inside} ;
- while (my ($k, $v) = each (%Blocks))
+ while (my ($k, $v) = each (%$blocks))
{
$inside -> {$k} = $v ;
}
- while (my ($k, $v) = each (%BlocksOutput))
- {
- $inside -> {$k} = $v ;
- }
}
}
}
@@ -438,7 +435,7 @@
'text' => '[+',
'nodename' => '[+url',
'end' => '+]',
- 'unescape' => 1,
+ 'unescape' => 2,
'procinfo' => {
embperl => {
perlcode =>
1.1.2.6 +4 -10 embperl/Embperl/Syntax/Attic/HTML.pm
Index: HTML.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/HTML.pm,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- HTML.pm 2001/03/06 12:33:50 1.1.2.5
+++ HTML.pm 2001/03/07 08:18:30 1.1.2.6
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: HTML.pm,v 1.1.2.5 2001/03/06 12:33:50 richter Exp $
+# $Id: HTML.pm,v 1.1.2.6 2001/03/07 08:18:30 richter Exp $
#
###################################################################################
@@ -58,12 +58,13 @@
},
'HTML Comment' => {
'text' => '<!--',
+ 'nodename' => '!--',
'end' => '-->',
},
}) ;
- $self -> {-htmlAssignAttr} = { %AssignAttr} ;
- $self -> {-htmlAssignAttrLink} = { %AssignAttrLink} ;
+ $self -> {-htmlAssignAttr} = $self -> CloneHash (\%AssignAttr) ;
+ $self -> {-htmlAssignAttrLink} = $self -> CloneHash (\%AssignAttr) ;
}
return $self ;
@@ -268,13 +269,6 @@
) ;
-%AssignAttrLink = (
- 'Assign' =>
- {
- 'text' => '=',
- 'follow' => { %Attr },
- }
- ) ;
1;
No revision
No revision
1.1.2.1.6.3 +1 -16 embperl/eg/images/jazzbkgd.gif
<<Binary file>>
No revision
No revision
1.10.4.4 +10 -0 embperl/test/html/input.htm
Index: input.htm
===================================================================
RCS file: /home/cvs/embperl/test/html/input.htm,v
retrieving revision 1.10.4.3
retrieving revision 1.10.4.4
diff -u -r1.10.4.3 -r1.10.4.4
--- input.htm 2000/12/18 11:38:59 1.10.4.3
+++ input.htm 2001/03/07 08:18:31 1.10.4.4
@@ -1,3 +1,13 @@
+<input name="feld1">
+<input name=feld1>
+<input name='feld1'>
+<input src='feld1[+ ' bla'+]'>
+
+<!-- Die ist ein Kommentar -->
+
+
+
+
<html>
<head>