dfded5c23fb5a72193c084671da007bd0674578d
[pspp-builds.git] / doc / utilities.texi
1 @node Utilities, Not Implemented, Statistics, Top
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 * COMMENT::                     Document your syntax file.
13 * DOCUMENT::                    Document the active file.
14 * DISPLAY DOCUMENTS::           Display active file documents.
15 * DISPLAY FILE LABEL::          Display the active file label.
16 * DROP DOCUMENTS::              Remove documents from the active file.
17 * ERASE::                       Erase a file.
18 * EXECUTE::                     Execute pending transformations.
19 * FILE LABEL::                  Set the active file's label.
20 * FINISH::                      Terminate the PSPP session.
21 * HOST::                        Temporarily return to the operating system.
22 * INCLUDE::                     Include a file within the current one.
23 * PERMISSIONS::                 Change permissions on a file.
24 * QUIT::                        Terminate the PSPP session.
25 * SET::                         Adjust PSPP runtime parameters.
26 * SHOW::                        Display runtime parameters.
27 * SUBTITLE::                    Provide a document subtitle.
28 * TITLE::                       Provide a document title.
29 @end menu
30
31 @node COMMENT, DOCUMENT, Utilities, Utilities
32 @section COMMENT
33 @vindex COMMENT
34 @vindex *
35
36 @display 
37 Two possibles syntaxes:
38         COMMENT comment text @dots{} .
39         *comment text @dots{} .
40 @end display
41
42 @cmd{COMMENT} is ignored.  It is used to provide information to
43 the author and other readers of the PSPP syntax file.  
44
45 @cmd{COMMENT} can extend over any number of lines.  Don't forget to
46 terminate it with a dot or a blank line.
47
48 @node DOCUMENT, DISPLAY DOCUMENTS, COMMENT, Utilities
49 @section DOCUMENT
50 @vindex DOCUMENT
51
52 @display
53 DOCUMENT documentary_text.
54 @end display
55
56 @cmd{DOCUMENT} adds one or more lines of descriptive commentary to the
57 active file.  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 file with @cmd{DROP
60 DOCUMENTS}.
61
62 Specify the documentary text following the DOCUMENT keyword.  You can
63 extend the documentary text over as many lines as necessary.  Lines are
64 truncated at 80 characters width.  Don't forget to terminate
65 the command with a dot or a blank line.
66
67 @node DISPLAY DOCUMENTS, DISPLAY FILE LABEL, DOCUMENT, Utilities
68 @section DISPLAY DOCUMENTS
69 @vindex DISPLAY DOCUMENTS
70
71 @display
72 DISPLAY DOCUMENTS.
73 @end display
74
75 @cmd{DISPLAY DOCUMENTS} displays the documents in the active file.  Each
76 document is preceded by a line giving the time and date that it was
77 added.  @xref{DOCUMENT}.
78
79 @node DISPLAY FILE LABEL, DROP DOCUMENTS, DISPLAY DOCUMENTS, Utilities
80 @section DISPLAY FILE LABEL
81 @vindex DISPLAY FILE LABEL
82
83 @display
84 DISPLAY FILE LABEL.
85 @end display
86
87 @cmd{DISPLAY FILE LABEL} displays the file label contained in the
88 active file,
89 if any.  @xref{FILE LABEL}.
90
91 @node DROP DOCUMENTS, ERASE, DISPLAY FILE LABEL, Utilities
92 @section DROP DOCUMENTS
93 @vindex DROP DOCUMENTS
94
95 @display
96 DROP DOCUMENTS.
97 @end display
98
99 @cmd{DROP DOCUMENTS} removes all documents from the active file.
100 New documents can be added with @cmd{DOCUMENT} (@pxref{DOCUMENT}).
101
102 @cmd{DROP DOCUMENTS} changes only the active file.  It does not modify any
103 system files stored on disk.
104
105
106 @node ERASE, EXECUTE, DROP DOCUMENTS, Utilities
107 @comment  node-name,  next,  previous,  up
108 @section ERASE
109 @vindex ERASE
110
111 @display
112 ERASE FILE file_name.
113 @end display
114
115 @cmd{ERASE FILE} deletes a file from the local filesystem.
116 file_name must be quoted.
117 This command cannot be used if the SAFER setting is active.
118
119
120 @node EXECUTE, FILE LABEL, ERASE, Utilities
121 @section EXECUTE
122 @vindex EXECUTE
123
124 @display
125 EXECUTE.
126 @end display
127
128 @cmd{EXECUTE} causes the active file to be read and all pending
129 transformations to be executed.
130
131 @node FILE LABEL, FINISH, EXECUTE, Utilities
132 @section FILE LABEL
133 @vindex FILE LABEL
134
135 @display
136 FILE LABEL file_label.
137 @end display
138
139 @cmd{FILE LABEL} provides a title for the active file.  This
140 title will be saved into system files and portable files that are
141 created during this PSPP run.
142
143 file_label need not be quoted.  If quotes are
144 included, they become part of the file label.
145
146 @node FINISH, HOST, FILE LABEL, Utilities
147 @section FINISH
148 @vindex FINISH
149
150 @display
151 FINISH.
152 @end display
153
154 @cmd{FINISH} terminates the current PSPP session and returns
155 control to the operating system.
156
157 This command is not valid in interactive mode.
158
159 @node HOST, INCLUDE, FINISH, Utilities
160 @comment  node-name,  next,  previous,  up
161 @section HOST
162 @vindex HOST
163
164 @display
165 HOST.
166 @end display
167
168 @cmd{HOST} suspends the current PSPP session and temporarily returns control 
169 to the operating system.
170 This command cannot be used if the SAFER setting is active.
171
172
173 @node INCLUDE, PERMISSIONS, HOST, Utilities
174 @section INCLUDE
175 @vindex INCLUDE
176 @vindex @@
177
178 @display
179 Two possible syntaxes:
180         INCLUDE 'filename'.
181         @@filename.
182 @end display
183
184 @cmd{INCLUDE} causes the PSPP command processor to read an
185 additional command file as if it were included bodily in the current
186 command file.
187
188 Include files may be nested to any depth, up to the limit of available
189 memory.
190
191 @node PERMISSIONS, QUIT, INCLUDE, Utilities
192 @comment  node-name,  next,  previous,  up
193 @section PERMISSIONS
194 @vindex PERMISSIONS
195 @cindex mode
196 @cindex file mode
197 @cindex changing file permissions
198
199 @display
200 PERMISSIONS
201         FILE='filename'
202         /PERMISSIONS = @{READONLY,WRITEABLE@}.
203 @end display
204
205 @cmd{PERMISSIONS} changes the permissions of a file.  
206 There is one mandatory subcommand which specifies the permissions to
207 which the file should be changed.  
208 If you set a file's  permission  to READONLY, then the file will become
209 unwritable either by you or anyone else on the system.
210 If you set the permission to WRITEABLE, then the file will become
211 writeable by you; the permissions afforded to others will be
212 unchanged.
213 This command cannot be used if the SAFER setting is active.
214
215
216 @node QUIT, SET, PERMISSIONS, Utilities
217 @section QUIT
218 @vindex QUIT
219
220 @display
221 Two possible syntaxes:
222         QUIT.
223         EXIT.
224 @end display
225
226 @cmd{QUIT} terminates the current PSPP session and returns control
227 to the operating system.  
228
229 This command is not valid within a command file.
230
231 @node SET, SHOW, QUIT, Utilities
232 @section SET
233 @vindex SET
234
235 @display
236 SET
237
238 (data input)
239         /BLANKS=@{SYSMIS,'.',number@}
240         /DECIMAL=@{DOT,COMMA@}
241         /FORMAT=fmt_spec
242
243 (program input)
244         /ENDCMD='.'
245         /NULLINE=@{ON,OFF@}
246
247 (interaction)
248         /CPROMPT='cprompt_string'
249         /DPROMPT='dprompt_string'
250         /ERRORBREAK=@{OFF,ON@}
251         /MXERRS=max_errs
252         /MXWARNS=max_warnings
253         /PROMPT='prompt'
254         /VIEWLENGTH=@{MINIMUM,MEDIAN,MAXIMUM,n_lines@}
255         /VIEWWIDTH=n_characters
256
257 (program execution)
258         /MEXPAND=@{ON,OFF@}
259         /MITERATE=max_iterations
260         /MNEST=max_nest
261         /MPRINT=@{ON,OFF@}
262         /MXLOOPS=max_loops
263         /SEED=@{RANDOM,seed_value@}
264         /UNDEFINED=@{WARN,NOWARN@}
265
266 (data output)
267         /CC@{A,B,C,D,E@}=@{'npre,pre,suf,nsuf','npre.pre.suf.nsuf'@}
268         /DECIMAL=@{DOT,COMMA@}
269         /FORMAT=fmt_spec
270
271 (output routing)
272         /ECHO=@{ON,OFF@}
273         /ERRORS=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
274         /INCLUDE=@{ON,OFF@}
275         /MESSAGES=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
276         /PRINTBACK=@{ON,OFF@}
277         /RESULTS=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
278
279 (output activation)
280         /LISTING=@{ON,OFF@}
281         /PRINTER=@{ON,OFF@}
282         /SCREEN=@{ON,OFF@}
283
284 (output driver options)
285         /HEADERS=@{NO,YES,BLANK@}
286         /LENGTH=@{NONE,length_in_lines@}
287         /LISTING=filename
288         /MORE=@{ON,OFF@}
289         /PAGER=@{OFF,"pager_name"@}
290         /WIDTH=@{NARROW,WIDTH,n_characters@}
291
292 (logging)
293         /JOURNAL=@{ON,OFF@} [filename]
294         /LOG=@{ON,OFF@} [filename]
295
296 (system files)
297         /COMPRESSION=@{ON,OFF@}
298         /SCOMPRESSION=@{ON,OFF@}
299
300 (security)
301         /SAFER=ON
302
303 (obsolete settings accepted for compatibility, but ignored)
304         /AUTOMENU=@{ON,OFF@}
305         /BEEP=@{ON,OFF@}
306         /BLOCK='c'
307         /BOXSTRING=@{'xxx','xxxxxxxxxxx'@}
308         /CASE=@{UPPER,UPLOW@}
309         /COLOR=@dots{}
310         /CPI=cpi_value
311         /DISK=@{ON,OFF@}
312         /EJECT=@{ON,OFF@}
313         /HELPWINDOWS=@{ON,OFF@}
314         /HIGHRES=@{ON,OFF@}
315         /HISTOGRAM='c'
316         /LOWRES=@{AUTO,ON,OFF@}
317         /LPI=lpi_value
318         /MENUS=@{STANDARD,EXTENDED@}
319         /MXMEMORY=max_memory
320         /PTRANSLATE=@{ON,OFF@}
321         /RCOLORS=@dots{}
322         /RUNREVIEW=@{AUTO,MANUAL@}
323         /SCRIPTTAB='c'
324         /TB1=@{'xxx','xxxxxxxxxxx'@}
325         /TBFONTS='string'
326         /WORKDEV=drive_letter
327         /WORKSPACE=workspace_size
328         /XSORT=@{YES,NO@}
329 @end display
330
331 @cmd{SET} allows the user to adjust several parameters relating to
332 PSPP's execution.  Since there are many subcommands to this command, its
333 subcommands will be examined in groups.
334
335 On subcommands that take boolean values, ON and YES are synonym, and
336 as are OFF and NO, when used as subcommand values.
337
338 The data input subcommands affect the way that data is read from data
339 files.  The data input subcommands are
340
341 @table @asis
342 @item BLANKS
343 This is the value assigned to an item data item that is empty or
344 contains only whitespace.  An argument of SYSMIS or '.' will cause the
345 system-missing value to be assigned to null items.  This is the
346 default.  Any real value may be assigned.
347
348 @item DECIMAL
349 The default DOT setting causes the decimal point character to be
350 @samp{.}.  A setting of COMMA causes the decimal point character to be
351 @samp{,}.
352
353 @item FORMAT
354 Allows the default numeric input/output format to be specified.  The
355 default is F8.2.  @xref{Input/Output Formats}.
356 @end table
357
358 Program input subcommands affect the way that programs are parsed when
359 they are typed interactively or run from a script.  They are
360
361 @table @asis
362 @item ENDCMD
363 This is a single character indicating the end of a command.  The default
364 is @samp{.}.  Don't change this.
365
366 @item NULLINE
367 Whether a blank line is interpreted as ending the current command.  The
368 default is ON.
369 @end table
370
371 Interaction subcommands affect the way that PSPP interacts with an
372 online user.  The interaction subcommands are
373
374 @table @asis
375 @item CPROMPT
376 The command continuation prompt.  The default is @samp{    > }.
377
378 @item DPROMPT
379 Prompt used when expecting data input within @cmd{BEGIN DATA} (@pxref{BEGIN
380 DATA}).  The default is @samp{data> }.
381
382 @item ERRORBREAK
383 Whether an error causes PSPP to stop processing the current command
384 file after finishing the current command.  The default is OFF.
385
386 @item MXERRS
387 The maximum number of errors before PSPP halts processing of the current
388 command file.  The default is 50.
389
390 @item MXWARNS
391 The maximum number of warnings + errors before PSPP halts processing the
392 current command file.  The default is 100.
393
394 @item PROMPT
395 The command prompt.  The default is @samp{PSPP> }.
396
397 @item VIEWLENGTH
398 The length of the screen in lines.  MINIMUM means 25 lines, MEDIAN and
399 MAXIMUM mean 43 lines.  Otherwise specify the number of lines.  Normally
400 PSPP should auto-detect your screen size so this shouldn't have to be
401 used.
402
403 @item VIEWWIDTH
404 The width of the screen in characters.  Normally 80 or 132.
405 @end table
406
407 Program execution subcommands control the way that PSPP commands
408 execute.  The program execution subcommands are
409
410 @table @asis
411 @item MEXPAND
412 @itemx MITERATE
413 @itemx MNEST
414 @itemx MPRINT
415 Currently not used.
416
417 @item MXLOOPS
418 The maximum number of iterations for an uncontrolled loop (@pxref{LOOP}).
419
420 @item SEED
421 The initial pseudo-random number seed.  Set to a real number or to
422 RANDOM, which will obtain an initial seed from the current time of day.
423
424 @item UNDEFINED
425 Currently not used.
426 @end table
427
428 Data output subcommands affect the format of output data.  These
429 subcommands are
430
431 @table @asis
432 @item CCA
433 @itemx CCB
434 @itemx CCC
435 @itemx CCD
436 @itemx CCE
437 Set up custom currency formats.  The argument is a string which must
438 contain exactly three commas or exactly three periods.  If commas, then
439 the grouping character for the currency format is @samp{,}, and the
440 decimal point character is @samp{.}; if periods, then the situation is
441 reversed.  
442
443 The commas or periods divide the string into four fields, which are, in
444 order, the negative prefix, prefix, suffix, and negative suffix.  When a
445 value is formatted using the custom currency format, the prefix precedes
446 the value formatted and the suffix follows it.  In addition, if the
447 value is negative, the negative prefix precedes the prefix and the
448 negative suffix follows the suffix.
449
450 @item DECIMAL
451 The default DOT setting causes the decimal point character to be
452 @samp{.}.  A setting of COMMA causes the decimal point character to be
453 @samp{,}.
454
455 @item FORMAT
456 Allows the default numeric input/output format to be specified.  The
457 default is F8.2.  @xref{Input/Output Formats}.
458 @end table
459
460 Output routing subcommands affect where the output of transformations
461 and procedures is sent.  These subcommands are
462
463 @table @asis
464 @item ECHO
465
466 If turned on, commands are written to the listing file as they are read
467 from command files.  The default is OFF.
468
469 @itemx ERRORS
470 @itemx INCLUDE
471 @itemx MESSAGES
472 @item PRINTBACK
473 @item RESULTS
474 Currently not used.
475 @end table
476
477 Output activation subcommands affect whether output devices of
478 particular types are enabled.  These subcommands are
479
480 @table @asis
481 @item LISTING
482 Enable or disable listing devices.
483
484 @item PRINTER
485 Enable or disable printer devices.
486
487 @item SCREEN
488 Enable or disable screen devices.
489 @end table
490
491 Output driver option subcommands affect output drivers' settings.  These
492 subcommands are
493
494 @table @asis
495 @item HEADERS
496 @itemx LENGTH
497 @itemx LISTING
498 @itemx MORE
499 @itemx PAGER 
500 @itemx WIDTH
501 @end table
502
503 @cindex headers
504 @cindex length
505 @cindex listing
506 @cindex more
507 @cindex pager 
508 @cindex width
509
510
511 Logging subcommands affect logging of commands executed to external
512 files.  These subcommands are
513
514 @table @asis
515 @item JOURNAL
516 @item LOG
517 Not currently used.
518 @end table
519
520 System file subcommands affect the default format of system files
521 produced by PSPP.  These subcommands are
522
523 @table @asis
524 @item COMPRESSION
525 Not currently used.
526
527 @item SCOMPRESSION
528 Whether system files created by @cmd{SAVE} or @cmd{XSAVE} are
529 compressed by default.  The default is ON.
530 @end table
531
532 Security subcommands affect the operations that commands are allowed to
533 perform.  The security subcommands are
534
535 @table @asis
536 @item SAFER
537 When set, this setting cannot ever be reset, for obvious security
538 reasons.  Setting this option disables the following operations:
539
540 @itemize @bullet
541 @item
542 The ERASE command.
543 @item
544 The HOST command.
545 @item
546 The PERMISSIONS command.
547 @item
548 Pipe filenames (filenames beginning or ending with @samp{|}).
549 @end itemize
550
551 Be aware that this setting does not guarantee safety (commands can still
552 overwrite files, for instance) but it is an improvement.
553 @end table
554
555 @node SHOW, SUBTITLE, SET, Utilities
556 @comment  node-name,  next,  previous,  up
557 @section SHOW
558 @vindex SHOW
559
560 @display
561 SHOW
562         /@var{subcommand}
563         
564 @end display
565
566 @cmd{SHOW} can be used to display the current state of PSPP's
567 execution parameters.  All of the parameters which can be changed 
568 using  @code{SET} @xref{SET}, can be examined using @cmd{SHOW}, by
569 using a subcommand with the same name.
570 In addition, @code{SHOW} supports the following subcommands:
571
572 @table @code
573 @item WARRANTY
574 Show details of the lack of warranty for PSPP.
575 @item COPYING
576 Display the terms of PSPP's copyright licence @ref{License}.
577 @end table
578
579
580
581 @node SUBTITLE, TITLE, SHOW, Utilities
582 @section SUBTITLE
583 @vindex SUBTITLE
584
585 @display
586 SUBTITLE 'subtitle_string'.
587   or
588 SUBTITLE subtitle_string.
589 @end display
590
591 @cmd{SUBTITLE} provides a subtitle to a particular PSPP
592 run.  This subtitle appears at the top of each output page below the
593 title, if headers are enabled on the output device.
594
595 Specify a subtitle as a string in quotes.  The alternate syntax that did
596 not require quotes is now obsolete.  If it is used then the subtitle is
597 converted to all uppercase.
598
599 @node TITLE,  , SUBTITLE, Utilities
600 @section TITLE
601 @vindex TITLE
602
603 @display
604 TITLE 'title_string'.
605   or
606 TITLE title_string.
607 @end display
608
609 @cmd{TITLE} provides a title to a particular PSPP run.
610 This title appears at the top of each output page, if headers are enabled
611 on the output device.
612
613 Specify a title as a string in quotes.  The alternate syntax that did
614 not require quotes is now obsolete.  If it is used then the title is
615 converted to all uppercase.
616 @setfilename ignored