+local in_block = 0
+
+-- Mark the begin of a block of lambda formatted buffers or expressions. This
+-- means that, until you call end_of_block again, the subscript bases are
+-- shared. For example, if you have \lam{y1} some text \lam{yn} within a
+-- single block, the yn will properly get subscripted. Be sure to call
+-- end_of_block again!
+--
+-- Blocks can be partially nested, meaning that the block
+-- won't be closed until end_of_block was called exactly as often as
+-- begin_of_block. However, subscripts from the inner block can still
+-- influence subscripts in the outer block.
+function vis.begin_of_block()
+ vis.begin_of_display()
+ in_block = in_block + 1
+end
+
+-- Ends the current block
+function vis.end_of_block()
+ in_block = in_block - 1
+end
+