From 0755801454a4671c1906131e5cc9e014f37c03f9 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Wed, 5 Dec 2001 17:50:53 +0000 Subject: [PATCH] applied Keith Isdale patch for the debugger glue. Daniel * libxslt/transform.c libxslt/variables.c: applied Keith Isdale patch for the debugger glue. Daniel --- ChangeLog | 5 +++++ libxslt/transform.c | 13 +++++++++---- libxslt/variables.c | 6 ++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 30e920d..208f2ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Dec 5 18:49:53 CET 2001 Daniel Veillard + + * libxslt/transform.c libxslt/variables.c: applied Keith Isdale + patch for the debugger glue. + Wed Dec 5 18:43:45 CET 2001 Daniel Veillard * breakpoint/Makefile.am breakpoint/deprecated.c: replaced diff --git a/libxslt/transform.c b/libxslt/transform.c index 256f4ad..58def81 100644 --- a/libxslt/transform.c +++ b/libxslt/transform.c @@ -1037,6 +1037,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node, #ifdef WITH_DEBUGGER int addCallResult = 0; + xmlNodePtr debugedNode = NULL; #endif long start = 0; @@ -1057,12 +1058,16 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node, return; } - if (templ) + if (templ) { xslHandleDebugger(templ->elem, node, templ, ctxt); - else if (list) + debugedNode = templ->elem; + } else if (list) { xslHandleDebugger(list, node, templ, ctxt); - else if (ctxt->inst) + debugedNode = list; + } else if (ctxt->inst) { xslHandleDebugger(ctxt->inst, node, templ, ctxt); + debugedNode = ctxt->inst; + } } #endif @@ -1129,7 +1134,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node, goto error; } #ifdef WITH_DEBUGGER - if (xslDebugStatus != XSLT_DEBUG_NONE) + if ((xslDebugStatus != XSLT_DEBUG_NONE) && (debugedNode != cur)) xslHandleDebugger(cur, node, templ, ctxt); #endif diff --git a/libxslt/variables.c b/libxslt/variables.c index ffb7b56..81918bd 100644 --- a/libxslt/variables.c +++ b/libxslt/variables.c @@ -419,6 +419,12 @@ xsltEvalGlobalVariable(xsltStackElemPtr elem, xsltTransformContextPtr ctxt) { "Evaluating global variable %s\n", elem->name); #endif +#ifdef WITH_DEBUGGER + if ((xslDebugStatus != XSLT_DEBUG_NONE) && + elem->comp && elem->comp->inst) + xslHandleDebugger(elem->comp->inst, NULL, NULL, ctxt); +#endif + precomp = elem->comp; if (elem->select != NULL) { xmlXPathCompExprPtr comp = NULL; -- 2.7.4