Minor improvement in documentation of internals
* doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
This commit is contained in:
parent
d05410f349
commit
b0d190fbe2
1 changed files with 9 additions and 0 deletions
|
@ -660,6 +660,7 @@ usage: (or CONDITIONS...) */)
|
|||
if (!NILP (val))
|
||||
break;
|
||||
args = XCDR (args);
|
||||
QUIT;
|
||||
@}
|
||||
@end group
|
||||
|
||||
|
@ -779,6 +780,14 @@ their addresses after performing Lisp evaluation. Lisp evaluation can
|
|||
occur via calls to @code{eval_sub} or @code{Feval}, either directly or
|
||||
indirectly.
|
||||
|
||||
@cindex @code{QUIT}, use in Lisp primitives
|
||||
Note the call to the @code{QUIT} macro inside the loop: this macro
|
||||
checks whether the user pressed @kbd{C-g}, and if so, aborts the
|
||||
processing. You should do that in any loop that can potentially
|
||||
require a large number of iterations; in this case, the list of
|
||||
arguments could be very long. This increases Emacs responsiveness and
|
||||
improves user experience.
|
||||
|
||||
You must not use C initializers for static or global variables unless
|
||||
the variables are never written once Emacs is dumped. These variables
|
||||
with initializers are allocated in an area of memory that becomes
|
||||
|
|
Loading…
Add table
Reference in a new issue