Commit 866c1d22 authored by Glenn Morris's avatar Glenn Morris
Browse files

Document yet more things that were never added to NEWS

* doc/lispref/control.texi (Handling Errors):
Mention condition-case-no-debug and with-demoted-errors.
* etc/NEWS: Related edits.
parent 62106554
2012-02-06 Glenn Morris <>
* control.texi (Handling Errors):
Mention condition-case-no-debug and with-demoted-errors.
2012-02-05 Chong Yidong <>
* customize.texi (Common Keywords): Minor clarifications.
......@@ -891,9 +891,8 @@ establishing an error handler, with the special form
This deletes the file named @var{filename}, catching any error and
returning @code{nil} if an error occurs@footnote{
Actually, you should use @code{ignore-errors} in such a simple case;
see below.}.
returning @code{nil} if an error occurs. (You can use the macro
@code{ignore-errors} for a simple case like this; see below.)
The @code{condition-case} construct is often used to trap errors that
are predictable, such as failure to open a file in a call to
......@@ -949,6 +948,13 @@ The effect of @code{debug} here is only to prevent
given error will invoke the debugger only if @code{debug-on-error} and
the other usual filtering mechanisms say it should. @xref{Error Debugging}.
@defmac condition-case-no-debug var protected-form handlers@dots{}
The macro @code{condition-case-no-debug} provides another way to
handle debugging of such forms. It behaves exactly like
@code{condition-case}, unless the variable @code{debug-on-error} is
non-@code{nil}, in which case it does not handle any errors at all.
@end defmac
Once Emacs decides that a certain handler handles the error, it
returns control to that handler. To do so, Emacs unbinds all variable
bindings made by binding constructs that are being exited, and
......@@ -1122,6 +1128,13 @@ Here's the example at the beginning of this subsection rewritten using
@end smallexample
@end defmac
@defmac with-demoted-errors body@dots{}
This macro is like a milder version of @code{ignore-errors}. Rather
than suppressing errors altogether, it converts them into messages.
Use this form around code that is not expected to signal errors,
but should be robust if one does occur. Note that this macro
uses @code{condition-case-no-debug} rather than @code{condition-case}.
@end defmac
@node Error Symbols
@subsubsection Error Symbols and Condition Names
......@@ -1244,7 +1244,9 @@ set of "wrapping" filters, similar to around advice.
(A version of this macro was actually added in Emacs 23.2 but was not
advertised at the time.)
** Macro `with-demoted-errors' was added in Emacs 23.1 but not advertised.
** The macros `condition-case-no-debug' and `with-demoted-errors' were
added in Emacs 23.1, but not advertised.
** The new function `server-eval-at' allows evaluation of Lisp forms on
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment