annotate man/xemacs/undo.texi @ 5070:b0f4adffca7d

fix so that CL docstrings (with &key, etc.) handled properly -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-02-23 Ben Wing <ben@xemacs.org> * autoload.el: * autoload.el (make-autoload): * cl-macs.el (cl-function-arglist): * cl-macs.el (cl-transform-lambda): Don't add argument list with the tag "Common Lisp lambda list:"; instead add in "standard" form using "arguments:" and omitting the function name. Add an arg to `cl-function-arglist' to omit the name and use it in autoload.el instead of just hacking it off. * help.el: * help.el (function-arglist): * help.el (function-documentation-1): New. Extract out common code to recognize and/or strip the arglist from documentation into `function-documentation-1'. Use in `function-arglist' and `function-documentation'. Modify `function-arglist' so it looks for the `arguments: ' stuff in all doc strings, not just subrs/autoloads, so that CL functions get recognized properly. Change the regexp used to match "arguments: " specs to allow nested parens inside the arg list (happens when you have a default value specified in a CL arglist).
author Ben Wing <ben@xemacs.org>
date Tue, 23 Feb 2010 01:12:13 -0600
parents 376386a54a3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @node Undo, Minibuffer, Basic, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @chapter Undoing Changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @cindex undo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @cindex mistakes, correcting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 Emacs allows you to undo all changes you make to the text of a buffer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 up to a certain amount of change (8000 characters). Each buffer records
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 changes individually, and the undo command always applies to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 current buffer. Usually each editing command makes a separate entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 in the undo records, but some commands such as @code{query-replace}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 make many entries, and very simple commands such as self-inserting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 characters are often grouped to make undoing less tedious.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @item C-x u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 Undo one batch of changes (usually, one command's worth) (@code{undo}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 @item C-_
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 The same.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 @kindex C-x u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 @kindex C-_
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 @findex undo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 The command @kbd{C-x u} or @kbd{C-_} allows you to undo changes. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 first time you give this command, it undoes the last change. Point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 moves to the text affected by the undo, so you can see what was undone.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 Consecutive repetitions of the @kbd{C-_} or @kbd{C-x u} commands undo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 earlier and earlier changes, back to the limit of what has been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 recorded. If all recorded changes have already been undone, the undo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 command prints an error message and does nothing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 Any command other than an undo command breaks the sequence of undo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 commands. Starting at this moment, the previous undo commands are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 considered ordinary changes that can themselves be undone. Thus, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 redo changes you have undone by typing @kbd{C-f} or any other command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 that have no important effect, and then using more undo commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 If you notice that a buffer has been modified accidentally, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 easiest way to recover is to type @kbd{C-_} repeatedly until the stars
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 disappear from the front of the mode line. When that happens, all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 modifications you made have been canceled. If you do not remember
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 whether you changed the buffer deliberately, type @kbd{C-_} once. When
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 you see Emacs undo the last change you made, you probably remember why you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 made it. If the change was an accident, leave it undone. If it was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 deliberate, redo the change as described in the preceding paragraph.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 Whenever an undo command makes the stars disappear from the mode line,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 the buffer contents is the same as it was when the file was last read in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 or saved.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 Not all buffers record undo information. Buffers whose names start with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 spaces don't; these buffers are used internally by Emacs and its extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 to hold text that users don't normally look at or edit. Minibuffers,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 help buffers, and documentation buffers also don't record undo information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 Emacs can remember at most 8000 or so characters of deleted or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 modified text in any one buffer for reinsertion by the undo command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 There is also a limit on the number of individual insert, delete, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 change actions that Emacs can remember.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 There are two keys to run the @code{undo} command, @kbd{C-x u} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 @kbd{C-_}, because on some keyboards, it is not obvious how to type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 @kbd{C-_}. @kbd{C-x u} is an alternative you can type in the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 fashion on any terminal.