emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117151: Fix bug: Properly quote args to generated -


From: Thien-Thi Nguyen
Subject: [Emacs-diffs] trunk r117151: Fix bug: Properly quote args to generated -pkg.el `define-package'.
Date: Sun, 25 May 2014 16:28:57 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117151
revision-id: address@hidden
parent: address@hidden
committer: Thien-Thi Nguyen <address@hidden>
branch nick: trunk
timestamp: Sun 2014-05-25 18:32:08 +0200
message:
  Fix bug: Properly quote args to generated -pkg.el `define-package'.
  
  * lisp/emacs-lisp/package.el (package-generate-description-file):
  Inline `package--alist-to-plist'; rewrite to selectively
  quote alist values that are not self-quoting.
  (package--alist-to-plist): Delete func.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/emacs-lisp/package.el     package.el-20100617020707-ybavz666awsxwin6-2
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-05-25 08:08:24 +0000
+++ b/lisp/ChangeLog    2014-05-25 16:32:08 +0000
@@ -1,3 +1,12 @@
+2014-05-25  Thien-Thi Nguyen  <address@hidden>
+
+       Fix bug: Properly quote args to generated -pkg.el `define-package'.
+
+       * emacs-lisp/package.el (package-generate-description-file):
+       Inline `package--alist-to-plist'; rewrite to selectively
+       quote alist values that are not self-quoting.
+       (package--alist-to-plist): Delete func.
+
 2014-05-25  Andreas Schwab  <address@hidden>
 
        * term/xterm.el (xterm-function-map): Add mapping for shifted

=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el        2014-05-06 18:11:16 +0000
+++ b/lisp/emacs-lisp/package.el        2014-05-25 16:32:08 +0000
@@ -702,14 +702,25 @@
                            (list (car elt)
                                  (package-version-join (cadr elt))))
                          requires))))
-          (package--alist-to-plist
-           (package-desc-extras pkg-desc))))
+          (let ((alist (package-desc-extras pkg-desc))
+                flat)
+            (while alist
+              (let* ((pair (pop alist))
+                     (key (car pair))
+                     (val (cdr pair)))
+                ;; Don't bother ‘quote’ing ‘key’; it is always a keyword.
+                (push key flat)
+                (push (if (and (not (consp val))
+                               (or (keywordp val)
+                                   (not (symbolp val))
+                                   (memq val '(nil t))))
+                          val
+                        `',val)
+                      flat)))
+            (nreverse flat))))
         "\n")
        nil pkg-file nil 'silent))))
 
-(defun package--alist-to-plist (alist)
-  (apply #'nconc (mapcar (lambda (pair) (list (car pair) (cdr pair))) alist)))
-
 (defun package-unpack (pkg-desc)
   "Install the contents of the current buffer as a package."
   (let* ((name (package-desc-name pkg-desc))


reply via email to

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