diff options
Diffstat (limited to 'dh-elpa.el')
-rw-r--r-- | dh-elpa.el | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -33,15 +33,13 @@ (dirname (package-desc-full-name pkg-desc)) (pkg-dir (expand-file-name dirname destdir)) (backup-inhibited t)) + (make-directory pkg-dir t) (pcase (package-desc-kind pkg-desc) (`tar - (make-directory package-user-dir t) - ;; FIXME: should we delete PKG-DIR if it exists? - (let* ((default-directory (file-name-as-directory package-user-dir))) - (package-untar-buffer dirname))) + (let ((default-directory (file-name-as-directory destdir))) + (package-untar-buffer dirname))) (`single (let ((el-file (expand-file-name (format "%s.el" name) pkg-dir))) - (make-directory pkg-dir t) (package--write-file-no-coding el-file))) (kind (error "Unknown package kind: %S" kind))) (package--make-autoloads-and-stuff pkg-desc pkg-dir) @@ -66,7 +64,13 @@ Downloads and installs required packages as needed." into second command line argument" (let ((dest (car command-line-args-left)) (el-file (cadr command-line-args-left))) - (with-temp-buffer - (insert-file-contents-literally el-file) - (dhelpa-install-from-buffer dest)))) + (dhelpa-install-file dest el-file))) + +;;;###autoload +(defun dhelpa-install-file (dest el-file) + (with-temp-buffer + (insert-file-contents-literally el-file) + (when (string-match "\\.tar\\'" el-file) (tar-mode)) + (dhelpa-install-from-buffer (expand-file-name dest)))) + ;;; dh-elpa.el ends here |