Project

Profile

Help

Bug #4057

closed

Code for allocating slots to xsl:iterate parameters is not present in Saxon-HE

Added by Michael Kay over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
Internals
Sprint/Milestone:
-
Start date:
2018-11-29
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.9
Fix Committed on Branch:
9.9
Fixed in Maintenance Release:
Platforms:

Description

In ExpressionTool.allocateSlots(), the code concerned with xsl:iterate and xsl:next-iteration is conditionally-compiled out for the Saxon-HE build. On the surface, this would make xsl:iterate fail under Saxon-HE.

Rather than just fix it, I'd prefer to run some tests (a) to see if there really is a problem, and (b) if so, why our testing didn't find it.

Actions #1

Updated by Michael Kay over 5 years ago

I think the call on ((IterateInstr) exp).allocateParameterSlots(nextFree) -- which is done twice under PE/EE, and not at all under HE -- actually serves no useful purpose. Commenting it out completely causes no "iterate" tests to fail.

The method allocateParameterSlots() has an odd comment "This is normally done during compilation, but not in the case of an xsl:iterate instruction constructed dynamically to support xsl:copy/@on-empty" The xsl:copy/@on-empty attribute was in a draft of XSLT 3.0 and subsequently dropped; I think this confirms the notion that this is obsolete and redundant code.

Dropping this code.

Actions #2

Updated by Michael Kay over 5 years ago

  • Category set to Internals
  • Status changed from New to Resolved
  • Applies to branch 9.9 added
  • Fix Committed on Branch 9.9 added

Redundant code deleted from ExpressionTool and IterateInstr.

Actions #3

Updated by O'Neil Delpratt about 5 years ago

  • % Done changed from 0 to 100
  • Fixed in Maintenance Release 9.9.1.1 added

Bug fix applied to the Saxon 9.9.1.1 maintenance release.

Actions #4

Updated by O'Neil Delpratt about 5 years ago

  • Status changed from Resolved to Closed

Please register to edit this issue

Also available in: Atom PDF