Mercurial > hg > xemacs-beta
comparison man/lispref/commands.texi @ 5791:9fae6227ede5
Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
pointers to all nodes. See xemacs-patches message with ID
<5315f7bf.sHpFD7lXYR05GH6E%james@xemacs.org>.
author | Jerry James <james@xemacs.org> |
---|---|
date | Thu, 27 Mar 2014 08:59:03 -0600 |
parents | 62b9ef1ed4ac |
children |
comparison
equal
deleted
inserted
replaced
5790:dcf9067f26bb | 5791:9fae6227ede5 |
---|---|
28 * Disabling Commands:: How the command loop handles disabled commands. | 28 * Disabling Commands:: How the command loop handles disabled commands. |
29 * Command History:: How the command history is set up, and how accessed. | 29 * Command History:: How the command history is set up, and how accessed. |
30 * Keyboard Macros:: How keyboard macros are implemented. | 30 * Keyboard Macros:: How keyboard macros are implemented. |
31 @end menu | 31 @end menu |
32 | 32 |
33 @node Command Overview | 33 @node Command Overview, Defining Commands, Command Loop, Command Loop |
34 @section Command Loop Overview | 34 @section Command Loop Overview |
35 | 35 |
36 The command loop in XEmacs is a standard event loop, reading events | 36 The command loop in XEmacs is a standard event loop, reading events |
37 one at a time with @code{next-event} and handling them with | 37 one at a time with @code{next-event} and handling them with |
38 @code{dispatch-event}. An event is typically a single user action, such | 38 @code{dispatch-event}. An event is typically a single user action, such |
92 Quitting is suppressed while running @code{pre-command-hook} and | 92 Quitting is suppressed while running @code{pre-command-hook} and |
93 @code{post-command-hook}. If an error happens while executing one of | 93 @code{post-command-hook}. If an error happens while executing one of |
94 these hooks, it terminates execution of the hook, but that is all it | 94 these hooks, it terminates execution of the hook, but that is all it |
95 does. | 95 does. |
96 | 96 |
97 @node Defining Commands | 97 @node Defining Commands, Interactive Call, Command Overview, Command Loop |
98 @section Defining Commands | 98 @section Defining Commands |
99 @cindex defining commands | 99 @cindex defining commands |
100 @cindex commands, defining | 100 @cindex commands, defining |
101 @cindex functions, making them interactive | 101 @cindex functions, making them interactive |
102 @cindex interactive function | 102 @cindex interactive function |
112 * Interactive Codes:: The standard letter-codes for reading arguments | 112 * Interactive Codes:: The standard letter-codes for reading arguments |
113 in various ways. | 113 in various ways. |
114 * Interactive Examples:: Examples of how to read interactive arguments. | 114 * Interactive Examples:: Examples of how to read interactive arguments. |
115 @end menu | 115 @end menu |
116 | 116 |
117 @node Using Interactive | 117 @node Using Interactive, Interactive Codes, Defining Commands, Defining Commands |
118 @subsection Using @code{interactive} | 118 @subsection Using @code{interactive} |
119 | 119 |
120 This section describes how to write the @code{interactive} form that | 120 This section describes how to write the @code{interactive} form that |
121 makes a Lisp function an interactively-callable command. | 121 makes a Lisp function an interactively-callable command. |
122 | 122 |
244 which may be any funcallable object. The specification will be returned | 244 which may be any funcallable object. The specification will be returned |
245 as the list of the symbol @code{interactive} and the specs. If | 245 as the list of the symbol @code{interactive} and the specs. If |
246 @var{function} is not interactive, @code{nil} will be returned. | 246 @var{function} is not interactive, @code{nil} will be returned. |
247 @end defun | 247 @end defun |
248 | 248 |
249 @node Interactive Codes | 249 @node Interactive Codes, Interactive Examples, Using Interactive, Defining Commands |
250 @subsection Code Characters for @code{interactive} | 250 @subsection Code Characters for @code{interactive} |
251 @cindex interactive code description | 251 @cindex interactive code description |
252 @cindex description for interactive codes | 252 @cindex description for interactive codes |
253 @cindex codes, interactive, description of | 253 @cindex codes, interactive, description of |
254 @cindex characters for interactive codes | 254 @cindex characters for interactive codes |
424 @cindex evaluated expression argument | 424 @cindex evaluated expression argument |
425 A Lisp form is read as with @kbd{x}, but then evaluated so that its | 425 A Lisp form is read as with @kbd{x}, but then evaluated so that its |
426 value becomes the argument for the command. Prompt. | 426 value becomes the argument for the command. Prompt. |
427 @end table | 427 @end table |
428 | 428 |
429 @node Interactive Examples | 429 @node Interactive Examples, , Interactive Codes, Defining Commands |
430 @subsection Examples of Using @code{interactive} | 430 @subsection Examples of Using @code{interactive} |
431 @cindex examples of using @code{interactive} | 431 @cindex examples of using @code{interactive} |
432 @cindex @code{interactive}, examples of using | 432 @cindex @code{interactive}, examples of using |
433 | 433 |
434 Here are some examples of @code{interactive}: | 434 Here are some examples of @code{interactive}: |
474 (three-b "*scratch*" "declarations.texi" "*mail*") | 474 (three-b "*scratch*" "declarations.texi" "*mail*") |
475 @result{} nil | 475 @result{} nil |
476 @end group | 476 @end group |
477 @end example | 477 @end example |
478 | 478 |
479 @node Interactive Call | 479 @node Interactive Call, Command Loop Info, Defining Commands, Command Loop |
480 @section Interactive Call | 480 @section Interactive Call |
481 @cindex interactive call | 481 @cindex interactive call |
482 | 482 |
483 After the command loop has translated a key sequence into a | 483 After the command loop has translated a key sequence into a |
484 definition, it invokes that definition using the function | 484 definition, it invokes that definition using the function |
626 @result{} (nil t) | 626 @result{} (nil t) |
627 @end group | 627 @end group |
628 @end example | 628 @end example |
629 @end defun | 629 @end defun |
630 | 630 |
631 @node Command Loop Info | 631 @node Command Loop Info, Events, Interactive Call, Command Loop |
632 @section Information from the Command Loop | 632 @section Information from the Command Loop |
633 | 633 |
634 The editor command loop sets several Lisp variables to keep status | 634 The editor command loop sets several Lisp variables to keep status |
635 records for itself and for commands that are run. | 635 records for itself and for commands that are run. |
636 | 636 |
769 in the same command will be echoed as well. | 769 in the same command will be echoed as well. |
770 | 770 |
771 If the value is zero, then command input is not echoed. | 771 If the value is zero, then command input is not echoed. |
772 @end defvar | 772 @end defvar |
773 | 773 |
774 @node Events | 774 @node Events, Reading Input, Command Loop Info, Command Loop |
775 @section Events | 775 @section Events |
776 @cindex events | 776 @cindex events |
777 @cindex input events | 777 @cindex input events |
778 | 778 |
779 The XEmacs command loop reads a sequence of @dfn{events} that | 779 The XEmacs command loop reads a sequence of @dfn{events} that |
807 * Working With Events:: Creating, copying, and destroying events. | 807 * Working With Events:: Creating, copying, and destroying events. |
808 * Converting Events:: Converting between events, keys, and | 808 * Converting Events:: Converting between events, keys, and |
809 characters. | 809 characters. |
810 @end menu | 810 @end menu |
811 | 811 |
812 @node Event Types | 812 @node Event Types, Event Contents, Events, Events |
813 @subsection Event Types | 813 @subsection Event Types |
814 | 814 |
815 Events represent keyboard or mouse activity or status changes of various | 815 Events represent keyboard or mouse activity or status changes of various |
816 sorts, such as process input being available or a timeout being triggered. | 816 sorts, such as process input being available or a timeout being triggered. |
817 The different event types are as follows: | 817 The different event types are as follows: |
854 is sometimes placed in the event queue when a magic event is processed. | 854 is sometimes placed in the event queue when a magic event is processed. |
855 This kind of event should generally just be passed off to | 855 This kind of event should generally just be passed off to |
856 @code{dispatch-event}. @xref{Dispatching an Event}. | 856 @code{dispatch-event}. @xref{Dispatching an Event}. |
857 @end table | 857 @end table |
858 | 858 |
859 @node Event Contents | 859 @node Event Contents, Event Predicates, Event Types, Events |
860 @subsection Contents of the Different Types of Events | 860 @subsection Contents of the Different Types of Events |
861 | 861 |
862 Every event, no matter what type it is, contains a timestamp (which is | 862 Every event, no matter what type it is, contains a timestamp (which is |
863 typically an offset in milliseconds from when the X server was started) | 863 typically an offset in milliseconds from when the X server was started) |
864 indicating when the event occurred. In addition, many events contain | 864 indicating when the event occurred. In addition, many events contain |
997 @item magic | 997 @item magic |
998 Some window-system-specific event has occurred. | 998 Some window-system-specific event has occurred. |
999 @end table | 999 @end table |
1000 @end defun | 1000 @end defun |
1001 | 1001 |
1002 @node Event Predicates | 1002 @node Event Predicates, Accessing Mouse Event Positions, Event Contents, Events |
1003 @subsection Event Predicates | 1003 @subsection Event Predicates |
1004 | 1004 |
1005 The following predicates return whether an object is an event of a | 1005 The following predicates return whether an object is an event of a |
1006 particular type. | 1006 particular type. |
1007 | 1007 |
1049 | 1049 |
1050 @defun event-live-p object | 1050 @defun event-live-p object |
1051 This is true if @var{object} is any event that has not been deallocated. | 1051 This is true if @var{object} is any event that has not been deallocated. |
1052 @end defun | 1052 @end defun |
1053 | 1053 |
1054 @node Accessing Mouse Event Positions | 1054 @node Accessing Mouse Event Positions, Accessing Other Event Info, Event Predicates, Events |
1055 @subsection Accessing the Position of a Mouse Event | 1055 @subsection Accessing the Position of a Mouse Event |
1056 | 1056 |
1057 Unlike other events, mouse events (i.e. motion, button-press, | 1057 Unlike other events, mouse events (i.e. motion, button-press, |
1058 button-release, and drag or drop type misc-user events) occur in a | 1058 button-release, and drag or drop type misc-user events) occur in a |
1059 particular location on the screen. Many primitives are provided for | 1059 particular location on the screen. Many primitives are provided for |
1067 * Event Glyph Position Info:: | 1067 * Event Glyph Position Info:: |
1068 * Event Toolbar Position Info:: | 1068 * Event Toolbar Position Info:: |
1069 * Other Event Position Info:: | 1069 * Other Event Position Info:: |
1070 @end menu | 1070 @end menu |
1071 | 1071 |
1072 @node Frame-Level Event Position Info | 1072 @node Frame-Level Event Position Info, Window-Level Event Position Info, Accessing Mouse Event Positions, Accessing Mouse Event Positions |
1073 @subsubsection Frame-Level Event Position Info | 1073 @subsubsection Frame-Level Event Position Info |
1074 | 1074 |
1075 The following functions return frame-level information about where | 1075 The following functions return frame-level information about where |
1076 a mouse event occurred. | 1076 a mouse event occurred. |
1077 | 1077 |
1091 This function returns the Y position in pixels of the given mouse event. | 1091 This function returns the Y position in pixels of the given mouse event. |
1092 The value returned is relative to the frame the event occurred in. | 1092 The value returned is relative to the frame the event occurred in. |
1093 This will signal an error if the event is not a mouse event. | 1093 This will signal an error if the event is not a mouse event. |
1094 @end defun | 1094 @end defun |
1095 | 1095 |
1096 @node Window-Level Event Position Info | 1096 @node Window-Level Event Position Info, Event Text Position Info, Frame-Level Event Position Info, Accessing Mouse Event Positions |
1097 @subsubsection Window-Level Event Position Info | 1097 @subsubsection Window-Level Event Position Info |
1098 | 1098 |
1099 The following functions return window-level information about where | 1099 The following functions return window-level information about where |
1100 a mouse event occurred. | 1100 a mouse event occurred. |
1101 | 1101 |
1127 The value returned is relative to the window the event occurred in. | 1127 The value returned is relative to the window the event occurred in. |
1128 This will signal an error if the event is not a mouse-motion, button-press, | 1128 This will signal an error if the event is not a mouse-motion, button-press, |
1129 button-release, or misc-user event. | 1129 button-release, or misc-user event. |
1130 @end defun | 1130 @end defun |
1131 | 1131 |
1132 @node Event Text Position Info | 1132 @node Event Text Position Info, Event Glyph Position Info, Window-Level Event Position Info, Accessing Mouse Event Positions |
1133 @subsubsection Event Text Position Info | 1133 @subsubsection Event Text Position Info |
1134 | 1134 |
1135 The following functions return information about the text (including the | 1135 The following functions return information about the text (including the |
1136 modeline) that a mouse event occurred over or near. | 1136 modeline) that a mouse event occurred over or near. |
1137 | 1137 |
1179 that window, the closest point is the end of the line containing the Y | 1179 that window, the closest point is the end of the line containing the Y |
1180 position. If the Y pixel position is above a window, 0 is returned. If | 1180 position. If the Y pixel position is above a window, 0 is returned. If |
1181 it is below a window, the value of @code{(window-end)} is returned. | 1181 it is below a window, the value of @code{(window-end)} is returned. |
1182 @end defun | 1182 @end defun |
1183 | 1183 |
1184 @node Event Glyph Position Info | 1184 @node Event Glyph Position Info, Event Toolbar Position Info, Event Text Position Info, Accessing Mouse Event Positions |
1185 @subsubsection Event Glyph Position Info | 1185 @subsubsection Event Glyph Position Info |
1186 | 1186 |
1187 The following functions return information about the glyph (if any) that | 1187 The following functions return information about the glyph (if any) that |
1188 a mouse event occurred over. | 1188 a mouse event occurred over. |
1189 | 1189 |
1210 glyph, this function returns the Y position of the pointer relative to | 1210 glyph, this function returns the Y position of the pointer relative to |
1211 the upper left of the glyph. If the event is not over a glyph, it returns | 1211 the upper left of the glyph. If the event is not over a glyph, it returns |
1212 @code{nil}. | 1212 @code{nil}. |
1213 @end defun | 1213 @end defun |
1214 | 1214 |
1215 @node Event Toolbar Position Info | 1215 @node Event Toolbar Position Info, Other Event Position Info, Event Glyph Position Info, Accessing Mouse Event Positions |
1216 @subsubsection Event Toolbar Position Info | 1216 @subsubsection Event Toolbar Position Info |
1217 | 1217 |
1218 @defun event-over-toolbar-p event | 1218 @defun event-over-toolbar-p event |
1219 Given a mouse-motion, button-press, button-release, or misc-user event, this | 1219 Given a mouse-motion, button-press, button-release, or misc-user event, this |
1220 function returns @code{t} if the event is over a toolbar. Otherwise, | 1220 function returns @code{t} if the event is over a toolbar. Otherwise, |
1225 If the given mouse-motion, button-press, button-release, or misc-user event | 1225 If the given mouse-motion, button-press, button-release, or misc-user event |
1226 happened on top of a toolbar button, this function returns the button. | 1226 happened on top of a toolbar button, this function returns the button. |
1227 Otherwise, @code{nil} is returned. | 1227 Otherwise, @code{nil} is returned. |
1228 @end defun | 1228 @end defun |
1229 | 1229 |
1230 @node Other Event Position Info | 1230 @node Other Event Position Info, , Event Toolbar Position Info, Accessing Mouse Event Positions |
1231 @subsubsection Other Event Position Info | 1231 @subsubsection Other Event Position Info |
1232 | 1232 |
1233 @defun event-over-border-p event | 1233 @defun event-over-border-p event |
1234 Given a mouse-motion, button-press, button-release, or misc-user event, this | 1234 Given a mouse-motion, button-press, button-release, or misc-user event, this |
1235 function returns @code{t} if the event is over an internal toolbar. | 1235 function returns @code{t} if the event is over an internal toolbar. |
1236 Otherwise, @code{nil} is returned. | 1236 Otherwise, @code{nil} is returned. |
1237 @end defun | 1237 @end defun |
1238 | 1238 |
1239 @node Accessing Other Event Info | 1239 @node Accessing Other Event Info, Working With Events, Accessing Mouse Event Positions, Events |
1240 @subsection Accessing the Other Contents of Events | 1240 @subsection Accessing the Other Contents of Events |
1241 | 1241 |
1242 The following functions allow access to the contents of events other than | 1242 The following functions allow access to the contents of events other than |
1243 the position info described in the previous section. | 1243 the position info described in the previous section. |
1244 | 1244 |
1282 | 1282 |
1283 @defun event-process event | 1283 @defun event-process event |
1284 This function returns the process of the given process event. | 1284 This function returns the process of the given process event. |
1285 @end defun | 1285 @end defun |
1286 | 1286 |
1287 @node Working With Events | 1287 @node Working With Events, Converting Events, Accessing Other Event Info, Events |
1288 @subsection Working With Events | 1288 @subsection Working With Events |
1289 | 1289 |
1290 XEmacs provides primitives for creating, copying, and destroying event | 1290 XEmacs provides primitives for creating, copying, and destroying event |
1291 objects. Many functions that return events take an event object as an | 1291 objects. Many functions that return events take an event object as an |
1292 argument and fill in the fields of this event; or they make accept | 1292 argument and fill in the fields of this event; or they make accept |
1444 objects are garbage-collected like all other objects; however, it may be | 1444 objects are garbage-collected like all other objects; however, it may be |
1445 more efficient to explicitly deallocate events when you are sure that | 1445 more efficient to explicitly deallocate events when you are sure that |
1446 it is safe to do so. | 1446 it is safe to do so. |
1447 @end defun | 1447 @end defun |
1448 | 1448 |
1449 @node Converting Events | 1449 @node Converting Events, , Working With Events, Events |
1450 @subsection Converting Events | 1450 @subsection Converting Events |
1451 | 1451 |
1452 XEmacs provides some auxiliary functions for converting between events | 1452 XEmacs provides some auxiliary functions for converting between events |
1453 and other ways of representing keys. These are useful when working with | 1453 and other ways of representing keys. These are useful when working with |
1454 @sc{ascii} strings and with keymaps. | 1454 @sc{ascii} strings and with keymaps. |
1524 Given a vector of event objects, this function returns a vector of key | 1524 Given a vector of event objects, this function returns a vector of key |
1525 descriptors, or a string (if they all fit in the @sc{ascii} range). | 1525 descriptors, or a string (if they all fit in the @sc{ascii} range). |
1526 Optional arg @var{no-mice} means that button events are not allowed. | 1526 Optional arg @var{no-mice} means that button events are not allowed. |
1527 @end defun | 1527 @end defun |
1528 | 1528 |
1529 @node Reading Input | 1529 @node Reading Input, Waiting, Events, Command Loop |
1530 @section Reading Input | 1530 @section Reading Input |
1531 | 1531 |
1532 The editor command loop reads keyboard input using the function | 1532 The editor command loop reads keyboard input using the function |
1533 @code{next-event} and constructs key sequences out of the events using | 1533 @code{next-event} and constructs key sequences out of the events using |
1534 @code{dispatch-event}. Lisp programs can also use the function | 1534 @code{dispatch-event}. Lisp programs can also use the function |
1546 * Dispatching an Event:: What to do with an event once it has been read. | 1546 * Dispatching an Event:: What to do with an event once it has been read. |
1547 * Quoted Character Input:: Asking the user to specify a character. | 1547 * Quoted Character Input:: Asking the user to specify a character. |
1548 * Peeking and Discarding:: How to reread or throw away input events. | 1548 * Peeking and Discarding:: How to reread or throw away input events. |
1549 @end menu | 1549 @end menu |
1550 | 1550 |
1551 @node Key Sequence Input | 1551 @node Key Sequence Input, Reading One Event, Reading Input, Reading Input |
1552 @subsection Key Sequence Input | 1552 @subsection Key Sequence Input |
1553 @cindex key sequence input | 1553 @cindex key sequence input |
1554 | 1554 |
1555 Lisp programs can read input a key sequence at a time by calling | 1555 Lisp programs can read input a key sequence at a time by calling |
1556 @code{read-key-sequence}; for example, @code{describe-key} uses it to | 1556 @code{read-key-sequence}; for example, @code{describe-key} uses it to |
1620 If an input character is an upper-case letter and has no key binding, | 1620 If an input character is an upper-case letter and has no key binding, |
1621 but its lower-case equivalent has one, then @code{read-key-sequence} | 1621 but its lower-case equivalent has one, then @code{read-key-sequence} |
1622 converts the character to lower case. Note that @code{lookup-key} does | 1622 converts the character to lower case. Note that @code{lookup-key} does |
1623 not perform case conversion in this way. | 1623 not perform case conversion in this way. |
1624 | 1624 |
1625 @node Reading One Event | 1625 @node Reading One Event, Dispatching an Event, Key Sequence Input, Reading Input |
1626 @subsection Reading One Event | 1626 @subsection Reading One Event |
1627 | 1627 |
1628 The lowest level functions for command input are those which read a | 1628 The lowest level functions for command input are those which read a |
1629 single event. These functions often make a distinction between | 1629 single event. These functions often make a distinction between |
1630 @dfn{command events}, which are user actions (keystrokes and mouse | 1630 @dfn{command events}, which are user actions (keystrokes and mouse |
1691 @defun enqueue-eval-event function object | 1691 @defun enqueue-eval-event function object |
1692 This function adds an eval event to the back of the queue. The | 1692 This function adds an eval event to the back of the queue. The |
1693 eval event will be the next event read after all pending events. | 1693 eval event will be the next event read after all pending events. |
1694 @end defun | 1694 @end defun |
1695 | 1695 |
1696 @node Dispatching an Event | 1696 @node Dispatching an Event, Quoted Character Input, Reading One Event, Reading Input |
1697 @subsection Dispatching an Event | 1697 @subsection Dispatching an Event |
1698 @cindex dispatching an event | 1698 @cindex dispatching an event |
1699 | 1699 |
1700 @defun dispatch-event event | 1700 @defun dispatch-event event |
1701 Given an event object returned by @code{next-event}, this function | 1701 Given an event object returned by @code{next-event}, this function |
1702 executes it. This is the basic function that makes XEmacs respond to | 1702 executes it. This is the basic function that makes XEmacs respond to |
1703 user input; it also deals with notifications from the window system | 1703 user input; it also deals with notifications from the window system |
1704 (such as Expose events). | 1704 (such as Expose events). |
1705 @end defun | 1705 @end defun |
1706 | 1706 |
1707 @node Quoted Character Input | 1707 @node Quoted Character Input, Peeking and Discarding, Dispatching an Event, Reading Input |
1708 @subsection Quoted Character Input | 1708 @subsection Quoted Character Input |
1709 @cindex quoted character input | 1709 @cindex quoted character input |
1710 | 1710 |
1711 You can use the function @code{read-quoted-char} to ask the user to | 1711 You can use the function @code{read-quoted-char} to ask the user to |
1712 specify a character, and allow the user to specify a control or meta | 1712 specify a character, and allow the user to specify a control or meta |
1744 @end group | 1744 @end group |
1745 @end example | 1745 @end example |
1746 @end defun | 1746 @end defun |
1747 | 1747 |
1748 @need 2000 | 1748 @need 2000 |
1749 @node Peeking and Discarding | 1749 @node Peeking and Discarding, , Quoted Character Input, Reading Input |
1750 @subsection Miscellaneous Event Input Features | 1750 @subsection Miscellaneous Event Input Features |
1751 | 1751 |
1752 This section describes how to ``peek ahead'' at events without using | 1752 This section describes how to ``peek ahead'' at events without using |
1753 them up, how to check for pending input, and how to discard pending | 1753 them up, how to check for pending input, and how to discard pending |
1754 input. | 1754 input. |
1858 (discard-input)) | 1858 (discard-input)) |
1859 @result{} nil | 1859 @result{} nil |
1860 @end example | 1860 @end example |
1861 @end defun | 1861 @end defun |
1862 | 1862 |
1863 @node Waiting | 1863 @node Waiting, Quitting, Reading Input, Command Loop |
1864 @section Waiting for Elapsed Time or Input | 1864 @section Waiting for Elapsed Time or Input |
1865 @cindex pausing | 1865 @cindex pausing |
1866 @cindex waiting | 1866 @cindex waiting |
1867 | 1867 |
1868 The wait functions are designed to wait for a certain amount of time | 1868 The wait functions are designed to wait for a certain amount of time |
1927 Use @code{sleep-for} when you wish to guarantee a delay. | 1927 Use @code{sleep-for} when you wish to guarantee a delay. |
1928 @end defun | 1928 @end defun |
1929 | 1929 |
1930 @xref{Time of Day}, for functions to get the current time. | 1930 @xref{Time of Day}, for functions to get the current time. |
1931 | 1931 |
1932 @node Quitting | 1932 @node Quitting, Prefix Command Arguments, Waiting, Command Loop |
1933 @section Quitting | 1933 @section Quitting |
1934 @cindex @kbd{C-g} | 1934 @cindex @kbd{C-g} |
1935 @cindex quitting | 1935 @cindex quitting |
1936 | 1936 |
1937 Typing @kbd{C-g} while a Lisp function is running causes XEmacs to | 1937 Typing @kbd{C-g} while a Lisp function is running causes XEmacs to |
2027 @end deffn | 2027 @end deffn |
2028 | 2028 |
2029 You can specify a character other than @kbd{C-g} to use for quitting. | 2029 You can specify a character other than @kbd{C-g} to use for quitting. |
2030 See the function @code{set-input-mode} in @ref{Terminal Input}. | 2030 See the function @code{set-input-mode} in @ref{Terminal Input}. |
2031 | 2031 |
2032 @node Prefix Command Arguments | 2032 @node Prefix Command Arguments, Recursive Editing, Quitting, Command Loop |
2033 @section Prefix Command Arguments | 2033 @section Prefix Command Arguments |
2034 @cindex prefix argument | 2034 @cindex prefix argument |
2035 @cindex raw prefix argument | 2035 @cindex raw prefix argument |
2036 @cindex numeric prefix argument | 2036 @cindex numeric prefix argument |
2037 | 2037 |
2169 argument @var{arg} is the raw prefix argument as it was before this | 2169 argument @var{arg} is the raw prefix argument as it was before this |
2170 command; its value is negated to form the new prefix argument. Don't | 2170 command; its value is negated to form the new prefix argument. Don't |
2171 call this command yourself unless you know what you are doing. | 2171 call this command yourself unless you know what you are doing. |
2172 @end deffn | 2172 @end deffn |
2173 | 2173 |
2174 @node Recursive Editing | 2174 @node Recursive Editing, Disabling Commands, Prefix Command Arguments, Command Loop |
2175 @section Recursive Editing | 2175 @section Recursive Editing |
2176 @cindex recursive command loop | 2176 @cindex recursive command loop |
2177 @cindex recursive editing level | 2177 @cindex recursive editing level |
2178 @cindex command loop, recursive | 2178 @cindex command loop, recursive |
2179 | 2179 |
2283 @defun recursion-depth | 2283 @defun recursion-depth |
2284 This function returns the current depth of recursive edits. When no | 2284 This function returns the current depth of recursive edits. When no |
2285 recursive edit is active, it returns 0. | 2285 recursive edit is active, it returns 0. |
2286 @end defun | 2286 @end defun |
2287 | 2287 |
2288 @node Disabling Commands | 2288 @node Disabling Commands, Command History, Recursive Editing, Command Loop |
2289 @section Disabling Commands | 2289 @section Disabling Commands |
2290 @cindex disabled command | 2290 @cindex disabled command |
2291 | 2291 |
2292 @dfn{Disabling a command} marks the command as requiring user | 2292 @dfn{Disabling a command} marks the command as requiring user |
2293 confirmation before it can be executed. Disabling is used for commands | 2293 confirmation before it can be executed. Disabling is used for commands |
2341 | 2341 |
2342 By default, @code{disabled-command-hook} contains a function that asks | 2342 By default, @code{disabled-command-hook} contains a function that asks |
2343 the user whether to proceed. | 2343 the user whether to proceed. |
2344 @end defvar | 2344 @end defvar |
2345 | 2345 |
2346 @node Command History | 2346 @node Command History, Keyboard Macros, Disabling Commands, Command Loop |
2347 @section Command History | 2347 @section Command History |
2348 @cindex command history | 2348 @cindex command history |
2349 @cindex complex command | 2349 @cindex complex command |
2350 @cindex history of commands | 2350 @cindex history of commands |
2351 | 2351 |
2385 @code{list-command-history} are described in the user manual | 2385 @code{list-command-history} are described in the user manual |
2386 (@pxref{Repetition,,, xemacs, The XEmacs User's Manual}). Within the | 2386 (@pxref{Repetition,,, xemacs, The XEmacs User's Manual}). Within the |
2387 minibuffer, the history commands used are the same ones available in any | 2387 minibuffer, the history commands used are the same ones available in any |
2388 minibuffer. | 2388 minibuffer. |
2389 | 2389 |
2390 @node Keyboard Macros | 2390 @node Keyboard Macros, , Command History, Command Loop |
2391 @section Keyboard Macros | 2391 @section Keyboard Macros |
2392 @cindex keyboard macros | 2392 @cindex keyboard macros |
2393 | 2393 |
2394 A @dfn{keyboard macro} is a canned sequence of input events that can | 2394 A @dfn{keyboard macro} is a canned sequence of input events that can |
2395 be considered a command and made the definition of a key. The Lisp | 2395 be considered a command and made the definition of a key. The Lisp |