2012-04-10 5 views
14

flymake-modeを使用すると常にエラーが発生します。フライメークモードはオフになります。マイナーモード(.e.g flymake-mode)がオンになっているかどうかをチェックする方法は?

enter image description here

だから私はflymakeモードがオンになっているかどうかを確認したいです。オンになっていない場合は、call fly-next-errorの前にオンにします。

ありがとうございました。

+0

電源を入れたときにエラーが発生した場合は、何から確認するのですか? –

+1

ホームページ(http://flymake.sourceforge.net/)によると、flymakeはマイナーモードであり、メジャーモードではありません。 –

+0

ありがとうございます。エラーは常に発生していません。私のjsファイルが大量に失敗したときに発生しました。フライメイクはマイナーモードです。 – coordinate

答えて

22

ほとんどのマイナーモードは、define-minor-modeマクロを使用して定義されています。バッファローカルモードの場合、そのマクロは、モード自体と同じ名前のバッファローカル変数を作成します。。現在のバッファでモードが有効になっている場合、変数はnilです。

したがってflymake-modeが有効になっているかどうかを確認するために、あなたは(モードが有効になっていない場合、この変数はすべてで定義されていない可能性がありますことに注意)変数flymake-modeをテストすることができますに:、トム・ポイントとして

(and (boundp 'flymake-mode) flymake-mode) 

(bound-and-true-p flymake-mode) 

我々はifまたはwhenまたはunless発現させるための条件として使用することができます。コメント欄でアウト、便利なマクロを使用して表現することができます。グローバルマイナーモードについて

(if (bound-and-true-p flymake-mode) 
    (message "flymake-mode is on") 
    (message "flymake-mode is off")) 

、対応する変数がグローバルです。フライメークモードはバッファローカルです。

+0

ありがとうございます。それは私の間違いです。フライメイクはメジャーモードではなく、マイナーモードです。 – coordinate

+3

ここでのテストは '(bound-and-true-p flymake-mode)'に短縮することができます。 – Thom

関連する問題