[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2fe6110 2/6: * emacs-lisp/package.el (package-dir-i
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] master 2fe6110 2/6: * emacs-lisp/package.el (package-dir-info): New function. |
Date: |
Sat, 17 Jan 2015 00:26:42 +0000 |
branch: master
commit 2fe6110d710b71b90f90c84bfa8eaf6b129eb0a6
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
* emacs-lisp/package.el (package-dir-info): New function.
Find package information for a directory. The return result is a
`package-desc'.
---
lisp/ChangeLog | 2 ++
lisp/emacs-lisp/package.el | 18 ++++++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 93796e6..dce08a4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -3,6 +3,8 @@
* emacs-lisp/package.el (package--read-pkg-desc): New
function. Read a `define-package' form in current buffer. Return
the pkg-desc, with desc-kind set to KIND.
+ (package-dir-info): New function. Find package information for a
+ directory. The return result is a `package-desc'.
2015-01-16 Jorgen Schaefer <address@hidden>
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index d590667..77b15c1 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1281,6 +1281,24 @@ The return result is a `package-desc'."
(package--read-pkg-desc 'tar)
(kill-buffer (current-buffer))))))
+(defun package-dir-info ()
+ "Find package information for a directory.
+The return result is a `package-desc'."
+ (cl-assert (derived-mode-p 'dired-mode))
+ (let* ((desc-file (package--description-file default-directory)))
+ (if (file-readable-p desc-file)
+ (with-temp-buffer
+ (insert-file-contents desc-file)
+ (package--read-pkg-desc 'dir))
+ (let ((files (directory-files default-directory t "\\.el\\'" t))
+ info)
+ (while files
+ (with-temp-buffer
+ (insert-file-contents (pop files))
+ (if (setq info (ignore-errors (package-buffer-info)))
+ (setq files nil)
+ (setf (package-desc-kind info) 'dir))))))))
+
(defun package--read-pkg-desc (kind)
"Read a `define-package' form in current buffer.
Return the pkg-desc, with desc-kind set to KIND."
- [Emacs-diffs] master updated (69f36af -> a2cd6d9), Artur Malabarba, 2015/01/16
- [Emacs-diffs] master be6dbd4 1/6: * emacs-lisp/package.el (package--read-pkg-desc): New function., Artur Malabarba, 2015/01/16
- [Emacs-diffs] master 2fe6110 2/6: * emacs-lisp/package.el (package-dir-info): New function.,
Artur Malabarba <=
- [Emacs-diffs] master bc2f8d0 3/6: (package-install-from-buffer): Install packages from dired buffer., Artur Malabarba, 2015/01/16
- [Emacs-diffs] master 40d963f 5/6: * NEWS: Document installing packages from directories., Artur Malabarba, 2015/01/16
- [Emacs-diffs] master 64fd1a5 4/6: (package-install-file): Install packages from directory., Artur Malabarba, 2015/01/16
- [Emacs-diffs] master a2cd6d9 6/6: emacs-lisp/package.el and package-x.el: References to package-desc-kind, Artur Malabarba, 2015/01/16