Я часто пишу классы со спецификацией экспорта/импорта DLL, но это, похоже, путает синтаксический синтаксис emacs. Я в конечном итоге что-то вроде:Неправильный отступ emacs в классе C++ со спецификацией экспорта DLL
class myDllSpec Foo {
public:
Foo(void);
};
Обратите внимание, что «общественность:» спецификация доступа отступа неправильно, а также все, что следует за ним.
Когда я спрашиваю Emacs, чтобы описать синтаксис в начале строки, содержащей общественности, я получаю возврат:
((label 352))
Если удалить myDllSpec, отступы правильно, и Emacs говорит мне, что синтаксис есть:
((inclass 352) (access-label 352))
Что кажется правильным и разумным. Поэтому я пришел к выводу, что синтаксический анализатор не способен обрабатывать спецификацию экспорта DLL, и это то, что вызывает проблемы с отступом.
К сожалению, я не знаю, как преподавать парсер о моих ярлыках. Кажется, что это довольно распространенная практика, поэтому я надеюсь, что есть способ обойти это.