diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/lispref/compile.texi | 26 |
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 | |||
| 505 | Variables}. | 505 | Variables}. |
| 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 |
| 509 | expression using the construct @code{with-no-warnings}: | 509 | using the @code{with-suppressed-warnings} macro: |
| 510 | |||
| 511 | @defspec with-suppressed-warnings warnings body@dots{} | ||
| 512 | In execution, this is equivalent to @code{(progn @var{body}...)}, but | ||
| 513 | the compiler does not issue warnings for the specified conditions in | ||
| 514 | @var{body}. @var{warnings} is an associative list of warning symbols | ||
| 515 | and function/variable symbols they apply to. For instance, if you | ||
| 516 | wish to call an obsolete function called @code{foo}, but want to | ||
| 517 | suppress the compilation warning, say: | ||
| 518 | |||
| 519 | @lisp | ||
| 520 | (with-suppressed-warnings ((obsolete foo)) | ||
| 521 | (foo ...)) | ||
| 522 | @end lisp | ||
| 523 | @end defspec | ||
| 524 | |||
| 525 | For more coarse-grained suppression of compiler warnings, you can use | ||
| 526 | the @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}...)}, | |||
| 516 | but the compiler does not issue warnings for anything that occurs | 533 | but the compiler does not issue warnings for anything that occurs |
| 517 | inside @var{body}. | 534 | inside @var{body}. |
| 518 | 535 | ||
| 519 | We recommend that you use this construct around the smallest | 536 | We recommend that you use @code{with-suppressed-warnings} instead, but |
| 520 | possible piece of code, to avoid missing possible warnings other than | 537 | if you do use this construct, that you use it around the smallest |
| 538 | possible piece of code to avoid missing possible warnings other than | ||
| 521 | one you intend to suppress. | 539 | one you intend to suppress. |
| 522 | @end defspec | 540 | @end defspec |
| 523 | 541 | ||