• Lars Ingebrigtsen's avatar
    Add the new macro with-suppressed-warnings · f2071b6d
    Lars Ingebrigtsen authored
    * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.
    
    * doc/lispref/compile.texi (Compiler Errors): Document
    with-suppressed-warnings and deemphasise with-no-warnings
    slightly.
    
    * lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
    New internal variable.
    (byte-compile-warning-enabled-p): Heed
    byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
    (byte-compile-initial-macro-environment): Provide a macro
    expansion of with-suppressed-warnings.
    (byte-compile-file-form-with-suppressed-warnings): New byte hunk
    handler for the suppressed symbol machinery.
    (byte-compile-suppressed-warnings): Ditto for the byteop.
    (byte-compile-file-form-defmumble): Ditto.
    (byte-compile-form, byte-compile-normal-call)
    (byte-compile-normal-call, byte-compile-variable-ref)
    (byte-compile-set-default, byte-compile-variable-set)
    (byte-compile-function-form, byte-compile-set-default)
    (byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
    symbol being warned in to byte-compile-warning-enabled-p.
    
    * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
    function.
    (bytecomp-test--with-suppressed-warnings): Tests.
    f2071b6d
bytecomp.el 215 KB