33.22 Транспонирование текста

Эту функцию можно использовать для транспонирования участков текста:

Функция: transpose-regions start1 end1 start2 end2 &optional leave-markers

Эта функция меняет местами две непересекающиеся части буфера (если они пересекаются, функция выдает ошибку). Аргументы start1 и end1 определяют границы одной части, а аргументы start2 и end2 определяют границы другой части.

Обычно transpose-regions перемещает маркеры вместе с транспонированным текстом; маркер, ранее находившийся в одной из двух транспонированных частей, перемещается вместе с этой частью, оставаясь между теми же двумя символами в новом положении. Однако, если leave-markers не равен nil, transpose-regions не делает этого — он оставляет все маркеры без перемещения.