doc: Remove documentation for SET MORE subcommand.
[pspp] / doc / utilities.texi
1 @c PSPP - a program for statistical analysis.
2 @c Copyright (C) 2017 Free Software Foundation, Inc.
3 @c Permission is granted to copy, distribute and/or modify this document
4 @c under the terms of the GNU Free Documentation License, Version 1.3
5 @c or any later version published by the Free Software Foundation;
6 @c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
7 @c A copy of the license is included in the section entitled "GNU
8 @c Free Documentation License".
9 @c
10 @node Utilities
11 @chapter Utilities
12
13 Commands that don't fit any other category are placed here.
14
15 Most of these commands are not affected by commands like @cmd{IF} and
16 @cmd{LOOP}:
17 they take effect only once, unconditionally, at the time that they are
18 encountered in the input.
19
20 @menu
21 * ADD DOCUMENT::                Add documentary text to the active dataset.
22 * CACHE::                       Ignored for compatibility.
23 * CD::                          Change the current directory.
24 * COMMENT::                     Document your syntax file.
25 * DOCUMENT::                    Document the active dataset.
26 * DISPLAY DOCUMENTS::           Display active dataset documents.
27 * DISPLAY FILE LABEL::          Display the active dataset label.
28 * DROP DOCUMENTS::              Remove documents from the active dataset.
29 * ECHO::                        Write a string to the output stream.
30 * ERASE::                       Erase a file.
31 * EXECUTE::                     Execute pending transformations.
32 * FILE LABEL::                  Set the active dataset's label.
33 * FINISH::                      Terminate the @pspp{} session.
34 * HOST::                        Temporarily return to the operating system.
35 * INCLUDE::                     Include a file within the current one.
36 * INSERT::                      Insert a file within the current one.
37 * OUTPUT::                      Modify the appearance of the output.
38 * PERMISSIONS::                 Change permissions on a file.
39 * PRESERVE and RESTORE::        Saving settings and restoring them later.
40 * SET::                         Adjust @pspp{} runtime parameters.
41 * SHOW::                        Display runtime parameters.
42 * SUBTITLE::                    Provide a document subtitle.
43 * TITLE::                       Provide a document title.
44 @end menu
45
46 @node ADD DOCUMENT
47 @section ADD DOCUMENT
48 @vindex  ADD DOCUMENT
49
50 @display
51 ADD DOCUMENT 
52     'line one' 'line two' @dots{} 'last line' .
53 @end display
54
55
56 @cmd{ADD DOCUMENT} adds one or more lines of descriptive commentary to 
57 the active dataset.  Documents added in this way are saved to system files.
58 They can be viewed using @cmd{SYSFILE INFO} or @cmd{DISPLAY
59 DOCUMENTS}.  They can be removed from the active dataset with @cmd{DROP
60 DOCUMENTS}.
61
62 Each line of documentary text must be enclosed in quotation marks, and 
63 may not be more than 80 bytes long. @xref{DOCUMENT}.
64
65 @node CACHE
66 @section CACHE
67 @vindex CACHE
68
69 @display
70 CACHE.
71 @end display
72
73 This command is accepted, for compatibility, but it has no effect.
74
75 @node CD
76 @section CD
77 @vindex CD
78 @cindex directory
79 @cindex changing directory
80
81 @display
82 CD 'new directory' .
83 @end display 
84
85 @cmd{CD} changes the current directory.  The new directory will become that specified by the command.
86
87 @node COMMENT
88 @section COMMENT
89 @vindex COMMENT
90 @vindex *
91
92 @display 
93 Two possibles syntaxes:
94         COMMENT comment text @dots{} .
95         *comment text @dots{} .
96 @end display
97
98 @cmd{COMMENT} is ignored.  It is used to provide information to
99 the author and other readers of the @pspp{} syntax file.  
100
101 @cmd{COMMENT} can extend over any number of lines.  Don't forget to
102 terminate it with a dot or a blank line.
103
104
105
106 @node DOCUMENT
107 @section DOCUMENT
108 @vindex DOCUMENT
109
110 @display
111 DOCUMENT @var{documentary_text}.
112 @end display
113
114 @cmd{DOCUMENT} adds one or more lines of descriptive commentary to the
115 active dataset.  Documents added in this way are saved to system files.
116 They can be viewed using @cmd{SYSFILE INFO} or @cmd{DISPLAY
117 DOCUMENTS}.  They can be removed from the active dataset with @cmd{DROP
118 DOCUMENTS}.
119
120 Specify the @var{documentary text} following the @subcmd{DOCUMENT} keyword.  
121 It is interpreted literally --- any quotes or other punctuation marks 
122 will be included in the file.
123 You can extend the documentary text over as many lines as necessary.  
124 Lines are truncated at 80 bytes.  Don't forget to terminate
125 the command with a dot or a blank line. @xref{ADD DOCUMENT}.
126
127 @node DISPLAY DOCUMENTS
128 @section DISPLAY DOCUMENTS
129 @vindex DISPLAY DOCUMENTS
130
131 @display
132 DISPLAY DOCUMENTS.
133 @end display
134
135 @cmd{DISPLAY DOCUMENTS} displays the documents in the active dataset.  Each
136 document is preceded by a line giving the time and date that it was
137 added.  @xref{DOCUMENT}.
138
139 @node DISPLAY FILE LABEL
140 @section DISPLAY FILE LABEL
141 @vindex DISPLAY FILE LABEL
142
143 @display
144 DISPLAY FILE LABEL.
145 @end display
146
147 @cmd{DISPLAY FILE LABEL} displays the file label contained in the
148 active dataset,
149 if any.  @xref{FILE LABEL}.
150
151 This command is a @pspp{} extension.
152
153 @node DROP DOCUMENTS
154 @section DROP DOCUMENTS
155 @vindex DROP DOCUMENTS
156
157 @display
158 DROP DOCUMENTS.
159 @end display
160
161 @cmd{DROP DOCUMENTS} removes all documents from the active dataset.
162 New documents can be added with @cmd{DOCUMENT} (@pxref{DOCUMENT}).
163
164 @cmd{DROP DOCUMENTS} changes only the active dataset.  It does not modify any
165 system files stored on disk.
166
167 @node ECHO
168 @section ECHO
169 @vindex ECHO
170
171 @display 
172 ECHO 'arbitrary text' .
173 @end display
174
175 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}).
176
177 @node ERASE
178 @section ERASE
179 @vindex ERASE
180
181 @display
182 ERASE FILE @var{file_name}.
183 @end display
184
185 @cmd{ERASE FILE} deletes a file from the local filesystem.
186 @var{file_name} must be quoted.
187 This command cannot be used if the SAFER (@pxref{SET}) setting is active.
188
189
190 @node EXECUTE
191 @section EXECUTE
192 @vindex EXECUTE
193
194 @display
195 EXECUTE.
196 @end display
197
198 @cmd{EXECUTE} causes the active dataset to be read and all pending
199 transformations to be executed.
200
201 @node FILE LABEL
202 @section FILE LABEL
203 @vindex FILE LABEL
204
205 @display
206 FILE LABEL @var{file_label}.
207 @end display
208
209 @cmd{FILE LABEL} provides a title for the active dataset.  This
210 title will be saved into system files and portable files that are
211 created during this @pspp{} run.
212
213 @var{file_label} should not be quoted.
214 If quotes are included, they are literally interpreted and become part of the file label.
215
216 @node FINISH
217 @section FINISH
218 @vindex FINISH
219
220 @display
221 FINISH.
222 @end display
223
224 @cmd{FINISH} terminates the current @pspp{} session and returns
225 control to the operating system.
226
227 @node HOST
228 @section HOST
229 @vindex HOST
230
231 @display
232 HOST.
233 HOST COMMAND=['@var{command}'...].
234 @end display
235
236 @cmd{HOST} suspends the current @pspp{} session and temporarily returns control 
237 to the operating system.
238 This command cannot be used if the SAFER (@pxref{SET}) setting is active.
239
240 If the @subcmd{COMMAND} subcommand is specified, as a sequence of shell
241 commands as quoted strings within square brackets, then @pspp{} executes
242 them together in a single subshell.
243
244 If no subcommands are specified, then @pspp{} invokes an interactive
245 subshell.
246
247 @node INCLUDE
248 @section INCLUDE
249 @vindex INCLUDE
250
251 @display
252         INCLUDE [FILE=]'@var{file_name}' [ENCODING='@var{encoding}'].
253 @end display
254
255 @cmd{INCLUDE} causes the @pspp{} command processor to read an
256 additional command file as if it were included bodily in the current
257 command file.
258 If errors are encountered in the included file, then command processing will 
259 stop and no more commands will be processed.
260 Include files may be nested to any depth, up to the limit of available
261 memory.
262
263 The @cmd{INSERT} command (@pxref{INSERT}) is a more flexible
264 alternative to @cmd{INCLUDE}.  An @cmd{INCLUDE} command acts the same as
265 @cmd{INSERT} with @subcmd{ERROR=STOP CD=NO SYNTAX=BATCH} specified.
266
267 The optional @subcmd{ENCODING} subcommand has the same meaning as with @cmd{INSERT}.
268
269 @node INSERT
270 @section INSERT
271 @vindex INSERT
272
273 @display
274      INSERT [FILE=]'@var{file_name}'
275         [CD=@{NO,YES@}]
276         [ERROR=@{CONTINUE,STOP@}]
277         [SYNTAX=@{BATCH,INTERACTIVE@}]
278         [ENCODING=@{LOCALE, '@var{charset_name}'@}].
279 @end display
280
281 @cmd{INSERT} is similar to @cmd{INCLUDE} (@pxref{INCLUDE}) 
282 but somewhat more flexible.
283 It causes the command processor to read a file as if it were embedded in the 
284 current command file.
285
286 If @subcmd{CD=YES} is specified, then before including the file, the
287 current directory  will be changed to the directory of the included
288 file.  
289 The default setting is @samp{CD=NO}.
290 Note that this directory will remain current until it is
291 changed explicitly (with the @cmd{CD} command, or a subsequent
292 @cmd{INSERT} command with the @samp{CD=YES} option).
293 It will not revert to its original setting even after the included
294 file is finished processing.
295
296 If @subcmd{ERROR=STOP} is specified, errors encountered in the
297 inserted file will cause processing to immediately cease.
298 Otherwise processing will continue at the next command.
299 The default setting is @subcmd{ERROR=CONTINUE}.
300
301 If @subcmd{SYNTAX=INTERACTIVE} is specified then the syntax contained in
302 the included file must conform to interactive syntax
303 conventions. @xref{Syntax Variants}.
304 The default setting is @subcmd{SYNTAX=BATCH}.
305
306 @subcmd{ENCODING} optionally specifies the character set used by the included
307 file.  Its argument, which is not case-sensitive, must be in one of
308 the following forms:
309
310 @table @asis
311 @item @subcmd{LOCALE}
312 The encoding used by the system locale, or as overridden by the 
313 @cmd{SET} command (@pxref{SET}).  On GNU/Linux and other Unix-like systems,
314 environment variables, e.g.@: @env{LANG} or @env{LC_ALL}, determine the
315 system locale.
316
317 @item @var{charset_name}
318 One of the character set names listed by @acronym{IANA} at
319 @uref{http://www.iana.org/assignments/character-sets}.  Some examples
320 are @code{ASCII} (United States), @code{ISO-8859-1} (western Europe),
321 @code{EUC-JP} (Japan), and @code{windows-1252} (Windows).  Not all
322 systems support all character sets.
323
324 @item @code{Auto,@var{encoding}}
325 Automatically detects whether a syntax file is encoded in an Unicode
326 encoding such as UTF-8, UTF-16, or UTF-32.  If it is not, then @pspp{}
327 generally assumes that the file is encoded in @var{encoding} (an @acronym{IANA}
328 character set name).  However, if @var{encoding} is UTF-8, and the
329 syntax file is not valid UTF-8, @pspp{} instead assumes that the file
330 is encoded in @code{windows-1252}.
331
332 For best results, @var{encoding} should be an @acronym{ASCII}-compatible
333 encoding (the most common locale encodings are all @acronym{ASCII}-compatible),
334 because encodings that are not @acronym{ASCII} compatible cannot be
335 automatically distinguished from UTF-8.
336
337 @item @code{Auto}
338 @item @code{Auto,Locale}
339 Automatic detection, as above, with the default encoding taken from
340 the system locale or the setting on @subcmd{SET LOCALE}.
341 @end table
342
343 When ENCODING is not specified, the default is taken from the
344 @option{--syntax-encoding} command option, if it was specified, and
345 otherwise it is @code{Auto}.
346
347 @node OUTPUT
348 @section OUTPUT
349 @vindex OUTPUT
350 @cindex precision, of output
351 @cindex decimal places
352
353 @display
354 OUTPUT MODIFY
355        /SELECT TABLES
356        /TABLECELLS SELECT = [ @var{class}... ]
357                    FORMAT = @var{fmt_spec}.
358 @end display
359 @note{In the above synopsis the characters @samp{[} and @samp{]} are literals.
360 They must appear in the syntax to be interpreted.}
361
362 @cmd{OUTPUT} changes the appearance of the tables in which results are printed.
363 In particular, it can be used to set the format and precision to which results are displayed.
364
365 After running this command, the default table appearance parameters will have been modified and  each 
366 new output table generated will use the new parameters.
367
368 Following @code{/TABLECELLS SELECT =} a list of cell classes must appear, enclosed in square
369 brackets.  This list determines the classes of values should be selected for modification.
370 Each class can be:
371
372 @table @asis
373 @item RESIDUAL
374 Residual values.  Default: @t{F40.2}.
375
376 @item CORRELATION
377 Correlations.  Default: @t{F40.3}.
378
379 @item PERCENT
380 Percentages.  Default: @t{PCT40.1}.
381
382 @item SIGNIFICANCE
383 Significance of tests (p-values).  Default: @t{F40.3}.
384
385 @item COUNT
386 Counts or sums of weights.  For a weighted data set, the default is
387 the weight variable's print format.  For an unweighted data set, the
388 default is F40.0.
389 @end table
390
391 For most other numeric values that appear in tables, @code{SET FORMAT}
392 may be used to specify the format (@pxref{SET FORMAT}).
393
394 The value of @var{fmt_spec} must be a valid output format (@pxref{Input and Output Formats}).
395 Note that not all possible formats are meaningful for all classes.
396
397 @node PERMISSIONS
398 @section PERMISSIONS
399 @vindex PERMISSIONS
400 @cindex mode
401 @cindex file mode
402 @cindex changing file permissions
403
404 @display
405 PERMISSIONS
406         FILE='@var{file_name}'
407         /PERMISSIONS = @{READONLY,WRITEABLE@}.
408 @end display
409
410 @cmd{PERMISSIONS} changes the permissions of a file.  
411 There is one mandatory subcommand which specifies the permissions to
412 which the file should be changed.  
413 If you set a file's  permission  to @subcmd{READONLY}, then the file will become
414 unwritable either by you or anyone else on the system.
415 If you set the permission to @subcmd{WRITEABLE}, then the file will become
416 writeable by you; the permissions afforded to others will be
417 unchanged.
418 This command cannot be used if the @subcmd{SAFER} (@pxref{SET}) setting is active.
419
420
421 @node PRESERVE and RESTORE
422 @section PRESERVE and RESTORE
423 @vindex PRESERVE
424 @vindex RESTORE
425
426 @display
427 PRESERVE.
428 @dots{}
429 RESTORE.
430 @end display
431
432 @cmd{PRESERVE} saves all of the settings that @cmd{SET} (@pxref{SET})
433 can adjust.  A later @cmd{RESTORE} command restores those settings.
434
435 @cmd{PRESERVE} can be nested up to five levels deep.
436
437 @node SET
438 @section SET
439 @vindex SET
440
441 @display
442 SET
443
444 (data input)
445         /BLANKS=@{SYSMIS,'.',number@}
446         /DECIMAL=@{DOT,COMMA@}
447         /FORMAT=@var{fmt_spec}
448         /EPOCH=@{AUTOMATIC,@var{year}@}
449         /RIB=@{NATIVE,MSBFIRST,LSBFIRST,VAX@}
450         /RRB=@{NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL@}
451
452 (interaction)
453         /MXERRS=@var{max_errs}
454         /MXWARNS=@var{max_warnings}
455         /WORKSPACE=@var{workspace_size}
456
457 (syntax execution)
458         /LOCALE='@var{locale}'
459         /MEXPAND=@{ON,OFF@}
460         /MITERATE=@var{max_iterations}
461         /MNEST=@var{max_nest}
462         /MPRINT=@{ON,OFF@}
463         /MXLOOPS=@var{max_loops}
464         /SEED=@{RANDOM,@var{seed_value}@}
465         /UNDEFINED=@{WARN,NOWARN@}
466         /FUZZBITS=@var{fuzzbits}
467
468 (data output)
469         /CC@{A,B,C,D,E@}=@{'@var{npre},@var{pre},@var{suf},@var{nsuf}','@var{npre}.@var{pre}.@var{suf}.@var{nsuf}'@}
470         /DECIMAL=@{DOT,COMMA@}
471         /FORMAT=@var{fmt_spec}
472         /WIB=@{NATIVE,MSBFIRST,LSBFIRST,VAX@}
473         /WRB=@{NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL@}
474
475 (output routing)
476         /ERRORS=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
477         /MESSAGES=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
478         /PRINTBACK=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
479         /RESULTS=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
480
481 (output driver options)
482         /HEADERS=@{NO,YES,BLANK@}
483         /LENGTH=@{NONE,@var{n_lines}@}
484         /WIDTH=@{NARROW,WIDTH,@var{n_characters}@}
485         /TNUMBERS=@{VALUES,LABELS,BOTH@}
486         /TVARS=@{NAMES,LABELS,BOTH@}
487
488 (logging)
489         /JOURNAL=@{ON,OFF@} ['@var{file_name}']
490
491 (system files)
492         /COMPRESSION=@{ON,OFF@}
493         /SCOMPRESSION=@{ON,OFF@}
494
495 (miscellaneous)
496         /SAFER=ON
497         /LOCALE='@var{string}'
498
499
500 (obsolete settings accepted for compatibility, but ignored)
501         /BOXSTRING=@{'@var{xxx}','@var{xxxxxxxxxxx}'@}
502         /CASE=@{UPPER,UPLOW@}
503         /CPI=cpi_value
504         /HIGHRES=@{ON,OFF@}
505         /HISTOGRAM='@var{c}'
506         /LOWRES=@{AUTO,ON,OFF@}
507         /LPI=@var{lpi_value}
508         /MENUS=@{STANDARD,EXTENDED@}
509         /MXMEMORY=@var{max_memory}
510         /SCRIPTTAB='c'
511         /TB1=@{'@var{xxx}','@var{xxxxxxxxxxx}'@}
512         /TBFONTS='@var{string}'
513         /XSORT=@{YES,NO@}
514 @end display
515
516 @cmd{SET} allows the user to adjust several parameters relating to
517 @pspp{}'s execution.  Since there are many subcommands to this command, its
518 subcommands will be examined in groups.
519
520 For subcommands that take boolean values, @subcmd{ON} and @subcmd{YES} are synonymous, 
521 as are @subcmd{OFF} and @subcmd{NO}, when used as subcommand values.
522
523 The data input subcommands affect the way that data is read from data
524 files.  The data input subcommands are
525
526 @table @asis
527 @item BLANKS
528 @anchor{SET BLANKS}
529 This is the value assigned to an item data item that is empty or
530 contains only white space.  An argument of SYSMIS or '.' will cause the
531 system-missing value to be assigned to null items.  This is the
532 default.  Any real value may be assigned.
533
534 @item DECIMAL
535 @anchor{SET DECIMAL}
536 This value may be set to @subcmd{DOT} or @subcmd{COMMA}.
537 Setting it to @subcmd{DOT} causes the decimal point character to be
538 @samp{.} and the grouping character to be @samp{,}.
539 Setting it to @subcmd{COMMA}
540 causes the decimal point character to be @samp{,} and the grouping
541 character to be @samp{.}.
542 If the setting is @subcmd{COMMA}, then @samp{,} will not be treated
543 as a field separator in the @cmd{DATA LIST} command (@pxref{DATA LIST}).
544 The default value is determined from the system locale.
545
546 @item FORMAT
547 @anchor{SET FORMAT}
548 Allows the default numeric input/output format to be specified.  The
549 default is F8.2.  @xref{Input and Output Formats}.
550
551 @item EPOCH
552 @anchor{SET EPOCH}
553 Specifies the range of years used when a 2-digit year is read from a
554 data file or used in a date construction expression (@pxref{Date
555 Construction}).  If a 4-digit year is specified for the epoch, then
556 2-digit years are interpreted starting from that year, known as the
557 epoch.  If @subcmd{AUTOMATIC} (the default) is specified, then the epoch begins
558 69 years before the current date.
559
560 @item RIB
561 @anchor{SET RIB} 
562
563 @pspp{} extension to set the byte ordering (endianness) used for reading
564 data in IB or PIB format (@pxref{Binary and Hexadecimal Numeric
565 Formats}).  In @subcmd{MSBFIRST} ordering, the most-significant byte appears at
566 the left end of a IB or PIB field.  In @subcmd{LSBFIRST} ordering, the
567 least-significant byte appears at the left end.  @subcmd{VAX} ordering is like
568 @subcmd{MSBFIRST}, except that each pair of bytes is in reverse order.  @subcmd{NATIVE},
569 the default, is equivalent to @subcmd{MSBFIRST} or @subcmd{LSBFIRST} depending on the
570 native format of the machine running @pspp{}.
571
572 @item RRB
573 @anchor{SET RRB}
574
575 @pspp{} extension to set the floating-point format used for reading data in
576 RB format (@pxref{Binary and Hexadecimal Numeric Formats}).  The
577 possibilities are:
578
579 @table @asis
580 @item NATIVE
581 The native format of the machine running @pspp{}.  Equivalent to either IDL
582 or IDB.
583
584 @item ISL
585 32-bit IEEE 754 single-precision floating point, in little-endian byte
586 order.
587
588 @item ISB
589 32-bit IEEE 754 single-precision floating point, in big-endian byte
590 order.
591
592 @item IDL
593 64-bit IEEE 754 double-precision floating point, in little-endian byte
594 order.
595
596 @item IDB
597 64-bit IEEE 754 double-precision floating point, in big-endian byte
598 order.
599
600 @item VF
601 32-bit VAX F format, in VAX-endian byte order.
602
603 @item VD
604 64-bit VAX D format, in VAX-endian byte order.
605
606 @item VG
607 64-bit VAX G format, in VAX-endian byte order.
608
609 @item ZS
610 32-bit IBM Z architecture short format hexadecimal floating point, in
611 big-endian byte order.  
612
613 @item ZL
614 64-bit IBM Z architecture long format hexadecimal floating point, in
615 big-endian byte order.
616
617 Z architecture also supports IEEE 754 floating point.  The ZS and ZL
618 formats are only for use with very old input files.
619 @end table
620 The default is NATIVE.
621 @end table
622
623 Interaction subcommands affect the way that @pspp{} interacts with an
624 online user.  The interaction subcommands are
625
626 @table @asis
627 @item MXERRS
628 The maximum number of errors before @pspp{} halts processing of the current
629 command file.  The default is 50.
630
631 @item MXWARNS
632 The maximum number of warnings + errors before @pspp{} halts processing the
633 current command file.  
634 The special value of zero means that all warning situations should be ignored.
635 No warnings will be issued, except a single initial warning advising the user
636 that warnings will not be given.
637 The default value is 100.
638 @end table
639
640 Syntax execution subcommands control the way that @pspp{} commands
641 execute.  The syntax execution subcommands are
642
643 @table @asis
644 @item LOCALE
645 Overrides the system locale for the purpose of reading and writing
646 syntax and data files.  The argument should be a locale name in the
647 general form @code{@var{language}_@var{country}.@var{encoding}}, where @var{language}
648 and @var{country} are 2-character language and country abbreviations,
649 respectively, and @var{encoding} is an @acronym{IANA} character set name.
650 Example locales are @code{en_US.UTF-8} (UTF-8 encoded English as
651 spoken in the United States) and @code{ja_JP.EUC-JP} (EUC-JP encoded
652 Japanese as spoken in Japan).
653
654 @item MEXPAND
655 @itemx MITERATE
656 @itemx MNEST
657 @itemx MPRINT
658 Currently not used.
659
660 @item MXLOOPS
661 The maximum number of iterations for an uncontrolled loop (@pxref{LOOP}).
662 The default @var{max_loops} is 40.
663
664 @item SEED
665 The initial pseudo-random number seed.  Set to a real number or to
666 RANDOM, which will obtain an initial seed from the current time of day.
667
668 @item UNDEFINED
669 Currently not used.
670
671 @item FUZZBITS
672 @anchor{SET FUZZBITS}
673 The maximum number of bits of errors in the least-significant places
674 to accept for rounding up a value that is almost halfway between two
675 possibilities for rounding with the RND operator (@pxref{Miscellaneous
676 Mathematics}).  The default @var{fuzzbits} is 6.
677
678 @item WORKSPACE
679 The maximum amount of memory (in kilobytes) that @pspp{} will use to store data being processed.
680 If memory in excess of the workspace size is required, then @pspp{} will start
681 to use temporary files to store the data.
682 Setting a higher value will, in general, mean procedures will run faster, 
683 but may cause other applications to run slower.
684 On platforms without virtual memory management, setting a very large workspace
685 may cause @pspp{} to abort.
686 @cindex workspace
687 @cindex memory, amount used to store cases
688 @end table
689
690 Data output subcommands affect the format of output data.  These
691 subcommands are
692
693 @table @asis
694 @item CCA
695 @itemx CCB
696 @itemx CCC
697 @itemx CCD
698 @itemx CCE
699 @anchor{CCx Settings}
700
701 Set up custom currency formats.  @xref{Custom Currency Formats}, for
702 details.
703
704 @item DECIMAL
705 The default @subcmd{DOT} setting causes the decimal point character to be
706 @samp{.}.  A setting of @subcmd{COMMA} causes the decimal point character to be
707 @samp{,}.
708
709 @item FORMAT
710 Allows the default numeric input/output format to be specified.  The
711 default is F8.2.  @xref{Input and Output Formats}.
712
713 @item WIB
714 @anchor{SET WIB} 
715
716 @pspp{} extension to set the byte ordering (endianness) used for writing
717 data in IB or PIB format (@pxref{Binary and Hexadecimal Numeric
718 Formats}).  In @subcmd{MSBFIRST} ordering, the most-significant byte appears at
719 the left end of a IB or PIB field.  In @subcmd{LSBFIRST} ordering, the
720 least-significant byte appears at the left end.  @subcmd{VAX} ordering is like
721 @subcmd{MSBFIRST}, except that each pair of bytes is in reverse order.  @subcmd{NATIVE},
722 the default, is equivalent to @subcmd{MSBFIRST} or @subcmd{LSBFIRST} depending on the
723 native format of the machine running @pspp{}.
724
725 @item WRB
726 @anchor{SET WRB}
727
728 @pspp{} extension to set the floating-point format used for writing data in
729 RB format (@pxref{Binary and Hexadecimal Numeric Formats}).  The choices
730 are the same as @subcmd{SET RIB}.  The default is @subcmd{NATIVE}.
731 @end table
732
733 In the @pspp{} text-based interface, the output routing subcommands
734 affect where output is sent.  The following values are allowed for
735 each of these subcommands:
736
737 @table @asis
738 @item OFF
739 @item NONE
740 Discard this kind of output.
741
742 @item TERMINAL
743 Write this output to the terminal, but not to listing files and other
744 output devices.
745
746 @item LISTING
747 Write this output to listing files and other output devices, but not
748 to the terminal.
749
750 @item ON
751 @itemx BOTH
752 Write this type of output to all output devices.
753 @end table
754
755 These output routing subcommands are:
756
757 @table @asis
758 @item ERRORS
759 Applies to error and warning messages.  The default is @subcmd{BOTH}.
760
761 @item MESSAGES
762 Applies to notes.  The default is @subcmd{BOTH}.
763
764 @item PRINTBACK
765 Determines whether the syntax used for input is printed back as part
766 of the output.  The default is @subcmd{NONE}.
767
768 @item RESULTS
769 Applies to everything not in one of the above categories, such as the
770 results of statistical procedures.  The default is @subcmd{BOTH}.
771 @end table
772
773 These subcommands have no effect on output in the @pspp{} GUI
774 environment.
775
776 Output driver option subcommands affect output drivers' settings.  These
777 subcommands are
778
779 @table @asis
780 @item HEADERS
781 @itemx LENGTH
782 @itemx WIDTH
783 @itemx TNUMBERS
784 The @subcmd{TNUMBERS} option sets the way in which values are displayed in output tables.
785 The valid settings are @subcmd{VALUES}, @subcmd{LABELS} and @subcmd{BOTH}.
786 If @subcmd{TNUMBERS} is set to @subcmd{VALUES}, then all values are displayed with their literal value 
787 (which for a numeric value is a number and for a string value an alphanumeric string).
788 If @subcmd{TNUMBERS} is set to @subcmd{LABELS}, then values are displayed using their assigned labels if any.
789 (@xref{VALUE LABELS}.)
790 If the a value has no label, then it will be displayed using its literal value.
791 If @subcmd{TNUMBERS} is set to @subcmd{BOTH}, then values will be displayed with both their label
792 (if any) and their literal value in parentheses.
793 @item TVARS
794 The @subcmd{TVARS} option sets the way in which variables are displayed in output tables.
795 The valid settings are @subcmd{NAMES}, @subcmd{LABELS} and @subcmd{BOTH}.
796 If @subcmd{TVARS} is set to @subcmd{NAMES}, then all variables are displayed using their names.
797 If @subcmd{TVARS} is set to @subcmd{LABELS}, then variables are displayed using their label if one
798 has been set.  If no label has been set, then the name will be used.
799 (@xref{VARIABLE LABELS}.)
800 If @subcmd{TVARS} is set to @subcmd{BOTH}, then variables will be displayed with both their label
801 (if any) and their name in parentheses.
802 @end table
803
804 @cindex headers
805 @cindex length
806 @cindex pager 
807 @cindex width
808 @cindex tnumbers
809
810
811 Logging subcommands affect logging of commands executed to external
812 files.  These subcommands are
813
814 @table @asis
815 @item JOURNAL
816 @itemx LOG
817 These subcommands, which are synonyms, control the journal.  The
818 default is @subcmd{ON}, which causes commands entered interactively to be
819 written to the journal file.  Commands included from syntax files that
820 are included interactively and error messages printed by @pspp{} are also
821 written to the journal file, prefixed by @samp{>}.  @subcmd{OFF} disables use
822 of the journal.
823
824 The journal is named @file{pspp.jnl} by default.  A different name may
825 be specified.
826 @end table
827
828 System file subcommands affect the default format of system files
829 produced by @pspp{}.  These subcommands are
830
831 @table @asis
832 @item COMPRESSION
833 Not currently used.
834
835 @item SCOMPRESSION
836 Whether system files created by @cmd{SAVE} or @cmd{XSAVE} are
837 compressed by default.  The default is @subcmd{ON}.
838 @end table
839
840 Security subcommands affect the operations that commands are allowed to
841 perform.  The security subcommands are
842
843 @table @asis
844 @item SAFER
845 Setting this option disables the following operations:
846
847 @itemize @bullet
848 @item
849 The @cmd{ERASE} command.
850 @item
851 The @cmd{HOST} command.
852 @item
853 The @cmd{PERMISSIONS} command.
854 @item
855 Pipes (file names beginning or ending with @samp{|}).
856 @end itemize
857
858 Be aware that this setting does not guarantee safety (commands can still
859 overwrite files, for instance) but it is an improvement.
860 When set, this setting cannot be reset during the same session, for
861 obvious security reasons.
862
863 @item LOCALE
864 @cindex locale
865 @cindex encoding, characters
866 This item is used to set the default character encoding.
867 The encoding may be specified either as an encoding name or alias
868 (see @url{http://www.iana.org/assignments/character-sets}), or
869 as a locale name.
870 If given as a locale name, only the character encoding of the 
871 locale is relevant.
872
873 System files written by @pspp{} will use this encoding.
874 System files read by @pspp{}, for which the encoding is unknown, will be
875 interpreted using this encoding.
876
877 The full list of valid encodings and locale names/alias are operating system
878 dependent.
879 The following are all examples of acceptable syntax on common GNU/Linux
880 systems.
881 @example
882 SET LOCALE='iso-8859-1'.
883
884 SET LOCALE='ru_RU.cp1251'.
885
886 SET LOCALE='japanese'.
887 @end example
888
889 Contrary to intuition, this command does not affect any aspect 
890 of the system's locale.
891 @end table
892
893 @node SHOW
894 @section SHOW
895 @vindex SHOW
896
897 @display
898 SHOW
899         [ALL]
900         [BLANKS]
901         [CC]
902         [CCA]
903         [CCB]
904         [CCC]
905         [CCD]
906         [CCE]
907         [COPYING]
908         [DECIMALS]
909         [DIRECTORY]
910         [ENVIRONMENT]
911         [FORMAT]
912         [FUZZBITS]
913         [LENGTH]
914         [MXERRS]
915         [MXLOOPS]
916         [MXWARNS]
917         [N]
918         [SCOMPRESSION]
919         [TEMPDIR]
920         [UNDEFINED]
921         [VERSION]
922         [WARRANTY]
923         [WEIGHT]
924         [WIDTH]
925 @end display
926
927 @cmd{SHOW} can be used to display the current state of @pspp{}'s execution
928 parameters.  Parameters that can be changed using @cmd{SET}
929 (@pxref{SET}), can be examined using @cmd{SHOW} using the subcommand
930 with the same name.  @cmd{SHOW} supports the following additional
931 subcommands:
932
933 @table @asis
934 @item @subcmd{ALL}
935 Show all settings.
936 @item @subcmd{CC}
937 Show all custom currency settings (@subcmd{CCA} through @subcmd{CCE}).
938 @item @subcmd{DIRECTORY}
939 Shows the current working directory.
940 @item @subcmd{ENVIRONMENT}
941 Shows the operating system details.
942 @item @subcmd{N}
943 Reports the number of cases in the active dataset.  The reported number is not
944 weighted.  If no dataset is defined, then @samp{Unknown} will be reported.
945 @item @subcmd{TEMPDIR}
946 Shows the path of the directory where temporary files will be stored.
947 @item @subcmd{VERSION}
948 Shows the version of this installation of @pspp{}.
949 @item @subcmd{WARRANTY}
950 Show details of the lack of warranty for @pspp{}.
951 @item @subcmd{COPYING} / @subcmd{LICENSE}
952 Display the terms of @pspp{}'s copyright licence (@pxref{License}).
953 @end table
954
955 Specifying @cmd{SHOW} without any subcommands is equivalent to @subcmd{SHOW ALL}.
956
957 @node SUBTITLE
958 @section SUBTITLE
959 @vindex SUBTITLE
960
961 @display
962 SUBTITLE '@var{subtitle_string}'.
963   or
964 SUBTITLE @var{subtitle_string}.
965 @end display
966
967 @cmd{SUBTITLE} provides a subtitle to a particular @pspp{}
968 run.  This subtitle appears at the top of each output page below the
969 title, if headers are enabled on the output device.
970
971 Specify a subtitle as a string in quotes.  The alternate syntax that did
972 not require quotes is now obsolete.  If it is used then the subtitle is
973 converted to all uppercase.
974
975 @node TITLE
976 @section TITLE
977 @vindex TITLE
978
979 @display
980 TITLE '@var{title_string}'.
981   or
982 TITLE @var{title_string}.
983 @end display
984
985 @cmd{TITLE} provides a title to a particular @pspp{} run.
986 This title appears at the top of each output page, if headers are enabled
987 on the output device.
988
989 Specify a title as a string in quotes.  The alternate syntax that did
990 not require quotes is now obsolete.  If it is used then the title is
991 converted to all uppercase.