33.20 Подстановка по коду символа

Следующие функции заменяют символы в указанном регионе на основе их кодов символов.

Функция: subst-char-in-region start end old-char new-char &optional noundo

Эта функция заменяет все вхождения символа old-char символом new-char в регионе текущего буфера, определенном start и end. Оба символа должны иметь одинаковую длину своей многобайтовой формы.

Если noundo не равно nil, то subst-char-in-region не записывает изменение для отмены и не помечает буфер как измененный. Это было полезно для управления старой функцией выборочного отображения (см. Выборочное отображение).

subst-char-in-region не перемещает точку и возвращает nil.

---------- Буфер: foo ----------
Это содержимое буфера до.
---------- Буфер: foo ----------

(subst-char-in-region 1 20 ?i ?X)
     ⇒ nil

---------- Буфер: foo ----------
ThXs Xs содержимое буфера до.
---------- Буфер: foo ----------
Функция: subst-char-in-string fromchar tochar string &optional inplace

Эта функция заменяет все вхождения символа fromchar символом tochar в string. По умолчанию подстановка происходит в копии string, но если необязательный аргумент inplace не равен nil, функция изменяет саму string. В любом случае функция возвращает результирующую строку.

Команда: translate-region start end table

Эта функция применяет таблицу перевода к символам в буфере между позициями start и end.

Таблица перевода table — это строка или таблица символов; (aref table ochar) дает переведенный символ, соответствующий ochar. Если table — это строка, любые символы с кодами, превышающими длину table, не изменяются переводом.

Возвращаемое значение translate-region — это количество символов, которые были фактически изменены переводом. Это не включает символы, которые были отображены в себя в таблице перевода.