@xuchunyang Ah. Vejo que não parece tão ruim. Se você der uma resposta, eu aceitaria.
precisa saber é o seguinte
Respostas:
9
Não tenho certeza de que é isso que você deseja (não sei o que você quer dizer com "sob certas condições"), mas aqui está uma função que eu uso para atualizar todos os pacotes sem mostrar *Packages*buffer, o que acho irritante quando eu só quero para atualizar pacotes.
(defun package-upgrade-all ()"Upgrade all packages automatically without showing *Packages* buffer."(interactive)(package-refresh-contents)(let(upgrades)(cl-flet ((get-version (name where)(let((pkg (cadr(assq name where))))(when pkg
(package-desc-version pkg)))))(dolist (package (mapcar #'car package-alist))(let((in-archive (get-version package package-archive-contents)))(when (and in-archive
(version-list-<(get-version package package-alist)
in-archive))(push (cadr(assq package package-archive-contents))
upgrades)))))(if upgrades
(when (yes-or-no-p
(message "Upgrade %d package%s (%s)? "(length upgrades)(if(=(length upgrades)1)"""s")(mapconcat #'package-desc-full-name upgrades ", ")))(save-window-excursion
(dolist (package-desc upgrades)(let((old-package (cadr(assq (package-desc-name package-desc)
package-alist))))(package-install package-desc)(package-delete old-package)))))(message "All packages are up to date"))))
Isso é bem experimentado. Também impede que os buffers de compilação sejam exibidos.
Instale-o por M-x package-install auto-update-package. Ele fornece uma função chamada auto-package-update-now. Você pode escrever uma ifcondição simples e adicioná-la ao seu .emacs.
Hum ... Vou lembrar disso, mas a idéia é tentar corrigir automaticamente o pacote se eles estiverem quebrados. Dependendo de um pacote para fazer isso é meio absurdo. :-)
PythonNov
1
O pacote agora é chamado de atualização automática de pacotes. (Reputação muito baixa para escrevê-la como um comentário no post de Chillar acima).
(Copiado de seu post e mesclado com esta resposta):
Instale-o por M-x package-install auto-package-update. Ele fornece uma função chamada auto-package-update-now. Você pode escrever uma condição if simples e adicioná-la ao seu ~/.emacs.
paradox
porpackage
).Respostas:
Não tenho certeza de que é isso que você deseja (não sei o que você quer dizer com "sob certas condições"), mas aqui está uma função que eu uso para atualizar todos os pacotes sem mostrar
*Packages*
buffer, o que acho irritante quando eu só quero para atualizar pacotes.Isso é bem experimentado. Também impede que os buffers de compilação sejam exibidos.
fonte
(y-or-n-p (message ..))
vez de apenas(y-or-n-p ...)
?message
, parece que isso pode ser feitoformat
também.format
. Obviamente, você não pode fazer isso sem nenhum tipo de interpolação de string.Você pode usar a atualização automática de pacotes .
Instale-o por
M-x package-install auto-update-package
. Ele fornece uma função chamadaauto-package-update-now
. Você pode escrever umaif
condição simples e adicioná-la ao seu.emacs
.fonte
O pacote agora é chamado de atualização automática de pacotes. (Reputação muito baixa para escrevê-la como um comentário no post de Chillar acima).
(Copiado de seu post e mesclado com esta resposta):
Instale-o por
M-x package-install auto-package-update
. Ele fornece uma função chamadaauto-package-update-now
. Você pode escrever uma condição if simples e adicioná-la ao seu~/.emacs
.fonte