Quando você desinstala um pacote, ele é excluído para você. Na verdade, essa é a totalidade da operação de desinstalação (consulte a package-deletefunção). A exclusão também pode ser feita manualmente, removendo-a do diretório de instalação (padrão .emacs.d/elpa/para os pacotes instalados pelo usuário). Esta exclusão manual não tem efeitos colaterais adversos no sistema de gerenciamento de pacotes, o que simplifica a recuperação em caso de problemas.
Pacotes podem depender de outros pacotes para funcionar corretamente. Essas dependências são instaladas automaticamente quando você instala um pacote por meio do gerenciador de pacotes interno ( package.el). Se você estiver usando M-x package-list-packagespara visualizar os pacotes disponíveis, poderá ver quais pacotes serão instalados (se não estiverem presentes) pressionando RETou clicando no nome de um pacote.
A desinstalação de um pacote pela interface não remove dependências. Esta informação não está documentada até onde eu sei. Você pode ver por si mesmo lendo as funções package-menu-executee package-deleteou instalando um pacote com uma dependência que você não instalou, removendo o pacote principal e observando o status da dependência.
Atualização Desde o emacs 25.1, existe um comando package-autoremoveque exclui os pacotes que não são mais necessários, porque eles foram instalados apenas como uma dependência do pacote excluído. Se você excluir um pacote instalado da lista de pacotes, o emacs exibirá uma sugestão para executar este comando quando apropriado.
package-installnão deve alterar o seu arquivo init. E sim, o gerenciador de pacotes instalará dependências para os pacotes que você instalar. Entãopopupé uma dependência paraauto-complete.