● git のログ表示コマンド (git-log) 実行時:
Suffice magit-log:--*-order is not defined or autoloaded as a command
● ローカルブランチの切り換え時 (git-branch) 実行時:
Suffix magit-branch..rebase is not defined as a command
これらの原因については思い当たることがある.
今回の Emacs HEAD のインストール時に Magit パッケージの設定を変更した.
以前: Magit パッケージをソースコードからバイトコンパイルした結果を \$HOME/.emacs.d/site-lisp 以下に置いていた.
それに対応して, init.el 内で load-path 変数の設定に
(add-to-list 'load-path "~/.emacs.d/site-lisp/magit/lisp")
(add-to-list 'load-path "~/.emacs.d/site-lisp/transient/lisp")
のような変更を加えた.
今回: \$HOME/.emacs.d/site-lisp ディレクトリー配下内に置いてある Emacs Lisp パッケージを見直して, ほぼ全てが GNU ELPA からインストールしたパッケージで置き換えられることがわかった.
それで site-lisp ディレクトリー以下からの (1) パッケージファイルの削除; (2) そのパッケージの GNU ELPA からのインストールの 2 つを行った.
問題は, この変更に合わせて init.el 内の上記の記述を
;; (add-to-list 'load-path "~/.emacs.d/site-lisp/magit/lisp")
;; (add-to-list 'load-path "~/.emacs.d/site-lisp/transient/lisp")
のようにコメントアウトすべきだったがそれを行わなかったことである. 忘れてしまった.
この結果, 古い load-path のの設定だけが中途半端に残る.
いくつかの Magit コマンドは, init.el の古い設定にしたがって削除済みの Emacs Lisp ファイル, たとえば \$HOME/.emacs.d/magit/lisp 以下や \$HOME/d.emacs.d/transient/lisp 以下に置かれていた Emacs Lisp ファイルを読みに行ってしまう. それがエラーになっていたのではないだろうか.
あらためて init.el 内の不要になった処理のコメントアウトを行うことにより, Magit が問題無く動くようになった.
【このカテゴリーの最新記事】
- no image
- no image
- no image
- no image
- no image