aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/compile.texi26
1 files changed, 22 insertions, 4 deletions
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index d9db55e22cd..4ff0e1c91e4 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -505,8 +505,25 @@ current lexical scope, or file if at top-level.) @xref{Defining
505Variables}. 505Variables}.
506@end itemize 506@end itemize
507 507
508 You can also suppress any and all compiler warnings within a certain 508 You can also suppress compiler warnings within a certain expression
509expression using the construct @code{with-no-warnings}: 509using the @code{with-suppressed-warnings} macro:
510
511@defspec with-suppressed-warnings warnings body@dots{}
512In execution, this is equivalent to @code{(progn @var{body}...)}, but
513the compiler does not issue warnings for the specified conditions in
514@var{body}. @var{warnings} is an associative list of warning symbols
515and function/variable symbols they apply to. For instance, if you
516wish to call an obsolete function called @code{foo}, but want to
517suppress the compilation warning, say:
518
519@lisp
520(with-suppressed-warnings ((obsolete foo))
521 (foo ...))
522@end lisp
523@end defspec
524
525For more coarse-grained suppression of compiler warnings, you can use
526the @code{with-no-warnings} construct:
510 527
511@c This is implemented with a defun, but conceptually it is 528@c This is implemented with a defun, but conceptually it is
512@c a special form. 529@c a special form.
@@ -516,8 +533,9 @@ In execution, this is equivalent to @code{(progn @var{body}...)},
516but the compiler does not issue warnings for anything that occurs 533but the compiler does not issue warnings for anything that occurs
517inside @var{body}. 534inside @var{body}.
518 535
519We recommend that you use this construct around the smallest 536We recommend that you use @code{with-suppressed-warnings} instead, but
520possible piece of code, to avoid missing possible warnings other than 537if you do use this construct, that you use it around the smallest
538possible piece of code to avoid missing possible warnings other than
521one you intend to suppress. 539one you intend to suppress.
522@end defspec 540@end defspec
523 541