diff options
| author | Stefan Monnier | 2014-09-02 15:51:25 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2014-09-02 15:51:25 -0400 |
| commit | 559b827d8aba3ca060f3875a65028cffe71f258b (patch) | |
| tree | 4cb648c9aa427312b6ef0452fc212d4801e19cfe | |
| parent | 9de3064db6370972998737a9aa7cce7856c42aef (diff) | |
| download | emacs-559b827d8aba3ca060f3875a65028cffe71f258b.tar.gz emacs-559b827d8aba3ca060f3875a65028cffe71f258b.zip | |
* lisp/emacs-lisp/package.el (package-generate-description-file):
Properly quote the arguments. Change second arg.
(package--alist-to-plist-args): Rename from package--alist-to-plist and
quote the elements.
(package--make-autoloads-and-stuff): Fix the test for pre-existence of
the *-pkg.el file. Adjust to new calling convention of
package-generate-description-file.
Fixes: debbugs:18332
| -rw-r--r-- | lisp/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 24 |
2 files changed, 23 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c91f43cafa0..1e130d05cf6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,13 @@ | |||
| 1 | 2014-09-02 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2014-09-02 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * emacs-lisp/package.el (package-generate-description-file): | ||
| 4 | Properly quote the arguments (bug#18332). Change second arg. | ||
| 5 | (package--alist-to-plist-args): Rename from package--alist-to-plist and | ||
| 6 | quote the elements. | ||
| 7 | (package--make-autoloads-and-stuff): Fix the test for pre-existence of | ||
| 8 | the *-pkg.el file. Adjust to new calling convention of | ||
| 9 | package-generate-description-file. | ||
| 10 | |||
| 3 | * progmodes/gud.el (gud-gdb-completion-at-point): Add hack (bug#18282). | 11 | * progmodes/gud.el (gud-gdb-completion-at-point): Add hack (bug#18282). |
| 4 | (gud-gdb-completions): Remove obsolete workaround. | 12 | (gud-gdb-completions): Remove obsolete workaround. |
| 5 | 13 | ||
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index b70b478cd32..329ab8e6de7 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el | |||
| @@ -688,11 +688,9 @@ untar into a directory named DIR; otherwise, signal an error." | |||
| 688 | (error "Package does not untar cleanly into directory %s/" dir))))) | 688 | (error "Package does not untar cleanly into directory %s/" dir))))) |
| 689 | (tar-untar-buffer)) | 689 | (tar-untar-buffer)) |
| 690 | 690 | ||
| 691 | (defun package-generate-description-file (pkg-desc pkg-dir) | 691 | (defun package-generate-description-file (pkg-desc pkg-file) |
| 692 | "Create the foo-pkg.el file for single-file packages." | 692 | "Create the foo-pkg.el file for single-file packages." |
| 693 | (let* ((name (package-desc-name pkg-desc)) | 693 | (let* ((name (package-desc-name pkg-desc))) |
| 694 | (pkg-file (expand-file-name (package--description-file pkg-dir) | ||
| 695 | pkg-dir))) | ||
| 696 | (let ((print-level nil) | 694 | (let ((print-level nil) |
| 697 | (print-quoted t) | 695 | (print-quoted t) |
| 698 | (print-length nil)) | 696 | (print-length nil)) |
| @@ -712,13 +710,20 @@ untar into a directory named DIR; otherwise, signal an error." | |||
| 712 | (list (car elt) | 710 | (list (car elt) |
| 713 | (package-version-join (cadr elt)))) | 711 | (package-version-join (cadr elt)))) |
| 714 | requires)))) | 712 | requires)))) |
| 715 | (package--alist-to-plist | 713 | (package--alist-to-plist-args |
| 716 | (package-desc-extras pkg-desc)))) | 714 | (package-desc-extras pkg-desc)))) |
| 717 | "\n") | 715 | "\n") |
| 718 | nil pkg-file nil 'silent)))) | 716 | nil pkg-file nil 'silent)))) |
| 719 | 717 | ||
| 720 | (defun package--alist-to-plist (alist) | 718 | (defun package--alist-to-plist-args (alist) |
| 721 | (apply #'nconc (mapcar (lambda (pair) (list (car pair) (cdr pair))) alist))) | 719 | (mapcar (lambda (x) |
| 720 | (if (and (not (consp x)) | ||
| 721 | (or (keywordp x) | ||
| 722 | (not (symbolp x)) | ||
| 723 | (memq x '(nil t)))) | ||
| 724 | x `',x)) | ||
| 725 | (apply #'nconc | ||
| 726 | (mapcar (lambda (pair) (list (car pair) (cdr pair))) alist)))) | ||
| 722 | 727 | ||
| 723 | (defun package-unpack (pkg-desc) | 728 | (defun package-unpack (pkg-desc) |
| 724 | "Install the contents of the current buffer as a package." | 729 | "Install the contents of the current buffer as a package." |
| @@ -751,9 +756,10 @@ untar into a directory named DIR; otherwise, signal an error." | |||
| 751 | (defun package--make-autoloads-and-stuff (pkg-desc pkg-dir) | 756 | (defun package--make-autoloads-and-stuff (pkg-desc pkg-dir) |
| 752 | "Generate autoloads, description file, etc.. for PKG-DESC installed at PKG-DIR." | 757 | "Generate autoloads, description file, etc.. for PKG-DESC installed at PKG-DIR." |
| 753 | (package-generate-autoloads (package-desc-name pkg-desc) pkg-dir) | 758 | (package-generate-autoloads (package-desc-name pkg-desc) pkg-dir) |
| 754 | (let ((desc-file (package--description-file pkg-dir))) | 759 | (let ((desc-file (expand-file-name (package--description-file pkg-dir) |
| 760 | pkg-dir))) | ||
| 755 | (unless (file-exists-p desc-file) | 761 | (unless (file-exists-p desc-file) |
| 756 | (package-generate-description-file pkg-desc pkg-dir))) | 762 | (package-generate-description-file pkg-desc desc-file))) |
| 757 | ;; FIXME: Create foo.info and dir file from foo.texi? | 763 | ;; FIXME: Create foo.info and dir file from foo.texi? |
| 758 | ) | 764 | ) |
| 759 | 765 | ||