emacs 28.spacemacs启动出错。哪位帮看看是什么原因?

spacemacs 是dev分支(不是最新的)

之前用的emacs 27.2。看邮件说28出了。我就装了。结果启动出现以下错误:

Debugger entered–Lisp error: (wrong-number-of-arguments (3 . 4) 2) #f(compiled-function (obsolete-name current-name when &optional docstring) “Set OBSOLETE-NAME’s function definition to CURRENT-NAME and mark it obsolete.\n\n(define-obsolete-function-alias \='old-fun \='n$ (define-obsolete-function-alias 'evil-ex-shell-command-completion-at-point 'comint-completion-at-point) eval-buffer(#<buffer load-797983> nil “/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…” nil t) ; Reading at buffer position 22912 load-with-code-conversion(”/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…" “/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…” nil t) require(evil-ex) eval-buffer(#<buffer load-445334> nil “/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…” nil t) ; Reading at buffer position 974 load-with-code-conversion("/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…" “/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…” nil t) require(evil-search) eval-buffer(#<buffer load-588688> nil “/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…” nil t) ; Reading at buffer position 5321 load-with-code-conversion("/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…" “/home/lch/.emacs.d/elpa/28.0/develop/evil-1.14.0/e…” nil t) require(evil) spacemacs-bootstrap/init-evil() funcall(spacemacs-bootstrap/init-evil) (let* ((pkg-name (eieio-oref pkg ':name)) (owner (car (eieio-oref pkg ':owners)))) (spacemacs-buffer/message (format “%S -> init (%S)…” pkg-name owner)) (funcall (intern (format “%S/init-%S” owner pkg-nam$ configuration-layer//configure-package(#) mapc(configuration-layer//configure-package (# # # #<cfgl-package cfgl-package-1555ef0$ (let (packages-to-configure) (let ((–dolist-tail-- packages) pkg-name) (while --dolist-tail-- (setq pkg-name (car --dolist-tail–)) (let ((pkg (configuration-layer/get-package pkg-name))) (cond ((eieio-ore$ configuration-layer//configure-packages-2((async bind-key bind-map diminish evil hydra use-package which-key)) configuration-layer//configure-packages((abbrev ac-ispell ace-jump-helm-line ace-link ace-window add-node-modules-path aggressive-indent all-the-icons anaconda-mode ansi-colors archive-mode async auto-compi$ configuration-layer//load() (cond (changed-since-last-dump-p (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message “Layer list has changed since last dump.”) (configuration-layer//dum$ configuration-layer/load() (let ((file-name-handler-alist nil)) (require 'core-spacemacs) (spacemacs/dump-restore-load-path) (configuration-layer/load-lock-file) (spacemacs/init) (configuration-layer/stable-elpa-init) (configuration-$ (if (not (version<= spacemacs-emacs-min-version emacs-version)) (error (concat “Your version of Emacs (%s) is too old. " “Spacemacs requires Emacs version %s or above.”) emacs-version spacemacs-emacs-min-ve$ eval-buffer(#<buffer load> nil “/home/lch/.emacs.d/init.el” nil t) ; Reading at buffer position 3159 load-with-code-conversion(”/home/lch/.emacs.d/init.el" “/home/lch/.emacs.d/init.el” t t) load("/home/lch/.emacs.d/init" noerror nomessage) startup–load-user-init-file(#f(compiled-function () #<bytecode -0xfbf099520d650a6>) #f(compiled-function () #<bytecode -0x1f3c686ddc6f90b5>) t) command-line() normal-top-level()

升级一下evil, Emacs 28 把 define-obsolete-function-alias某个可选参数改为强制性的了.

1 个赞

多谢。我去试试。。。这个evil 怎么升级?需要更新spacemacs吧。我用的是dev版本。

我记得 spaceamcs 默认首页不就有个 update packages 的选项,你也 m-x (spc spc)去找找 建议也把 spacemacs 的 commit 更新到最新

我还以为可以单独生就evil。那我直接升级一下spacemacs试试。

可以是可以 package-refresh-content package-reinstall evil 一下应该就是新的了?

我用最新的dev分支重新安装了一遍spacemacs。启动没错了。