@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c Free Software Foundation, Inc.
+@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/os
@node System Interface, Antinews, Calendar, Top
@file{site-start.el}.
@cindex @file{site-start.el}
-@item
+@item
It loads your init file (usually @file{~/.emacs}), unless @samp{-q},
@samp{-no-init-file}, or @samp{-batch} was specified on the command line.
The @samp{-u} option can specify another user whose home directory
should be used instead of @file{~}.
-@item
+@item
It loads the library @file{default}, unless @code{inhibit-default-init}
is non-@code{nil}. (This is not done in @samp{-batch} mode or if
@samp{-q} was specified on the command line.) The library's file name
the buffer @samp{*scratch*} is still current and still in Fundamental
mode.
-@item
+@item
It loads the terminal-specific Lisp file, if any, except when in batch
mode or using a window system.
It displays the initial echo area message, unless you have suppressed
that with @code{inhibit-startup-echo-area-message}.
-@item
+@item
It processes the action arguments from the command line.
-@item
+@item
It runs @code{emacs-startup-hook} and then @code{term-setup-hook}.
@item
parameters of the selected frame according to whatever the init files
specify.
-@item
+@item
It runs @code{window-setup-hook}. @xref{Window Systems}.
-@item
+@item
It displays copyleft, nonwarranty, and basic use information, provided
there were no remaining command-line arguments (a few steps above),
the value of @code{inhibit-startup-message} is @code{nil}, and the
Emacs.
@end defvar
- @xref{Init File Examples,,, emacs, The GNU Emacs Manual}, for
+ @xref{Init Examples,, Init File Examples, emacs, The GNU Emacs Manual}, for
examples of how to make various commonly desired customizations in your
@file{.emacs} file.
uses @samp{internal} as the terminal type.
@end defvar
-@defvar term-setup-hook
+@defvar term-setup-hook
This variable is a normal hook that Emacs runs after loading your
init file, the default initialization file (if any) and the
terminal-specific Lisp file.
-@var{option}
@end example
-The elements of the @code{command-switch-alist} look like this:
+The elements of the @code{command-switch-alist} look like this:
@example
(@var{option} . @var{handler-function})
The command-line arguments are parsed by the @code{command-line-1}
function in the @file{startup.el} file. See also @ref{Command
-Switches, , Command Line Switches and Arguments, emacs, The GNU Emacs
-Manual}.
+Arguments, , Command Line Arguments, emacs, The GNU Emacs Manual}.
@end defvar
@defvar command-line-args
@defvar kill-emacs-hook
This variable is a normal hook; once @code{save-buffers-kill-emacs} is
finished with all file saving and confirmation, it runs the functions in
-this hook.
+this hook. This hook is not run in batch mode.
@end defvar
@node Suspending Emacs
@item berkeley-unix
Berkeley BSD.
+@item cygwin
+Cygwin.
+
@item dgux
Data General DGUX operating system.
process-environment
@result{} ("l=/usr/stanford/lib/gnuemacs/lisp"
"PATH=.:/user/lewis/bin:/usr/class:/nfsusr/local/bin"
- "USER=lewis"
+ "USER=lewis"
@end group
@group
- "TERM=ibmapa16"
+ "TERM=ibmapa16"
"SHELL=/bin/csh"
"HOME=/user/lewis")
@end group
@defun user-real-uid
This function returns the real @sc{uid} of the user.
+The value may be a floating point number.
@example
@group
@end defun
@defun user-uid
-This function returns the effective @sc{uid} of the user.
+This function returns the effective @sc{uid} of the user.
+The value may be a floating point number.
@end defun
@node Time of Day
the inverse conversion, use @code{float-time}.
@end defun
-@defun decode-time time
-This function converts a time value into calendrical information. The
-return value is a list of nine elements, as follows:
+@defun decode-time &optional time
+This function converts a time value into calendrical information. If
+you don't specify @var{time}, it decodes the current time. The return
+value is a list of nine elements, as follows:
@example
(@var{seconds} @var{minutes} @var{hour} @var{day} @var{month} @var{year} @var{dow} @var{dst} @var{zone})
The operating system puts limits on the range of possible time values;
if you try to encode a time that is out of range, an error results.
+For instance, years before 1970 do not work on some systems;
+on others, years as early as 1901 do work.
@end defun
@node Time Calculations
@section Timers for Delayed Execution
@cindex timer
- You can set up a @dfn{timer} to call a function at a specified future time or
-after a certain length of idleness.
+ You can set up a @dfn{timer} to call a function at a specified
+future time or after a certain length of idleness.
Emacs cannot run timers at any arbitrary point in a Lisp program; it
can run them only when Emacs could accept output from a subprocess:
timer's execution may be delayed if Emacs is busy. However, the time of
execution is very precise if Emacs is idle.
+ Emacs binds @code{inhibit-quit} to @code{t} before calling the timer
+function, because quitting out of many timer functions can leave
+things in an inconsistent state. This is normally unproblematical
+because most timer functions don't do a lot of work. Indeed, for a
+timer to calls a function that takes substantial time to run is likely
+to be annoying.
+
@defun run-at-time time repeat function &rest args
This function arranges to call @var{function} with arguments @var{args}
at time @var{time}. The argument @var{function} is a function to call
This variable's value should be an alist with one element for each
system-specific keysym. Each element has the form @code{(@var{code}
. @var{symbol})}, where @var{code} is the numeric keysym code (not
-including the ``vendor specific'' bit,
+including the ``vendor specific'' bit,
@ifnottex
-2**28),
@end ifnottex
-@tex
+@tex
$-2^{28}$),
@end tex
and @var{symbol} is the name for the function key.
@ifnottex
-2**28
@end ifnottex
-@tex
+@tex
$-2^{28}$
@end tex
+ 168.
nil)
@end group
@end example
+
+@ignore
+ arch-tag: 8378814a-30d7-467c-9615-74a80b9988a7
+@end ignore