Я запускаю Emacs 24 на Ubuntu 10.04, кодируя С++ в среде С++ по умолчанию. Периодически после кодирования время мой движок отступа, кажется, ломается - нажатие "табуляции" на отступы помещает любую строку в начало строки. Выбор всего буфера приводит к тому, что весь буфер не имеет отступов. Эта проблема влияет на все буферы, текущие или более поздние. Пока единственный способ восстановить его - это (неудобный) шаг перезапуска emacs. Есть ли другой способ перезагрузить мой движок отступа? Попытка загрузить различные стили отступов не устраняет проблему.
Emacs 24 С++ автоиндексация сломана
Ответ 1
Вы прочитали эту тему?
http://lists.gnu.org/archive/html/help-gnu-emacs/2012-09/msg00216.html
Похоже, вы можете исправить свою проблему, обновив cc-mode.
Ответ 2
Я вижу то же самое с 24.3, но я обнаружил, что закрытие и повторное открытие затронутого буфера также решает проблему.
Ответ 3
Это повторяющаяся проблема в моей системе (Emacs 24.3 x86_64 Red Hat Linux) и может быть ошибкой, введенной в Emacs 24, судя по ссылке размещенной на event_jr. Я встречаюсь с проблемой довольно часто и обычно разрешаю ее, перезагружая любой буфер, в котором я работаю:
M-x revert-buffer RET yes RET
Таким образом, вам не нужно закрывать ни буфер, ни Emacs.
Ответ 4
Я обнаружил, что несимметричные директивы препроцессора (#ifdef и т.д.) могут привести к такому поведению