rranelli / auto-package-update.el

Automatically update Emacs packages.
151 stars 26 forks source link

Incompatibility with quelpa #42

Closed tastytea closed 4 years ago

tastytea commented 4 years ago

auto-package-update-now tries to upgrade all packages in package-activated-list from ELPA repositories, including quelpa packages.

Workaround:

(defvar my/tmp--package-activated-list nil)

(defun my/apu-delete-quelpa-packages ()
  "Delete quelpa packages from `package-activated-list'."
  (setq my/tmp--package-activated-list package-activated-list)
  (dolist (package quelpa-cache)
    (let ((package-name (car package)))
      (setq package-activated-list
            (delq package-name package-activated-list)))))

(defun my/apu-restore-quelpa-packages ()
  "Restore quelpa packages to `package-activated-list'."
  (if my/tmp--package-activated-list
      (setq package-activated-list my/tmp--package-activated-list)
    (message "Error: Could not restore `package-activated-list'."))
  (setq my/tmp--package-activated-list nil))

(add-hook 'auto-package-update-before-hook #'my/apu-delete-quelpa-packages)
(add-hook 'auto-package-update-after-hook  #'my/apu-restore-quelpa-packages)