emacs-diffs
[Top][All Lists]
Advanced

[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 ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]