comparison lispref/text.texi @ 67769:20a39d204662

(Undo): Restore some explanation from the version that was deleted.
author Richard M. Stallman <rms@gnu.org>
date Fri, 23 Dec 2005 16:46:59 +0000
parents 880ba311db53
children 58a64605ff5a
comparison
equal deleted inserted replaced
67768:edd5b99fd103 67769:20a39d204662
468 is the most frequently called function in Emacs, but programs rarely use 468 is the most frequently called function in Emacs, but programs rarely use
469 it except to install it on a keymap. 469 it except to install it on a keymap.
470 470
471 In an interactive call, @var{count} is the numeric prefix argument. 471 In an interactive call, @var{count} is the numeric prefix argument.
472 472
473 Self-insertion translates the input character through
474 @code{translation-table-for-input}. @xref{Translation of Characters}.
475
473 This command calls @code{auto-fill-function} whenever that is 476 This command calls @code{auto-fill-function} whenever that is
474 non-@code{nil} and the character inserted is in the table 477 non-@code{nil} and the character inserted is in the table
475 @code{auto-fill-chars} (@pxref{Auto Filling}). 478 @code{auto-fill-chars} (@pxref{Auto Filling}).
476 479
477 @c Cross refs reworded to prevent overfull hbox. --rjc 15mar92 480 @c Cross refs reworded to prevent overfull hbox. --rjc 15mar92
478 This command performs abbrev expansion if Abbrev mode is enabled and 481 This command performs abbrev expansion if Abbrev mode is enabled and
479 the inserted character does not have word-constituent 482 the inserted character does not have word-constituent
480 syntax. (@xref{Abbrevs}, and @ref{Syntax Class Table}.) 483 syntax. (@xref{Abbrevs}, and @ref{Syntax Class Table}.) It is also
481 484 responsible for calling @code{blink-paren-function} when the inserted
482 This is also responsible for calling @code{blink-paren-function} when 485 character has close parenthesis syntax (@pxref{Blinking}).
483 the inserted character has close parenthesis syntax (@pxref{Blinking}).
484 486
485 Do not try substituting your own definition of 487 Do not try substituting your own definition of
486 @code{self-insert-command} for the standard one. The editor command 488 @code{self-insert-command} for the standard one. The editor command
487 loop handles this function specially. 489 loop handles this function specially.
488 @end deffn 490 @end deffn
1254 @item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args}) 1256 @item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args})
1255 This is an extensible undo item, which records a change limited to the 1257 This is an extensible undo item, which records a change limited to the
1256 range @var{beg} to @var{end}, which increased the size of the buffer 1258 range @var{beg} to @var{end}, which increased the size of the buffer
1257 by @var{delta}. It is undone by calling @var{funname} with arguments 1259 by @var{delta}. It is undone by calling @var{funname} with arguments
1258 @var{args}. 1260 @var{args}.
1261
1262 This kind of element enables undo limited to a region to determine
1263 whether the element pertains to that region.
1259 1264
1260 @item nil 1265 @item nil
1261 This element is a boundary. The elements between two boundaries are 1266 This element is a boundary. The elements between two boundaries are
1262 called a @dfn{change group}; normally, each change group corresponds to 1267 called a @dfn{change group}; normally, each change group corresponds to
1263 one keyboard command, and undo commands normally undo an entire group as 1268 one keyboard command, and undo commands normally undo an entire group as
1791 The sorting functions described in this section all rearrange text in 1796 The sorting functions described in this section all rearrange text in
1792 a buffer. This is in contrast to the function @code{sort}, which 1797 a buffer. This is in contrast to the function @code{sort}, which
1793 rearranges the order of the elements of a list (@pxref{Rearrangement}). 1798 rearranges the order of the elements of a list (@pxref{Rearrangement}).
1794 The values returned by these functions are not meaningful. 1799 The values returned by these functions are not meaningful.
1795 1800
1796 @defun sort-subr reverse nextrecfun endrecfun &optional startkeyfun endkeyfun 1801 @defun sort-subr reverse nextrecfun endrecfun &optional startkeyfun endkeyfun predicate
1797 This function is the general text-sorting routine that subdivides a 1802 This function is the general text-sorting routine that subdivides a
1798 buffer into records and then sorts them. Most of the commands in this 1803 buffer into records and then sorts them. Most of the commands in this
1799 section use this function. 1804 section use this function.
1800 1805
1801 To understand how @code{sort-subr} works, consider the whole accessible 1806 To understand how @code{sort-subr} works, consider the whole accessible
1844 @var{startkeyfun} returns @code{nil} and this argument is omitted (or 1849 @var{startkeyfun} returns @code{nil} and this argument is omitted (or
1845 @code{nil}), then the sort key extends to the end of the record. There 1850 @code{nil}), then the sort key extends to the end of the record. There
1846 is no need for @var{endkeyfun} if @var{startkeyfun} returns a 1851 is no need for @var{endkeyfun} if @var{startkeyfun} returns a
1847 non-@code{nil} value. 1852 non-@code{nil} value.
1848 @end enumerate 1853 @end enumerate
1854
1855 The argument @var{predicate} is the function to use to compare keys.
1856 If keys are numbers, it defaults to @code{<}; otherwise it defaults to
1857 @code{string<}.
1849 1858
1850 As an example of @code{sort-subr}, here is the complete function 1859 As an example of @code{sort-subr}, here is the complete function
1851 definition for @code{sort-lines}: 1860 definition for @code{sort-lines}:
1852 1861
1853 @example 1862 @example