Отступы в Emacs внезапно перестали работать, как мне это исправить?

Я некоторое время работал над этим исходным файлом и отлично делал отступы, и теперь внезапно я не могу отступать от строк любыми способами (вкладка, область отступа Mx и т. д.). Перезапуск Emacs не помогает, закрытие и повторное открытие файла не помогает, и проблема, похоже, связана с этим конкретным файлом.

Это файл cpp, если это имеет значение. Да, я работаю в режиме C++. Да, синтаксический отступ включен.


person amo    schedule 20.06.2014    source источник
comment
Является ли файл допустимым синтаксически? Может быть, отступ идет неправильно из-за неуместного или подобного? Правильно ли шрифт-блокировка окрашивает файл?   -  person asjo    schedule 20.06.2014
comment
Я почти уверен, что у вас просто закончился кредит на отступ! Вы можете получить больше кредитов, отправив исправления в emacs-devel.   -  person Stefan    schedule 20.06.2014


Ответы (1)


Посмотрите на последнюю часть файла, который вы редактировали. Скорее всего, Emacs на самом деле использует отступы, но ваш исходный код таков, что отступ в том месте, где вы пытаетесь сделать отступ, не имеет никакого эффекта.

IOW, посмотрите на код, предшествующий позиции, в которой вы пытаетесь сделать отступ. Ищите синтаксические проблемы, из-за которых эта позиция на самом деле выглядит как верхняя. Я предполагаю, что синтаксическая проблема отбрасывает отступы.

Вы также можете сузить буфер, используя C-x n n, до определенных частей буфера, чтобы увидеть, где именно отступ делает то, что вы ожидаете, а где нет. Это поможет вам найти любые синтаксические проблемы, которые могут мешать.

person Drew    schedule 20.06.2014
comment
Итак, это сработало. Но проблема, с которой столкнулся Emacs, заключалась в одном из моих имен переменных... которое раньше ему очень нравилось. Я переименовал вызывающую ошибку переменную, и отступы снова заработали. Здорово. Но имя, которое я использовал ранее, не было недействительным. - person amo; 20.06.2014
comment
Если вы считаете, что в поведении Emacs есть ошибка (например, в отношении имени вашей переменной), рассмотрите возможность подачи отчета об ошибке: M-x report-emacs-bug. - person Drew; 20.06.2014