¿Cómo oculto las advertencias de "variables obsoletas" de Emacs?

Resuelto a paid nerd asked hace 13 años • 4 respuestas

Actualicé a Emacs 23.3 y ahora el *Compile-Log*búfer se abre constantemente con errores como:

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

Supongo que los autores originales se encargarán de estas advertencias en el futuro. Hasta entonces, ¿cómo puedo evitar que aparezcan estos errores y se abra una nueva ventana?

a paid nerd avatar Mar 29 '11 13:03 a paid nerd
Aceptado

Actualmente estoy de vuelta en 23.2 debido a otro problema, pero encontré una solución alternativa para este problema mientras probaba 23.3. Simplemente evita que la variable se considere obsoleta, pero hasta que Mumamo se resuelva, ¡eso parecía preferible!

;; 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)))
phils avatar Mar 29 '2011 09:03 phils

Hay cuatro niveles de opciones para las advertencias:

  • nivel-mínimo-de-advertencia
  • nivel-de-registro-mínimo-de-advertencia
  • tipos de supresión de advertencias
  • advertencia-suprimir-tipos-de-registro

Hay más información en el Manual de Emacs .

Sandro Munda avatar Mar 29 '2011 07:03 Sandro Munda

Lo arreglé ejecutando esto en el 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' {} \;` 
ftzdomino avatar Oct 22 '2012 20:10 ftzdomino