summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lispref/control.texi27
-rw-r--r--lispref/debugging.texi12
-rw-r--r--lispref/elisp.texi48
3 files changed, 64 insertions, 23 deletions
diff --git a/lispref/control.texi b/lispref/control.texi
index c7367894919..1a5e7033c1c 100644
--- a/lispref/control.texi
+++ b/lispref/control.texi
@@ -878,23 +878,31 @@ After executing the body of the handler, the @code{condition-case}
returns normally, using the value of the last form in the handler body
as the overall value.
+@cindex error description
The argument @var{var} is a variable. @code{condition-case} does not
bind this variable when executing the @var{protected-form}, only when it
-handles an error. At that time, it binds @var{var} locally to a list of
-the form @code{(@var{error-symbol} . @var{data})}, giving the
-particulars of the error. The handler can refer to this list to decide
-what to do. For example, if the error is for failure opening a file,
-the file name is the second element of @var{data}---the third element of
-@var{var}.
+handles an error. At that time, it binds @var{var} locally to an
+@dfn{error description}, which is a list giving the particulars of the
+error. The error description has the form @code{(@var{error-symbol}
+. @var{data})}. The handler can refer to this list to decide what to
+do. For example, if the error is for failure opening a file, the file
+name is the second element of @var{data}---the third element of the
+error description.
If @var{var} is @code{nil}, that means no variable is bound. Then the
error symbol and associated data are not available to the handler.
@end defspec
+@defun error-message-string error-description
+This function returns the error message string for a given error
+descriptor. It is useful if you want to handle an error by printing the
+usual error message for that error.
+@end defun
+
@cindex @code{arith-error} example
Here is an example of using @code{condition-case} to handle the error
-that results from dividing by zero. The handler prints out a warning
-message and returns a very large number.
+that results from dividing by zero. The handler displays the error
+message (but without a beep), then returns a very large number.
@smallexample
@group
@@ -904,7 +912,8 @@ message and returns a very large number.
(/ dividend divisor)
;; @r{The handler.}
(arith-error ; @r{Condition.}
- (princ (format "Arithmetic error: %s" err))
+ ;; @r{Display the usual message for this error.}
+ (message "%s" (error-message-string err))
1000000)))
@result{} safe-divide
@end group
diff --git a/lispref/debugging.texi b/lispref/debugging.texi
index 6775323049d..b045d93b94e 100644
--- a/lispref/debugging.texi
+++ b/lispref/debugging.texi
@@ -95,6 +95,18 @@ happen in process filter functions and sentinels. Therefore, these
errors also can invoke the debugger. @xref{Processes}.
@end defopt
+@defopt debug-ignored-errors
+This variable specifies certain kinds of errors that should not enter
+the debugger. Its value is a list of error condition symbols and/or
+regular expressions. If the error has any of those condition symbols,
+or if the error message matches any of the regular expressions, then
+that error does not enter the debugger, regardless of the value of
+@code{debug-on-error}.
+
+The normal value of this variable lists several errors that happen often
+during editing but rarely result from bugs in Lisp programs.
+@end defopt
+
To debug an error that happens during loading of the @file{.emacs}
file, use the option @samp{-debug-init}, which binds
@code{debug-on-error} to @code{t} while @file{.emacs} is loaded and
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index 5ac4053d662..3ba29deb8d9 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -6,16 +6,16 @@
@c %**end of header
@ifinfo
-This version is the edition 2.4 of the GNU Emacs Lisp
-Reference Manual. It corresponds to Emacs Version 19.29.
+This version is the edition 2.4a of the GNU Emacs Lisp
+Reference Manual. It corresponds to Emacs Version 19.32.
@c Please REMEMBER to update edition number in *four* places in this file
@c and also in *one* place in intro.texi
Published by the Free Software Foundation
-675 Massachusetts Avenue
-Cambridge, MA 02139 USA
+59 Temple Place, Suite 330
+Boston, MA 02111-1307 USA
-Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -68,25 +68,25 @@ instead of in the original English.
@subtitle for Unix Users
@c The edition number appears in several places in this file
@c and also in the file intro.texi.
-@subtitle Revision 2.4, June 1995
+@subtitle Revision 2.4a, July 1996
@author by Bil Lewis, Dan LaLiberte, Richard Stallman
@author and the GNU Manual Group
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
@sp 2
-Edition 2.4 @*
-Revised for Emacs Version 19.29,@*
-June, 1995.@*
+Edition 2.4a @*
+Revised for Emacs Version 19.32,@*
+July 1996.@*
@sp 2
ISBN 1-882114-71-X
@sp 2
Published by the Free Software Foundation @*
-675 Massachusetts Avenue @*
-Cambridge, MA 02139 USA
+59 Temple Place, Suite 330@*
+Boston, MA 02111-1307 USA
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -112,8 +112,8 @@ Cover art by Etienne Suvasa.
@node Top, Copying, (dir), (dir)
@ifinfo
-This Info file contains edition 2.4 of the GNU Emacs Lisp
-Reference Manual, corresponding to GNU Emacs version 19.29.
+This Info file contains edition 2.4a of the GNU Emacs Lisp
+Reference Manual, corresponding to GNU Emacs version 19.32.
@end ifinfo
@menu
@@ -643,6 +643,7 @@ Windows
* Window Start:: The display-start position controls which text
is on-screen in the window.
* Vertical Scrolling:: Moving text up and down in the window.
+* Scrolling Hooks:: Hooks that run when you scroll a window.
* Horizontal Scrolling:: Moving text sideways on the window.
* Size of Window:: Accessing the size of a window.
* Resizing Windows:: Changing the size of a window.
@@ -720,9 +721,12 @@ Text
* Indentation:: Functions to insert or adjust indentation.
* Columns:: Computing horizontal positions, and using them.
* Case Changes:: Case conversion of parts of the buffer.
+* Text Properties:: Assigning Lisp property lists to text characters.
* Substitution:: Replacing a given character wherever it appears.
+* Transposition:: Swapping two portions of a buffer.
* Registers:: How registers are implemented. Accessing
the text or position stored in a register.
+* Change Hooks:: Supplying functions to be run when text is changed.
The Kill Ring
@@ -741,6 +745,22 @@ Indentation
* Indent Tabs:: Adjustable, typewriter-like tab stops.
* Motion by Indent:: Move to first non-blank character.
+Text Properties
+
+* Examining Properties:: Looking at the properties of one character.
+* Changing Properties:: Setting the properties of a range of text.
+* Property Search:: Searching for where a property changes value.
+* Special Properties:: Particular properties with special meanings.
+* Format Properties:: Properties for representing formatting of text.
+* Sticky Properties:: How inserted text gets properties from
+ neighboring text.
+* Saving Properties:: Saving text properties in files, and reading
+ them back.
+* Lazy Properties:: Computing text properties in a lazy fashion
+ only when text is examined.
+* Not Intervals:: Why text properties do not use
+ Lisp-visible text intervals.
+
Searching and Matching
* String Search:: Search for an exact match.