Aplicar sangría a las directivas del preprocesador como código C en emacs

Emacs, por defecto, no sangra el código del preprocesador. Sé que tiene raíces históricas que son obsoletas por ahora.

Sin embargo, tener un código con una gran cantidad de #ifdef sin sangría es difícil de leer.

Así que me gustaría hacer que la sangría automática de emacs me dé algo así:

void myfunc() {
    int foo;

    #ifdef BAR
    printf(foo);
    #endif

    return foo;
}

En lugar de lo que obtengo ahora:

void myfunc() {
    int foo;

#ifdef BAR
    printf(foo);
#endif

    return foo;
}

¿Alguna pista sobre ese tema emacs hackers :)?

Respuestas a la pregunta(1)

Su respuesta a la pregunta