2011-03-29 26 views
19

tôi đã nâng cấp lên Emacs 23,3 và bây giờ là đệm *Compile-Log* mở liên tục với các lỗi như:Làm thế nào để ẩn các cảnh báo "biến lỗi thời" của Emacs?

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

tôi giả sử các tác giả ở thượng nguồn sẽ chăm sóc những cảnh báo trong tương lai. Cho đến lúc đó, làm cách nào để ngăn các lỗi này xuất hiện và mở một cửa sổ mới?

Trả lời

22

Tôi hiện đang trở lại vào ngày 23.2 do một vấn đề khác, nhưng tôi đã hack một giải pháp cho vấn đề này trong khi tôi đang thử 23.3. Nó đơn giản ngăn cản biến bị coi là lỗi thời, nhưng cho đến khi Mumamo tự mình sắp xếp, điều đó dường như thích hợp hơn!

;; 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! Điều đó thật khó chịu. – Nathan

7

Có bốn mức độ tùy chọn cho những lời cảnh báo:

  • cảnh báo-tối thiểu cấp
  • cảnh báo-tối thiểu-log cấp
  • cảnh báo-suppress-loại
  • cảnh báo-suppress- loại nhật ký

Có thêm thông tin về số Emacs Manual.

+8

Vì vậy, để thêm vào phần trên, bạn có thể thêm thông tin sau vào biến tùy chỉnh trong tệp .emacs: '(cảnh báo-mức tối thiểu: lỗi) –

4

tôi cố định nó bằng cách chạy này trên elisp:

giải pháp
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

của Phils không làm việc cho tôi vì một lý do. Đây là một cách cấp thấp hơn để làm điều đó.

(remprop 'flet 'byte-obsolete-info) 
(remprop 'labels 'byte-obsolete-info) 
Các vấn đề liên quan