jwiegley / emacs-async

Simple library for asynchronous processing in Emacs
GNU General Public License v3.0
829 stars 68 forks source link

async-bytecomp-package-mode causes errors to be printed all over #147

Open mlemerre opened 2 years ago

mlemerre commented 2 years ago

To reproduce:

emacs -q

(package-initialize)
(package-reinstall 'counsel) ;; or install if not installed

;; no error

(async-bytecomp-package-mode 1)
(package-reinstall 'counsel)

Error:
In toplevel form:
counsel.el:46:1:Error: Symbol's value as variable is void: seq

(async-bytecomp-package-mode 0)
(package-reinstall 'counsel)
;; No error again

The problem is not specific to counsel, a lot of packages have the same error when compiled, always on a require form.

I had a hard time debugging this problem, which came from org-ref which loaded helm which sets this async-bytecomp-package-mode to 1! (So maybe the problem comes from helm, I am not sure).

Thanks Matthieu

thierryvolpiatto commented 2 years ago

mlemerre @.***> writes:

To reproduce:

emacs -q

(package-initialize) (package-reinstall 'counsel) ;; or install if not installed

;; no error

(async-bytecomp-package-mode 1) (package-reinstall 'counsel)

Error: In toplevel form: counsel.el:46:1:Error: Symbol's value as variable is void: seq

Can't reproduce, this package is (re)installing here properly with async-bytecomp-package-mode enabled.

(async-bytecomp-package-mode 0) (package-reinstall 'counsel) ;; No error again

The problem is not specific to counsel, a lot of packages have the same error when compiled, always on a require form.

I guess you have a problem with your emacs installation then, I can't tell more as I have not enough infos.

Also what make you think errors come from require?

I had a hard time debugging this problem, which came from org-ref which loaded helm which sets this async-bytecomp-package-mode to 1! (So maybe the problem comes from helm, I am not sure).

No problem with helm, it is indeed enabling async-bytecomp-package-mode, this since years without any problems.

-- Thierry

mlemerre commented 2 years ago

I have emacs-27.1 on debian, and the problem also happens with emacs -Q.

I now have a simpler test case: (package-initialize) (async-byte-recompile-directory "/home/matthieu/.emacs.d/elpa/counsel-0.13.4") (async-byte-recompile-directory "/home/matthieu/.emacs.d/elpa/async-20210823.528")

In the latter, I also have an error in a require form: In toplevel form: smtpmail-async.el:44:1:Error: Symbol's value as variable is void: seq This corresponds to the (require 'smtpmail) line.

All other files seem to compile just fine.

I'll try to dig more but debugging is probably going to be tricky, due to the async nature.

thierryvolpiatto commented 2 years ago

mlemerre @.***> writes:

I have emacs-27.1 on debian, and the problem also happens with emacs -Q.

I now have a simpler test case: (package-initialize) (async-byte-recompile-directory "/home/matthieu/.emacs.d/elpa/counsel-0.13.4") (async-byte-recompile-directory "/home/matthieu/.emacs.d/elpa/async-20210823.528")

Same, can't reproduce.

In the latter, I also have an error in a require form: In toplevel form: smtpmail-async.el:44:1:Error: Symbol's value as variable is void: seq This corresponds to the (require 'smtpmail) line.

Also if this error is always the same (with seq) IMHO something is wrong in your emacs installation, I think it is unrelated to async even if it is reproductible with it.

-- Thierry