diff options
| -rw-r--r-- | doc/lispref/internals.texi | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 20681c07d9a..e620da0b4ff 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi | |||
| @@ -660,6 +660,7 @@ usage: (or CONDITIONS...) */) | |||
| 660 | if (!NILP (val)) | 660 | if (!NILP (val)) |
| 661 | break; | 661 | break; |
| 662 | args = XCDR (args); | 662 | args = XCDR (args); |
| 663 | QUIT; | ||
| 663 | @} | 664 | @} |
| 664 | @end group | 665 | @end group |
| 665 | 666 | ||
| @@ -779,6 +780,14 @@ their addresses after performing Lisp evaluation. Lisp evaluation can | |||
| 779 | occur via calls to @code{eval_sub} or @code{Feval}, either directly or | 780 | occur via calls to @code{eval_sub} or @code{Feval}, either directly or |
| 780 | indirectly. | 781 | indirectly. |
| 781 | 782 | ||
| 783 | @cindex @code{QUIT}, use in Lisp primitives | ||
| 784 | Note the call to the @code{QUIT} macro inside the loop: this macro | ||
| 785 | checks whether the user pressed @kbd{C-g}, and if so, aborts the | ||
| 786 | processing. You should do that in any loop that can potentially | ||
| 787 | require a large number of iterations; in this case, the list of | ||
| 788 | arguments could be very long. This increases Emacs responsiveness and | ||
| 789 | improves user experience. | ||
| 790 | |||
| 782 | You must not use C initializers for static or global variables unless | 791 | You must not use C initializers for static or global variables unless |
| 783 | the variables are never written once Emacs is dumped. These variables | 792 | the variables are never written once Emacs is dumped. These variables |
| 784 | with initializers are allocated in an area of memory that becomes | 793 | with initializers are allocated in an area of memory that becomes |