summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Brightman <sambrightman@users.noreply.github.com>2018-01-27 11:51:43 +0000
committerGitHub <noreply@github.com>2018-01-27 11:51:43 +0000
commit53c9fae476806cf9cbfca6ca9d6675dbeab18aef (patch)
treea75992b96e7ccda59e5988d5b9ca2d52af1555d9
parentf412aa65814afe715523f77a0f2cba528284a50c (diff)
parent38880f401fa2e9377699ccc4cc949773f9551080 (diff)
Merge pull request #36 from sambrightman/kill-autoloads-buffer
Kill buffer containing autoloads for installed package
-rw-r--r--epl.el19
1 files changed, 17 insertions, 2 deletions
diff --git a/epl.el b/epl.el
index 57b6cd3..a5f986e 100644
--- a/epl.el
+++ b/epl.el
@@ -630,7 +630,21 @@ packages."
;;; Package operations
-(defalias 'epl-install-file 'package-install-file)
+(defun epl-install-file (file)
+ "Install a package from FILE, like `package-install-file'."
+ (interactive (advice-eval-interactive-spec
+ (cadr (interactive-form #'package-install-file))))
+ (apply #'package-install-file (list file))
+ (let ((package (epl-package-from-file file)))
+ (unless (epl-package--package-desc-p package)
+ (epl--kill-autoload-buffer package))))
+
+(defun epl--kill-autoload-buffer (package)
+ "Kill the buffer associated with autoloads for PACKAGE."
+ (let* ((auto-name (format "%s-autoloads.el" (epl-package-name package)))
+ (generated-autoload-file (expand-file-name auto-name (epl-package-directory package)))
+ (buf (find-buffer-visiting generated-autoload-file)))
+ (when buf (kill-buffer buf))))
(defun epl-package-install (package &optional force)
"Install a PACKAGE.
@@ -642,7 +656,8 @@ non-nil, install PACKAGE, even if it is already installed."
(package-install (epl-package-description package))
;; The legacy API installs by name. We have no control over versioning,
;; etc.
- (package-install (epl-package-name package)))))
+ (package-install (epl-package-name package))
+ (epl--kill-autoload-buffer package))))
(defun epl-package-delete (package)
"Delete a PACKAGE.