O Emacs pode ser realocado de maneira praticamente inofensiva, mesmo que você não tome nenhuma precaução ao compilar. Se os caminhos codificados não funcionarem, o Emacs procura diretórios perto do executável.
O Emacs tenta determinar onde o executável que o invocou está localizado. Ele armazena essas informações na variável invocation-directory . Digamos que isso seja /path/to/bin/emacs ; O Emacs procura pelos arquivos de dados necessários nos diretórios codificados e retorna aos diretórios em /path/to .
Você precisa estruturar seus diretórios da mesma forma que a origem do Emacs, mais ou menos, com os diretórios de nível superior bin , etc , leim , lib-src , lisp , site-lisp . Em particular, pelo menos com o Emacs 23.2, o diretório lib-src deve existir (mesmo se estiver vazio).
Existem alguns diretórios que o Emacs não encontra dessa maneira. Defina o ambiente EMACSDATA=/path/to/etc . Você pode precisar definir INFOPATH também.