Se bem me lembro, o edif-dirs não é recursivo. Eu não tentei por mim mesmo, mas este pacote parece fazer o que você quer:
The EdiffTrees package is a simple frontend to EdiffMode to allow a simpler comparison of two similar directory trees.
I wrote this package because I often need to compare two different versions of the same directory tree and ediff-directories is not very helpful in this case. Specially when the directory trees to compare are deep and only a few files have changed.
For further instructions, please see the comentary in the file.
Como alternativa, supondo que você esteja em um sistema operacional unix, você pode entrar no modo eshell (M-x eshell) e executar:
diff -r dir1 dir2
Meio que um hack realmente, mas ei, você ainda está no emacs!