splice


Description:

public void splice (AttrList other, int pos, int len)

This function opens up a hole in this, fills it in with attributes from the left, and then merges other on top of the hole.

This operation is equivalent to stretching every attribute that applies at position pos in this by an amount len, and then calling change with a copy of each attribute in other in sequence (offset in position by pos).

This operation proves useful for, for instance, inserting a pre-edit string in the middle of an edit buffer.

Parameters:

this

a AttrList

other

another AttrList

pos

the position in this at which to insert other

len

the length of the spliced segment. (Note that this must be specified since the attributes in other may only be present at some subsection of this range)