emacs-devel
[Top][All Lists]
Advanced

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

Re: Recent change in master breaks async package update using paradox


From: Lars Brinkhoff
Subject: Re: Recent change in master breaks async package update using paradox
Date: Fri, 07 Apr 2017 07:42:49 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Kaushal Modi wrote:
> A recent change in master (last 3-4 days) causes async package updates
> using paradox.el to throw this error:
>
> Debugger entered--Lisp error: (wrong-type-argument sequencep #s
> (package-desc swiper [...]

Kaushal has now provided a code snippet that can reproduce this in a
cleanly built emacs -Q with a separate .emacs.d.  In this test case, the
error shows up when installing the second or third package from the
Package Menu.  Curiously, the first installs without a hitch.

It's a bit hard to debug, because the error happens in an async emacs
subprocess.

This code (in paradox-execute.el) is executed in the parent emacs:

  (eval
   `(async-start
     (lambda ()
       (require 'package)
       ,(async-inject-variables "\\`package-")
       (setq package-menu-async nil)
       (dolist (elt package-alist)
         (package-activate (car elt) 'force))
       (let ((alist ,(macroexpand
                      `(paradox--perform-package-transaction
                        ',install-list ',delete-list))))
         (list package-alist
               (when (boundp 'package-selected-packages)
                 package-selected-packages)
               package-archive-contents
               ;; This is the alist that will be passed to the hook.
               (cons '(noquery . ,noquery) (cons '(async . t) alist)))))
     (lambda () ... )))

The first lambda is executed in a subprocess emacs and throws the error
(wrong-type-argument sequencep #s(package-desc swiper ... ))

I'm going to study async.el documentation and code to see if there's a
way to debug this.  But if anyone has any hints, that would be appreciated.




reply via email to

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