richter 00/12/15 07:08:32
Modified: . Tag: Embperl2c epcomp.c epdom.c epdom.h epmain.c
Embperl Tag: Embperl2c Syntax.pm
Log:
Embperl2
Revision Changes Path
No revision
No revision
1.4.2.25 +6 -2 embperl/Attic/epcomp.c
Index: epcomp.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epcomp.c,v
retrieving revision 1.4.2.24
retrieving revision 1.4.2.25
diff -u -r1.4.2.24 -r1.4.2.25
--- epcomp.c 2000/12/13 15:21:06 1.4.2.24
+++ epcomp.c 2000/12/15 15:08:27 1.4.2.25
@@ -714,7 +714,8 @@
else if (*p == 'l')
{
char s [20] ;
- int l = sprintf (s, "%u", pNode -> xNdx) ;
+ //int l = sprintf (s, "%u", pNode -> xNdx) ;
+ int l = sprintf (s, "%u", pDomTree -> xLastNode) ;
StringAdd (ppCode, s, l) ;
}
else if (*p == 'q')
@@ -1117,7 +1118,10 @@
pCmd = pCmdHead = NULL ;
-// if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType ==
ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
+ if (pCmd == NULL || (pCmd -> bRemoveNode & 9) == 0)
+ pDomTree -> xLastNode = xNode ;
+
+ // if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType
== ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
// if (*bCheckpointPending && pNode -> bFlags && (pNode -> bFlags &
nflgIgnore) == 0)
if (*bCheckpointPending && !(pCmd && pCmd -> nSwitchCodeType == 2) &&
pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
{
1.4.2.17 +73 -0 embperl/Attic/epdom.c
Index: epdom.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epdom.c,v
retrieving revision 1.4.2.16
retrieving revision 1.4.2.17
diff -u -r1.4.2.16 -r1.4.2.17
--- epdom.c 2000/12/13 15:21:08 1.4.2.16
+++ epdom.c 2000/12/15 15:08:28 1.4.2.17
@@ -1585,6 +1585,79 @@
return xOldChild ;
}
+/* ------------------------------------------------------------------------ */
+/* */
+/* Node_insertBefore */
+/* */
+/* Inserts a child node before another node */
+/* */
+/* ------------------------------------------------------------------------ */
+
+/* ------------------------------------------------------------------------ */
+/* */
+/* Node_insertAfter */
+/* */
+/* Inserts a child node after another node */
+/* */
+/* ------------------------------------------------------------------------ */
+
+tNode Node_insertAfter (/*in*/ tDomTree * pNewNodeDomTree,
+ /*in*/ tNode xNewNode,
+ /*in*/ tDomTree * pRefNodeDomTree,
+ /*in*/ tNode xRefNode)
+
+ {
+ int bFlags = nflgModified | nflgReturn ;
+ tNodeData * pNewNode = Node_self (pNewNodeDomTree, xNewNode) ;
+ tNodeData * pRefNode = Node_self (pRefNodeDomTree, xRefNode) ;
+ tNodeData * pNxtNode = Node_selfNextSibling (pRefNodeDomTree,
pRefNode) ;
+
+
+ if (pNewNodeDomTree != pRefNodeDomTree)
+ {
+ tNodeData * pNew = Node_newAndAppend (pRefNodeDomTree, pRefNode -> xParent,
NULL, pNewNode -> nLinenumber, sizeof (tNodeData) + pNewNode -> numAttr * sizeof
(tAttrData)) ;
+
+ pNew -> nText = pNewNode -> nText ;
+ pNew -> xChilds = pNewNode -> xChilds ;
+ pNew -> nType = pNewNode -> nType ;
+ pNew -> bFlags = pNewNode -> bFlags ;
+
+ if (pNew -> nText)
+ NdxStringRefcntInc (pNew -> nText) ;
+ pNewNode = pNew ;
+ }
+
+ pRefNode = Node_selfCondCloneNode (pRefNodeDomTree, pRefNode) ;
+ if (pNxtNode)
+ pNxtNode = Node_selfCondCloneNode (pRefNodeDomTree, pNxtNode) ;
+ else
+ pNxtNode = pRefNode ;
+
+
+ pNxtNode -> xPrev = pNewNode -> xNdx ;
+ pRefNode -> xNext = pNewNode -> xNdx ;
+ pNewNode -> xPrev = pRefNode -> xNdx ;
+ pNewNode -> xNext = pNxtNode -> xNdx ;
+
+ if (pNewNode -> nType == ntypDocumentFraq)
+ {
+ tAttrData * pAttr = Element_selfSetAttribut (pRefNodeDomTree, pNewNode, NULL,
xDomTreeAttr, NULL, pNewNodeDomTree -> xNdx, 0) ;
+ pAttr -> bFlags = aflgOK ; /* reset string value flag */
+ }
+
+ return pNewNode -> xNdx ;
+ }
+
+
+
+
+
+
+
+
+
+
+
/* ------------------------------------------------------------------------ */
/* */
1.4.2.9 +6 -0 embperl/Attic/epdom.h
Index: epdom.h
===================================================================
RCS file: /home/cvs/embperl/Attic/epdom.h,v
retrieving revision 1.4.2.8
retrieving revision 1.4.2.9
diff -u -r1.4.2.8 -r1.4.2.9
--- epdom.h 2000/12/07 09:35:23 1.4.2.8
+++ epdom.h 2000/12/15 15:08:28 1.4.2.9
@@ -180,6 +180,7 @@
tDomTreeOrder * pOrder ; /* Order of dom tree after execution of code */
tIndex xNdx ; /* Index of Dom Tree */
tNode xDocument ; /* root document node */
+ tNode xLastNode ; /* last node that was compiled */
tIndex xFilename ; /* name of source file */
SV * pSV ; /* general purpose SV */
SV * pDomTreeSV ; /* SV that's hold the Index */
@@ -351,6 +352,11 @@
tNode Node_removeChild (/*in*/ tDomTree * pDomTree,
/*in*/ tNode xNode,
/*in*/ tNode xChild) ;
+
+tNode Node_insertAfter (/*in*/ tDomTree * pNewNodeDomTree,
+ /*in*/ tNode xNewNode,
+ /*in*/ tDomTree * pRefNodeDomTree,
+ /*in*/ tNode xRefNode) ;
tNode Node_replaceChildWithNode (/*in*/ tDomTree * pParentDomTree,
/*in*/ tNode xParent,
1.75.4.17 +2 -1 embperl/epmain.c
Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.75.4.16
retrieving revision 1.75.4.17
diff -u -r1.75.4.16 -r1.75.4.17
--- epmain.c 2000/12/04 13:38:13 1.75.4.16
+++ epmain.c 2000/12/15 15:08:28 1.75.4.17
@@ -2827,7 +2827,8 @@
if (!bError && !r -> pImportStash)
{
tDomTree * pDomTree = DomTree_self (r -> xCurrDomTree) ;
- Node_replaceChildWithNode (pDomTree, pDomTree -> xDocument,
DomTree_self (l -> xCurrDomTree), l -> xCurrNode) ;
+ //Node_replaceChildWithNode (pDomTree, pDomTree -> xDocument,
DomTree_self (l -> xCurrDomTree), l -> xCurrNode) ;
+ Node_insertAfter (pDomTree, pDomTree -> xDocument,
DomTree_self (l -> xCurrDomTree), l -> xCurrNode) ;
}
}
#endif
No revision
No revision
1.1.4.9 +3 -3 embperl/Embperl/Attic/Syntax.pm
Index: Syntax.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
retrieving revision 1.1.4.8
retrieving revision 1.1.4.9
diff -u -r1.1.4.8 -r1.1.4.9
--- Syntax.pm 2000/12/13 15:21:11 1.1.4.8
+++ Syntax.pm 2000/12/15 15:08:32 1.1.4.9
@@ -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.8 2000/12/13 15:21:11 richter Exp $
+# $Id: Syntax.pm,v 1.1.4.9 2000/12/15 15:08:32 richter Exp $
#
###################################################################################
@@ -170,8 +170,8 @@
'$_ep_node=%$l%;if (!defined
(scalar(do{%#~0:$row%}))) { _ep_dcp (%$t%,%^*htmltable%) ; last l%^*htmltable% ; }',
'$_ep_node=%$l%;{%#0%;}',
],
- #removenode => 3,
- removenode => 10,
+ removenode => 3,
+ #removenode => 10,
mayjump => 1,
compilechilds => 0,
},
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]