elispの警告の原因を見つける


11

コマンドを実行し、ミニバッファーで警告を受けました。

正確な警告はcomint-completion-at-point failed to return valid completion data、でコマンドをオートコンプリートした後shell-modeです。

警告のelispの原因を特定するにはどうすればよいですか?


Lispプログラムのデバッグに関するマニュアルを見てください。
フリークヒル2014

1
C-h f comint-completion-at-pointをクリックし、ファイル名をクリックしてソースコードを表示します。そのエラーメッセージを探します。(Lispソースでエラーメッセージをgrepして見つけることもできます。)
Drew

回答:


17

他の答えで指摘されているように、あなたはそれが持っているすべてのデバッグツールに役立つ素晴らしいマニュアルを見つけるでしょう。あなたが特定の問題について私が考えたいのは:

(setq debug-on-message "comint-completion-at-point failed to return valid completion data")

ヘルプテキストは次のように述べています。

If non-nil, debug if a message matching this regexp is displayed.

これから、障害が発生したときにバックトレースを取得する必要があります。次に、問題の機能をCu CMxで計測し、次に問題が発生したときにステップスルーして詳細を確認できます。


3
これは素晴らしい答えです。ありがとうございました。私はあなたが結合するあなたの最初の行に余分な引用符を持っていると思うsetq'debug-on-message。変更setq debug-on-messageまたはset 'debug-on-message修正しました。
マシューピジアック2014

@MatthewPiziak:ありがとう-熱心な引用が修正されました。
stsquad 2014

これは、Emacs圧縮ソースをzgreppするよりもはるかに優れています。これの唯一の欠点は、問題のある状態が発生しないとデバッグできないことです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.