2011-03-29 9 views
19

Mam przeniesieni do Emacs 23.3 i teraz bufor *Compile-Log* otwiera sposób ciągły z błędów, takich jak:Jak ukryć ostrzeżenia "przestarzałej zmiennej" Emacsa?

Warning: `font-lock-beginning-of-syntax-function' is an obsolete variable (as 
    of Emacs 23.3); use `syntax-begin-function' instead. 

Jestem przy założeniu autorów programu zajmie tych ostrzeżeń w przyszłości. Do tego czasu, w jaki sposób mogę zapobiec pojawieniu się tych błędów i otwarciu nowego okna?

Odpowiedz

22

Obecnie wracam o 23.2 z powodu innego problemu, ale zhackowałem obejście tego problemu, gdy próbowałem 23.3. Po prostu uniemożliwia uznanie tej zmiennej za przestarzałą, ale dopóki Mumamo się nie ułoży, wydaje się to lepsze!

;; Mumamo is making emacs 23.3 freak out: 
(when (and (equal emacs-major-version 23) 
      (equal emacs-minor-version 3)) 
    (eval-after-load "bytecomp" 
    '(add-to-list 'byte-compile-not-obsolete-vars 
        'font-lock-beginning-of-syntax-function)) 
    ;; tramp-compat.el clobbers this variable! 
    (eval-after-load "tramp-compat" 
    '(add-to-list 'byte-compile-not-obsolete-vars 
        'font-lock-beginning-of-syntax-function))) 
+0

YEAH! To było denerwujące. – Nathan

7

Istnieją cztery poziomy opcji dla ostrzeżeń:

  • ostrzeżenie-minimalny poziom
  • ostrzeżenie-minimum-log-level
  • ostrzeżenie-eliminuje druk typy
  • ostrzeżenie-Tłumią typy logów:

Więcej informacji na temat Emacs Manual.

+8

Tak więc, aby dodać do powyższego, można dodać następujące niestandardowe-set-zmiennych w .emacs: „(ostrzeżenie-minimalny poziom: error) –

4

Naprawiłem go uruchamiając to na Elisp:

rozwiązanie
sed -i.bak 's/font-lock-beginning-of-syntax-function/syntax-begin-function/g' `find . -name '*.el' -exec grep -l 'font-lock-beginning-of-syntax-function' {} \;` 
0

phils nie wyszło mi z jakiegoś powodu. Oto bardziej niski sposób, aby to zrobić.

(remprop 'flet 'byte-obsolete-info) 
(remprop 'labels 'byte-obsolete-info)