Emacs Ispell ломается на латексных кавычках

Моя команда emacs "ispell", которая запускает hunspell, прерывается, когда попадает в разделы в кавычках в моем латексном буфере emacs (я использую AucTEX). В моем предыдущем дистрибутиве emacs/Linux такой проблемы не было. Пример:

as you like to say, vbfs ``You won't know what to do with yourself.''

Бег M-x ispell правильно флаги vbfs. Тем не мение,

as you like to say, ``You won't know what to do with yourself.'' vbfs

Не регистрирует никаких ошибок. Кроме того, как только он попадает в указанную часть текста, кажется, пропустить оставшуюся часть документа. Что может вызвать это? Для справки, вот мой ispell-tex-skip-alists вар:

((("\\\\addcontentsline" ispell-tex-arg-end 2)
  ("\\\\add\\(tocontents\\|vspace\\)" ispell-tex-arg-end)
  ("\\\\\\([aA]lph\\|arabic\\)" ispell-tex-arg-end)
  ("\\\\bibliographystyle" ispell-tex-arg-end)
  ("\\\\makebox" ispell-tex-arg-end 0)
  ("\\\\e?psfig" ispell-tex-arg-end)
  ("\\\\document\\(class\\|style\\)" . "\\\\begin[  \n]*{[  \n]*document[   \n]*}"))
 (("\\(figure\\|table\\)\\*?" ispell-tex-arg-end 0)
  ("list" ispell-tex-arg-end 2)
  ("program" . "\\\\end[    \n]*{[  \n]*program[    \n]*}")
  ("verbatim\\*?" . "\\\\end[   \n]*{[  \n]*verbatim\\*?[   \n]*}")))

Запуск GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ версия 3.8.2) 2013-08-14 на buildvm-15.phx2.fedoraproject.org

1 ответ

Решение

Ispell передает пару кавычек на hunspell, который не справляется с этим. Мы можем избежать этого с помощью следующих советов:

(defadvice ispell-send-string (before kill-quotes activate)
  (setq string (replace-regexp-in-string "''" "  " string)))

Он заменяет пару кавычек пробелами. Пробелы необходимы, чтобы избежать неправильного выравнивания.

Другие вопросы по тегам