2013-07-12 5 views
5

Emacs, bayt derleme konusunda yararlı uyarılar verir. Kullanılmakta olan yıkıcı işlemler hakkında uyarılar ekleyen bir eklenti var mı? Bu gibi bir kod yazarken Böylece:Elisp yıkıcı operasyon uyarısı?

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

Emacs yakınır:

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

Ya da belki tüm yıkıcı işlevleri vurgular elisp-newbie-mode gibi bir şey?

+0

Bu düzgün olurdu, ancak bayt derleyici size bu tür bir bilgi vermek için yeterince gelişmiş bir analiz yapmaz. 'Sort', 'nreverse' vb. Çağrıları vurgulamak için olduğu gibi, bu kesinlikle mümkün, ama bunun için hazır bir paket bilmiyorum. Bir tane yazabilir misin? – Stefan

+0

Bir ara analizle birlikte yapmayı denemek isterim. Belki de argümanını argümanlarıyla ne yaptığını izlemek için lambda'yı yeniden tanımlayabilirim. –

cevap

1

Bugün, bu işi byte derleyicisine ekleyen Emacs Dev'e bir yama gönderdim.

Yine de bir başlangıç. Emacs bug #15122'a bakın.

+0

Teşekkürler, bu bir başlangıç. Bu, (setq x (sort x # '>)) 'için yanlış bir pozitif oluşturur mu? –

+0

Evet. Şey, uyarıyı veriyor. (Ama sadece tartışmalı bir yanlış pozitiftir.) Çoğu byte-derleyici uyarısı gibi, son derece anlayışlı değildir. – Drew