Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I hide Emacs' "obsolete variable" warnings?

Tags:

emacs

I've upgraded to Emacs 23.3 and now the *Compile-Log* buffer opens constantly with errors like:

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

I'm assuming the upstream authors will take care of these warnings in the future. Until then, how can I prevent these errors from appearing and opening a new window?

like image 817
a paid nerd Avatar asked Mar 29 '11 06:03

a paid nerd


3 Answers

I'm currently back on 23.2 due to another issue, but I hacked a workaround for this issue while I was trying 23.3. It simply prevents the variable from being considered obsolete, but until Mumamo sorts itself out, that seemed preferable!

;; 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)))
like image 159
phils Avatar answered Oct 05 '22 10:10

phils


There are four levels of options for the warnings :

  • warning-minimum-level
  • warning-minimum-log-level
  • warning-suppress-types
  • warning-suppress-log-types

There are more information on the Emacs Manual.

like image 44
Sandro Munda Avatar answered Oct 05 '22 11:10

Sandro Munda


I fixed it by running this on the elisp:

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' {} \;` 
like image 33
ftzdomino Avatar answered Oct 05 '22 10:10

ftzdomino