diff options
Diffstat (limited to 'doc/lispref/os.texi')
-rw-r--r-- | doc/lispref/os.texi | 53 |
1 files changed, 39 insertions, 14 deletions
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 7c8b35236cd..e9d81038d4b 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990--1995, 1998--1999, 2001--2023 Free Software +@c Copyright (C) 1990--1995, 1998--1999, 2001--2024 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node System Interface @@ -2104,6 +2104,14 @@ This function returns the number of days between the beginning of year The operating system limits the range of time and zone values. @end defun +@defun days-to-time days +This is not quite the inverse of the @code{time-to-days} function, as +it uses the Emacs epoch (instead of the year 1) for historical +reasons. To get the inverse, subtract @code{(time-to-days 0)} from +@var{days}, in which case @code{days-to-time} may return @code{nil} if +@var{days} is negative. +@end defun + @defun time-to-day-in-year time-value This returns the day number within the year corresponding to @var{time-value}, assuming the default time zone. @@ -2728,6 +2736,35 @@ way to specify the programs to run is with @samp{-l @var{file}}, which loads the library named @var{file}, or @samp{-f @var{function}}, which calls @var{function} with no arguments, or @samp{--eval=@var{form}}. +@defvar noninteractive +This variable is non-@code{nil} when Emacs is running in batch mode. +@end defvar + + If the specified Lisp program signals an unhandled error in batch +mode, Emacs exits with a non-zero exit status after invoking the Lisp +debugger which shows the Lisp backtrace (@pxref{Invoking the +Debugger}) on the standard error stream: + +@example +$ emacs -Q --batch --eval '(error "foo")'; echo $? + +@group +Error: error ("foo") +mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode -0x4f85c5 +7c45e2f81>)) +debug-early-backtrace() +debug-early(error (error "foo")) +signal(error ("foo")) +error("foo") +eval((error "foo") t) +command-line-1(("--eval" "(error \"foo\")")) +command-line() +normal-top-level() +@end group +foo +255 +@end example + Any Lisp program output that would normally go to the echo area, either using @code{message}, or using @code{prin1}, etc., with @code{t} as the stream (@pxref{Output Streams}), goes instead to @@ -2745,6 +2782,7 @@ if it is non-@code{nil}; this can be overridden by binding @code{coding-system-for-write} to a coding system of you choice (@pxref{Explicit Encoding}). +@vindex gc-cons-percentage@r{, in batch mode} In batch mode, Emacs will enlarge the value of the @code{gc-cons-percentage} variable from the default of @samp{0.1} up to @samp{1.0}. Batch jobs that are supposed to run for a long time @@ -2752,19 +2790,6 @@ 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 - -If Emacs exits due to signaling an error in batch mode, the exit -status of the Emacs command is non-zero: - -@example -$ emacs -Q --batch --eval '(error "foo")'; echo $? -foo -255 -@end example - @node Session Management @section Session Management @cindex session manager |