elpaca
elpaca copied to clipboard
[Bug/Support]: evil-tex fails to install `elpaca--check-version: (wrong-type-argument stringp nil)`
Confirmation
- [X] I have checked the documentation (README, Wiki, docstrings, etc)
- [ ] I am checking these without reading them.
- [X] I have searched previous issues to see if my question is a duplicate.
Elpaca Version
Elpaca 92c2137 HEAD -> master, origin/master, origin/HEAD installer: 0.7 emacs-version: GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) git --version: git version 2.44.0
Operating System
Arch Linux
Description
M-x elpaca-try evil-tex fails, this is what i get when i press enter on the failed entry:
evil-tex
Useful features for editing LaTeX in evil-mode
source: MELPA
url: https://github.com/iyefrat/evil-tex
menu item recipe:
( :package "evil-tex"
:fetcher github
:repo "iyefrat/evil-tex"
:files ("*.el" "*.el.in" "dir" "*.info"
"*.texi" "*.texinfo" "doc/dir"
"doc/*.info" "doc/*.texi"
"doc/*.texinfo" "lisp/*.el" (:exclude
".dir-locals.el" "test.el" "tests.el"
"*-test.el" "*-tests.el" "LICENSE"
"README*" "*-pkg.el"))
:source "MELPA")
full recipe:
( :package "evil-tex"
;; Inherited from declaration.
:source "MELPA"
:files (:defaults)
:repo "iyefrat/evil-tex"
:fetcher github
;; Inherited from elpaca-order-functions.
:depth 1
:inherit t
:protocol https)
dependencies:
emacs >= 26.1
evil >= 1.0
auctex >= 11.88
dependents: nil
installed version: 1.0.2 2a3177c
statuses:
(failed unblocked blocked ref-checked-out queued)
files:
$REPOS/evil-tex/evil-tex.el ! $BUILDS/evil-tex/evil-tex.el
log:
[2024-04-26 13:56:05] Package queued
[2024-04-26 13:56:05] Continued by: elpaca--process
[2024-04-26 13:56:05] Continued by: elpaca--configure-remotes
[2024-04-26 13:56:05] Continued by: elpaca--checkout-ref
[2024-04-26 13:56:05] Continued by: elpaca--dispatch-build-commands
[2024-04-26 13:56:05] Queueing Dependencies
[2024-04-26 13:56:05] Continued by: elpaca--queue-dependencies
[2024-04-26 13:56:05] Checking dependency versions
[2024-04-26 13:56:05] elpaca--check-version: (wrong-type-argument stringp nil)
Thanks for taking the time to open a report. Please share the output of the following test case:
Test Case
(elpaca-test
:init (elpaca
(auctex :pre-build
(("./autogen.sh")
(
"./configure"
"--without-texmf-dir"
"--with-packagelispdir=./"
"--with-packagedatadir=./") ("make"))
:build (:not elpaca--compile-info) :files
(
"*.el" "doc/*.info*" "etc" "images"
"latex" "style")
:version
(lambda (_)
(require 'tex-site)
AUCTeX-version)))
(elpaca evil-tex)
(elpaca-wait)
(elpaca-test-log "evil-tex |"))
Host Env
| elpaca | 92c2137 HEAD -> master, origin/master, origin/HEAD |
| installer | 0.3 |
| emacs | GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-04-22 |
| git | git version 2.44.0 |
Output
Elpaca menu item cache discarded due to version change.
INFO Scraping files for loaddefs...
INFO Scraping files for loaddefs...done
GEN ../elpaca-autoloads.el
Cloning into '/tmp/elpaca.kICJTi/elpaca/repos/elpaca'...
Your branch is up to date with 'origin/master'.
Checking /tmp/elpaca.kICJTi/elpaca/repos/elpaca...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-info.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-log.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-manager.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-menu-elpa.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-menu-melpa.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-menu-org.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-process.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-test.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca-ui.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca.el...
Checking /tmp/elpaca.kICJTi/elpaca/repos/elpaca/doc...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/doc/early-init.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/doc/init.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/doc/installer.el...
Checking /tmp/elpaca.kICJTi/elpaca/repos/elpaca/extensions...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/extensions/elpaca-use-package.el...
Checking /tmp/elpaca.kICJTi/elpaca/repos/elpaca/images...
Checking /tmp/elpaca.kICJTi/elpaca/repos/elpaca/test...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/test/elpaca-test.el...
Compiling /tmp/elpaca.kICJTi/elpaca/repos/elpaca/test/elpaca-tests.el...
Done (Total of 12 files compiled, 4 skipped in 4 directories)
Downloading MELPA recipes...
Downloading MELPA recipes...100%
Downloading NonGNU-devel ELPA...
Downloading GNU-devel ELPA...
Downloading NonGNU ELPA...
Downloading GNU ELPA...
elpaca-log: "evil-tex |"
"
evil-tex cloning Cloning 06.057356
evil-tex cloning $git clone --depth 1 https://github.com/iyefrat/evil-tex.git /tmp/elpaca.kICJTi/elpaca/repos/evil-tex/ 06.057846
evil-tex cloning Cloning into '/tmp/elpaca.kICJTi/elpaca/repos/evil-tex'... 06.058550
evil-tex cloning Receiving objects: 100% (11/11), 33.68 KiB | 1.46 MiB/s, done. 06.352906
evil-tex blocked Blocked by: (auctex evil) 06.798795
evil-tex blocked Blocked by: (auctex) 08.312995
evil-tex unblocked Unblocked by: auctex 57.892891
evil-tex unblocked Checking dependency versions 57.897695
evil-tex linking Linking build files 57.903519
evil-tex linking Build files linked 57.908726
evil-tex autoloads Generating autoloads: /tmp/elpaca.kICJTi/elpaca/builds/evil-tex 57.913581
evil-tex autoloads $/usr/bin/emacs -Q -L /tmp/elpaca.kICJTi/elpaca/repos/elpaca/ -l /tmp/elpaca.kICJTi/elpaca/repos/elpaca/elpaca.el --batch --eval (progn (setq gc-cons-percentage 1.0) (elpaca-generate-autoloads \"evil-tex\" \"/tmp/elpaca.kICJTi/elpaca/builds/evil-tex\")) 57.918650
evil-tex autoloads INFO Scraping files for loaddefs... 58.022792
evil-tex autoloads INFO Scraping files for loaddefs...done 58.028577
evil-tex autoloads GEN evil-tex-autoloads.el 58.050103
evil-tex autoloads Autoloads Generated 58.054969
evil-tex byte-compilation Byte compiling 58.059563
evil-tex byte-compilation $/usr/bin/emacs -q --batch --eval (let ((gc-cons-percentage 1.0) (native-comp-eln-load-path '(\"/home/n/.emacs.d/eln-cache/\" \"/usr/lib/emacs/30.0.50/native-lisp/\"))) (dolist (dir '(\"/tmp/elpaca.kICJTi/elpaca/builds/evil-tex\" \"/tmp/elpaca.kICJTi/elpaca/builds/evil\" \"/tmp/elpaca.kICJTi/elpaca/builds/goto-chg\" \"/tmp/elpaca.kICJTi/elpaca/builds/auctex\")) (let ((default-directory dir)) (add-to-list 'load-path dir) (normal-top-level-add-subdirs-to-load-path))) (byte-recompile-directory \"/tmp/elpaca.kICJTi/elpaca/builds/evil-tex\" 0 'force)) 58.064396
evil-tex byte-compilation Checking /tmp/elpaca.kICJTi/elpaca/builds/evil-tex... 58.121714
evil-tex byte-compilation Compiling /tmp/elpaca.kICJTi/elpaca/builds/evil-tex/evil-tex-autoloads.el... 58.126758
evil-tex byte-compilation Compiling /tmp/elpaca.kICJTi/elpaca/builds/evil-tex/evil-tex.el... 58.141905
evil-tex byte-compilation In evil-tex-max-key: 58.269312
evil-tex byte-compilation evil-tex.el:64:2: Warning: docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.274656
evil-tex byte-compilation In evil-tex--delim-compare: 58.305842
evil-tex byte-compilation evil-tex.el:93:13: Warning: Unused lexical variable ‘rdix’ 58.311075
evil-tex byte-compilation evil-tex.el:95:13: Warning: Unused lexical variable ‘rdiy’ 58.315774
evil-tex byte-compilation In evil-tex--select-command: 58.320355
evil-tex byte-compilation evil-tex.el:164:2: Warning: docstring wider than 80 characters 58.324903
evil-tex byte-compilation evil-tex.el:199:12: Warning: custom-declare-variable ‘evil-tex-select-newlines-with-envs’ docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.329372
evil-tex byte-compilation In evil-tex--section-regexp-higher: 58.333988
evil-tex byte-compilation evil-tex.el:283:2: Warning: docstring wider than 80 characters 58.338712
evil-tex byte-compilation In evil-tex--select-section: 58.359742
evil-tex byte-compilation evil-tex.el:301:2: Warning: docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.364693
evil-tex byte-compilation In evil-tex-toggle-delim: 58.369537
evil-tex byte-compilation evil-tex.el:491:2: Warning: docstring contains control char #x08 (position 96) 58.374188
evil-tex byte-compilation In evil-tex-toggle-env: 58.378923
evil-tex byte-compilation evil-tex.el:516:2: Warning: docstring wider than 80 characters 58.383644
evil-tex byte-compilation In evil-tex-brace-movement: 58.388463
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x08 (position 73) 58.393118
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x08 (position 84) 58.397697
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x0c (position 92) 58.418852
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x0c (position 106) 58.424525
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x0c (position 117) 58.429384
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x0c (position 132) 58.434293
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x0c (position 144) 58.439131
evil-tex byte-compilation evil-tex.el:650:2: Warning: docstring contains control char #x0c (position 159) 58.443899
evil-tex byte-compilation In evil-tex-a-math: 58.448623
evil-tex byte-compilation evil-tex.el:671:67: Warning: Unused lexical argument ‘type’ 58.453505
evil-tex byte-compilation In evil-tex-inner-math: 58.458234
evil-tex byte-compilation evil-tex.el:676:71: Warning: Unused lexical argument ‘type’ 58.462945
evil-tex byte-compilation In evil-tex-a-delim: 58.484505
evil-tex byte-compilation evil-tex.el:681:68: Warning: Unused lexical argument ‘type’ 58.489463
evil-tex byte-compilation In evil-tex-inner-delim: 58.494267
evil-tex byte-compilation evil-tex.el:686:72: Warning: Unused lexical argument ‘type’ 58.499052
evil-tex byte-compilation In evil-tex-a-command: 58.504036
evil-tex byte-compilation evil-tex.el:691:62: Warning: Unused lexical argument ‘beg’ 58.508791
evil-tex byte-compilation evil-tex.el:691:66: Warning: Unused lexical argument ‘end’ 58.513554
evil-tex byte-compilation evil-tex.el:691:70: Warning: Unused lexical argument ‘type’ 58.518337
evil-tex byte-compilation In evil-tex-inner-command: 58.540002
evil-tex byte-compilation evil-tex.el:695:66: Warning: Unused lexical argument ‘beg’ 58.544901
evil-tex byte-compilation evil-tex.el:695:70: Warning: Unused lexical argument ‘end’ 58.549859
evil-tex byte-compilation evil-tex.el:695:74: Warning: Unused lexical argument ‘type’ 58.554807
evil-tex byte-compilation In evil-tex-an-env: 58.559629
evil-tex byte-compilation evil-tex.el:703:67: Warning: Unused lexical argument ‘type’ 58.564369
evil-tex byte-compilation In evil-tex-inner-env: 58.569205
evil-tex byte-compilation evil-tex.el:715:70: Warning: Unused lexical argument ‘type’ 58.574122
evil-tex byte-compilation In evil-tex-a-section: 58.578963
evil-tex byte-compilation evil-tex.el:727:62: Warning: Unused lexical argument ‘beg’ 58.583850
evil-tex byte-compilation evil-tex.el:727:66: Warning: Unused lexical argument ‘end’ 58.605596
evil-tex byte-compilation evil-tex.el:727:70: Warning: Unused lexical argument ‘type’ 58.610382
evil-tex byte-compilation In evil-tex-inner-section: 58.615305
evil-tex byte-compilation evil-tex.el:732:66: Warning: Unused lexical argument ‘beg’ 58.620254
evil-tex byte-compilation evil-tex.el:732:70: Warning: Unused lexical argument ‘end’ 58.625106
evil-tex byte-compilation evil-tex.el:732:74: Warning: Unused lexical argument ‘type’ 58.629831
evil-tex byte-compilation In evil-tex-a-subscript: 58.634841
evil-tex byte-compilation evil-tex.el:737:64: Warning: Unused lexical argument ‘beg’ 58.639739
evil-tex byte-compilation evil-tex.el:737:68: Warning: Unused lexical argument ‘end’ 58.660852
evil-tex byte-compilation evil-tex.el:737:72: Warning: Unused lexical argument ‘type’ 58.666060
evil-tex byte-compilation In evil-tex-inner-subscript: 58.670849
evil-tex byte-compilation evil-tex.el:741:68: Warning: Unused lexical argument ‘beg’ 58.675725
evil-tex byte-compilation evil-tex.el:741:72: Warning: Unused lexical argument ‘end’ 58.680502
evil-tex byte-compilation evil-tex.el:741:76: Warning: Unused lexical argument ‘type’ 58.685566
evil-tex byte-compilation In evil-tex-a-superscript: 58.690466
evil-tex byte-compilation evil-tex.el:746:66: Warning: Unused lexical argument ‘beg’ 58.695252
evil-tex byte-compilation evil-tex.el:746:70: Warning: Unused lexical argument ‘end’ 58.717333
evil-tex byte-compilation evil-tex.el:746:74: Warning: Unused lexical argument ‘type’ 58.722417
evil-tex byte-compilation In evil-tex-inner-superscript: 58.727301
evil-tex byte-compilation evil-tex.el:750:70: Warning: Unused lexical argument ‘beg’ 58.732109
evil-tex byte-compilation evil-tex.el:750:74: Warning: Unused lexical argument ‘end’ 58.737131
evil-tex byte-compilation evil-tex.el:750:78: Warning: Unused lexical argument ‘type’ 58.742085
evil-tex byte-compilation In evil-tex-a-table-cell: 58.746865
evil-tex byte-compilation evil-tex.el:755:65: Warning: Unused lexical argument ‘beg’ 58.751719
evil-tex byte-compilation evil-tex.el:755:69: Warning: Unused lexical argument ‘end’ 58.756643
evil-tex byte-compilation evil-tex.el:755:73: Warning: Unused lexical argument ‘type’ 58.778560
evil-tex byte-compilation In evil-tex-inner-table-cell: 58.783869
evil-tex byte-compilation evil-tex.el:759:69: Warning: Unused lexical argument ‘beg’ 58.788797
evil-tex byte-compilation evil-tex.el:759:73: Warning: Unused lexical argument ‘end’ 58.793705
evil-tex byte-compilation evil-tex.el:759:77: Warning: Unused lexical argument ‘type’ 58.798561
evil-tex byte-compilation In evil-tex-inner-single-latex-quote: 58.803551
evil-tex byte-compilation evil-tex.el:763:85: Warning: Unused lexical argument ‘type’ 58.808387
evil-tex byte-compilation In evil-tex-a-single-latex-quote: 58.813257
evil-tex byte-compilation evil-tex.el:767:81: Warning: Unused lexical argument ‘type’ 58.818199
evil-tex byte-compilation In evil-tex-inner-double-latex-quote: 58.840340
evil-tex byte-compilation evil-tex.el:771:85: Warning: Unused lexical argument ‘type’ 58.845394
evil-tex byte-compilation In evil-tex-a-double-latex-quote: 58.850449
evil-tex byte-compilation evil-tex.el:775:81: Warning: Unused lexical argument ‘type’ 58.855460
evil-tex byte-compilation evil-tex.el:884:9: Warning: defvar ‘evil-tex--env-function-prefix’ docstring wider than 80 characters 58.860343
evil-tex byte-compilation evil-tex.el:887:9: Warning: defvar ‘evil-tex--cdlatex-accents-function-prefix’ docstring wider than 80 characters 58.865435
evil-tex byte-compilation evil-tex.el:890:9: Warning: defvar ‘evil-tex--delim-function-prefix’ docstring wider than 80 characters 58.870473
evil-tex byte-compilation In evil-tex-cdlatex-accents---rm: 58.875432
evil-tex byte-compilation evil-tex.el:903:2: Warning: docstring wider than 80 characters 58.880245
evil-tex byte-compilation In evil-tex-cdlatex-accents---it: 58.902812
evil-tex byte-compilation evil-tex.el:906:2: Warning: docstring wider than 80 characters 58.907829
evil-tex byte-compilation In evil-tex-cdlatex-accents---bf: 58.912732
evil-tex byte-compilation evil-tex.el:909:2: Warning: docstring wider than 80 characters 58.917746
evil-tex byte-compilation In evil-tex-cdlatex-accents---emph: 58.922840
evil-tex byte-compilation evil-tex.el:912:2: Warning: docstring wider than 80 characters 58.927651
evil-tex byte-compilation In evil-tex-cdlatex-accents---tt: 58.932526
evil-tex byte-compilation evil-tex.el:915:2: Warning: docstring wider than 80 characters 58.937585
evil-tex byte-compilation In evil-tex-cdlatex-accents---sf: 58.942468
evil-tex byte-compilation evil-tex.el:918:2: Warning: docstring wider than 80 characters 58.963984
evil-tex byte-compilation evil-tex.el:1045:9: Warning: defvar ‘evil-tex-cdlatex-accents-map’ docstring wider than 80 characters 58.970007
evil-tex byte-compilation In evil-tex-set-up-surround: 58.975048
evil-tex byte-compilation evil-tex.el:1171:2: Warning: docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.979959
evil-tex byte-compilation evil-tex.el:1194:12: Warning: custom-declare-variable ‘evil-tex-toggle-override-t’ docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.985096
evil-tex byte-compilation evil-tex.el:1204:12: Warning: custom-declare-variable ‘evil-tex-toggle-override-m’ docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.990063
evil-tex byte-compilation evil-tex.el:1214:9: Warning: defvar ‘evil-tex-t-functions’ docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.994934
evil-tex byte-compilation evil-tex.el:1226:9: Warning: defvar ‘evil-tex-m-functions’ docstring has wrong usage of unescaped single quotes (use \\=' or different quoting such as `...') 58.999911
evil-tex byte-compilation In end of data: 59.004987
evil-tex byte-compilation evil-tex.el: Warning: the function ‘evil-tex-dispath-t’ is not known to be defined. 59.026764
evil-tex byte-compilation evil-tex.el: Warning: the function ‘evil-tex-dispath-s’ is not known to be defined. 59.032699
evil-tex byte-compilation Done (Total of 1 file compiled, 1 skipped) 59.037822
evil-tex byte-compilation Byte compilation complete 59.042857
evil-tex info Compiling Info files 59.047780
evil-tex info Info source files not found 59.052817
evil-tex activation Activating package 59.057746
evil-tex activation Package build dir added to load-path 59.062689
evil-tex activation Caching autoloads 59.067749
evil-tex activation Autoloads cached 59.072959
evil-tex finished ✓ 53.045 secs 59.094314
"
Test Env
Elpaca 92c2137 grafted, HEAD -> master, origin/master, origin/HEAD
installer: 0.7
emacs-version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0)
of 2024-04-22
git --version: git version 2.44.0
Test Case
(elpaca-test
:init (elpaca (auctex :pre-build (("./autogen.sh") ("./configure" "--without-texmf-dir" "--with-packagelispdir=./" "--with-packagedatadir=./") ("make")) :build
(:not
elpaca--compile-info)
:files
("*.el" "doc/*.info*" "etc" "images" "latex" "style")
:version
(lambda (_)
(require 'tex-site)
AUCTeX-version)))
(elpaca evil-tex)
(elpaca-wait)
(elpaca-test-log "evil-tex |"))
Host Env
| elpaca | 92c2137 HEAD -> master, origin/master, origin/HEAD |
| installer | 0.7 |
| emacs | GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) |
| git | git version 2.44.0 |
Output
Elpaca menu item cache discarded due to version change.
INFO Scraping files for loaddefs...
INFO Scraping files for loaddefs...done
GEN ../elpaca-autoloads.el
Cloning into '/tmp/elpaca.bJPASK/elpaca/repos/elpaca'...
Your branch is up to date with 'origin/master'.
Checking /tmp/elpaca.bJPASK/elpaca/repos/elpaca...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-info.el...
Elpaca menu item cache discarded due to version change.
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-log.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-manager.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-menu-elpa.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-menu-melpa.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-menu-org.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-process.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-test.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca-ui.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca.el...
Checking /tmp/elpaca.bJPASK/elpaca/repos/elpaca/doc...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/doc/early-init.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/doc/init.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/doc/installer.el...
Checking /tmp/elpaca.bJPASK/elpaca/repos/elpaca/extensions...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/extensions/elpaca-use-package.el...
Checking /tmp/elpaca.bJPASK/elpaca/repos/elpaca/images...
Checking /tmp/elpaca.bJPASK/elpaca/repos/elpaca/test...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/test/elpaca-test.el...
Compiling /tmp/elpaca.bJPASK/elpaca/repos/elpaca/test/elpaca-tests.el...
Done (Total of 12 files compiled, 4 skipped in 4 directories)
Downloading MELPA recipes...
Downloading MELPA recipes...100%
Downloading NonGNU-devel ELPA...
Downloading GNU-devel ELPA...
Downloading NonGNU ELPA...
Downloading GNU ELPA...
elpaca-log: "evil-tex |"
"
evil-tex cloning Cloning 16.889524
evil-tex cloning $git clone --depth 1 https://github.com/iyefrat/evil-tex.git /tmp/elpaca.bJPASK/elpaca/repos/evil-tex/ 16.890327
evil-tex cloning Receiving objects: 100% (11/11), 33.68 KiB | 83.00 KiB/s, done. 19.262302
evil-tex blocked Blocked by: (auctex evil) 22.418025
evil-tex blocked Blocked by: (auctex) 25.528518
evil-tex unblocked Unblocked by: auctex 130.597806
evil-tex unblocked Checking dependency versions 130.637076
evil-tex linking Linking build files 130.651442
evil-tex linking Build files linked 130.665121
evil-tex autoloads Generating autoloads: /tmp/elpaca.bJPASK/elpaca/builds/evil-tex 130.678423
evil-tex autoloads $/usr/bin/emacs -Q -L /tmp/elpaca.bJPASK/elpaca/repos/elpaca/ -l /tmp/elpaca.bJPASK/elpaca/repos/elpaca/elpaca.el --batch --eval (progn (setq gc-cons-percentage 1.0) (elpaca-generate-autoloads \"evil-tex\" \"/tmp/elpaca.bJPASK/elpaca/builds/evil-tex\")) 130.692314
evil-tex autoloads Elpaca menu item cache discarded due to version change. 130.754555
evil-tex autoloads INFO Scraping files for loaddefs... 130.782977
evil-tex autoloads INFO Scraping files for loaddefs...done 130.823238
evil-tex autoloads GEN evil-tex-autoloads.el 130.836127
evil-tex autoloads Autoloads Generated 130.849126
evil-tex byte-compilation Byte compiling 130.862290
evil-tex byte-compilation $/usr/bin/emacs -q --batch --eval (let ((gc-cons-percentage 1.0) (native-comp-eln-load-path '(\"/home/chinmay/.config/emacs/eln-cache/\" \"/usr/lib/emacs/29.3/native-lisp/\"))) (dolist (dir '(\"/tmp/elpaca.bJPASK/elpaca/builds/evil-tex\" \"/tmp/elpaca.bJPASK/elpaca/builds/evil\" \"/tmp/elpaca.bJPASK/elpaca/builds/goto-chg\" \"/tmp/elpaca.bJPASK/elpaca/builds/auctex\")) (let ((default-directory dir)) (add-to-list 'load-path dir) (normal-top-level-add-subdirs-to-load-path))) (byte-recompile-directory \"/tmp/elpaca.bJPASK/elpaca/builds/evil-tex\" 0 'force)) 130.876081
evil-tex byte-compilation Checking /tmp/elpaca.bJPASK/elpaca/builds/evil-tex... 130.955975
evil-tex byte-compilation Compiling /tmp/elpaca.bJPASK/elpaca/builds/evil-tex/evil-tex-autoloads.el... 130.981862
evil-tex byte-compilation Compiling /tmp/elpaca.bJPASK/elpaca/builds/evil-tex/evil-tex.el... 131.029328
evil-tex byte-compilation In evil-tex-max-key: 131.240222
evil-tex byte-compilation evil-tex.el:64:2: Warning: docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 131.255316
evil-tex byte-compilation In evil-tex--delim-compare: 131.281042
evil-tex byte-compilation evil-tex.el:93:13: Warning: Unused lexical variable `rdix' 131.296219
evil-tex byte-compilation evil-tex.el:95:13: Warning: Unused lexical variable `rdiy' 131.311498
evil-tex byte-compilation In evil-tex--select-command: 131.326188
evil-tex byte-compilation evil-tex.el:164:2: Warning: docstring wider than 80 characters 131.340561
evil-tex byte-compilation evil-tex.el:199:2: Warning: custom-declare-variable `evil-tex-select-newlines-with-envs' docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 131.383004
evil-tex byte-compilation In evil-tex--section-regexp-higher: 131.396763
evil-tex byte-compilation evil-tex.el:283:2: Warning: docstring wider than 80 characters 131.410869
evil-tex byte-compilation In evil-tex--select-section: 131.424703
evil-tex byte-compilation evil-tex.el:301:2: Warning: docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 131.438586
evil-tex byte-compilation In evil-tex-toggle-env: 131.452698
evil-tex byte-compilation evil-tex.el:516:2: Warning: docstring wider than 80 characters 131.466700
evil-tex byte-compilation In evil-tex-a-math: 131.480522
evil-tex byte-compilation evil-tex.el:671:67: Warning: Unused lexical argument `type' 131.521842
evil-tex byte-compilation In evil-tex-inner-math: 131.535165
evil-tex byte-compilation evil-tex.el:676:71: Warning: Unused lexical argument `type' 131.548198
evil-tex byte-compilation In evil-tex-a-delim: 131.561393
evil-tex byte-compilation evil-tex.el:681:68: Warning: Unused lexical argument `type' 131.574729
evil-tex byte-compilation In evil-tex-inner-delim: 131.588092
evil-tex byte-compilation evil-tex.el:686:72: Warning: Unused lexical argument `type' 131.601606
evil-tex byte-compilation In evil-tex-a-command: 131.615033
evil-tex byte-compilation evil-tex.el:691:62: Warning: Unused lexical argument `beg' 131.658145
evil-tex byte-compilation evil-tex.el:691:66: Warning: Unused lexical argument `end' 131.671187
evil-tex byte-compilation evil-tex.el:691:70: Warning: Unused lexical argument `type' 131.684417
evil-tex byte-compilation In evil-tex-inner-command: 131.697603
evil-tex byte-compilation evil-tex.el:695:66: Warning: Unused lexical argument `beg' 131.710826
evil-tex byte-compilation evil-tex.el:695:70: Warning: Unused lexical argument `end' 131.724407
evil-tex byte-compilation evil-tex.el:695:74: Warning: Unused lexical argument `type' 131.737981
evil-tex byte-compilation In evil-tex-an-env: 131.751486
evil-tex byte-compilation evil-tex.el:703:67: Warning: Unused lexical argument `type' 131.765057
evil-tex byte-compilation In evil-tex-inner-env: 131.822829
evil-tex byte-compilation evil-tex.el:715:70: Warning: Unused lexical argument `type' 131.838139
evil-tex byte-compilation In evil-tex-a-section: 131.852360
evil-tex byte-compilation evil-tex.el:727:62: Warning: Unused lexical argument `beg' 131.866174
evil-tex byte-compilation evil-tex.el:727:66: Warning: Unused lexical argument `end' 131.880080
evil-tex byte-compilation evil-tex.el:727:70: Warning: Unused lexical argument `type' 131.893750
evil-tex byte-compilation In evil-tex-inner-section: 131.908125
evil-tex byte-compilation evil-tex.el:732:66: Warning: Unused lexical argument `beg' 131.948149
evil-tex byte-compilation evil-tex.el:732:70: Warning: Unused lexical argument `end' 131.960976
evil-tex byte-compilation evil-tex.el:732:74: Warning: Unused lexical argument `type' 131.974374
evil-tex byte-compilation In evil-tex-a-subscript: 131.987899
evil-tex byte-compilation evil-tex.el:737:64: Warning: Unused lexical argument `beg' 132.002093
evil-tex byte-compilation evil-tex.el:737:68: Warning: Unused lexical argument `end' 132.016468
evil-tex byte-compilation evil-tex.el:737:72: Warning: Unused lexical argument `type' 132.030790
evil-tex byte-compilation In evil-tex-inner-subscript: 132.044900
evil-tex byte-compilation evil-tex.el:741:68: Warning: Unused lexical argument `beg' 132.058915
evil-tex byte-compilation evil-tex.el:741:72: Warning: Unused lexical argument `end' 132.099003
evil-tex byte-compilation evil-tex.el:741:76: Warning: Unused lexical argument `type' 132.112732
evil-tex byte-compilation In evil-tex-a-superscript: 132.126376
evil-tex byte-compilation evil-tex.el:746:66: Warning: Unused lexical argument `beg' 132.140099
evil-tex byte-compilation evil-tex.el:746:70: Warning: Unused lexical argument `end' 132.153884
evil-tex byte-compilation evil-tex.el:746:74: Warning: Unused lexical argument `type' 132.167810
evil-tex byte-compilation In evil-tex-inner-superscript: 132.181732
evil-tex byte-compilation evil-tex.el:750:70: Warning: Unused lexical argument `beg' 132.221439
evil-tex byte-compilation evil-tex.el:750:74: Warning: Unused lexical argument `end' 132.235039
evil-tex byte-compilation evil-tex.el:750:78: Warning: Unused lexical argument `type' 132.248510
evil-tex byte-compilation In evil-tex-a-table-cell: 132.261962
evil-tex byte-compilation evil-tex.el:755:65: Warning: Unused lexical argument `beg' 132.275573
evil-tex byte-compilation evil-tex.el:755:69: Warning: Unused lexical argument `end' 132.290165
evil-tex byte-compilation evil-tex.el:755:73: Warning: Unused lexical argument `type' 132.304379
evil-tex byte-compilation In evil-tex-inner-table-cell: 132.318638
evil-tex byte-compilation evil-tex.el:759:69: Warning: Unused lexical argument `beg' 132.359497
evil-tex byte-compilation evil-tex.el:759:73: Warning: Unused lexical argument `end' 132.373631
evil-tex byte-compilation evil-tex.el:759:77: Warning: Unused lexical argument `type' 132.387358
evil-tex byte-compilation In evil-tex-inner-single-latex-quote: 132.401138
evil-tex byte-compilation evil-tex.el:763:85: Warning: Unused lexical argument `type' 132.415379
evil-tex byte-compilation In evil-tex-a-single-latex-quote: 132.429613
evil-tex byte-compilation evil-tex.el:767:81: Warning: Unused lexical argument `type' 132.443826
evil-tex byte-compilation In evil-tex-inner-double-latex-quote: 132.458067
evil-tex byte-compilation evil-tex.el:771:85: Warning: Unused lexical argument `type' 132.499707
evil-tex byte-compilation In evil-tex-a-double-latex-quote: 132.513893
evil-tex byte-compilation evil-tex.el:775:81: Warning: Unused lexical argument `type' 132.527915
evil-tex byte-compilation evil-tex.el:884:2: Warning: defvar `evil-tex--env-function-prefix' docstring wider than 80 characters 132.541869
evil-tex byte-compilation evil-tex.el:887:2: Warning: defvar `evil-tex--cdlatex-accents-function-prefix' docstring wider than 80 characters 132.555806
evil-tex byte-compilation evil-tex.el:890:2: Warning: defvar `evil-tex--delim-function-prefix' docstring wider than 80 characters 132.569561
evil-tex byte-compilation In evil-tex-cdlatex-accents---rm: 132.583332
evil-tex byte-compilation evil-tex.el:903:2: Warning: docstring wider than 80 characters 132.621378
evil-tex byte-compilation In evil-tex-cdlatex-accents---it: 132.634980
evil-tex byte-compilation evil-tex.el:906:2: Warning: docstring wider than 80 characters 132.648245
evil-tex byte-compilation In evil-tex-cdlatex-accents---bf: 132.661563
evil-tex byte-compilation evil-tex.el:909:2: Warning: docstring wider than 80 characters 132.675153
evil-tex byte-compilation In evil-tex-cdlatex-accents---emph: 132.688773
evil-tex byte-compilation evil-tex.el:912:2: Warning: docstring wider than 80 characters 132.702746
evil-tex byte-compilation In evil-tex-cdlatex-accents---tt: 132.716574
evil-tex byte-compilation evil-tex.el:915:2: Warning: docstring wider than 80 characters 132.755508
evil-tex byte-compilation In evil-tex-cdlatex-accents---sf: 132.768840
evil-tex byte-compilation evil-tex.el:918:2: Warning: docstring wider than 80 characters 132.783002
evil-tex byte-compilation evil-tex.el:1045:2: Warning: defvar `evil-tex-cdlatex-accents-map' docstring wider than 80 characters 132.797280
evil-tex byte-compilation In evil-tex-set-up-surround: 132.811445
evil-tex byte-compilation evil-tex.el:1171:2: Warning: docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 132.825407
evil-tex byte-compilation evil-tex.el:1194:2: Warning: custom-declare-variable `evil-tex-toggle-override-t' docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 132.839261
evil-tex byte-compilation evil-tex.el:1204:2: Warning: custom-declare-variable `evil-tex-toggle-override-m' docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 132.879093
evil-tex byte-compilation evil-tex.el:1214:2: Warning: defvar `evil-tex-t-functions' docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 132.892567
evil-tex byte-compilation evil-tex.el:1226:2: Warning: defvar `evil-tex-m-functions' docstring has wrong usage of unescaped single quotes (use \\= or different quoting) 132.905878
evil-tex byte-compilation In end of data: 132.919179
evil-tex byte-compilation evil-tex.el: Warning: the function ‘evil-tex-dispath-t’ is not known to be defined. 132.932686
evil-tex byte-compilation evil-tex.el: Warning: the function ‘evil-tex-dispath-s’ is not known to be defined. 132.946364
evil-tex byte-compilation Done (Total of 1 file compiled, 1 skipped) 132.960097
evil-tex byte-compilation Byte compilation complete 132.973778
evil-tex info Compiling Info files 133.018868
evil-tex info Info source files not found 133.033729
evil-tex activation Activating package 133.048087
evil-tex activation Package build dir added to load-path 133.062131
evil-tex activation Caching autoloads 133.076285
evil-tex activation Autoloads cached 133.090500
evil-tex finished ✓ 116.225 secs 133.104618
"
Test Env
Elpaca 92c2137 grafted, HEAD -> master, origin/master, origin/HEAD
installer: 0.7
emacs-version: GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0)
git --version: git version 2.44.0
It looks like it succeeded in the test case, so here's how I'm installing auctex: I install it from the AUR (https://aur.archlinux.org/packages/auctex) and then
(use-package auctex
:ensure nil)
(use-package preview-latex
:ensure nil)
It does work if I install auctex from emacs using your recipe, so I'm closing this. Thanks for looking into it!
Actually I had added auctex to elpaca-ignored-dependencies, so it should still have worked
Actually I had added auctex to elpaca-ignored-dependencies, so it should still have worked
Ah, that's vital to reproduce the issue. I've pushed a workaround on a test branch. You can try it with the following test case:
Test Case
(elpaca-test
:ref "fix/ignored-dep-version"
:init (push 'auctex elpaca-ignored-dependencies)
(elpaca (evil-tex :wait t))
(elpaca-test-log "#unique evil-tex |"))
Host Env
| elpaca | 2270e8d HEAD -> fix/ignored-dep-version, origin/fix/ignored-dep-version |
| installer | 0.7 |
| emacs | GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-04-22 |
| git | git version 2.44.0 |
Output
Elpaca menu item cache discarded due to version change.
INFO Scraping files for loaddefs...
INFO Scraping files for loaddefs...done
GEN ../elpaca-autoloads.el
Cloning into '/tmp/elpaca.RE9roA/elpaca/repos/elpaca'...
Switched to a new branch 'fix/ignored-dep-version'
branch 'fix/ignored-dep-version' set up to track 'origin/fix/ignored-dep-version'.
Checking /tmp/elpaca.RE9roA/elpaca/repos/elpaca...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-info.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-log.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-manager.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-menu-elpa.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-menu-melpa.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-menu-org.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-process.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-test.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca-ui.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/elpaca.el...
Checking /tmp/elpaca.RE9roA/elpaca/repos/elpaca/doc...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/doc/early-init.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/doc/init.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/doc/installer.el...
Checking /tmp/elpaca.RE9roA/elpaca/repos/elpaca/extensions...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/extensions/elpaca-use-package.el...
Checking /tmp/elpaca.RE9roA/elpaca/repos/elpaca/images...
Checking /tmp/elpaca.RE9roA/elpaca/repos/elpaca/test...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/test/elpaca-test.el...
Compiling /tmp/elpaca.RE9roA/elpaca/repos/elpaca/test/elpaca-tests.el...
Done (Total of 12 files compiled, 4 skipped in 4 directories)
Downloading MELPA recipes...
Downloading MELPA recipes...100%
Downloading NonGNU-devel ELPA...
Downloading GNU-devel ELPA...
Downloading NonGNU ELPA...
Downloading GNU ELPA...
elpaca-log: "#unique evil-tex |"
"
evil-tex finished ✓ 2.560 secs 08.784291
"
Test Env
Elpaca 2270e8d grafted, HEAD -> fix/ignored-dep-version, origin/fix/ignored-dep-version
installer: 0.7
emacs-version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0)
of 2024-04-22
git --version: git version 2.44.0
I would try testing it interactively (by adding :interactive t to the test declaration), too. maybe try rebuilding evil-tex, fetching it, etc.
What's needed is a better way to deal with "ignored" dependencies. Instead we should be able to register where the dependency is with Elpaca, so it can just use it. However, that poses some difficulties because that location is not guaranteed to be a repository (such as in your case, where the package is installed via a system package manager). Mu4e is another package which would benefit from this, because of its distribution model. I'm sure there are others, too. I'll have to think on that before I design a proper fix.
Non-interactive:
Test Case
(elpaca-test
:ref "fix/ignored-dep-version"
:init (push 'auctex elpaca-ignored-dependencies)
(elpaca (evil-tex :wait t))
(elpaca-test-log "#unique evil-tex |"))
Host Env
| elpaca | 92c2137 HEAD -> master, origin/master, origin/HEAD |
| installer | 0.7 |
| emacs | GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) |
| git | git version 2.44.0 |
Output
Elpaca menu item cache discarded due to version change.
INFO Scraping files for loaddefs...
INFO Scraping files for loaddefs...done
GEN ../elpaca-autoloads.el
Cloning into '/tmp/elpaca.7NWODL/elpaca/repos/elpaca'...
Switched to a new branch 'fix/ignored-dep-version'
branch 'fix/ignored-dep-version' set up to track 'origin/fix/ignored-dep-version'.
Checking /tmp/elpaca.7NWODL/elpaca/repos/elpaca...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-info.el...
Elpaca menu item cache discarded due to version change.
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-log.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-manager.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-menu-elpa.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-menu-melpa.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-menu-org.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-process.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-test.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca-ui.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/elpaca.el...
Checking /tmp/elpaca.7NWODL/elpaca/repos/elpaca/doc...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/doc/early-init.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/doc/init.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/doc/installer.el...
Checking /tmp/elpaca.7NWODL/elpaca/repos/elpaca/extensions...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/extensions/elpaca-use-package.el...
Checking /tmp/elpaca.7NWODL/elpaca/repos/elpaca/images...
Checking /tmp/elpaca.7NWODL/elpaca/repos/elpaca/test...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/test/elpaca-test.el...
Compiling /tmp/elpaca.7NWODL/elpaca/repos/elpaca/test/elpaca-tests.el...
Done (Total of 12 files compiled, 4 skipped in 4 directories)
Downloading MELPA recipes...
Downloading MELPA recipes...100%
Downloading NonGNU-devel ELPA...
Downloading GNU-devel ELPA...
Downloading NonGNU ELPA...
Downloading GNU ELPA...
elpaca-log: "#unique evil-tex |"
"
evil-tex finished ✓ 11.116 secs 25.780484
"
Test Env
Elpaca 2270e8d grafted, HEAD -> fix/ignored-dep-version, origin/fix/ignored-dep-version
installer: 0.7
emacs-version: GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0)
git --version: git version 2.44.0
Interactive succeeds too. I tested both after removing auctex and evil-tex from elpaca's builds and repos directories and installing auctex from the AUR
Non-interactive: [test omitted] Interactive succeeds too. I tested both after removing auctex and evil-tex from elpaca's
buildsandreposdirectories and installing auctex from the AUR
Thanks for testing. I'll have to think on that patch a bit more before I install it. Ideally, I'd rather throw an error in that case and provide a way to register pre-installed packages with Elpaca. I'll ping this thread when I've got a solution.
@p00f:
I've pushed a newer version of the patch on that branch to master. The error should be gone. One shortcoming of the current solution is that byte-compilation will fail for those packages which depend on ignored dependencies. They should still function, though. I have a plan to fix that and will implement it soon.
Let me know if that works for you after an M-x elpaca-update elpaca followed by an M-x restart-emacs.
It works, thank you!