Commit 38868ad7 authored by Glenn Morris's avatar Glenn Morris
Browse files

Document new error symbol and function user-error

* doc/lispref/control.texi (Signaling Errors):
* doc/lispref/debugging.texi (Error Debugging):
* doc/lispref/errors.texi (Standard Errors): Add user-error.

* etc/NEWS: Related markup.
parent 6efddf78
2012-11-11 Glenn Morris <rgm@gnu.org> 2012-11-11 Glenn Morris <rgm@gnu.org>
* control.texi (Signaling Errors):
* debugging.texi (Error Debugging):
* errors.texi (Standard Errors): Add user-error.
* variables.texi (Adding Generalized Variables): * variables.texi (Adding Generalized Variables):
Use standard formatting for common lisp note about setf functions. Use standard formatting for common lisp note about setf functions.
......
...@@ -824,6 +824,19 @@ The function @code{signal} never returns. ...@@ -824,6 +824,19 @@ The function @code{signal} never returns.
@end example @end example
@end defun @end defun
@cindex user errors, signaling
@defun user-error format-string &rest args
This function behaves exactly like @code{error}, except that it uses
the error symbol @code{user-error} rather than @code{error}. As the
name suggests, this is intended to report errors on the part of the
user, rather than errors in the code itself. For example,
if you try to use the command @code{Info-history-back} (@kbd{l}) to
move back beyond the start of your Info browsing history, Emacs
signals a @code{user-error}. Such errors do not cause entry to the
debugger, even when @code{debug-on-error} is non-@code{nil}.
@xref{Error Debugging}.
@end defun
@cindex CL note---no continuable errors @cindex CL note---no continuable errors
@quotation @quotation
@b{Common Lisp note:} Emacs Lisp has nothing like the Common Lisp @b{Common Lisp note:} Emacs Lisp has nothing like the Common Lisp
......
...@@ -117,12 +117,12 @@ has any of those condition symbols, or if the error message matches ...@@ -117,12 +117,12 @@ has any of those condition symbols, or if the error message matches
any of the regular expressions, then that error does not enter the any of the regular expressions, then that error does not enter the
debugger. debugger.
The normal value of this variable lists several errors that happen The normal value of this variable includes @code{user-error}, as well
often during editing but rarely result from bugs in Lisp programs. as several errors that happen often during editing but rarely result
However, ``rarely'' is not ``never''; if your program fails with an from bugs in Lisp programs. However, ``rarely'' is not ``never''; if
error that matches this list, you may try changing this list to debug your program fails with an error that matches this list, you may try
the error. The easiest way is usually to set changing this list to debug the error. The easiest way is usually to
@code{debug-ignored-errors} to @code{nil}. set @code{debug-ignored-errors} to @code{nil}.
@end defopt @end defopt
@defopt eval-expression-debug-on-error @defopt eval-expression-debug-on-error
......
...@@ -172,6 +172,9 @@ The message is @samp{Text is read-only}. This is a subcategory of ...@@ -172,6 +172,9 @@ The message is @samp{Text is read-only}. This is a subcategory of
@item undefined-color @item undefined-color
The message is @samp{Undefined color}. @xref{Color Names}. The message is @samp{Undefined color}. @xref{Color Names}.
@item user-error
The message is the empty string. @xref{Signaling Errors}.
@item void-function @item void-function
The message is @samp{Symbol's function definition is void}. The message is @samp{Symbol's function definition is void}.
@xref{Function Cells}. @xref{Function Cells}.
......
...@@ -800,6 +800,7 @@ table, but with a different prefix. ...@@ -800,6 +800,7 @@ table, but with a different prefix.
** Debugger changes ** Debugger changes
+++
*** New error type and new function `user-error'. *** New error type and new function `user-error'.
These do not trigger the debugger. These do not trigger the debugger.
......
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