Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
[pspp-builds.git] / doc / utilities.texi
index 54ae7b3b9e5e2e9be189b171c8e4eaac5a63d88a..d825b9abc4a5e0e6a676ecd2c258bbb5f7d06e77 100644 (file)
@@ -1,4 +1,4 @@
-@node Utilities, Not Implemented, Statistics, Top
+@node Utilities
 @chapter Utilities
 
 Commands that don't fit any other category are placed here.
@@ -9,6 +9,8 @@ they take effect only once, unconditionally, at the time that they are
 encountered in the input.
 
 @menu
+* ADD DOCUMENT::                Add documentary text to the active file.
+* CD::                          Change the current directory.
 * COMMENT::                     Document your syntax file.
 * DOCUMENT::                    Document the active file.
 * DISPLAY DOCUMENTS::           Display active file documents.
@@ -21,6 +23,7 @@ encountered in the input.
 * FINISH::                      Terminate the PSPP session.
 * HOST::                        Temporarily return to the operating system.
 * INCLUDE::                     Include a file within the current one.
+* INSERT::                      Insert a file within the current one.
 * PERMISSIONS::                 Change permissions on a file.
 * SET::                         Adjust PSPP runtime parameters.
 * SHOW::                        Display runtime parameters.
@@ -28,7 +31,39 @@ encountered in the input.
 * TITLE::                       Provide a document title.
 @end menu
 
-@node COMMENT, DOCUMENT, Utilities, Utilities
+@node ADD DOCUMENT
+@comment  node-name,  next,  previous,  up
+@section ADD DOCUMENT
+@vindex  ADD DOCUMENT
+
+@display
+ADD DOCUMENT 
+    'line one' 'line two' @dots{} 'last line' .
+@end display
+
+
+@cmd{ADD DOCUMENT} adds one or more lines of descriptive commentary to 
+the active file.  Documents added in this way are saved to system files.
+They can be viewed using @cmd{SYSFILE INFO} or @cmd{DISPLAY
+DOCUMENTS}.  They can be removed from the active file with @cmd{DROP
+DOCUMENTS}.
+
+Each line of documentary text must be enclosed in quotation marks, and 
+may not be more than 80 bytes long. @xref{DOCUMENT}.
+
+@node CD
+@section CD
+@vindex CD
+@cindex directory
+@cindex changing directory
+
+@display
+CD 'new directory' .
+@end display 
+
+@cmd{CD} changes the current directory.  The new directory will become that specified by the command.
+
+@node COMMENT
 @section COMMENT
 @vindex COMMENT
 @vindex *
@@ -45,12 +80,14 @@ the author and other readers of the PSPP syntax file.
 @cmd{COMMENT} can extend over any number of lines.  Don't forget to
 terminate it with a dot or a blank line.
 
-@node DOCUMENT, DISPLAY DOCUMENTS, COMMENT, Utilities
+
+
+@node DOCUMENT
 @section DOCUMENT
 @vindex DOCUMENT
 
 @display
-DOCUMENT documentary_text.
+DOCUMENT @var{documentary_text}.
 @end display
 
 @cmd{DOCUMENT} adds one or more lines of descriptive commentary to the
@@ -59,12 +96,14 @@ They can be viewed using @cmd{SYSFILE INFO} or @cmd{DISPLAY
 DOCUMENTS}.  They can be removed from the active file with @cmd{DROP
 DOCUMENTS}.
 
-Specify the documentary text following the DOCUMENT keyword.  You can
-extend the documentary text over as many lines as necessary.  Lines are
-truncated at 80 characters width.  Don't forget to terminate
-the command with a dot or a blank line.
+Specify the @var{documentary text} following the DOCUMENT keyword.  
+It is interpreted literally --- any quotes or other punctuation marks 
+will be included in the file.
+You can extend the documentary text over as many lines as necessary.  
+Lines are truncated at 80 bytes.  Don't forget to terminate
+the command with a dot or a blank line. @xref{ADD DOCUMENT}.
 
-@node DISPLAY DOCUMENTS, DISPLAY FILE LABEL, DOCUMENT, Utilities
+@node DISPLAY DOCUMENTS
 @section DISPLAY DOCUMENTS
 @vindex DISPLAY DOCUMENTS
 
@@ -76,7 +115,7 @@ DISPLAY DOCUMENTS.
 document is preceded by a line giving the time and date that it was
 added.  @xref{DOCUMENT}.
 
-@node DISPLAY FILE LABEL, DROP DOCUMENTS, DISPLAY DOCUMENTS, Utilities
+@node DISPLAY FILE LABEL
 @section DISPLAY FILE LABEL
 @vindex DISPLAY FILE LABEL
 
@@ -88,7 +127,9 @@ DISPLAY FILE LABEL.
 active file,
 if any.  @xref{FILE LABEL}.
 
-@node DROP DOCUMENTS, ECHO, DISPLAY FILE LABEL, Utilities
+This command is a PSPP extension.
+
+@node DROP DOCUMENTS
 @section DROP DOCUMENTS
 @vindex DROP DOCUMENTS
 
@@ -102,7 +143,7 @@ New documents can be added with @cmd{DOCUMENT} (@pxref{DOCUMENT}).
 @cmd{DROP DOCUMENTS} changes only the active file.  It does not modify any
 system files stored on disk.
 
-@node ECHO, ERASE, DROP DOCUMENTS, Utilities
+@node ECHO
 @section ECHO
 @vindex ECHO
 
@@ -112,7 +153,7 @@ ECHO 'arbitrary text' .
 
 Use @cmd{ECHO} to write arbitrary text to the output stream. The text should be enclosed in quotation marks following the normal rules for string tokens (@pxref{Tokens}).
 
-@node ERASE, EXECUTE, ECHO, Utilities
+@node ERASE
 @comment  node-name,  next,  previous,  up
 @section ERASE
 @vindex ERASE
@@ -126,7 +167,7 @@ file_name must be quoted.
 This command cannot be used if the SAFER setting is active.
 
 
-@node EXECUTE, FILE LABEL, ERASE, Utilities
+@node EXECUTE
 @section EXECUTE
 @vindex EXECUTE
 
@@ -137,7 +178,7 @@ EXECUTE.
 @cmd{EXECUTE} causes the active file to be read and all pending
 transformations to be executed.
 
-@node FILE LABEL, FINISH, EXECUTE, Utilities
+@node FILE LABEL
 @section FILE LABEL
 @vindex FILE LABEL
 
@@ -152,7 +193,7 @@ created during this PSPP run.
 file_label need not be quoted.  If quotes are
 included, they become part of the file label.
 
-@node FINISH, HOST, FILE LABEL, Utilities
+@node FINISH
 @section FINISH
 @vindex FINISH
 
@@ -163,7 +204,7 @@ FINISH.
 @cmd{FINISH} terminates the current PSPP session and returns
 control to the operating system.
 
-@node HOST, INCLUDE, FINISH, Utilities
+@node HOST
 @comment  node-name,  next,  previous,  up
 @section HOST
 @vindex HOST
@@ -177,26 +218,73 @@ to the operating system.
 This command cannot be used if the SAFER setting is active.
 
 
-@node INCLUDE, PERMISSIONS, HOST, Utilities
+@node INCLUDE
 @section INCLUDE
 @vindex INCLUDE
-@vindex @@
 
 @display
-Two possible syntaxes:
-        INCLUDE 'file-name'.
-        @@file-name.
+        INCLUDE [FILE=]'file-name'.
 @end display
 
 @cmd{INCLUDE} causes the PSPP command processor to read an
 additional command file as if it were included bodily in the current
 command file.
-
+If errors are encountered in the included file, then command processing will 
+stop and no more commands will be processed.
 Include files may be nested to any depth, up to the limit of available
 memory.
 
-@node PERMISSIONS, SET, INCLUDE, Utilities
-@comment  node-name,  next,  previous,  up
+
+The @cmd{INSERT} command (@pxref{INSERT}) may be used instead of
+@cmd{INCLUDE} if you require more flexible options.
+The syntax 
+@example
+INCLUDE FILE=@var{file-name}.
+@end example
+@noindent 
+functions identically to 
+@example
+INSERT FILE=@var{file-name} ERROR=STOP CD=NO SYNTAX=BATCH.
+@end example
+
+
+@node INSERT
+@section INSERT
+@vindex INSERT
+
+@display
+     INSERT [FILE=]'file-name'
+        [CD=@{NO,YES@}]
+        [ERROR=@{CONTINUE,STOP@}]
+        [SYNTAX=@{BATCH,INTERACTIVE@}].
+@end display
+
+@cmd{INSERT} is similar to @cmd{INCLUDE} (@pxref{INCLUDE}) 
+but somewhat more flexible.
+It causes the command processor to read a file as if it were embedded in the 
+current command file.
+
+If @samp{CD=YES} is specified, then before including the file, the
+current directory  will be changed to the directory of the included
+file.  
+The default setting is @samp{CD=NO}.
+Note that this directory will remain current until it is
+changed explicitly (with the @cmd{CD} command, or a subsequent
+@cmd{INSERT} command with the @samp{CD=YES} option).
+It will not revert to its original setting even after the included
+file is finished processing.
+
+If @samp{ERROR=STOP} is specified, errors encountered in the
+inserted file will cause processing to immediately cease.
+Otherwise processing will continue at the next command.
+The default setting is @samp{ERROR=CONTINUE}.
+
+If @samp{SYNTAX=INTERACTIVE} is specified then the syntax contained in
+the included file must conform to interactive syntax
+conventions. @xref{Syntax Variants}.
+The default setting is @samp{SYNTAX=BATCH}.
+
+@node PERMISSIONS
 @section PERMISSIONS
 @vindex PERMISSIONS
 @cindex mode
@@ -220,7 +308,7 @@ unchanged.
 This command cannot be used if the SAFER setting is active.
 
 
-@node SET, SHOW, PERMISSIONS, Utilities
+@node SET
 @section SET
 @vindex SET
 
@@ -232,6 +320,8 @@ SET
         /DECIMAL=@{DOT,COMMA@}
         /FORMAT=fmt_spec
         /EPOCH=@{AUTOMATIC,year@}
+        /RIB=@{NATIVE,MSBFIRST,LSBFIRST,VAX@}
+        /RRB=@{NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL@}
 
 (program input)
         /ENDCMD='.'
@@ -244,6 +334,7 @@ SET
         /MXERRS=max_errs
         /MXWARNS=max_warnings
         /PROMPT='prompt'
+        /WORKSPACE=workspace_size
 
 (program execution)
         /MEXPAND=@{ON,OFF@}
@@ -258,6 +349,8 @@ SET
         /CC@{A,B,C,D,E@}=@{'npre,pre,suf,nsuf','npre.pre.suf.nsuf'@}
         /DECIMAL=@{DOT,COMMA@}
         /FORMAT=fmt_spec
+        /WIB=@{NATIVE,MSBFIRST,LSBFIRST,VAX@}
+        /WRB=@{NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL@}
 
 (output routing)
         /ECHO=@{ON,OFF@}
@@ -298,7 +391,6 @@ SET
         /SCRIPTTAB='c'
         /TB1=@{'xxx','xxxxxxxxxxx'@}
         /TBFONTS='string'
-        /WORKSPACE=workspace_size
         /XSORT=@{YES,NO@}
 @end display
 
@@ -314,28 +406,96 @@ files.  The data input subcommands are
 
 @table @asis
 @item BLANKS
+@anchor{SET BLANKS}
 This is the value assigned to an item data item that is empty or
 contains only white space.  An argument of SYSMIS or '.' will cause the
 system-missing value to be assigned to null items.  This is the
 default.  Any real value may be assigned.
 
 @item DECIMAL
-The default DOT setting causes the decimal point character to be
-@samp{.}.  A setting of COMMA causes the decimal point character to be
-@samp{,}.
+@anchor{SET DECIMAL}
+This value may be set to DOT or COMMA.
+Setting it to DOT causes the decimal point character to be
+@samp{.} and the grouping character to be @samp{,}.
+Setting it to COMMA
+causes the decimal point character to be @samp{,} and the grouping
+character to be @samp{.}.
+The default value is determined from the system locale.
 
 @item FORMAT
 Allows the default numeric input/output format to be specified.  The
-default is F8.2.  @xref{Input/Output Formats}.
+default is F8.2.  @xref{Input and Output Formats}.
 
 @item EPOCH
 @anchor{SET EPOCH}
 Specifies the range of years used when a 2-digit year is read from a
 data file or used in a date construction expression (@pxref{Date
-Construction}).  If a 4-digit year is specified, then 2-digit years
-are interpreted starting from that year, known as the epoch.  If
-AUTOMATIC (the default) is specified, then the epoch begins 69 years
-before the current date.
+Construction}).  If a 4-digit year is specified for the epoch, then
+2-digit years are interpreted starting from that year, known as the
+epoch.  If AUTOMATIC (the default) is specified, then the epoch begins
+69 years before the current date.
+
+@item RIB
+@anchor{SET RIB} 
+
+PSPP extension to set the byte ordering (endianness) used for reading
+data in IB or PIB format (@pxref{Binary and Hexadecimal Numeric
+Formats}).  In MSBFIRST ordering, the most-significant byte appears at
+the left end of a IB or PIB field.  In LSBFIRST ordering, the
+least-significant byte appears at the left end.  VAX ordering is like
+MSBFIRST, except that each pair of bytes is in reverse order.  NATIVE,
+the default, is equivalent to MSBFIRST or LSBFIRST depending on the
+native format of the machine running PSPP.
+
+@item RRB
+@anchor{SET RRB}
+
+PSPP extension to set the floating-point format used for reading data in
+RB format (@pxref{Binary and Hexadecimal Numeric Formats}).  The
+possibilities are:
+
+@table @asis
+@item NATIVE
+The native format of the machine running PSPP.  Equivalent to either IDL
+or IDB.
+
+@item ISL
+32-bit IEEE 754 single-precision floating point, in little-endian byte
+order.
+
+@item ISB
+32-bit IEEE 754 single-precision floating point, in big-endian byte
+order.
+
+@item IDL
+64-bit IEEE 754 double-precision floating point, in little-endian byte
+order.
+
+@item IDB
+64-bit IEEE 754 double-precision floating point, in big-endian byte
+order.
+
+@item VF
+32-bit VAX F format, in VAX-endian byte order.
+
+@item VD
+64-bit VAX D format, in VAX-endian byte order.
+
+@item VG
+64-bit VAX G format, in VAX-endian byte order.
+
+@item ZS
+32-bit IBM Z architecture short format hexadecimal floating point, in
+big-endian byte order.  
+
+@item ZL
+64-bit IBM Z architecture long format hexadecimal floating point, in
+big-endian byte order.
+
+Z architecture also supports IEEE 754 floating point.  The ZS and ZL
+formats are only for use with very old input files.
+@end table
+The default is NATIVE.
 @end table
 
 Program input subcommands affect the way that programs are parsed when
@@ -397,6 +557,17 @@ RANDOM, which will obtain an initial seed from the current time of day.
 
 @item UNDEFINED
 Currently not used.
+
+@item WORKSPACE
+The maximum amount of memory that PSPP will use to store data being processed.
+If memory in excess of the workspace size is required, then PSPP will start
+to use temporary files to store the data.
+Setting a higher value will, in general, mean procedures will run faster, 
+but may cause other applications to run slower.
+On platforms without virtual memory management, setting a very large workspace
+may cause PSPP to abort.
+@cindex workspace
+@cindex memory, amount used to store cases
 @end table
 
 Data output subcommands affect the format of output data.  These
@@ -408,18 +579,10 @@ subcommands are
 @itemx CCC
 @itemx CCD
 @itemx CCE
-Set up custom currency formats.  The argument is a string which must
-contain exactly three commas or exactly three periods.  If commas, then
-the grouping character for the currency format is @samp{,}, and the
-decimal point character is @samp{.}; if periods, then the situation is
-reversed.  
-
-The commas or periods divide the string into four fields, which are, in
-order, the negative prefix, prefix, suffix, and negative suffix.  When a
-value is formatted using the custom currency format, the prefix precedes
-the value formatted and the suffix follows it.  In addition, if the
-value is negative, the negative prefix precedes the prefix and the
-negative suffix follows the suffix.
+@anchor{CCx Settings}
+
+Set up custom currency formats.  @xref{Custom Currency Formats}, for
+details.
 
 @item DECIMAL
 The default DOT setting causes the decimal point character to be
@@ -428,7 +591,26 @@ The default DOT setting causes the decimal point character to be
 
 @item FORMAT
 Allows the default numeric input/output format to be specified.  The
-default is F8.2.  @xref{Input/Output Formats}.
+default is F8.2.  @xref{Input and Output Formats}.
+
+@item WIB
+@anchor{SET WIB} 
+
+PSPP extension to set the byte ordering (endianness) used for writing
+data in IB or PIB format (@pxref{Binary and Hexadecimal Numeric
+Formats}).  In MSBFIRST ordering, the most-significant byte appears at
+the left end of a IB or PIB field.  In LSBFIRST ordering, the
+least-significant byte appears at the left end.  VAX ordering is like
+MSBFIRST, except that each pair of bytes is in reverse order.  NATIVE,
+the default, is equivalent to MSBFIRST or LSBFIRST depending on the
+native format of the machine running PSPP.
+
+@item WRB
+@anchor{SET WRB}
+
+PSPP extension to set the floating-point format used for writing data in
+RB format (@pxref{Binary and Hexadecimal Numeric Formats}).  The choices
+are the same as SET RIB.  The default is NATIVE.
 @end table
 
 Output routing subcommands affect where the output of transformations
@@ -473,8 +655,16 @@ files.  These subcommands are
 
 @table @asis
 @item JOURNAL
-@item LOG
-Not currently used.
+@itemx LOG
+These subcommands, which are synonyms, control the journal.  The
+default is ON, which causes commands entered interactively to be
+written to the journal file.  Commands included from syntax files that
+are included interactively and error messages printed by PSPP are also
+written to the journal file, prefixed by @samp{>}.  OFF disables use
+of the journal.
+
+The journal is named @file{pspp.jnl} by default.  A different name may
+be specified.
 @end table
 
 System file subcommands affect the default format of system files
@@ -513,7 +703,7 @@ When set, this setting cannot be reset during the same session, for
 obvious security reasons.
 @end table
 
-@node SHOW, SUBTITLE, SET, Utilities
+@node SHOW
 @comment  node-name,  next,  previous,  up
 @section SHOW
 @vindex SHOW
@@ -562,7 +752,7 @@ Display the terms of PSPP's copyright licence (@pxref{License}).
 
 Specifying @cmd{SHOW} without any subcommands is equivalent to SHOW ALL.
 
-@node SUBTITLE, TITLE, SHOW, Utilities
+@node SUBTITLE
 @section SUBTITLE
 @vindex SUBTITLE
 
@@ -580,7 +770,7 @@ Specify a subtitle as a string in quotes.  The alternate syntax that did
 not require quotes is now obsolete.  If it is used then the subtitle is
 converted to all uppercase.
 
-@node TITLE,  , SUBTITLE, Utilities
+@node TITLE
 @section TITLE
 @vindex TITLE