Как заставить emacs обрабатывать #ifdef и #endif как '{' и '}' ?

Я бы хотел, чтобы emacs обрабатывал "#ifdef" точно так же, как "{" и "#endif" как "}" в отношении отступов. Примерно так:

#ifdef __linux__
    #include <sys/socket.h>
#endif

int func(void)
{
    int foo = 0;

    #ifdef DO_STUFF
        foo = do_stuff();
    #endif

    return foo;
}

вместо:

#ifdef __linux__
#include <sys/socket.h>
#endif

int func(void)
{
    int foo = 0;

#ifdef DO_STUFF
    foo = do_stuff();
#endif

    return foo;
}

Возникновение с "cpp-macro" не помогает. Как бы я это сделал? Спасибо!

6
задан colding 2 February 2012 в 22:22
поделиться