-function _block( block, LOCAL, st, len, hlvl, htxt, guard, code, indent, attrib ) {
+# Nested Block, resets heading counters
+function _nblock( block, LOCAL, hlsav, sec ) {
+ # Keeping arrays in a local scope is awkward, so we serialize the HL array
+ # into the scalar hlsav
+ hlsav = HL[1] " " HL[2] " " HL[3] " " HL[4] " " HL[5] " " HL[6];
+ HL[1] = 0; HL[2] = 0; HL[3] = 0; HL[4] = 0; HL[5] = 0; HL[6] = 0;
+
+ # Block Level
+ blvl++;
+
+ block = _block( block );
+ sec = ""; for ( n = 1; n <= 6; n++ ) { sec = sec (HL[n]?"</section>":""); }
+ split(hlsav, HL); blvl--;
+ return block sec;
+}
+
+function _block( block, LOCAL, st, len, hlvl, htxt, sec, guard, code, indent, attrib ) {