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