GNU Emacs Lisp Reference Manual
This subroutine is used by the transposition commands.
Normally, transpose-regions relocates markers with the transposed text; a marker previously positioned within one of the two transposed portions moves along with that portion, thus remaining between the same two characters in their new position. However, if leave-markers is non-nil, transpose-regions does not do this---it leaves all markers unrelocated.