После обновления до версии Aquamacs версии 3.3 (emacs 25.1.1), я получаю ошибку, указанную в заголовке при запуске re-replace-region
(как определено ниже), пытаясь изменить строку из 9s в области (например, «99» или «999») на 0 с. У меня никогда не было этой проблемы с предыдущими версиями Aquamacs (или emacs вообще), и я ничего не могу придумать, как в среде emacs, так и в среде компьютера (Mac OS 10.9.5), которая может быть связана с проблема.«re-replace-region: сопоставить данные, сбитые крючками модификации буфера»
Фактически, у меня есть исполняемый файл emacs (версия 22.1.1) на той же машине и после вызова его в той же среде (например, такие же ~/.emacs и т. Д.), re-replace-region
работает так, как должен.
Единственная другая подсказка, которую я могу предложить, заключается в том, что при запуске области повторной замены в области с указанием трех 9 (999) в ней, стараясь изменить 9 на 0, первые 9 будут изменены до того, поднял.
Вот DEFUN:
;;; RE-REPLACE-REGION replaces OLD (a regular expression) with NEW
;;; throughout the region indicated by BEGIN and END.
;;; For example, to insert a prefix ">" at the beginning of each line
;;; in the region:
;;; M-x re-replace-regionRET^RET>RET
;;; I don't know who wrote this function!
(defun re-replace-region (begin end old new)
"Replace occurrences of REGEXP with TO-STRING in region."
(interactive "*r\nsReplace string: \nswith: ")
(save-excursion
(save-restriction
(narrow-to-region begin end)
(goto-char (point-min))
(while (re-search-forward old (point-max) t)
(replace-match new nil nil)))))
Просьба предоставить пошаговый рецепт, чтобы воспроизвести проблему, начиная с 'emacs -Q' (без файла инициализации). Покажите, какие команды и ввод вы используете, и т. Д. Если вы или люди здесь можете сказать, что вы не делаете что-то неправильно, подумайте о том, как сообщать о поведении как об ошибке, либо для поддерживающих Aquamacs, либо с помощью 'Mx report-emacs-bug', если вы думаете, что это не касается Aquamacs. – Drew