# HG changeset patch # User Karl Heuer # Date 837579244 0 # Node ID bf32c17c153b98854260f16d58a4a2bfdb73f9fa # Parent 45f40424c2d782b6947dac7b1182ed673d6f5452 Changes for Emacs 19.32. diff -r 45f40424c2d7 -r bf32c17c153b lispref/control.texi --- a/lispref/control.texi Tue Jul 16 23:29:39 1996 +0000 +++ b/lispref/control.texi Wed Jul 17 04:54:04 1996 +0000 @@ -878,23 +878,31 @@ 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 @@ (/ 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 -r 45f40424c2d7 -r bf32c17c153b lispref/debugging.texi --- a/lispref/debugging.texi Tue Jul 16 23:29:39 1996 +0000 +++ b/lispref/debugging.texi Wed Jul 17 04:54:04 1996 +0000 @@ -95,6 +95,18 @@ 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 -r 45f40424c2d7 -r bf32c17c153b lispref/elisp.texi --- a/lispref/elisp.texi Tue Jul 16 23:29:39 1996 +0000 +++ b/lispref/elisp.texi Wed Jul 17 04:54:04 1996 +0000 @@ -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 @@ @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 @@ @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 @@ * 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 @@ * 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 @@ * 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.