package.el
não possui um bom suporte para este caso de uso. Você precisa executar novamente package-install-from-buffer
toda vez que fizer uma atualização no pacote, e também os M-x find-function
amigos não pularão para o código-fonte, mas para a cópia package.el
inserida ~/.emacs.d/elpa
. Como conseqüência, eu recomendaria não usá-lo package.el
para este caso de uso (ou de todo, pois ele tem vários outros problemas).
Em vez disso, você pode tentar meu gerenciador de pacotes straight.el
, que foi projetado explicitamente para este caso de uso. Com straight.el
, não há procedimento de "instalação local". Você acabou de colocar seu repositório ~/.emacs.d/straight/repos/<my-package-repo>
e, em seguida, carregar o pacote no seu arquivo init:
(straight-use-package '(<my-package> :local-repo "<my-package-repo>"))
Sempre que você faz uma alteração no código-fonte, a geração de carregamento automático e a compilação de bytes são refeitas (depois de reiniciar o Emacs). Além disso, você está executando diretamente do repositório Git, para que os M-x find-function
amigos funcionem conforme o esperado.
Finalmente, as versões local e upstream são totalmente intercambiáveis. straight.el
permite que você faça as alterações locais desejadas, e elas são tratadas tão sagradas quanto as alterações upstream (embora straight.el
permita reverter automaticamente [e interativamente] seus repositórios para as versões upstream, se desejar). Portanto, não há preocupação em fazer alterações em sua configuração se você deseja fazer o desenvolvimento local: basta fazer o desenvolvimento local. E se você tem um pacote privado que você publica, é trivial: basta empurrá-lo para algum lugar (e provavelmente atualize a receita no seu arquivo init para apontar para o repositório Git, para que você straight.el
possa cloná-lo novamente de uma máquina diferente).
Ao contrário de package.el
, não há diferença no tratamento de pacotes com vários arquivos e arquivos únicos.
Para obter uma documentação detalhada sobre straight.el
, incluindo comparações com outros gerenciadores de pacotes, consulte o README .
-pkg.el
arquivo opcional é interessante. O que os valores padrão nesse caso?