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.