Next: Standard Keymaps, Previous: GNU Emacs Internals, Up: Top [Contents][Index]

## Appendix F Standard Errors

Here is a list of the more important error symbols in standard Emacs, grouped by concept. The list includes each symbol’s message and a cross reference to a description of how the error can occur.

Each error symbol has an set of parent error conditions that is a list of symbols. Normally this list includes the error symbol itself and the symbol `error`. Occasionally it includes additional symbols, which are intermediate classifications, narrower than `error` but broader than a single error symbol. For example, all the errors in accessing files have the condition `file-error`. If we do not say here that a certain error symbol has additional error conditions, that means it has none.

As a special exception, the error symbol `quit` does not have the condition `error`, because quitting is not considered an error.

Most of these error symbols are defined in C (mainly `data.c`), but some are defined in Lisp. For example, the file `userlock.el` defines the `file-locked` and `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.

See Errors, for an explanation of how errors are generated and handled.

`error`

  The message is ‘`error`’. See Errors.

`quit`

  The message is ‘`Quit`’. See Quitting.

`args-out-of-range`

  The message is ‘`Args out of range`’. This happens when trying to access an element beyond the range of a sequence, buffer, or other container-like object. See Sequences Arrays Vectors, and See Text.

`arith-error`

  The message is ‘`Arithmetic error`’. This occurs when trying to perform integer division by zero. See Numeric Conversions, and See Arithmetic Operations.

`beginning-of-buffer`

  The message is ‘`Beginning of buffer`’. See Character Motion.

`buffer-read-only`

  The message is ‘`Buffer is read-only`’. See Read Only Buffers.

`circular-list`

  The message is ‘`List contains a loop`’. This happens when a circular structure is encountered. See Circular Objects.

`cl-assertion-failed`

  The message is ‘`Assertion failed`’. This happens when the `cl-assert` macro fails a test. See Assertions in Common Lisp Extensions.

`coding-system-error`

  The message is ‘`Invalid coding system`’. See Lisp and Coding Systems.

`cyclic-function-indirection`

  The message is ‘`Symbol's chain of function indirections contains a loop`’. See Function Indirection.

`cyclic-variable-indirection`

  The message is ‘`Symbol's chain of variable indirections contains a loop`’. See Variable Aliases.

`dbus-error`

  The message is ‘`D-Bus error`’. This is only defined if Emacs was compiled with D-Bus support. See Errors and Events in D-Bus integration in Emacs.

`end-of-buffer`

  The message is ‘`End of buffer`’. See Character Motion.

`end-of-file`

  The message is ‘`End of file during parsing`’. Note that this is not a subcategory of `file-error`, because it pertains to the Lisp reader, not to file I/O. See Input Functions.

`file-already-exists`

  This is a subcategory of `file-error`. See Writing to Files.

`file-date-error`

  This is a subcategory of `file-error`. It occurs when `copy-file` tries and fails to set the last-modification time of the output file. See Changing Files.

`file-error`

  We do not list the error-strings of this error and its subcategories, because the error message is normally constructed from the data items alone when the error condition `file-error` is present. Thus, the error-strings are not very relevant. However, these error symbols do have `error-message` properties, and if no data is provided, the `error-message` property is used. See Files.

`compression-error`

  This is a subcategory of `file-error`, which results from problems handling a compressed file. See How Programs Do Loading.

`file-locked`

  This is a subcategory of `file-error`. See File Locks.

`file-supersession`

  This is a subcategory of `file-error`. See Modification Time.

`file-notify-error`

  This is a subcategory of `file-error`. It happens, when a file could not be watched for changes. See File Notifications.

`ftp-error`

  This is a subcategory of `file-error`, which results from problems in accessing a remote file using ftp. See Remote Files in The GNU Emacs Manual.

`invalid-function`

  The message is ‘`Invalid function`’. See Function Indirection.

`invalid-read-syntax`

  The message is ‘`Invalid read syntax`’. See Printed Representation.

`invalid-regexp`

  The message is ‘`Invalid regexp`’. See Regular Expressions.

`mark-inactive`

  The message is ‘`The mark is not active now`’. See The Mark.

`no-catch`

  The message is ‘`No catch for tag`’. See Catch and Throw.

`scan-error`

  The message is ‘`Scan error`’. This happens when certain syntax-parsing functions find invalid syntax or mismatched parentheses. Conventionally raised with three argument: a human-readable error message, the start of the obstacle that cannot be moved over, and the end of the obstacle. See List Motion, and See Parsing Expressions.

`search-failed`

  The message is ‘`Search failed`’. See Searching and Matching.

`setting-constant`

  The message is ‘`Attempt to set a constant symbol`’. This happens when attempting to assign values to `nil`, `t`, and keyword symbols. See Constant Variables.

`text-read-only`

  The message is ‘`Text is read-only`’. This is a subcategory of `buffer-read-only`. See Special Properties.

`undefined-color`

  The message is ‘`Undefined color`’. See Color Names.

`user-error`

  The message is the empty string. See Signaling Errors.

`void-function`

  The message is ‘`Symbol's function definition is void`’. See Function Cells.

`void-variable`

  The message is ‘`Symbol's value as variable is void`’. See Accessing Variables.

`wrong-number-of-arguments`

  The message is ‘`Wrong number of arguments`’. See Classifying Lists.

`wrong-type-argument`

  The message is ‘`Wrong type argument`’. See Type Predicates.

Next: Standard Keymaps, Previous: GNU Emacs Internals, Up: Top [Contents][Index]