Problem when installing el-get on emacs 29.1
Closed this issue · 11 comments
Hi everyone,
I'm following the procedure for "The lazy installer" and I'm getting a Debugger error: https://gist.github.com/renatocan/0d8cf809520ab00976b6bb06e865705b
I'm testing on a fresh installed emacs on Archlinux: GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,
Thanks you for your assistance,
Renato.
Have the same issue
Any updates on this issue? I have tried a fresh install again and it seems to be happening the same error...
I tried to fix as suggested in https://github.com/dimitri/el-get/pull/2890/files but it didn't solve either.
I would be glad to help fixing this, appreciate it if someone can guide me how :-)
Thanks!
+++ b/site-lisp/getelget.el
@@ -72,8 +74,14 @@ PKG - accepted package name in hook."
;; bootstrap
(url-retrieve-synchronously
"https://raw.github.com/dimitri/el-get/master/el-get-install.el")
- (let (el-get-master-branch
- el-get-install-skip-emacswiki-recipes)
+ (let ((el-get-install-skip-emacswiki-recipes t)
+ (el-get-install-branch "emacs-29-patch")
+ ;; (el-get-master-branch t)
+ )
+ ;; workaround https://github.com/dimitri/el-get/issues/2912
+ (while (search-forward "https://github.com/dimitri/el-get.git" nil t)
+ (replace-match "https://github.com/nevsan/el-get.git" nil nil))
+
As a workaround for me helped.
UPD: FIY, this workaround lead to stucking with old recipes this way
This is affecting me as well. I rely on el-get
since ages, but now I am stuck. I do not want to use other systems, but I can't help fixing it, I have written a plea to the developers.
Have the same issue.
I don't have .status.el
and got the error error: (wrong-type-argument listp t)
.
I created .status.el
with followings:
()
And execute (el-get 'sync)
.
Then generated imcomplete .status.el
and got errors.
Debugger entered--Lisp error: (void-variable el-get-bundle-init-count-alist)
el-get-bundle-clear-init-count("/home/kenji/.emacs.d/el-get/el-get/el-get-core.elc")
do-after-load-evaluation("/home/kenji/.emacs.d/el-get/el-get/el-get-core.elc")
require(el-get-core)
byte-code("\303\304!\210\303\305!\210\303\306!\210\303\307!\210\303\310!\210\303\311!\210\303\312!\210\303\313!\210\303\314!\210\303\315!\210\303\316!\210\303\317!\210\320\10..." [load-file-name el-get-dir bundle require cl-lib el-get-core el-get-custom el-get-methods el-get-recipes el-get-status el-get-build el-get-byte-compile el-get-dependencies el-get-notify el-get-list-packages el-get-autoloading file-name-directory expand-file-name "el-get-bundle" autoload el-get-bundle-el-get el-get-bundle nil macro el-get-bundle!] 6)
require(el-get)
(progn (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features (el-get-elpa-package-directory ...))))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get))
(if (memq 'el-get (bound-and-true-p package-activated-list)) (progn (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features ...)))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get)))
(when (memq 'el-get (bound-and-true-p package-activated-list)) (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features (el-get-elpa-package-directory ...))))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get))
eval((when (memq 'el-get (bound-and-true-p package-activated-list)) (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features ...)))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get)) nil)
el-get-run-package-support((when (memq 'el-get (bound-and-true-p package-activated-list)) (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features ...)))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get)) "post-init" el-get)
el-get-do-init(el-get)
el-get-post-install-build(el-get)
el-get-start-process-list(el-get ((:command-name "byte-compile" :buffer-name "*el-get-build: el-get*" :default-directory "/home/kenji/.emacs.d/el-get/el-get/" :shell t :stdin (:load-path ("." "/home/kenji/.emacs.d/elpa/yasnippet-snippets-20240..." "/home/kenji/.emacs.d/elpa/org-modern-20240316.1109" "/home/kenji/.emacs.d/elpa/poly-erb-20200316.1314" "/home/kenji/.emacs.d/elpa/poly-ruby-20180905.929" "/home/kenji/.emacs.d/elpa/poly-markdown-20230202.1..." "/home/kenji/.emacs.d/elpa/polymode-20230317.1218" "/home/kenji/.emacs.d/elpa/yaml-mode-20240317.1602" "/home/kenji/.emacs.d/elpa/vue-mode-20240101.333" "/home/kenji/.emacs.d/elpa/ssass-mode-20200211.132" "/home/kenji/.emacs.d/elpa/vue-html-mode-20180428.2..." "/home/kenji/.emacs.d/elpa/edit-indirect-20240128.1..." "/home/kenji/.emacs.d/elpa/mmm-mode-20240222.428" "/home/kenji/.emacs.d/elpa/typescript-mode-20230116..." "/home/kenji/.emacs.d/elpa/slim-mode-20170728.1348" "/home/kenji/.emacs.d/elpa/scss-mode-20180123.1708" "/home/kenji/.emacs.d/elpa/svelte-mode-20211016.652" "/home/kenji/.emacs.d/elpa/rustic-20230130.912" "/home/kenji/.emacs.d/elpa/rust-mode-20240313.157" "/home/kenji/.emacs.d/elpa/markdown-mode-20240318.1..." "/home/kenji/.emacs.d/elpa/spinner-1.7.4" "/home/kenji/.emacs.d/elpa/rhtml-mode-20130422.1311" "/home/kenji/.emacs.d/elpa/inf-ruby-20240310.1803" "/home/kenji/.emacs.d/elpa/ruby-end-20230205.115" "/home/kenji/.emacs.d/elpa/json-mode-20240228.1443" "/home/kenji/.emacs.d/elpa/json-snatcher-20200916.1..." "/home/kenji/.emacs.d/elpa/js2-mode-20240310.1755" "/home/kenji/.emacs.d/elpa/vcl-mode-1.1" "/home/kenji/.emacs.d/elpa/lua-mode-20231023.947" "/home/kenji/.emacs.d/elpa/nginx-mode-20170612.437" "/home/kenji/.emacs.d/elpa/terraform-mode-20240321...." "/home/kenji/.emacs.d/elpa/hcl-mode-20240220.1534" "/home/kenji/.emacs.d/elpa/haml-mode-20230608.1833" "/home/kenji/.emacs.d/elpa/go-mode-20230823.2304" "/home/kenji/.emacs.d/elpa/dockerfile-mode-20240324..." "/home/kenji/.emacs.d/elpa/magit-delta-20220125.50" "/home/kenji/.emacs.d/elpa/magit-20240320.2336" "/home/kenji/.emacs.d/elpa/git-commit-20240320.2311" "/home/kenji/.emacs.d/elpa/magit-section-20240311.1..." "/home/kenji/.emacs.d/elpa/dash-20240103.1301" "/home/kenji/.emacs.d/elpa/transient-20240321.2209" "/home/kenji/.emacs.d/elpa/with-editor-20240101.222..." "/home/kenji/.emacs.d/elpa/xterm-color-20230321.3" "/home/kenji/.emacs.d/elpa/atomic-chrome-20230304.1..." "/home/kenji/.emacs.d/elpa/websocket-20230809.305" "/home/kenji/.emacs.d/elpa/editorconfig-20240318.20..." "/home/kenji/.emacs.d/elpa/wgrep-20230203.1214" "/home/kenji/.emacs.d/elpa/amx-20230413.1210" "/home/kenji/.emacs.d/elpa/consult-ghq-20231111.130..." "/home/kenji/.emacs.d/elpa/affe-20240102.331" ...) :compile-files ("/home/kenji/.emacs.d/el-get/el-get/methods/" "el-get.el" "el-get-status.el" "el-get-recipes.el" "el-get-notify.el" "el-get-methods.el" "el-get-list-packages.el" "el-get-install.el" "el-get-dependencies.el" "el-get-custom.el" "el-get-core.el" "el-get-check.el" "el-get-byte-compile.el" "el-get-bundle.el" "el-get-build.el" "el-get-autoloading.el") :clean-directory "/home/kenji/.emacs.d/el-get/el-get/") :sync sync :program "/usr/bin/emacs" :args ("-Q" "-batch" "-f" "toggle-debug-on-error" "-l" "/home/kenji/.emacs.d/elpa/el-get-20230618.1453/el-..." "-f" "el-get-byte-compile-from-stdin") :message "el-get-build el-get: byte-compile ok." :error "el-get could not byte-compile el-get")) el-get-post-install-build)
(let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))
(lambda (package) (let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build)))(el-get)
funcall((lambda (package) (let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))) el-get)
(lambda (package) (el-get-install-or-init-info package 'build) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile ...))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))) package))(el-get)
el-get-start-process-list(el-get nil (lambda (package) (el-get-install-or-init-info package 'build) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile ...))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))) package)))
el-get-build(el-get nil nil sync el-get-post-install-build)
el-get-post-install(el-get)
el-get-start-process-list(el-get (nil (:command-name "*git submodule update*" :buffer-name "*git clone el-get*" :default-directory "/home/kenji/.emacs.d/el-get/el-get/" :program "/usr/bin/git" :args ("--no-pager" "submodule" "update" "--init" "--recursive") :message "git submodule update ok" :error "Could not update git submodules")) el-get-post-install)
el-get-start-process-list(el-get ((:command-name "*git clone el-get*" :buffer-name "*git clone el-get*" :default-directory "/home/kenji/.emacs.d/el-get" :program "/usr/bin/git" :args ("--no-pager" "clone" "-b" "master" "https://github.com/dimitri/el-get.git" "el-get") :message "Package el-get installed." :error "Could not install package el-get.") nil (:command-name "*git submodule update*" :buffer-name "*git clone el-get*" :default-directory "/home/kenji/.emacs.d/el-get/el-get/" :program "/usr/bin/git" :args ("--no-pager" "submodule" "update" "--init" "--recursive") :message "git submodule update ok" :error "Could not update git submodules")) el-get-post-install)
el-get-git-clone(el-get "https://github.com/dimitri/el-get.git" el-get-post-install)
el-get-github-clone(el-get nil el-get-post-install)
el-get-do-install(el-get)
el-get-init-and-install(nil)
el-get(sync)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
command-execute(eval-last-sexp)
.status.el
is below.
((el-get status "installed" recipe
(:name el-get :website "https://github.com/dimitri/el-get#readme" :description "Manage the external elisp bits and pieces you depend upon." :type github :branch "master" :pkgname "dimitri/el-get" :info "." :compile
("el-get.*\\.el$" "methods/")
:features el-get :post-init
(when
(memq 'el-get
(bound-and-true-p package-activated-list))
(message "Deleting melpa bootstrap el-get")
(unless package--initialized
(package-initialize t))
(when
(package-installed-p 'el-get)
(let
((feats
(delete-dups
(el-get-package-features
(el-get-elpa-package-directory 'el-get)))))
(el-get-elpa-delete-package 'el-get)
(dolist
(feat feats)
(unload-feature feat t))))
(require 'el-get)))))
Last year I also faced problems with el-get on Emacs 29 (I think it was 29.1), today I found that a fresh check-out of el-get worked well with Emacs 29.3, no fix or workaround needed. So you people may want to give it a try.
Thank you very much for letting us know, it works again on my side as well.
One wonders, how was it fixed? I can't see any commit relating to this issue?
PS: I like el-get
very much, still my favourite package manager. But it does not seem an easy task to have feedback from maintainers. To non-skilled users like me, this does not give much confidence.
One wonders, how was it fixed? I can't see any commit relating to this issue?
The only fix I could find in el-get logs is #2890, I am not sure it explains everything. Maybe there were also changes in Emacs between 29.1 and 29.3, or in the distribution patches and scripts.
Since it was confirmed to work with emacs 29.3, I'll close this issue.
I have been using el-get for over 10 years and I am very grateful to the contributors. However, since I ran into this issue, I switched to straight (https://github.com/radian-software/straight.el) and it has proven to be a great alternative.
Thank you!
@saffroy Thank you for pointing to that MR.
@renatocan Thanks. I hear elpaca is also worth a try, perhaps closer to el-get
spirit. Personally, for now, I will stick to el-get
. Let us see where it will lead us.