view lispref/errors.texi @ 18260:a642c99198ec

(PTR_TO_OFFSET): New macro. (POS_AS_IN_BUFFER): New macro. (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' text property into account when doing SYNTAX (c). (re_compile_fastmap): disable fastmap if any of wordbound notwordbound wordbeg wordend notsyntaxspec syntaxspec are seen. (re_search_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. (re_match_object): New variable. (re_match_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. (re_match_2_internal): For any of wordbound notwordbound wordbeg wordend notsyntaxspec syntaxspec call UPDATE_SYNTAX_TABLE before doing SYNTAX (c). [emacs]: Include charset.h and category.h [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P, SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH, STRING_CHAR_AND_LENGTH, GET_CHAR_AFTER_2, GET_CHAR_BEFORE_2): New dummy macros. (enum re_opcode_t): New member categoryspec and notcategoryspec. (STORE_CHARACTER_AND_INCR, EXTRACT_CHARACTER, CHARSET_LOOKUP_RANGE_TABLE_WITH_COUNT, CHARSET_LOOKUP_RANGE_TABLE, CHARSET_BITMAP_SIZE, CHARSET_RANGE_TABLE_EXISTS_P, CHARSET_RANGE_TABLE CHARSET_PAST_RANGE_TABLE): New macros. (TRANSLATE): Cast return value to unsigned char, not char. (struct range_table_work_area): New structure. (EXTEND_RANGE_TABLE_WORK_AREA, SET_RANGE_TABLE_WORK_AREA, FREE_RANGE_TABLE_WORK_AREA, CLEAR_RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_ELT): New macros. (FREE_STACK_RETURN): Call FREE_RANGE_TABLE_WORK_AREA. (regex_compile): Declare `c' and `c1' as int to store multibyte characters. Declare range_table_work and initialize it. Initialize bufp->multibyte to 0 if not emacs. For case '[' and `default', code re-written to handle multibyte characters. Add code for case 'c' and 'C' to handle category spec. (re_compile_fastmap): New local variables k, simple_char_max, and match_any_multibyte_characters. Use macro CHARSET_BITMAP_SIZE. Handle multibyte characters in cases charset, charset_not, wordchar, notwordchar, anychar, syntaxspec, notsyntaxspec, categoryspec, notcategoryspec. (STOP_ADDR_VSTRING, POS_ADDR_VSTRING): New macros. (re_search_2): Code re-written to handle multibyte characters. (AT_WORD_BOUNDARY): Macro disabled. (re_match_2_internal): New local variable multibyte. `d' is incremented while paying attention to multibyte characters if necessary. For case charset, charsetnot, wordbound, notwordbound, wordbeg, wordend, matchsyntax, and matchnotsyntax, code re-written to handle multibyte characters. Add code for case categoryspec and notcategoryspec. Declare c, c1 as unsigned int, not unsigned char.
author Richard M. Stallman <rms@gnu.org>
date Sun, 15 Jun 1997 19:00:12 +0000
parents 981e116b4ac6
children 66d807bdc5b4
line wrap: on
line source

@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993 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
@appendix Standard Errors

  Here is the complete list of the 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.

  Each error symbol has an @code{error-conditions} property that is a
list of symbols.  Normally this list includes the error symbol itself
and the symbol @code{error}.  Occasionally it includes additional
symbols, which are intermediate classifications, narrower than
@code{error} but broader than a single error symbol.  For example, all
the errors in accessing files have the condition @code{file-error}.

  As a special exception, the error symbol @code{quit} does not have the
condition @code{error}, because quitting is not considered an error.

  @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}.

@item quit
@code{"Quit"}@*
@xref{Quitting}.

@item args-out-of-range
@code{"Args out of range"}@*
@xref{Sequences Arrays Vectors}.

@item arith-error
@code{"Arithmetic error"}@*
See @code{/} and @code{%} in @ref{Numbers}.

@item beginning-of-buffer
@code{"Beginning of buffer"}@*
@xref{Motion}.

@item buffer-read-only
@code{"Buffer is read-only"}@*
@xref{Read Only Buffers}.

@item cyclic-function-indirection
@code{"Symbol's chain of function indirections contains a@*
loop"}@*
@xref{Function Indirection}.

@item end-of-buffer
@code{"End of buffer"}@*
@xref{Motion}.

@item end-of-file
@code{"End of file during parsing"}@*
This is not a @code{file-error}.@*
@xref{Input Functions}.

@item file-error
This error and its subcategories do not have error-strings, because the
error message is constructed from the data items alone when the error
condition @code{file-error} is present.@*
@xref{Files}.

@item file-locked     
This is a @code{file-error}.@*
@xref{File Locks}.

@item file-already-exists
This is a @code{file-error}.@*
@xref{Writing to Files}.

@item file-supersession
This is a @code{file-error}.@*
@xref{Modification Time}.

@item invalid-function
@code{"Invalid function"}@*
@xref{Classifying Lists}.

@item invalid-read-syntax
@code{"Invalid read syntax"}@*
@xref{Input Functions}.

@item invalid-regexp
@code{"Invalid regexp"}@*
@xref{Regular Expressions}.

@item no-catch
@code{"No catch for tag"}@*
@xref{Catch and Throw}.

@item search-failed
@code{"Search failed"}@*
@xref{Searching and Matching}.

@item setting-constant
@code{"Attempt to set a constant symbol"}@* 
The values of the symbols @code{nil} and @code{t}
may not be changed.@*
@xref{Constant Variables, , Variables that Never Change}.

@item undefined-color
@code{"Undefined color"}@*
@xref{Color Names}.

@item void-function
@code{"Symbol's function definition is void"}@*
@xref{Function Cells}.

@item void-variable
@code{"Symbol's value as variable is void"}@*
@xref{Accessing Variables}.

@item wrong-number-of-arguments
@code{"Wrong number of arguments"}@*
@xref{Classifying Lists}.

@item wrong-type-argument
@code{"Wrong type argument"}@*
@xref{Type Predicates}.
@end table

  These error types, which are all classified as special cases of
@code{arith-error}, can occur on certain systems for invalid use of
mathematical functions.

@table @code
@item domain-error
@code{"Arithmetic domain error"}@*
@xref{Math Functions}.

@item overflow-error
@code{"Arithmetic overflow error"}@*
@xref{Math Functions}.

@item range-error
@code{"Arithmetic range error"}@*
@xref{Math Functions}.

@item singularity-error
@code{"Arithmetic singularity error"}@*
@xref{Math Functions}.

@item underflow-error
@code{"Arithmetic underflow error"}@*
@xref{Math Functions}.
@end table