Add arch taglines
[bpt/emacs.git] / lispref / os.texi
index a6ca1a7..a92f550 100644 (file)
@@ -1,7 +1,7 @@
 @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
@@ -90,13 +90,13 @@ It loads the library @file{site-start}, unless the option
 @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
@@ -111,7 +111,7 @@ It sets the major mode according to @code{initial-major-mode}, provided
 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.
 
@@ -119,10 +119,10 @@ 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
@@ -130,10 +130,10 @@ It calls @code{frame-notice-user-settings}, which modifies the
 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
@@ -216,7 +216,7 @@ way you can change it with real effect is to do so before dumping
 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.
 
@@ -311,7 +311,7 @@ On MS-DOS, if the environment variable @code{TERM} is not set, Emacs
 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.
@@ -381,7 +381,7 @@ has the form:
 -@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})
@@ -400,8 +400,7 @@ arguments is in @code{command-line-args}.)
 
 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
@@ -485,7 +484,7 @@ additional confirmation from the user.  If any of them returns
 @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
@@ -613,6 +612,9 @@ AIX.
 @item berkeley-unix
 Berkeley BSD.
 
+@item cygwin
+Cygwin.
+
 @item dgux
 Data General DGUX operating system.
 
@@ -732,10 +734,10 @@ of this variable.
 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
@@ -915,6 +917,7 @@ Titles}).
 
 @defun user-real-uid
 This function returns the real @sc{uid} of the user.
+The value may be a floating point number.
 
 @example
 @group
@@ -925,7 +928,8 @@ This function returns the real @sc{uid} of the user.
 @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
@@ -1159,9 +1163,10 @@ seconds since the epoch, to a time value and returns that.  To perform
 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})
@@ -1228,6 +1233,8 @@ arguments; for example, day 0 means the day preceding the given month.
 
 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
@@ -1273,8 +1280,8 @@ This function returns @code{t} if @var{year} is a leap year.
 @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:
@@ -1283,6 +1290,13 @@ namely, while waiting or inside certain primitive functions such as
 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
@@ -1858,11 +1872,11 @@ To define system-specific X11 keysyms, set the variable
 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.
@@ -1872,7 +1886,7 @@ by HP X servers) whose numeric code is
 @ifnottex
 -2**28
 @end ifnottex
-@tex 
+@tex
 $-2^{28}$
 @end tex
 + 168.
@@ -2061,3 +2075,7 @@ Emacs is restarted by the session manager.
   nil)
 @end group
 @end example
+
+@ignore
+   arch-tag: 8378814a-30d7-467c-9615-74a80b9988a7
+@end ignore