[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/install-package-from-directory 0148ad4 1/5: * emac
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] scratch/install-package-from-directory 0148ad4 1/5: * emacs-lisp/package.el (package--read-pkg-desc): New function. |
Date: |
Tue, 13 Jan 2015 17:57:52 +0000 |
branch: scratch/install-package-from-directory
commit 0148ad499e45b8d8fb45ee8831fbca5e9b6d6d95
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
* 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.
---
lisp/ChangeLog | 6 ++++++
lisp/emacs-lisp/package.el | 26 ++++++++++++++++----------
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 598f9c6..8c73087 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-13 Artur Malabarba <address@hidden>
+
+ * 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.
+
2015-01-11 Michael Albinus <address@hidden>
* files.el (directory-files-recursively): Do not include
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 79f8b65..f0af233 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1252,19 +1252,25 @@ The return result is a `package-desc'."
(unless tar-desc
(error "No package descriptor file found"))
(with-current-buffer (tar--extract tar-desc)
- (goto-char (point-min))
(unwind-protect
- (let* ((pkg-def-parsed (read (current-buffer)))
- (pkg-desc
- (if (not (eq (car pkg-def-parsed) 'define-package))
- (error "Can't find define-package in %s"
- (tar-header-name tar-desc))
- (apply #'package-desc-from-define
- (append (cdr pkg-def-parsed))))))
- (setf (package-desc-kind pkg-desc) 'tar)
- pkg-desc)
+ (package--read-pkg-desc 'tar)
(kill-buffer (current-buffer))))))
+(defun package--read-pkg-desc (kind)
+ "Read a `define-package' form in current buffer.
+Return the pkg-desc, with desc-kind set to KIND."
+ (goto-char (point-min))
+ (unwind-protect
+ (let* ((pkg-def-parsed (read (current-buffer)))
+ (pkg-desc
+ (if (not (eq (car pkg-def-parsed) 'define-package))
+ (error "Can't find define-package in %s"
+ (tar-header-name tar-desc))
+ (apply #'package-desc-from-define
+ (append (cdr pkg-def-parsed))))))
+ (setf (package-desc-kind pkg-desc) kind)
+ pkg-desc)))
+
;;;###autoload
(defun package-install-from-buffer ()