8
~/.emacs

;; http://cx4a.org/software/auto-complete/manual.html
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)

emacs をロードすると、「引数の数が間違っています: called-interactively-p, 1」というエラーが表示されます。つまり、emacs は行までエラーを検出します(ac-config-default)

ファイル .emacs.d/auto-complete.elc を確認すると、文字列「called-interactively-p」が見つかりました。

質問>ubuntuでも同じ設定で問題なく使えています。現在、centos 6.2 に切り替えています。この問題を解決する方法はありますか?

emacs --debug-init は次のエラーを示します:

͂

4

3 に答える 3

12

emacs.d ディレクトリをあるマシンから別のマシンに移動すると、このエラーが発生する可能性があることに注意してください。

この場合、コンパイル済みの *.elc ファイルを削除するとうまくいくはずです。

于 2012-10-10T00:24:44.960 に答える
4

最近の Emacsencalled-interactively-pでは、引数が必要です。

C-h f ac-quick-help RETを実行し、次に置き換え(called-interactively-p)(called-interactively-p 'any)再コンパイル/再ロードします。または、このバグをパッケージの作成者に送信してください。

于 2012-05-01T16:10:10.267 に答える
2

[最近、他のスタックオーバーフローの質問で述べたように、~/.emacs.d ディレクトリには、実際の emacs パッケージと名前が衝突する構成ファイルを保持できる/保持するため、「~/.emacs.d」を配置しないことを強くload-pathお勧めします. つまり、オートコンプリート ファイルを ~/.emacs.d の *サブ*ディレクトリに置きます。]

あなたのエラーは非常に奇妙に見えますcalled-interactively-p.Emacs-23では正確に1つの引数を取ると宣言されていますが、実際には0個の引数も受け入れます(Emacs-22とEmacs-23の両方をサポートしたい外部パッケージの苦痛を軽減するため). だから、どういうわけかcalled-interactively-pを再定義するあなたの設定の何かのようです。

于 2012-05-01T17:31:09.067 に答える