# Print 3 lines before and 5 lines after any line that contains 'marker'
1-* 1
if "includes(@@,'marker')" then
DUMPCTX # dumps the queue
SETCTR 5
endif
if "settablectr()<=0" then
CTXBUF 3 # eats the record into a size-3 queue. Otherwise it gets printed
endif
Used similar to
WRITE:CTXBUF+ numeric constant indicating count of backwards linesDUMPCTX- causes an emptying of the bufferSETCTR+ numeric constant indicating count of forward linessettablectr()function - decremented with each line. Starts at zero and decreases with every lineExample: