* doc/lispref/os.texi (Batch Mode): Document it.
* src/emacs.c (main): Use a gc-cons-percentage of 1.0 in
noninteractive Emacsen.
@code{coding-system-for-write} to a coding system of you choice
(@pxref{Explicit Encoding}).
+In batch mode, Emacs will adjust the @code{gc-cons-threshold} variable
+up from a default of @samp{0.1} to @samp{1.0}. Batch jobs that are
+supposed to run for a long time should adjust the limit back down
+again, because this means that less garbage collection will be
+performed by default (and more memory consumed).
+
@defvar noninteractive
This variable is non-@code{nil} when Emacs is running in batch mode.
@end defvar
\f
* Startup Changes in Emacs 29.1
++++
+** -batch and -script now adjusts the garbage collection levels.
+These switches now set 'gc-cons-percentage' to 1.0 (up from the
+default of 0.1). This means that batch processes will typically use
+more memory than before, but use less time doing garbage collection.
+Batch jobs that are supposed to run for a long time should adjust the
+limit back down again.
+
+++
** Emacs can now be used more easily in an executable script.
If you start an executable script with
if (!initialized)
syms_of_comp ();
+ /* Do less garbage collection in batch mode (since these tend to be
+ more short-lived, and the memory is returned to the OS on exit
+ anyway). */
+ if (noninteractive)
+ Vgc_cons_percentage = make_float (1.0);
+
no_loadup
= argmatch (argv, argc, "-nl", "--no-loadup", 6, NULL, &skip_args);