X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/5b2279a391d8b6a89dac513a9a5e38667820b820..25afa2cfe4d3e9011a0ebbbf17173393758b00e4:/lispref/internals.texi?ds=sidebyside diff --git a/lispref/internals.texi b/lispref/internals.texi index 907a01df9e..e032f5a7dd 100644 --- a/lispref/internals.texi +++ b/lispref/internals.texi @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990, 1991, 1992, 1993, 1998, 1999 -@c Free Software Foundation, Inc. +@c Copyright (C) 1990, 1991, 1992, 1993, 1998, 1999, 2002, 2003, 2004, +@c 2005 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../info/internals @node GNU Emacs Internals, Standard Errors, Tips, Top @@ -13,7 +13,7 @@ the preloaded Lisp libraries in it, how storage is allocated, and some internal aspects of GNU Emacs that may be of interest to C programmers. @menu -* Building Emacs:: How to the dumped Emacs is made. +* Building Emacs:: How the dumped Emacs is made. * Pure Storage:: A kludge to make preloaded Lisp functions sharable. * Garbage Collection:: Reclaiming space for Lisp objects no longer used. * Memory Usage:: Info about total size of Lisp objects made so far. @@ -366,6 +366,17 @@ You can make collections more frequent by specifying a smaller value, down to 10,000. A value less than 10,000 will remain in effect only until the subsequent garbage collection, at which time @code{garbage-collect} will set the threshold back to 10,000. +@end defopt + +@defopt gc-cons-percentage +The value of this variable specifies the amount of consing before a +garbage collection occurs, as a fraction of the current heap size. +This criterion and @code{gc-cons-threshold} apply in parallel, and +garbage collection occurs only when both criteria are satisfied. + +As the heap size increases, the time to perform a garbage collection +increases. Thus, it can be desirable to do them less frequently in +proportion. @end defopt The value returned by @code{garbage-collect} describes the amount of @@ -477,28 +488,22 @@ usage: (or CONDITIONS ...) */) (args) Lisp_Object args; @{ - register Lisp_Object val; - Lisp_Object args_left; + register Lisp_Object val = Qnil; struct gcpro gcpro1; @end group @group - if (NILP (args)) - return Qnil; - - args_left = args; - GCPRO1 (args_left); + GCPRO1 (args); @end group @group - do + while (CONSP (args)) @{ - val = Feval (Fcar (args_left)); + val = Feval (XCAR (args)); if (!NILP (val)) - break; - args_left = Fcdr (args_left); + break; + args = XCDR (args); @} - while (!NILP (args_left)); @end group @group @@ -549,7 +554,7 @@ indicating a special form that receives unevaluated arguments, or @code{MANY}, indicating an unlimited number of evaluated arguments (the equivalent of @code{&rest}). Both @code{UNEVALLED} and @code{MANY} are macros. If @var{max} is a number, it may not be less than @var{min} and -it may not be greater than seven. +it may not be greater than eight. @item interactive This is an interactive specification, a string such as might be used as @@ -1094,6 +1099,9 @@ The value of @code{buffer-file-coding-system} in this buffer. @item file_format The value of @code{buffer-file-format} in this buffer. +@item auto_save_file_format +The value of @code{buffer-auto-save-file-format} in this buffer. + @item pt_marker In an indirect buffer, or a buffer that is the base of an indirect buffer, this holds a marker that records point for this buffer when the @@ -1297,7 +1305,7 @@ onto the screen. @item redisplay_end_trigger If redisplay in this window goes beyond this buffer position, it runs -run the @code{redisplay-end-trigger-hook}. +the @code{redisplay-end-trigger-hook}. @ignore @item orig_height @@ -1396,7 +1404,7 @@ A function called whenever the process receives a signal, or @code{nil}. The associated buffer of the process. @item pid -An integer, the Unix process @acronym{ID}. +An integer, the operating system's process @acronym{ID}. @item childp A flag, non-@code{nil} if this is really a child process.