2013-07-12 7 views
5

Emacsは、バイトコンパイルに関する有用な警告を出します。 破壊的な操作に関する警告を追加するプラグインが使用されていますか? 私はこのようなコードを書くときだから:Elispの破壊操作の警告?

(defun get-countdown() 
    (let ((x (number-sequence 0 10))) 
    (message (format "%s" (sort x #'>))) 
    x))# 

Emacsが文句:

temp.el:4:5:Warning: using variable modified by `sort'. 

それともすべての破壊的な機能を強調しelisp-newbie-modeのようなものを?

+0

これはうまくいくかもしれませんが、バイトコンパイラはそのような情報を与えるために十分に洗練された分析を行いません。 'sort'、' nreverse'などの呼び出しを強調表示するのは明らかですが、そのための準備が整ったパッケージはわかりません。あなたは1つを書くことができるように見えますか? – Stefan

+0

いつか分析してみてください。 おそらく、 の引数を使って行われたことを追跡するために、ラムダを一時的に再定義できます。 –

答えて

1

これは、Emacs Devにパッチを送ってバイトコンパイラに追加しました。

とにかくスタートです。 Emacs bug #15122を参照してください。

+0

ありがとう、それは始まりです。これは '(setq x(sort x# '>))'に対して偽陽性を生成しますか? –

+0

はい。さて、警告を出します。ほとんどのバイトコンパイラの警告と同様に、それはあまり精通していません。 – Drew

関連する問題