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