@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004,
-@c 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/errors
-@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
+@node Standard Errors
@appendix Standard Errors
@cindex standard errors
- Here is the complete list of the error symbols in standard Emacs,
+ Here is a list of the more important error symbols in standard Emacs,
grouped by concept. The list includes each symbol's message (on the
@code{error-message} property of the symbol) and a cross reference to a
description of how the error can occur.
As a special exception, the error symbol @code{quit} does not have the
condition @code{error}, because quitting is not considered an error.
+@c You can grep for "(put 'foo 'error-conditions ...) to find
+@c examples defined in Lisp. Eg soap-client.el, sasl.el.
+ Most of these error symbols are defined in C (mainly @file{data.c}),
+but some are defined in Lisp. For example, the file @file{userlock.el}
+defines the @code{file-locked} and @code{file-supersession} errors.
+Several of the specialized Lisp libraries distributed with Emacs
+define their own error symbols. We do not attempt to list of all
+those here.
+
@xref{Errors}, for an explanation of how errors are generated and
handled.
@table @code
-@item @var{symbol}
-@var{string}; @var{reference}.
-
@item error
@code{"error"}@*
@xref{Errors}.
@code{"Buffer is read-only"}@*
@xref{Read Only Buffers}.
+@item circular-list
+@code{"List contains a loop"}@*
+This happens when some operations (e.g. resolving face names)
+encounter circular structures.@*
+@xref{Circular Objects}.
+
+@item cl-assertion-failed
+@code{"Assertion failed"}@*
+This happens when the @code{assert} macro fails a test.@*
+@xref{Assertions,,, cl, Common Lisp Extensions}.
+
@item coding-system-error
@code{"Invalid coding system"}@*
@xref{Lisp and Coding Systems}.
@code{"Symbol's chain of variable indirections contains a loop"}@*
@xref{Variable Aliases}.
+@item dbus-error
+@code{"D-Bus error"}@*
+This is only defined if Emacs was compiled with D-Bus support.@*
+@xref{Errors and Events,,, dbus, D-Bus integration in Emacs}.
+
@item end-of-buffer
@code{"End of buffer"}@*
@xref{Character Motion}.
the @code{error-message} property @emph{is} used.@*
@xref{Files}.
+@c jka-compr.el
+@item compression-error
+This is a subcategory of @code{file-error}, which results from
+problems handling a compressed file.@*
+@xref{How Programs Do Loading}.
+
+@c userlock.el
@item file-locked
This is a subcategory of @code{file-error}.@*
@xref{File Locks}.
+@c userlock.el
@item file-supersession
This is a subcategory of @code{file-error}.@*
@xref{Modification Time}.
+@c net/ange-ftp.el
@item ftp-error
This is a subcategory of @code{file-error}, which results from problems
in accessing a remote file using ftp.@*
@code{"Invalid regexp"}@*
@xref{Regular Expressions}.
+@c simple.el
@item mark-inactive
@code{"The mark is not active now"}@*
@xref{The Mark}.
@code{"No catch for tag"}@*
@xref{Catch and Throw}.
+@ignore
+@c Not actually used for anything? Probably definition should be removed.
+@item protected-field
+@code{"Attempt to modify a protected field"}
+@end ignore
+
@item scan-error
@code{"Scan error"}@*
This happens when certain syntax-parsing functions
may not be changed.@*
@xref{Constant Variables, , Variables that Never Change}.
+@c simple.el
@item text-read-only
@code{"Text is read-only"}@*
This is a subcategory of @code{buffer-read-only}.@*
@xref{Type Predicates}.
@end table
- These kinds of error, which are classified as special cases of
+ The following kinds of error, which are classified as special cases of
@code{arith-error}, can occur on certain systems for invalid use of
-mathematical functions.
+mathematical functions. @xref{Math Functions}.
@table @code
@item domain-error
-@code{"Arithmetic domain error"}@*
-@xref{Math Functions}.
+@code{"Arithmetic domain error"}
@item overflow-error
@code{"Arithmetic overflow error"}@*
-This is a subcategory of @code{domain-error}.@*
-@xref{Math Functions}.
+This is a subcategory of @code{domain-error}.
@item range-error
-@code{"Arithmetic range error"}@*
-@xref{Math Functions}.
+@code{"Arithmetic range error"}
@item singularity-error
@code{"Arithmetic singularity error"}@*
-This is a subcategory of @code{domain-error}.@*
-@xref{Math Functions}.
+This is a subcategory of @code{domain-error}.
@item underflow-error
@code{"Arithmetic underflow error"}@*
-This is a subcategory of @code{domain-error}.@*
-@xref{Math Functions}.
+This is a subcategory of @code{domain-error}.
@end table