Function: package-recompile
package-recompile is an autoloaded, interactive and byte-compiled
function defined in package.el.gz.
Signature
(package-recompile PKG)
Documentation
Byte-compile package PKG again.
PKG should be either a symbol, the package name, or a package-desc
object.
Probably introduced at or before Emacs version 29.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
;;;###autoload
(defun package-recompile (pkg)
"Byte-compile package PKG again.
PKG should be either a symbol, the package name, or a `package-desc'
object."
(interactive (list (intern (completing-read
"Recompile package: "
(mapcar #'symbol-name
(mapcar #'car package-alist))))))
(let ((pkg-desc (if (package-desc-p pkg)
pkg
(cadr (assq pkg package-alist)))))
;; Delete the old .elc files to ensure that we don't inadvertently
;; load them (in case they contain byte code/macros that are now
;; invalid).
(dolist (elc (directory-files-recursively
(package-desc-dir pkg-desc) "\\.elc\\'"))
(delete-file elc))
(package--compile pkg-desc)))