Open dadinn opened 1 year ago
After this Emacs is completely bricked, and I have to remove the straight/build and straight/repos directories, and download and recompile all packages again.
You should be able to start Emacs sans your config from the command line via emacs -q
.
Please try that and then do the following:
$HOME/.emacs.d/straight/repos/straight.el/straight.el
)M-x eval-buffer
in the straight.el buffer.M-x straight-version
.I suspect you are running an older version of straight.el which does not account for the change in NonGNU's recipe format:
https://github.com/radian-software/straight.el/commit/6848c143bfd5ec05a1db476a62a68701e135cfd9
If that is the case, updating straight.el should fix the issue.
I've updated straight.el
to 8753008
.
Now Emacs loads fine, but vertico-prescient
still doesn't work, as I get the error:
Error (use-package): Cannot load vertico-prescient
I've updated
straight.el
to8753008
.Now Emacs loads fine, but
vertico-prescient
still doesn't work, as I get the error:Error (use-package): Cannot load vertico-prescient
Installs fine with the following test case:
2023-06-06 21:28:14
gnu/linux
prerelease (HEAD -> develop, origin/develop) 4701c9a 2023-05-25
GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.17.8) of 2023-05-20
Perhaps your recipe repositories need to be updated?
I would try M-x straight-pull-recipe-repositories
, then M-x straight-use-package
vertico-prescient
.
If that doesn't work, please evaulate the test case from above in you *scratch* buffer.
It will install straight in a temporary test environment and pop up a *straight-bug-report* buffer when the test is complete. Share the contents of the buffer here.
If I try to execute the test in the *scratch*
buffer I get an error Buffer *straight-bug-report-process* does not visit a file
.
I've also tried starting Emacs with emacs -q
command, opening and evaluating the straight.el
buffer with eval-buffer
, but nothing seems to happen.
If I try to execute the test in the scratch buffer I get an error Buffer straight-bug-report-process does not visit a file.
Please ensure debug-on-error is non-nil (you can do this with M-x toggle-debug-on-error
) and try evaluating the test again. Copy the whole backtrace buffer contents here. You'll likely need to expand any ellipses in the backtrace buffer first. Typing "." should do that.
debug-on-error
is t
, after turning it on with toggle-debug-on-error
. Yet when executing the test it doesn't enter the debugger, and shows the same error. Actually, realised there is a flash of another message before, shown in the *Messages*
buffer:
Testing straight.el in directory: /tmp/straight.vertico-prescient
"Testing straight.el in directory: /tmp/straight.vertico-prescient"
user-error: Buffer *straight-bug-report-process* does not visit a file
Just realised, your Emacs version is 30.0.50
. Mine is only 27.1
.
Debian Bullseye
... conservativism...
debug-on-error
ist
, after turning it on withtoggle-debug-on-error
. Yet when executing the test it doesn't enter the debugger, and shows the same error.
Where is this error displayed?
If no backtrace buffer shows up, the next step would be to step through the expanded macro w edebug. You can get the expansion by evaluating:
(let (print-length print-circle)
(macroexpand
'(straight-bug-report
:user-dir "straight.vertico-prescient"
:post-bootstrap
(straight-use-package 'vertico-prescient))))
Copy the output to the scratch buffer.
Then execute C-u M-x eval-defun
.
That should start evaluating the expression in edebug. Typing n
will step through each expression being evaluated and show the result. It should show where that error is being signaled.
I have the same problem:
Debugger entered--Lisp error: (wrong-type-argument stringp afternoon-theme)
intern(afternoon-theme)
#f(compiled-function (it) #<bytecode 0x13cb94cd0d205b7>)((afternoon-theme :url "https://github.com/osener/emacs-afternoon-theme" :ignored-files ("*.png")))
<etc>
I have the same problem:
Debugger entered--Lisp error: (wrong-type-argument stringp afternoon-theme) intern(afternoon-theme) #f(compiled-function (it) #<bytecode 0x13cb94cd0d205b7>)((afternoon-theme :url "https://github.com/osener/emacs-afternoon-theme" :ignored-files ("*.png"))) <etc>
Please follow the debugging steps listed in the previous comments and share the output.
The macro expands for me to this:
(let* ((preserve-files nil) (interactive nil) (emacs-executable "/usr/bin/emacs") (emacs-args (append ... ...)) (raw nil) (test "(with-demoted-errors \"Error: %S\"
(let
((straight-bug-report-args
'(:post-bootstrap
(progn
(straight-use-package 'vertico-prescient))
:user-dir \"/tmp/straight.vertico-prescient\" :executable \"/usr/bin/emacs\")))
(setq user-emacs-directory \"/tmp/straight.vertico-prescient\")
(setq straight-repository-branch \"develop\")
(defvar bootstrap-version)
(let
((bootstrap-file
(expand-file-name \"straight/repos/straight.el/bootstrap.el\" user-emacs-directory))
(bootstrap-version 6))
(unless
(file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
(concat \"https://raw.githubusercontent.com/\" \"radian-software/straight.el/develop/install.el\")
'silent 'inhibit-cookies)
(goto-char
(point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(condition-case nil
(message \"Test run with version: %s\"
(straight-version))
(error nil))
(unwind-protect
(progn
(straight-use-package 'vertico-prescient))
(message \"Packages:\\n%s\\n\"
(straight-bug-report--format-package-info
(straight-bug-report-package-info))))))
") (report "(straight-bug-report
:user-dir \"straight.vertico-prescient\"
:post-bootstrap
(straight-use-package 'vertico-prescient))") (temp-emacs-dir "/tmp/straight.vertico-prescient")) (with-current-buffer (get-buffer-create straight-bug-report--process-buffer) (fundamental-mode) (erase-buffer)) (make-process :name straight-bug-report--process-buffer :buffer straight-bug-report--process-buffer :command `(... ... ...) :sentinel (lambda (_process _event) (unless interactive ... ...) (unless preserve-files ...))) (message "Testing straight.el in directory: %s" temp-emacs-dir))
And edebug seems to say the issue is with the (append ... ...)
part:
Debugger entered--Lisp error: (void-variable \.\.\.)
(append \.\.\. \.\.\.)
(let* ((preserve-files nil) (interactive nil) (emacs-executable "/usr/bin/emacs") (emacs-args (append \.\.\. \.\.\.)) (raw nil) (test "(with-demoted-errors \"Error: %S\"\n (let\n ((st...") (report "(straight-bug-report\n :user-dir \"straight.vertico...") (temp-emacs-dir "/tmp/straight.vertico-prescient")) (save-current-buffer (set-buffer (get-buffer-create straight-bug-report--process-buffer)) (fundamental-mode) (erase-buffer)) (make-process :name straight-bug-report--process-buffer :buffer straight-bug-report--process-buffer :command '(\.\.\. \.\.\. \.\.\.) :sentinel #'(lambda (_process _event) (if interactive nil \.\.\. \.\.\.) (if preserve-files nil \.\.\.))) (message "Testing straight.el in directory: %s" temp-emacs-dir))
(progn (let* ((preserve-files nil) (interactive nil) (emacs-executable "/usr/bin/emacs") (emacs-args (append \.\.\. \.\.\.)) (raw nil) (test "(with-demoted-errors \"Error: %S\"\n (let\n ((st...") (report "(straight-bug-report\n :user-dir \"straight.vertico...") (temp-emacs-dir "/tmp/straight.vertico-prescient")) (save-current-buffer (set-buffer (get-buffer-create straight-bug-report--process-buffer)) (fundamental-mode) (erase-buffer)) (make-process :name straight-bug-report--process-buffer :buffer straight-bug-report--process-buffer :command '(\.\.\. \.\.\. \.\.\.) :sentinel #'(lambda (_process _event) (if interactive nil \.\.\. \.\.\.) (if preserve-files nil \.\.\.))) (message "Testing straight.el in directory: %s" temp-emacs-dir)))
(setq elisp--eval-defun-result (progn (let* ((preserve-files nil) (interactive nil) (emacs-executable "/usr/bin/emacs") (emacs-args (append \.\.\. \.\.\.)) (raw nil) (test "(with-demoted-errors \"Error: %S\"\n (let\n ((st...") (report "(straight-bug-report\n :user-dir \"straight.vertico...") (temp-emacs-dir "/tmp/straight.vertico-prescient")) (save-current-buffer (set-buffer (get-buffer-create straight-bug-report--process-buffer)) (fundamental-mode) (erase-buffer)) (make-process :name straight-bug-report--process-buffer :buffer straight-bug-report--process-buffer :command '(\.\.\. \.\.\. \.\.\.) :sentinel #'(lambda (_process _event) (if interactive nil \.\.\. \.\.\.) (if preserve-files nil \.\.\.))) (message "Testing straight.el in directory: %s" temp-emacs-dir))))
elisp--eval-defun()
#<subr eval-defun>(nil)
edebug--eval-defun(#<subr eval-defun> nil)
apply(edebug--eval-defun #<subr eval-defun> nil)
eval-defun(nil)
funcall-interactively(eval-defun nil)
god-mode-self-insert()
funcall-interactively(god-mode-self-insert)
command-execute(god-mode-self-insert)
And edebug seems to say the issue is with the (append ... ...) part:
That's odd. The print-level should be let-bound to nil here. Try evaluating the following in your *scratch* buffer and then evaluating the test case:
(setq print-level nil
print-length nil
eval-expression-print-length nil
eval-expression-print-level nil)
I have exactly the same issue: Error (use-package): Cannot load vertico-prescient
funnily enough, m-x straight-version
errors out with wrong type argument stringp. The straight commit I'm on is 039e5c9a9b5c00749602afb41341e9e77ba09429
.
emacs-version is 29.0.60
here's output of straight-bug-report from the scratch buffer:
2023-07-14 14:47:18
gnu/linux
prerelease (HEAD -> master, origin/master, origin/HEAD) 039e5c9 2023-03-12
GNU Emacs 29.0.60 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.36, cairo version 1.17.6) of 2023-01-20
Debug macro expanded to
(let*
((preserve-files nil)
(interactive nil)
(emacs-executable "/usr/bin/emacs")
(emacs-args (append (unless interactive '("--batch")) '("-Q" "--eval")))
(raw nil)
(test "(with-demoted-errors \"Error: %S\"\n (let\n ((st...")
(report "(straight-bug-report\n :user-dir \"straight.vertico...")
(temp-emacs-dir "/tmp/straight.vertico-prescient"))
(with-current-buffer
(get-buffer-create straight-bug-report--process-buffer)
(fundamental-mode)
(erase-buffer))
(make-process
:name straight-bug-report--process-buffer
:buffer straight-bug-report--process-buffer
:command `(,emacs-executable ,@emacs-args ,test)
:sentinel (lambda (_process _event)
(unless interactive
(unless raw (straight-bug-report--format report))
(run-with-idle-timer
1 nil
(lambda nil
(pop-to-buffer straight-bug-report--process-buffer))))
(unless preserve-files
(when (file-exists-p temp-emacs-dir)
(delete-directory temp-emacs-dir 'recursive)))))
(message "Testing straight.el in directory: %s" temp-emacs-dir))
Results didn't show anything enteresting, but this got outputted into *straight-bug-report-process*
:
Error: end-of-file nil
mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode 0x11562f3847ae86a4>))
debug-early-backtrace()
debug-early(error (end-of-file))
read-from-string("(with-demoted-errors \"Error: %S\"\n (let\n ((st...")
command-line-1(("--eval" "(with-demoted-errors \"Error: %S\"\n (let\n ((st..."))
command-line()
normal-top-level()
End of file during parsing
Let me know if there are some steps that I've missed
@valignatev:
The straight commit I'm on is 039e5c9a9b5c00749602afb41341e9e77ba09429.
Please update straight.el to the latest commit and see if that works for you.
Ok made sure I'm on the last commit (https://github.com/radian-software/straight.el/commit/ff63b154bef1ef8d92c141bd189001bff74f6982) No difference, unfortunately, still can't load just this one package
@valignatev please share your init file. It looks like the package installed correctly for you in the test environment.
https://github.com/valignatev/dotemacs/blob/master/init.el
here it is. I installed orderless + set up savehist to compensate for prescient
https://github.com/valignatev/dotemacs/blob/master/init.el
here it is. I installed orderless + set up savehist to compensate for prescient
Thanks. I uncommented the presciient/vertico-prescient declarations and everything installed fine for me. I would try a completely clean install (delete the eln-cache, straight directory, everything installed as a result of bootstrapping) and see if that works. Unfortunately, I can't give much more help than that considering I'm unable to reproduce the problem.
I see, I see, thanks for the help anyway! Weird that it's only one package. If orderless + savehist didn't satisfy me as a replacement, I'll try to wipe everything and reinstall it. Thanks again for your time!
What's wrong
I've tried to install
vertico-prescient
package, which fails, and the error recommended that I update my straight repos usingstraight-pull-recipe-repositories
. When I did this, and restarted Emacs, it failed to load and finish init. I've not even got to trying to installvertico-prescient
itself.The error (with stacktrace) when starting Emacs with
--debug-init
:After this Emacs is completely bricked, and I have to remove the
straight/build
andstraight/repos
directories, and download and recompile all packages again.Version information