Есть ли нормальная система подсветки синтаксиса для емакса? Сейчас используется то ли встроенная, то ли из CEDET - пичалька. Иногда возврашаемое значение функции подкрашивается как объявление переменной (пока такое замечал только на шаблонах), типы-параметры шаблонов часто забываются внутри функции, несколько раз наблюдал глюк при объявлении переменной вида type abc123def, подсвечивалось только abc - в этих случаях вроде бы всегда помогает перезагрузка исходника. Для любых невсторенных типов не работает подсветка заголовка функции void foo(owntype const &x), при этом void(const owntype &x) работает правильно, но тут он вообще игнорит проверку типа и просто подсвечивает любое слово после const.
Есть ли для емакса нормально работающая система подсветки с++?