Итак, у меня есть эта превосходная функция (которую кто-то сделал для меня) для выполнения множественного поиска и замены во всем буфере.
(defun accent-replace-whole-buffer ()
"Corrects macrons from badly scanned latin"
(interactive "*")
(dolist (ele (list ?â ?ä ?ê ?ë ?î ?ô ?ü ?ï))
(setq elt (char-to-string ele))
(goto-char (point-min))
(while (search-forward elt nil t 1)
(replace-match
(char-to-string
(pcase ele
(`?â ?ā)
(`?ä ?ā)
(`?ê ?ē)
(`?ë ?ē)
(`?î ?ī)
(`?ô ?ō)
(`?ü ?ū)
(`?ï ?ī)))))))
, и я хотел бы сделать другую функцию, которая делает это,только в выбранном регионе.
Как мне поступить? Есть ли где-нибудь хороший учебник?