comparison doc/lispref/text.texi @ 109689:ffde65bb1dd2

merge emacs-23
author Kenichi Handa <handa@etlken>
date Tue, 27 Jul 2010 16:01:48 +0900
parents 5cddb2bed887
children bcc7c00e9ef4 d6320bd900cd
comparison
equal deleted inserted replaced
108493:e5f3704cf67a 109689:ffde65bb1dd2
1 @c -*-texinfo-*- 1 @c -*-texinfo-*-
2 @c This is part of the GNU Emacs Lisp Reference Manual. 2 @c This is part of the GNU Emacs Lisp Reference Manual.
3 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 3 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
4 @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4 @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5 @c Free Software Foundation, Inc.
5 @c See the file elisp.texi for copying conditions. 6 @c See the file elisp.texi for copying conditions.
6 @setfilename ../../info/text 7 @setfilename ../../info/text
7 @node Text, Non-ASCII Characters, Markers, Top 8 @node Text, Non-ASCII Characters, Markers, Top
8 @chapter Text 9 @chapter Text
9 @cindex text 10 @cindex text
40 * Deletion:: Removing text from a buffer. 41 * Deletion:: Removing text from a buffer.
41 * User-Level Deletion:: User-level commands to delete text. 42 * User-Level Deletion:: User-level commands to delete text.
42 * The Kill Ring:: Where removed text sometimes is saved for later use. 43 * The Kill Ring:: Where removed text sometimes is saved for later use.
43 * Undo:: Undoing changes to the text of a buffer. 44 * Undo:: Undoing changes to the text of a buffer.
44 * Maintaining Undo:: How to enable and disable undo information. 45 * Maintaining Undo:: How to enable and disable undo information.
45 How to control how much information is kept. 46 How to control how much information is kept.
46 * Filling:: Functions for explicit filling. 47 * Filling:: Functions for explicit filling.
47 * Margins:: How to specify margins for filling commands. 48 * Margins:: How to specify margins for filling commands.
48 * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context. 49 * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context.
49 * Auto Filling:: How auto-fill mode is implemented to break lines. 50 * Auto Filling:: How auto-fill mode is implemented to break lines.
50 * Sorting:: Functions for sorting parts of the buffer. 51 * Sorting:: Functions for sorting parts of the buffer.
819 @menu 820 @menu
820 * Kill Ring Concepts:: What text looks like in the kill ring. 821 * Kill Ring Concepts:: What text looks like in the kill ring.
821 * Kill Functions:: Functions that kill text. 822 * Kill Functions:: Functions that kill text.
822 * Yanking:: How yanking is done. 823 * Yanking:: How yanking is done.
823 * Yank Commands:: Commands that access the kill ring. 824 * Yank Commands:: Commands that access the kill ring.
824 * Low-Level Kill Ring:: Functions and variables for kill ring access. 825 * Low-Level Kill Ring:: Functions and variables for kill ring access.
825 * Internals of Kill Ring:: Variables that hold kill ring data. 826 * Internals of Kill Ring:: Variables that hold kill ring data.
826 @end menu 827 @end menu
827 828
828 @node Kill Ring Concepts 829 @node Kill Ring Concepts
829 @comment node-name, next, previous, up 830 @comment node-name, next, previous, up
1296 @defun undo-boundary 1297 @defun undo-boundary
1297 This function places a boundary element in the undo list. The undo 1298 This function places a boundary element in the undo list. The undo
1298 command stops at such a boundary, and successive undo commands undo 1299 command stops at such a boundary, and successive undo commands undo
1299 to earlier and earlier boundaries. This function returns @code{nil}. 1300 to earlier and earlier boundaries. This function returns @code{nil}.
1300 1301
1301 The editor command loop automatically creates an undo boundary before 1302 The editor command loop automatically calls @code{undo-boundary} just
1302 each key sequence is executed. Thus, each undo normally undoes the 1303 before executing each key sequence, so that each undo normally undoes
1303 effects of one command. Self-inserting input characters are an 1304 the effects of one command. As an exception, the command
1304 exception. The command loop makes a boundary for the first such 1305 @code{self-insert-command}, which produces self-inserting input
1305 character; the next 19 consecutive self-inserting input characters do 1306 characters (@pxref{Commands for Insertion}), may remove the boundary
1306 not make boundaries, and then the 20th does, and so on as long as 1307 inserted by the command loop: a boundary is accepted for the first
1307 self-inserting characters continue. 1308 such character, the next 19 consecutive self-inserting input
1309 characters do not have boundaries, and then the 20th does; and so on
1310 as long as the self-inserting characters continue. Hence, sequences
1311 of consecutive character insertions can be undone as a group.
1308 1312
1309 All buffer modifications add a boundary whenever the previous undoable 1313 All buffer modifications add a boundary whenever the previous undoable
1310 change was made in some other buffer. This is to ensure that 1314 change was made in some other buffer. This is to ensure that
1311 each command makes a boundary in each buffer where it makes changes. 1315 each command makes a boundary in each buffer where it makes changes.
1312 1316
2591 along with the characters; this includes such diverse functions as 2595 along with the characters; this includes such diverse functions as
2592 @code{substring}, @code{insert}, and @code{buffer-substring}. 2596 @code{substring}, @code{insert}, and @code{buffer-substring}.
2593 2597
2594 @menu 2598 @menu
2595 * Examining Properties:: Looking at the properties of one character. 2599 * Examining Properties:: Looking at the properties of one character.
2596 * Changing Properties:: Setting the properties of a range of text. 2600 * Changing Properties:: Setting the properties of a range of text.
2597 * Property Search:: Searching for where a property changes value. 2601 * Property Search:: Searching for where a property changes value.
2598 * Special Properties:: Particular properties with special meanings. 2602 * Special Properties:: Particular properties with special meanings.
2599 * Format Properties:: Properties for representing formatting of text. 2603 * Format Properties:: Properties for representing formatting of text.
2600 * Sticky Properties:: How inserted text gets properties from 2604 * Sticky Properties:: How inserted text gets properties from
2601 neighboring text. 2605 neighboring text.
2602 * Lazy Properties:: Computing text properties in a lazy fashion 2606 * Lazy Properties:: Computing text properties in a lazy fashion
2603 only when text is examined. 2607 only when text is examined.
2604 * Clickable Text:: Using text properties to make regions of text 2608 * Clickable Text:: Using text properties to make regions of text
2605 do something when you click on them. 2609 do something when you click on them.
2606 * Fields:: The @code{field} property defines 2610 * Fields:: The @code{field} property defines
2607 fields within the buffer. 2611 fields within the buffer.
2608 * Not Intervals:: Why text properties do not use 2612 * Not Intervals:: Why text properties do not use
2609 Lisp-visible text intervals. 2613 Lisp-visible text intervals.
2610 @end menu 2614 @end menu
2611 2615
2612 @node Examining Properties 2616 @node Examining Properties
2613 @subsection Examining Text Properties 2617 @subsection Examining Text Properties
2614 2618
3029 @kindex font-lock-face @r{(text property)} 3033 @kindex font-lock-face @r{(text property)}
3030 The @code{font-lock-face} property is equivalent to the @code{face} 3034 The @code{font-lock-face} property is equivalent to the @code{face}
3031 property when Font Lock mode is enabled. When Font Lock mode is disabled, 3035 property when Font Lock mode is enabled. When Font Lock mode is disabled,
3032 @code{font-lock-face} has no effect. 3036 @code{font-lock-face} has no effect.
3033 3037
3034 The @code{font-lock-mode} property is useful for special modes that 3038 The @code{font-lock-face} property is useful for special modes that
3035 implement their own highlighting. @xref{Precalculated Fontification}. 3039 implement their own highlighting. @xref{Precalculated Fontification}.
3036 3040
3037 @item mouse-face 3041 @item mouse-face
3038 @kindex mouse-face @r{(text property)} 3042 @kindex mouse-face @r{(text property)}
3039 The property @code{mouse-face} is used instead of @code{face} when the 3043 The property @code{mouse-face} is used instead of @code{face} when the