eval-buffer:シンボルの関数定義は無効です:eieio-defclass-autoload

私は私の .emacs で遊んでいて、C ++に関連するメルパからいくつかのパッケージをインストールしました。今私がemacsを起動すると、私はこのエラーを受け取ります

eval-buffer: Symbol's function definition is void: eieio-defclass-autoload

これは emacs -Q では起こりません。そこで、私は .emacs を完全に空にして、私が今日インストールしたすべてのパッケージを削除しました。エラーは解決しません。デスクトップセッションも使用しているので、これを emacs --no-desktop で無効にしましたが、成功しませんでした。エラーの原因となるファイルはどれですか?ここには完全な * messages * バッファがあります

Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...
Loading /usr/share/emacs/site-lisp/auctex.el (source)...done
Loading /usr/share/emacs/site-lisp/preview-latex.el (source)...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist
Loading /etc/emacs/site-start.d/50ess.el (source)...done
Loading /etc/emacs/site-start.d/50global.el (source)...done
Loading /etc/emacs/site-start.d/50python-docutils.el (source)...done
eval-buffer: Symbol's function definition is void: eieio-defclass-autoload

だから私は eieio がcedetの一部であることに気付きましたが、 emacs に含まれているので、これを取り除く方法はわかりませんでした。

1
追加された
ビュー: 3
Emacsの起動時に - debu-init を試しましたか?これにより、この問題のスタックトレースが得られます。 EIEIOはオブジェクトシステムであり、CEDET以外の多くのパッケージで使用されています(ただしパッケージの一部です)。誰がそれをしているのかを推測するのは難しいでしょう。誰かがこの変数を探している理由は、s.aという定義になります。 (defclass ...)問題を特定する別の方法は、ロードされている* .elファイルをバイトコンパイルしようとすることです。
追加された 著者 Yann Trevin,

1 答え

私は emacs --debug-init を実行し、 eieio-defclass-autoload を呼び出す helm-ls-git パッケージを指していました。パッケージマネージャーの helm-ls-git を削除すると問題が解決しました

1
追加された