summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dh-elpa.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/dh-elpa.el b/dh-elpa.el
index d3c18ed..7c68ce5 100644
--- a/dh-elpa.el
+++ b/dh-elpa.el
@@ -44,4 +44,16 @@
(package--make-autoloads-and-stuff pkg-desc pkg-dir)
pkg-dir))
+(defun dhelpa-install-from-buffer (destdir)
+ "Install a package from the current buffer.
+The current buffer is assumed to be a single .el or .tar file that follows the
+packaging guidelines; see info node `(elisp)Packaging'.
+Downloads and installs required packages as needed."
+ (interactive "D")
+ (let ((pkg-desc (if (derived-mode-p 'tar-mode)
+ (package-tar-file-info)
+ (package-buffer-info))))
+ (dhelpa-unpack pkg-desc destdir)
+ pkg-desc))
+
;;; dh-elpa.el ends here