Continue reforming procedure execution. In this phase, get rid of the
authorBen Pfaff <blp@gnu.org>
Sat, 6 May 2006 17:46:52 +0000 (17:46 +0000)
committerBen Pfaff <blp@gnu.org>
Sat, 6 May 2006 17:46:52 +0000 (17:46 +0000)
output code for SPLIT FILE groups in procedure.c, which really
shouldn't be doing any output.  Move it into the individual procedures
instead.  This also adds some flexibility.

19 files changed:
po/en_GB.po
po/pspp.pot
src/ChangeLog
src/data/procedure.c
src/data/procedure.h
src/language/data-io/ChangeLog
src/language/data-io/list.q
src/language/dictionary/ChangeLog
src/language/dictionary/automake.mk
src/language/dictionary/split-file.c
src/language/dictionary/split-file.h [new file with mode: 0644]
src/language/stats/ChangeLog
src/language/stats/crosstabs.q
src/language/stats/descriptives.c
src/language/stats/examine.q
src/language/stats/frequencies.q
src/language/stats/oneway.q
src/language/stats/regression.q
src/language/stats/t-test.q

index 876bf2be03998a6a8ec2093e2d3f507aa65a923f..b46d9ed53787383a2ed05f7fc381049f1bab2b02 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.3.1\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-05-04 13:56+0800\n"
+"POT-Creation-Date: 2006-05-04 21:55-0700\n"
 "PO-Revision-Date: 2004-01-23 13:04+0800\n"
 "Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
 "Language-Team: John Darrington <john@darrington.wattle.id.au>\n"
@@ -290,7 +290,7 @@ msgid ""
 "Year %d cannot be represented in four digits for output formatting purposes."
 msgstr ""
 
-#: src/data/dictionary.c:711
+#: src/data/dictionary.c:708
 msgid ""
 "At least one case in the data file had a weight value that was user-missing, "
 "system-missing, zero, or negative.  These case(s) were ignored."
@@ -400,18 +400,18 @@ msgstr ""
 
 #: src/data/format.c:198 src/data/sys-file-reader.c:1199
 #: src/data/sys-file-reader.c:1344 src/data/sys-file-reader.c:1345
-#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:73
-#: src/language/dictionary/apply-dictionary.c:74
-#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
+#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:76
+#: src/language/dictionary/apply-dictionary.c:77
+#: src/language/xforms/recode.c:469 src/language/xforms/recode.c:470
 msgid "numeric"
 msgstr ""
 
 #: src/data/format.c:198 src/data/sys-file-reader.c:1199
 #: src/data/sys-file-reader.c:1344 src/data/sys-file-reader.c:1345
 #: src/data/variable.c:41 src/data/variable.c:49
-#: src/language/dictionary/apply-dictionary.c:73
-#: src/language/dictionary/apply-dictionary.c:74
-#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
+#: src/language/dictionary/apply-dictionary.c:76
+#: src/language/dictionary/apply-dictionary.c:77
+#: src/language/xforms/recode.c:469 src/language/xforms/recode.c:470
 msgid "string"
 msgstr ""
 
@@ -563,6 +563,27 @@ msgstr ""
 msgid "An I/O error occurred writing portable file \"%s\"."
 msgstr ""
 
+#: src/data/procedure.c:587 src/language/data-io/data-list.c:766
+#: src/language/data-io/data-list.c:881 src/language/data-io/print.c:802
+#: src/language/dictionary/sys-file-info.c:143
+#: src/language/dictionary/sys-file-info.c:377
+#: src/language/stats/descriptives.c:888
+msgid "Variable"
+msgstr ""
+
+#: src/data/procedure.c:588 src/language/dictionary/sys-file-info.c:522
+#: src/language/stats/crosstabs.q:1111 src/language/stats/crosstabs.q:1138
+#: src/language/stats/crosstabs.q:1158 src/language/stats/crosstabs.q:1180
+#: src/language/stats/examine.q:1143 src/language/stats/frequencies.q:1146
+#: src/language/stats/frequencies.q:1267
+msgid "Value"
+msgstr ""
+
+#: src/data/procedure.c:589 src/language/dictionary/sys-file-info.c:384
+#: src/language/dictionary/sys-file-info.c:523 src/ui/gui/var-sheet.c:71
+msgid "Label"
+msgstr ""
+
 #: src/data/scratch-reader.c:59
 #, c-format
 msgid ""
@@ -697,7 +718,7 @@ msgstr ""
 msgid "DEC Kanji"
 msgstr ""
 
-#: src/data/sys-file-reader.c:765 src/language/dictionary/sys-file-info.c:120
+#: src/data/sys-file-reader.c:765 src/language/dictionary/sys-file-info.c:123
 msgid "Unknown"
 msgstr ""
 
@@ -1058,10 +1079,10 @@ msgid "Error executing command: %s."
 msgstr ""
 
 #: src/language/command.c:792 src/language/data-io/matrix-data.c:535
-#: src/language/data-io/print.c:336 src/language/data-io/print.c:1038
-#: src/language/dictionary/vector.c:197 src/language/lexer/lexer.c:453
-#: src/language/stats/autorecode.c:144 src/language/xforms/select-if.c:57
-#: src/language/xforms/select-if.c:137
+#: src/language/data-io/print.c:340 src/language/data-io/print.c:1042
+#: src/language/dictionary/vector.c:199 src/language/lexer/lexer.c:453
+#: src/language/stats/autorecode.c:146 src/language/xforms/select-if.c:61
+#: src/language/xforms/select-if.c:141
 msgid "expecting end of command"
 msgstr ""
 
@@ -1084,219 +1105,207 @@ msgstr ""
 msgid "This command cannot appear outside %s...%s."
 msgstr ""
 
-#: src/language/control/do-if.c:171
+#: src/language/control/do-if.c:175
 msgid "This command may not follow ELSE in DO IF...END IF."
 msgstr ""
 
-#: src/language/control/repeat.c:135
+#: src/language/control/repeat.c:140
 #, c-format
 msgid "Dummy variable name \"%s\" hides dictionary variable \"%s\"."
 msgstr ""
 
-#: src/language/control/repeat.c:141
+#: src/language/control/repeat.c:146
 #, c-format
 msgid "Dummy variable name \"%s\" is given twice."
 msgstr ""
 
-#: src/language/control/repeat.c:182
+#: src/language/control/repeat.c:187
 #, c-format
 msgid ""
 "Dummy variable \"%s\" had %d substitutions, so \"%s\" must also, but %d were "
 "specified."
 msgstr ""
 
-#: src/language/control/repeat.c:451
+#: src/language/control/repeat.c:456
 msgid "String expected."
 msgstr ""
 
-#: src/language/control/repeat.c:478
+#: src/language/control/repeat.c:483
 msgid "No matching DO REPEAT."
 msgstr ""
 
 #: src/language/control/temporary.c:49
-msgid "This command is not valid inside DO IF or LOOP."
-msgstr ""
-
-#: src/language/control/temporary.c:56
 msgid ""
 "This command may only appear once between procedures and procedure-like "
 "commands."
 msgstr ""
 
-#: src/language/data-io/data-list.c:149
+#: src/language/data-io/data-list.c:152
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
-#: src/language/data-io/data-list.c:184
+#: src/language/data-io/data-list.c:187
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
-#: src/language/data-io/data-list.c:334 src/language/data-io/print.c:297
+#: src/language/data-io/data-list.c:337 src/language/data-io/print.c:301
 #, c-format
 msgid ""
 "The record number specified, %ld, is before the previous record, %d.  Data "
 "fields must be listed in order of increasing record number."
 msgstr ""
 
-#: src/language/data-io/data-list.c:363
+#: src/language/data-io/data-list.c:366
 msgid ""
 "SPSS-like or FORTRAN-like format specification expected after variable names."
 msgstr ""
 
-#: src/language/data-io/data-list.c:374
+#: src/language/data-io/data-list.c:377
 msgid "At least one variable must be specified."
 msgstr ""
 
-#: src/language/data-io/data-list.c:379 src/language/data-io/print.c:329
+#: src/language/data-io/data-list.c:382 src/language/data-io/print.c:333
 msgid ""
 "Variables are specified on records that should not exist according to "
 "RECORDS subcommand."
 msgstr ""
 
-#: src/language/data-io/data-list.c:412 src/language/data-io/data-list.c:426
-#: src/language/data-io/print.c:521 src/language/data-io/print.c:534
+#: src/language/data-io/data-list.c:415 src/language/data-io/data-list.c:429
+#: src/language/data-io/print.c:525 src/language/data-io/print.c:538
 msgid "Column positions for fields must be positive."
 msgstr ""
 
-#: src/language/data-io/data-list.c:431
+#: src/language/data-io/data-list.c:434
 msgid "The ending column for a field must be greater than the starting column."
 msgstr ""
 
-#: src/language/data-io/data-list.c:445
+#: src/language/data-io/data-list.c:448
 #, c-format
 msgid "The %d columns %d-%d can't be evenly divided into %d fields."
 msgstr ""
 
-#: src/language/data-io/data-list.c:465 src/language/data-io/print.c:562
+#: src/language/data-io/data-list.c:468 src/language/data-io/print.c:566
 msgid "A format specifier on this line has extra characters on the end."
 msgstr ""
 
-#: src/language/data-io/data-list.c:480 src/language/data-io/print.c:578
+#: src/language/data-io/data-list.c:483 src/language/data-io/print.c:582
 msgid "The value for number of decimal places must be at least 1."
 msgstr ""
 
-#: src/language/data-io/data-list.c:494 src/language/data-io/print.c:591
+#: src/language/data-io/data-list.c:497 src/language/data-io/print.c:595
 #, c-format
 msgid "Input format %s doesn't accept decimal places."
 msgstr ""
 
-#: src/language/data-io/data-list.c:539 src/language/data-io/data-list.c:635
-#: src/language/data-io/data-list.c:840
+#: src/language/data-io/data-list.c:542 src/language/data-io/data-list.c:638
+#: src/language/data-io/data-list.c:843
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
-#: src/language/data-io/data-list.c:544
+#: src/language/data-io/data-list.c:547
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
-#: src/language/data-io/data-list.c:551
+#: src/language/data-io/data-list.c:554
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
-#: src/language/data-io/data-list.c:626
+#: src/language/data-io/data-list.c:629
 msgid ""
 "The number of format specifications exceeds the given number of variable "
 "names."
 msgstr ""
 
-#: src/language/data-io/data-list.c:736 src/language/data-io/print.c:767
+#: src/language/data-io/data-list.c:739 src/language/data-io/print.c:771
 msgid ""
 "There aren't enough format specifications to match the number of variable "
 "names given."
 msgstr ""
 
-#: src/language/data-io/data-list.c:763 src/language/data-io/data-list.c:878
-#: src/language/data-io/print.c:798
-#: src/language/dictionary/sys-file-info.c:140
-#: src/language/dictionary/sys-file-info.c:374
-#: src/language/stats/descriptives.c:886 src/procedure.c:678
-msgid "Variable"
-msgstr ""
-
-#: src/language/data-io/data-list.c:764 src/language/data-io/print.c:799
+#: src/language/data-io/data-list.c:767 src/language/data-io/print.c:803
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:765 src/language/data-io/print.c:800
+#: src/language/data-io/data-list.c:768 src/language/data-io/print.c:804
 #: src/ui/gui/var-sheet.c:74
 msgid "Columns"
 msgstr ""
 
-#: src/language/data-io/data-list.c:766 src/language/data-io/data-list.c:879
-#: src/language/data-io/print.c:801
+#: src/language/data-io/data-list.c:769 src/language/data-io/data-list.c:882
+#: src/language/data-io/print.c:805
 msgid "Format"
 msgstr ""
 
-#: src/language/data-io/data-list.c:781
+#: src/language/data-io/data-list.c:784
 #, c-format
 msgid "Reading %d record from %s."
 msgid_plural "Reading %d records from %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/data-list.c:894
+#: src/language/data-io/data-list.c:897
 #, c-format
 msgid "Reading free-form data from %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:945
+#: src/language/data-io/data-list.c:948
 #, c-format
 msgid "Quoted string missing terminating `%c'."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1060
+#: src/language/data-io/data-list.c:1063
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1113
+#: src/language/data-io/data-list.c:1116
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1156
+#: src/language/data-io/data-list.c:1159
 #, c-format
 msgid ""
 "Missing value(s) for all variables from %s onward.  These will be filled "
 "with the system-missing value or blanks, as appropriate."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:131
+#: src/language/data-io/data-reader.c:134
 #, c-format
 msgid "Could not open \"%s\" for reading as a data file: %s."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:168
+#: src/language/data-io/data-reader.c:171
 msgid ""
 "Unexpected end-of-file while reading data in BEGIN DATA.  This probably "
 "indicates a missing or misformatted END DATA command.  END DATA must appear "
 "by itself on a single line with exactly one space between words."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:199
-#: src/language/data-io/data-reader.c:216
+#: src/language/data-io/data-reader.c:202
+#: src/language/data-io/data-reader.c:219
 #, c-format
 msgid "Error reading file %s: %s."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:219
+#: src/language/data-io/data-reader.c:222
 #, c-format
 msgid "%s: Partial record at end of file."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:270
+#: src/language/data-io/data-reader.c:273
 #, c-format
 msgid "Attempt to read beyond end-of-file on file %s."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:273
+#: src/language/data-io/data-reader.c:276
 msgid "Attempt to read beyond END DATA."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:417
+#: src/language/data-io/data-reader.c:420
 msgid ""
 "This command is not valid here since the current input program does not "
 "access the inline file."
@@ -1354,21 +1363,21 @@ msgstr ""
 msgid "Handle for %s not allowed here."
 msgstr ""
 
-#: src/language/data-io/get.c:111
+#: src/language/data-io/get.c:112
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/language/data-io/get.c:353 src/language/data-io/get.c:367
-#: src/language/data-io/get.c:392
+#: src/language/data-io/get.c:354 src/language/data-io/get.c:368
+#: src/language/data-io/get.c:393
 #, c-format
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:599 src/language/data-io/print.c:180
+#: src/language/data-io/get.c:600 src/language/data-io/print.c:184
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/language/data-io/get.c:632
+#: src/language/data-io/get.c:633
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -1376,31 +1385,31 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c:657
+#: src/language/data-io/get.c:658
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/language/data-io/get.c:664
+#: src/language/data-io/get.c:665
 #, c-format
 msgid ""
 "Number of variables on left side of `=' (%d) does not match number of "
 "variables on right side (%d), in parenthesized group %d of RENAME subcommand."
 msgstr ""
 
-#: src/language/data-io/get.c:677
+#: src/language/data-io/get.c:678
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/language/data-io/get.c:707
+#: src/language/data-io/get.c:708
 msgid "Cannot DROP all variables from dictionary."
 msgstr ""
 
-#: src/language/data-io/get.c:884
+#: src/language/data-io/get.c:885
 msgid "The active file may not be specified more than once."
 msgstr ""
 
-#: src/language/data-io/get.c:892
+#: src/language/data-io/get.c:893
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
@@ -1410,97 +1419,97 @@ msgid ""
 "source.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/data-io/get.c:938
+#: src/language/data-io/get.c:936
 msgid "Multiple IN subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/language/data-io/get.c:958
+#: src/language/data-io/get.c:956
 msgid "BY may appear at most once."
 msgstr ""
 
-#: src/language/data-io/get.c:978
+#: src/language/data-io/get.c:976
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:992
+#: src/language/data-io/get.c:990
 msgid "FIRST may appear at most once."
 msgstr ""
 
-#: src/language/data-io/get.c:1006
+#: src/language/data-io/get.c:1004
 msgid "LAST may appear at most once."
 msgstr ""
 
-#: src/language/data-io/get.c:1047
+#: src/language/data-io/get.c:1045
 msgid "BY is required when TABLE is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1052
+#: src/language/data-io/get.c:1050
 msgid "BY is required when IN is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1080
+#: src/language/data-io/get.c:1078
 #, c-format
 msgid "IN variable name %s duplicates an existing variable name."
 msgstr ""
 
-#: src/language/data-io/get.c:1535
+#: src/language/data-io/get.c:1534
 #, c-format
 msgid ""
 "Variable %s in file %s (%s) has different type or width from the same "
 "variable in earlier file (%s)."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:131
+#: src/language/data-io/inpt-pgm.c:135
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:144
+#: src/language/data-io/inpt-pgm.c:148
 msgid "Input program did not create any variables."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:361
+#: src/language/data-io/inpt-pgm.c:338
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:409
+#: src/language/data-io/inpt-pgm.c:386
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:149 src/language/stats/descriptives.c:356
+#: src/language/data-io/list.q:151 src/language/stats/descriptives.c:358
 msgid "No variables specified."
 msgstr ""
 
-#: src/language/data-io/list.q:157
+#: src/language/data-io/list.q:159
 #, c-format
 msgid ""
 "The first case (%ld) specified precedes the last case (%ld) specified.  The "
 "values will be swapped."
 msgstr ""
 
-#: src/language/data-io/list.q:165
+#: src/language/data-io/list.q:167
 #, c-format
 msgid ""
 "The first case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:171
+#: src/language/data-io/list.q:173
 #, c-format
 msgid ""
 "The last case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:177
+#: src/language/data-io/list.q:179
 #, c-format
 msgid "The step value %ld is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:203
+#: src/language/data-io/list.q:205
 msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/language/data-io/list.q:430
+#: src/language/data-io/list.q:432
 msgid "Line"
 msgstr ""
 
@@ -1617,523 +1626,509 @@ msgstr ""
 msgid "End of line expected %s while reading %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1116
+#: src/language/data-io/matrix-data.c:1117
 #, c-format
 msgid "expecting value for %s %s"
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1281
+#: src/language/data-io/matrix-data.c:1282
 #, c-format
 msgid "Syntax error expecting SPLIT FILE value %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1290
+#: src/language/data-io/matrix-data.c:1291
 #, c-format
 msgid "Expecting value %g for %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1331
-#: src/language/data-io/matrix-data.c:1808
+#: src/language/data-io/matrix-data.c:1332
+#: src/language/data-io/matrix-data.c:1809
 #, c-format
 msgid "Syntax error expecting factor value %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1340
+#: src/language/data-io/matrix-data.c:1341
 #, c-format
 msgid "Syntax error expecting value %g for %s %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1584
+#: src/language/data-io/matrix-data.c:1585
 #, c-format
 msgid "Syntax error %s expecting SPLIT FILE value."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1713
+#: src/language/data-io/matrix-data.c:1714
 #, c-format
 msgid ""
 "Expected %d lines of data for %s content; actually saw %d lines.  No data "
 "will be output for this content."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1750
+#: src/language/data-io/matrix-data.c:1751
 #, c-format
 msgid "Multiply specified ROWTYPE_ %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1755
+#: src/language/data-io/matrix-data.c:1756
 #, c-format
 msgid "Syntax error %s expecting ROWTYPE_ string."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1775
+#: src/language/data-io/matrix-data.c:1776
 #, c-format
 msgid "Syntax error %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1926
+#: src/language/data-io/matrix-data.c:1927
 #, c-format
 msgid "Duplicate specification for %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1938
+#: src/language/data-io/matrix-data.c:1939
 #, c-format
 msgid "Too many rows of matrix data for %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1984
+#: src/language/data-io/matrix-data.c:1985
 #, c-format
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
-#: src/language/data-io/print.c:366 src/language/data-io/print.c:383
+#: src/language/data-io/print.c:370 src/language/data-io/print.c:387
 #, c-format
 msgid "%g is not a valid column location."
 msgstr ""
 
-#: src/language/data-io/print.c:377
+#: src/language/data-io/print.c:381
 #, c-format
 msgid "Column location expected following `%d-'."
 msgstr ""
 
-#: src/language/data-io/print.c:388
+#: src/language/data-io/print.c:392
 #, c-format
 msgid ""
 "%d-%ld is not a valid column range.  The second column must be greater than "
 "or equal to the first."
 msgstr ""
 
-#: src/language/data-io/print.c:489
+#: src/language/data-io/print.c:493
 #, c-format
 msgid "Variable %s has width %d so it cannot be output as format %s."
 msgstr ""
 
-#: src/language/data-io/print.c:509
+#: src/language/data-io/print.c:513
 #, c-format
 msgid ""
 "%s is not of the same type as %s.  To specify variables of different types "
 "in the same variable list, use a FORTRAN-like format specifier."
 msgstr ""
 
-#: src/language/data-io/print.c:539
+#: src/language/data-io/print.c:543
 msgid ""
 "The ending column for a field must not be less than the starting column."
 msgstr ""
 
-#: src/language/data-io/print.c:611
+#: src/language/data-io/print.c:615
 #, c-format
 msgid "The %d columns %d-%d can't be evenly divided into %u fields."
 msgstr ""
 
-#: src/language/data-io/print.c:688
+#: src/language/data-io/print.c:692
 msgid ""
 "The number of format specifications exceeds the number of variable names "
 "given."
 msgstr ""
 
-#: src/language/data-io/print.c:840
+#: src/language/data-io/print.c:844
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:844
+#: src/language/data-io/print.c:848
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:1078
+#: src/language/data-io/print.c:1082
 msgid "The expression on PRINT SPACE evaluated to the system-missing value."
 msgstr ""
 
-#: src/language/data-io/print.c:1081
+#: src/language/data-io/print.c:1085
 #, c-format
 msgid "The expression on PRINT SPACE evaluated to %g."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:70
+#: src/language/dictionary/apply-dictionary.c:73
 #, c-format
 msgid "Variable %s is %s in target file, but %s in source file."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:86
+#: src/language/dictionary/apply-dictionary.c:89
 #, c-format
 msgid "Cannot add value labels from source file to long string variable %s."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:132
+#: src/language/dictionary/apply-dictionary.c:135
 #, c-format
 msgid ""
 "Cannot apply missing values from source file to long string variable %s."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:152
+#: src/language/dictionary/apply-dictionary.c:155
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
-#: src/language/dictionary/formats.c:87
+#: src/language/dictionary/formats.c:90
 msgid "`(' expected after variable list"
 msgstr ""
 
-#: src/language/dictionary/formats.c:97 src/language/dictionary/numeric.c:66
-#: src/language/dictionary/numeric.c:137
+#: src/language/dictionary/formats.c:100 src/language/dictionary/numeric.c:69
+#: src/language/dictionary/numeric.c:140
 msgid "`)' expected after output format."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:53
+#: src/language/dictionary/missing-values.c:56
 #: src/language/stats/aggregate.c:438
 msgid "expecting `('"
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:69
+#: src/language/dictionary/missing-values.c:72
 #, c-format
 msgid ""
 "Cannot mix numeric variables (e.g. %s) and string variables (e.g. %s) within "
 "a single list."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:109
+#: src/language/dictionary/missing-values.c:112
 #, c-format
 msgid "Truncating missing value to short string length (%d characters)."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:128
+#: src/language/dictionary/missing-values.c:131
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:93
+#: src/language/dictionary/modify-variables.c:92
 msgid ""
 "MODIFY VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:117
+#: src/language/dictionary/modify-variables.c:114
 msgid "REORDER subcommand may be given at most once."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:140
+#: src/language/dictionary/modify-variables.c:137
 msgid "Cannot specify ALL after specifying a set of variables."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:150
+#: src/language/dictionary/modify-variables.c:147
 msgid "`(' expected on REORDER subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:162
+#: src/language/dictionary/modify-variables.c:159
 msgid "`)' expected following variable names on REORDER subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:180
+#: src/language/dictionary/modify-variables.c:177
 msgid "RENAME subcommand may be given at most once."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:193
+#: src/language/dictionary/modify-variables.c:190
 msgid "`(' expected on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:201
+#: src/language/dictionary/modify-variables.c:198
 msgid ""
 "`=' expected between lists of new and old variable names on RENAME "
 "subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:209
+#: src/language/dictionary/modify-variables.c:206
 #, c-format
 msgid ""
 "Differing number of variables in old name list (%d) and in new name list (%"
 "d)."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:220
+#: src/language/dictionary/modify-variables.c:217
 msgid "`)' expected after variable lists on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:234
+#: src/language/dictionary/modify-variables.c:231
 msgid ""
 "KEEP subcommand may be given at most once.  It may notbe given in "
 "conjunction with the DROP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:277
+#: src/language/dictionary/modify-variables.c:274
 msgid ""
 "DROP subcommand may be given at most once.  It may not be given in "
 "conjunction with the KEEP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:303
+#: src/language/dictionary/modify-variables.c:300
 #, c-format
 msgid "Unrecognized subcommand name `%s'."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:305
+#: src/language/dictionary/modify-variables.c:302
 msgid "Subcommand name expected."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:313
+#: src/language/dictionary/modify-variables.c:310
 msgid "`/' or `.' expected."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:59
+#: src/language/dictionary/numeric.c:62
 #, c-format
 msgid "Format type %s may not be used with a numeric variable."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:78 src/language/dictionary/numeric.c:160
-#: src/language/dictionary/vector.c:159
+#: src/language/dictionary/numeric.c:81 src/language/dictionary/numeric.c:163
+#: src/language/dictionary/vector.c:161
 #, c-format
 msgid "There is already a variable named %s."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:130
+#: src/language/dictionary/numeric.c:133
 #, c-format
 msgid "Format type %s may not be used with a string variable."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:49
+#: src/language/dictionary/rename-variables.c:50
 msgid ""
 "RENAME VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:61
+#: src/language/dictionary/rename-variables.c:60
 msgid "`(' expected."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:69
+#: src/language/dictionary/rename-variables.c:68
 msgid "`=' expected between lists of new and old variable names."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:78
+#: src/language/dictionary/rename-variables.c:77
 #, c-format
 msgid ""
 "Differing number of variables in old name list (%u) and in new name list (%"
 "u)."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:90
+#: src/language/dictionary/rename-variables.c:89
 msgid "`)' expected after variable names."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:100
+#: src/language/dictionary/rename-variables.c:99
 #, c-format
 msgid "Renaming would duplicate variable name %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:101
+#: src/language/dictionary/sys-file-info.c:104
 msgid "File:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:103
+#: src/language/dictionary/sys-file-info.c:106
 msgid "Label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:107
+#: src/language/dictionary/sys-file-info.c:110
 msgid "No label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:110
+#: src/language/dictionary/sys-file-info.c:113
 msgid "Created:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:113
+#: src/language/dictionary/sys-file-info.c:116
 msgid "Endian:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:117
 msgid "Big."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:117
 msgid "Little."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:115
+#: src/language/dictionary/sys-file-info.c:118
 msgid "Variables:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:118
+#: src/language/dictionary/sys-file-info.c:121
 msgid "Cases:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:121
+#: src/language/dictionary/sys-file-info.c:124
 msgid "Type:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:125
 msgid "System File."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:126
 msgid "Weight:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:127
+#: src/language/dictionary/sys-file-info.c:130
 msgid "Not weighted."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:129
+#: src/language/dictionary/sys-file-info.c:132
 msgid "Mode:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:134
 #, c-format
 msgid "Compression %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:134
 msgid "on"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:134
 msgid "off"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:141
-#: src/language/dictionary/sys-file-info.c:379
+#: src/language/dictionary/sys-file-info.c:144
+#: src/language/dictionary/sys-file-info.c:382
 msgid "Description"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:142
-#: src/language/dictionary/sys-file-info.c:377
+#: src/language/dictionary/sys-file-info.c:145
+#: src/language/dictionary/sys-file-info.c:380
 msgid "Position"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:200
+#: src/language/dictionary/sys-file-info.c:203
 msgid "The active file does not have a file label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:203
+#: src/language/dictionary/sys-file-info.c:206
 msgid "File label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:265
+#: src/language/dictionary/sys-file-info.c:268
 msgid "No variables to display."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:284
+#: src/language/dictionary/sys-file-info.c:287
 msgid "Macros not supported."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:294
+#: src/language/dictionary/sys-file-info.c:297
 msgid "The active file dictionary does not contain any documents."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:303
+#: src/language/dictionary/sys-file-info.c:306
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:381
-#: src/language/dictionary/sys-file-info.c:520 src/procedure.c:680
-#: src/ui/gui/var-sheet.c:71
-msgid "Label"
-msgstr ""
-
-#: src/language/dictionary/sys-file-info.c:453
+#: src/language/dictionary/sys-file-info.c:456
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:460
+#: src/language/dictionary/sys-file-info.c:463
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:463
+#: src/language/dictionary/sys-file-info.c:466
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:478
 msgid "Missing Values: "
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:519
-#: src/language/stats/crosstabs.q:1109 src/language/stats/crosstabs.q:1136
-#: src/language/stats/crosstabs.q:1156 src/language/stats/crosstabs.q:1178
-#: src/language/stats/examine.q:1141 src/language/stats/frequencies.q:1145
-#: src/language/stats/frequencies.q:1266 src/procedure.c:679
-msgid "Value"
-msgstr ""
-
-#: src/language/dictionary/sys-file-info.c:576
+#: src/language/dictionary/sys-file-info.c:579
 msgid "No vectors defined."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:591
+#: src/language/dictionary/sys-file-info.c:594
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:118
+#: src/language/dictionary/value-labels.c:121
 #, c-format
 msgid ""
 "It is not possible to assign value labels to long string variables such as %"
 "s."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:154 src/language/lexer/lexer.c:590
+#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:590
 msgid "expecting string"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:163 src/language/lexer/lexer.c:604
+#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:604
 msgid "expecting integer"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:167
+#: src/language/dictionary/value-labels.c:170
 #, c-format
 msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:177
+#: src/language/dictionary/value-labels.c:180
 msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:48
+#: src/language/dictionary/variable-label.c:51
 msgid "String expected for variable label."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:54
+#: src/language/dictionary/variable-label.c:57
 msgid "Truncating variable label to 255 characters."
 msgstr ""
 
-#: src/language/dictionary/vector.c:70
+#: src/language/dictionary/vector.c:72
 #, c-format
 msgid "Vector name %s is given twice."
 msgstr ""
 
-#: src/language/dictionary/vector.c:76
+#: src/language/dictionary/vector.c:78
 #, c-format
 msgid "There is already a vector with name %s."
 msgstr ""
 
-#: src/language/dictionary/vector.c:97
+#: src/language/dictionary/vector.c:99
 msgid ""
 "A slash must be used to separate each vector specification when using the "
 "long form.  Commands such as VECTOR A,B=Q1 TO Q20 are not supported."
 msgstr ""
 
-#: src/language/dictionary/vector.c:131
+#: src/language/dictionary/vector.c:133
 msgid "Vectors must have at least one element."
 msgstr ""
 
-#: src/language/dictionary/vector.c:145
+#: src/language/dictionary/vector.c:147
 #, c-format
 msgid "%s%d is too long for a variable name."
 msgstr ""
 
-#: src/language/dictionary/vector.c:184
+#: src/language/dictionary/vector.c:186
 msgid ""
 "The syntax for this command does not match the expected syntax for either "
 "the long form or the short form of VECTOR."
 msgstr ""
 
-#: src/language/dictionary/weight.c:48
+#: src/language/dictionary/weight.c:50
 msgid "The weighting variable must be numeric."
 msgstr ""
 
-#: src/language/dictionary/weight.c:53
+#: src/language/dictionary/weight.c:55
 msgid "The weighting variable may not be scratch."
 msgstr ""
 
@@ -2177,24 +2172,24 @@ msgid ""
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/parse.c:254
+#: src/language/expressions/parse.c:253
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:266
+#: src/language/expressions/parse.c:265
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:407
+#: src/language/expressions/parse.c:406
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:612
+#: src/language/expressions/parse.c:611
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -2202,98 +2197,98 @@ msgid ""
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:711
+#: src/language/expressions/parse.c:710
 msgid ""
 "The exponentiation operator (\"**\") is left-associative, even though right-"
 "associative semantics are more useful.  That is, \"a**b**c\" equals \"(a**b)"
 "**c\", not as \"a**(b**c)\".  To disable this warning, insert parentheses."
 msgstr ""
 
-#: src/language/expressions/parse.c:776
+#: src/language/expressions/parse.c:775
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:818
+#: src/language/expressions/parse.c:817
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:846 src/language/stats/aggregate.c:494
+#: src/language/expressions/parse.c:845 src/language/stats/aggregate.c:494
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:853
+#: src/language/expressions/parse.c:852
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1029
+#: src/language/expressions/parse.c:1028
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1038
+#: src/language/expressions/parse.c:1037
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1041
+#: src/language/expressions/parse.c:1040
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1051
+#: src/language/expressions/parse.c:1050
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1060
+#: src/language/expressions/parse.c:1059
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1066
+#: src/language/expressions/parse.c:1065
 #, c-format
 msgid ""
 "With %s, using minimum valid argument count of %d does not make sense when "
 "passing only %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1120
+#: src/language/expressions/parse.c:1119
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1125
+#: src/language/expressions/parse.c:1124
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1127
+#: src/language/expressions/parse.c:1126
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1157
+#: src/language/expressions/parse.c:1156
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1199
+#: src/language/expressions/parse.c:1198
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1219
+#: src/language/expressions/parse.c:1218
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1222 src/ui/terminal/command-line.c:126
+#: src/language/expressions/parse.c:1221 src/ui/terminal/command-line.c:126
 #: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
 
-#: src/language/expressions/parse.c:1227
+#: src/language/expressions/parse.c:1226
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
@@ -2447,50 +2442,50 @@ msgstr ""
 msgid "expecting number or data string"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:49
+#: src/language/lexer/variable-parser.c:51
 msgid "expecting variable name"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:59
+#: src/language/lexer/variable-parser.c:61
 #, c-format
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:147
+#: src/language/lexer/variable-parser.c:149
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:150
+#: src/language/lexer/variable-parser.c:152
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:154
+#: src/language/lexer/variable-parser.c:156
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:157
+#: src/language/lexer/variable-parser.c:159
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:162
+#: src/language/lexer/variable-parser.c:164
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:271
+#: src/language/lexer/variable-parser.c:273
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:280
+#: src/language/lexer/variable-parser.c:282
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2498,19 +2493,19 @@ msgid ""
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:351
+#: src/language/lexer/variable-parser.c:353
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:394
+#: src/language/lexer/variable-parser.c:396
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:416
+#: src/language/lexer/variable-parser.c:418
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:421
+#: src/language/lexer/variable-parser.c:423
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2593,528 +2588,528 @@ msgid ""
 "contains the aggregate variables and the break variables."
 msgstr ""
 
-#: src/language/stats/autorecode.c:126
+#: src/language/stats/autorecode.c:128
 #, c-format
 msgid "Source variable count (%u) does not match target variable count (%u)."
 msgstr ""
 
-#: src/language/stats/autorecode.c:154
+#: src/language/stats/autorecode.c:156
 #, c-format
 msgid "Target variable %s duplicates existing variable %s."
 msgstr ""
 
-#: src/language/stats/autorecode.c:161
+#: src/language/stats/autorecode.c:163
 #, c-format
 msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:265
+#: src/language/stats/crosstabs.q:267
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:275
+#: src/language/stats/crosstabs.q:277
 msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:331
+#: src/language/stats/crosstabs.q:333
 msgid "Too many crosstabulation variables or dimensions."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:341
+#: src/language/stats/crosstabs.q:343
 msgid "expecting BY"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:408
+#: src/language/stats/crosstabs.q:410
 msgid "VARIABLES must be specified before TABLES."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:445
+#: src/language/stats/crosstabs.q:447
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:810
+#: src/language/stats/crosstabs.q:812
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:812 src/language/stats/examine.q:926
+#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:928
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:813 src/language/stats/examine.q:860
-#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1516
+#: src/language/stats/crosstabs.q:815 src/language/stats/examine.q:862
+#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1517
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:861
-#: src/language/stats/frequencies.q:1211 src/language/stats/frequencies.q:1517
+#: src/language/stats/crosstabs.q:816 src/language/stats/examine.q:863
+#: src/language/stats/frequencies.q:1212 src/language/stats/frequencies.q:1518
 #: src/ui/gui/var-sheet.c:73
 msgid "Missing"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:815 src/language/stats/crosstabs.q:1018
-#: src/language/stats/crosstabs.q:1738 src/language/stats/examine.q:862
-#: src/language/stats/frequencies.q:1220 src/language/stats/oneway.q:314
-#: src/language/stats/oneway.q:478 src/language/stats/regression.q:308
+#: src/language/stats/crosstabs.q:817 src/language/stats/crosstabs.q:1020
+#: src/language/stats/crosstabs.q:1740 src/language/stats/examine.q:864
+#: src/language/stats/frequencies.q:1221 src/language/stats/oneway.q:315
+#: src/language/stats/oneway.q:479 src/language/stats/regression.q:312
 msgid "Total"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:938
-#: src/language/stats/frequencies.q:1515 src/language/stats/oneway.q:400
-#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
-#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1365
+#: src/language/stats/crosstabs.q:827 src/language/stats/examine.q:940
+#: src/language/stats/frequencies.q:1516 src/language/stats/oneway.q:401
+#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
+#: src/language/stats/t-test.q:833 src/language/stats/t-test.q:1368
 msgid "N"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:826 src/language/stats/examine.q:941
-#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
-#: src/language/stats/frequencies.q:1149
+#: src/language/stats/crosstabs.q:828 src/language/stats/examine.q:943
+#: src/language/stats/frequencies.q:1148 src/language/stats/frequencies.q:1149
+#: src/language/stats/frequencies.q:1150
 msgid "Percent"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1068
+#: src/language/stats/crosstabs.q:1070
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1069
+#: src/language/stats/crosstabs.q:1071
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1070
+#: src/language/stats/crosstabs.q:1072
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1071
+#: src/language/stats/crosstabs.q:1073
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1072
+#: src/language/stats/crosstabs.q:1074
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1073
+#: src/language/stats/crosstabs.q:1075
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1074
+#: src/language/stats/crosstabs.q:1076
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1075
+#: src/language/stats/crosstabs.q:1077
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1105
+#: src/language/stats/crosstabs.q:1107
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1108 src/language/stats/crosstabs.q:1135
-#: src/language/stats/crosstabs.q:1155 src/language/stats/crosstabs.q:1176
-#: src/language/stats/examine.q:1372
+#: src/language/stats/crosstabs.q:1110 src/language/stats/crosstabs.q:1137
+#: src/language/stats/crosstabs.q:1157 src/language/stats/crosstabs.q:1178
+#: src/language/stats/examine.q:1374
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1110 src/language/stats/oneway.q:287
-#: src/language/stats/oneway.q:690 src/language/stats/regression.q:301
-#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
-#: src/language/stats/t-test.q:1264
+#: src/language/stats/crosstabs.q:1112 src/language/stats/oneway.q:288
+#: src/language/stats/oneway.q:691 src/language/stats/regression.q:305
+#: src/language/stats/t-test.q:983 src/language/stats/t-test.q:1175
+#: src/language/stats/t-test.q:1267
 msgid "df"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1112
+#: src/language/stats/crosstabs.q:1114
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1116
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1118
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1131
+#: src/language/stats/crosstabs.q:1133
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1134 src/language/stats/crosstabs.q:1175
+#: src/language/stats/crosstabs.q:1136 src/language/stats/crosstabs.q:1177
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1137 src/language/stats/crosstabs.q:1179
+#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1138 src/language/stats/crosstabs.q:1180
+#: src/language/stats/crosstabs.q:1140 src/language/stats/crosstabs.q:1182
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1141 src/language/stats/crosstabs.q:1183
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1150
+#: src/language/stats/crosstabs.q:1152
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1154
+#: src/language/stats/crosstabs.q:1156
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1157 src/language/stats/t-test.q:984
-#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1267
+#: src/language/stats/crosstabs.q:1159 src/language/stats/t-test.q:987
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1270
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1158 src/language/stats/t-test.q:985
-#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1268
+#: src/language/stats/crosstabs.q:1160 src/language/stats/t-test.q:988
+#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1271
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1172
+#: src/language/stats/crosstabs.q:1174
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1177 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1179 src/ui/gui/var-sheet.c:68
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1933
+#: src/language/stats/crosstabs.q:1935
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1934
+#: src/language/stats/crosstabs.q:1936
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1935
+#: src/language/stats/crosstabs.q:1937
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1938
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1939
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1974 src/language/stats/crosstabs.q:2044
-#: src/language/stats/crosstabs.q:2103
+#: src/language/stats/crosstabs.q:1976 src/language/stats/crosstabs.q:2046
+#: src/language/stats/crosstabs.q:2105
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1990 src/language/stats/crosstabs.q:2119
+#: src/language/stats/crosstabs.q:1992 src/language/stats/crosstabs.q:2121
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1991 src/language/stats/crosstabs.q:2120
+#: src/language/stats/crosstabs.q:1993 src/language/stats/crosstabs.q:2122
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1992
+#: src/language/stats/crosstabs.q:1994
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1993
+#: src/language/stats/crosstabs.q:1995
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1998
+#: src/language/stats/crosstabs.q:2000
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1999
+#: src/language/stats/crosstabs.q:2001
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2002
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2001
+#: src/language/stats/crosstabs.q:2003
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2002
+#: src/language/stats/crosstabs.q:2004
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2003
+#: src/language/stats/crosstabs.q:2005
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2004
+#: src/language/stats/crosstabs.q:2006
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2007
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2008
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2076
+#: src/language/stats/crosstabs.q:2078
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2079
+#: src/language/stats/crosstabs.q:2081
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2087
+#: src/language/stats/crosstabs.q:2089
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2090
+#: src/language/stats/crosstabs.q:2092
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:2123
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2126
+#: src/language/stats/crosstabs.q:2128
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2127
+#: src/language/stats/crosstabs.q:2129
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2130
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2131
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2130
+#: src/language/stats/crosstabs.q:2132
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2135
+#: src/language/stats/crosstabs.q:2137
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2136 src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2138 src/language/stats/crosstabs.q:2139
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:103 src/language/stats/examine.q:1477
-#: src/language/stats/frequencies.q:119 src/language/stats/oneway.q:401
-#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
-#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1166
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1479
+#: src/language/stats/frequencies.q:120 src/language/stats/oneway.q:402
+#: src/language/stats/t-test.q:686 src/language/stats/t-test.q:709
+#: src/language/stats/t-test.q:832 src/language/stats/t-test.q:1169
 msgid "Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:104
+#: src/language/stats/descriptives.c:106
 msgid "S E Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/frequencies.q:123
+#: src/language/stats/descriptives.c:107 src/language/stats/frequencies.q:124
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1557
-#: src/language/stats/frequencies.q:124
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1559
+#: src/language/stats/frequencies.q:125
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:107 src/language/stats/examine.q:1664
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1666
+#: src/language/stats/frequencies.q:126
 msgid "Kurtosis"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108
+#: src/language/stats/descriptives.c:110
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1644
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1646
+#: src/language/stats/frequencies.q:128
 msgid "Skewness"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110
+#: src/language/stats/descriptives.c:112
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1605
-#: src/language/stats/frequencies.q:129
+#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1607
+#: src/language/stats/frequencies.q:130
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1582
-#: src/language/stats/frequencies.q:130 src/language/stats/oneway.q:413
+#: src/language/stats/descriptives.c:114 src/language/stats/examine.q:1584
+#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:414
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1593
-#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:414
+#: src/language/stats/descriptives.c:115 src/language/stats/examine.q:1595
+#: src/language/stats/frequencies.q:132 src/language/stats/oneway.q:415
 msgid "Maximum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:114 src/language/stats/frequencies.q:132
+#: src/language/stats/descriptives.c:116 src/language/stats/frequencies.q:133
 msgid "Sum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:338
+#: src/language/stats/descriptives.c:340
 #, c-format
 msgid "Z-score variable name %s would be a duplicate variable name."
 msgstr ""
 
-#: src/language/stats/descriptives.c:440
+#: src/language/stats/descriptives.c:442
 msgid "expecting statistic name: reverting to default"
 msgstr ""
 
-#: src/language/stats/descriptives.c:512
+#: src/language/stats/descriptives.c:514
 msgid ""
 "Ran out of generic names for Z-score variables.  There are only 126 generic "
 "names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
 msgstr ""
 
-#: src/language/stats/descriptives.c:543
+#: src/language/stats/descriptives.c:545
 msgid "Mapping of variables to corresponding Z-scores."
 msgstr ""
 
-#: src/language/stats/descriptives.c:548
+#: src/language/stats/descriptives.c:550
 msgid "Source"
 msgstr ""
 
-#: src/language/stats/descriptives.c:549
+#: src/language/stats/descriptives.c:551
 msgid "Target"
 msgstr ""
 
-#: src/language/stats/descriptives.c:667 src/language/stats/descriptives.c:673
+#: src/language/stats/descriptives.c:669 src/language/stats/descriptives.c:675
 msgid "Z-score of "
 msgstr ""
 
-#: src/language/stats/descriptives.c:889
+#: src/language/stats/descriptives.c:891
 msgid "Valid N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:890
+#: src/language/stats/descriptives.c:892
 msgid "Missing N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:917
+#: src/language/stats/descriptives.c:919
 #, c-format
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:481 src/language/stats/examine.q:493
+#: src/language/stats/examine.q:483 src/language/stats/examine.q:495
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:920
+#: src/language/stats/examine.q:922
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1126
+#: src/language/stats/examine.q:1128
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1142
+#: src/language/stats/examine.q:1144
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1227
+#: src/language/stats/examine.q:1229
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1232
+#: src/language/stats/examine.q:1234
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1373 src/language/stats/oneway.q:403
-#: src/language/stats/oneway.q:688 src/language/stats/regression.q:205
+#: src/language/stats/examine.q:1375 src/language/stats/oneway.q:404
+#: src/language/stats/oneway.q:689 src/language/stats/regression.q:209
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1375 src/language/stats/oneway.q:417
+#: src/language/stats/examine.q:1377 src/language/stats/oneway.q:418
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1495 src/language/stats/oneway.q:408
+#: src/language/stats/examine.q:1497 src/language/stats/oneway.q:409
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1501 src/language/stats/oneway.q:410
+#: src/language/stats/examine.q:1503 src/language/stats/oneway.q:411
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1512 src/language/stats/oneway.q:411
+#: src/language/stats/examine.q:1514 src/language/stats/oneway.q:412
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1524
+#: src/language/stats/examine.q:1526
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1535 src/language/stats/frequencies.q:121
+#: src/language/stats/examine.q:1537 src/language/stats/frequencies.q:122
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1569 src/language/stats/oneway.q:402
-#: src/language/stats/t-test.q:684 src/language/stats/t-test.q:707
-#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1167
+#: src/language/stats/examine.q:1571 src/language/stats/oneway.q:403
+#: src/language/stats/t-test.q:687 src/language/stats/t-test.q:710
+#: src/language/stats/t-test.q:834 src/language/stats/t-test.q:1170
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1617
+#: src/language/stats/examine.q:1619
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1769
+#: src/language/stats/examine.q:1771
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1794
+#: src/language/stats/examine.q:1796
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1836
+#: src/language/stats/examine.q:1838
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1837 src/language/stats/examine.q:1843
+#: src/language/stats/examine.q:1839 src/language/stats/examine.q:1845
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1838
+#: src/language/stats/examine.q:1840
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1841
+#: src/language/stats/examine.q:1843
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1844
+#: src/language/stats/examine.q:1846
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1963 src/language/stats/examine.q:1985
-#: src/language/stats/frequencies.q:1527
+#: src/language/stats/examine.q:1965 src/language/stats/examine.q:1987
+#: src/language/stats/frequencies.q:1528
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2110
+#: src/language/stats/examine.q:2112
 msgid "Tukey's Hinges"
 msgstr ""
 
@@ -3123,320 +3118,320 @@ msgid ""
 "FLIP ignores TEMPORARY.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/stats/flip.c:241
+#: src/language/stats/flip.c:240
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/language/stats/flip.c:257
+#: src/language/stats/flip.c:256
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/language/stats/flip.c:294
+#: src/language/stats/flip.c:293
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/language/stats/flip.c:305 src/language/stats/flip.c:371
+#: src/language/stats/flip.c:304 src/language/stats/flip.c:370
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:417
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:425
+#: src/language/stats/flip.c:424
 msgid "Error creating FLIP source file."
 msgstr ""
 
-#: src/language/stats/flip.c:437
+#: src/language/stats/flip.c:436
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:460
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:468
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:484
+#: src/language/stats/flip.c:483
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:532
+#: src/language/stats/flip.c:531
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:535
+#: src/language/stats/flip.c:534
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr ""
 
-#: src/language/stats/frequencies.q:120
+#: src/language/stats/frequencies.q:121
 msgid "S.E. Mean"
 msgstr ""
 
-#: src/language/stats/frequencies.q:122
+#: src/language/stats/frequencies.q:123
 msgid "Mode"
 msgstr ""
 
-#: src/language/stats/frequencies.q:126
+#: src/language/stats/frequencies.q:127
 msgid "S.E. Kurt"
 msgstr ""
 
-#: src/language/stats/frequencies.q:128
+#: src/language/stats/frequencies.q:129
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:404
+#: src/language/stats/frequencies.q:405
 msgid ""
 "At most one of BARCHART, HISTOGRAM, or HBAR should be given.  HBAR will be "
 "assumed.  Argument values will be given precedence increasing along the "
 "order given."
 msgstr ""
 
-#: src/language/stats/frequencies.q:487
+#: src/language/stats/frequencies.q:488
 #, c-format
 msgid ""
 "MAX must be greater than or equal to MIN, if both are specified.  However, "
 "MIN was specified as %g and MAX as %g.  MIN and MAX will be ignored."
 msgstr ""
 
-#: src/language/stats/frequencies.q:810
+#: src/language/stats/frequencies.q:811
 msgid ""
 "Upper limit of integer mode value range must be greater than lower limit."
 msgstr ""
 
-#: src/language/stats/frequencies.q:823
+#: src/language/stats/frequencies.q:824
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:829
+#: src/language/stats/frequencies.q:830
 #, c-format
 msgid "Integer mode specified, but %s is not a numeric variable."
 msgstr ""
 
-#: src/language/stats/frequencies.q:895
+#: src/language/stats/frequencies.q:896
 msgid "`)' expected after GROUPED interval list."
 msgstr ""
 
-#: src/language/stats/frequencies.q:907
+#: src/language/stats/frequencies.q:908
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr ""
 
-#: src/language/stats/frequencies.q:914
+#: src/language/stats/frequencies.q:915
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1236
-#: src/language/stats/frequencies.q:1237 src/language/stats/frequencies.q:1269
+#: src/language/stats/frequencies.q:1145 src/language/stats/frequencies.q:1237
+#: src/language/stats/frequencies.q:1238 src/language/stats/frequencies.q:1270
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1146 src/output/charts/plot-hist.c:129
+#: src/language/stats/frequencies.q:1147 src/output/charts/plot-hist.c:129
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1166
+#: src/language/stats/frequencies.q:1167
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1267
+#: src/language/stats/frequencies.q:1268
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1268 src/language/stats/frequencies.q:1270
+#: src/language/stats/frequencies.q:1269 src/language/stats/frequencies.q:1271
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1489
+#: src/language/stats/frequencies.q:1490
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/language/stats/means.q:102
+#: src/language/stats/means.q:104
 msgid "Missing required subcommand TABLES."
 msgstr ""
 
-#: src/language/stats/means.q:136
+#: src/language/stats/means.q:138
 msgid "TABLES subcommand may not appear more than once."
 msgstr ""
 
-#: src/language/stats/oneway.q:177
+#: src/language/stats/oneway.q:178
 msgid "Number of contrast coefficients must equal the number of groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:186
+#: src/language/stats/oneway.q:187
 #, c-format
 msgid "Coefficients for contrast %d do not total zero"
 msgstr ""
 
-#: src/language/stats/oneway.q:251
+#: src/language/stats/oneway.q:252
 #, c-format
 msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/language/stats/oneway.q:286 src/language/stats/regression.q:300
+#: src/language/stats/oneway.q:287 src/language/stats/regression.q:304
 msgid "Sum of Squares"
 msgstr ""
 
-#: src/language/stats/oneway.q:288 src/language/stats/regression.q:302
+#: src/language/stats/oneway.q:289 src/language/stats/regression.q:306
 msgid "Mean Square"
 msgstr ""
 
-#: src/language/stats/oneway.q:289 src/language/stats/regression.q:303
-#: src/language/stats/t-test.q:977
+#: src/language/stats/oneway.q:290 src/language/stats/regression.q:307
+#: src/language/stats/t-test.q:980
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:290 src/language/stats/oneway.q:544
-#: src/language/stats/regression.q:208 src/language/stats/regression.q:304
+#: src/language/stats/oneway.q:291 src/language/stats/oneway.q:545
+#: src/language/stats/regression.q:212 src/language/stats/regression.q:308
 msgid "Significance"
 msgstr ""
 
-#: src/language/stats/oneway.q:312
+#: src/language/stats/oneway.q:313
 msgid "Between Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:313
+#: src/language/stats/oneway.q:314
 msgid "Within Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:360 src/language/stats/regression.q:330
+#: src/language/stats/oneway.q:361 src/language/stats/regression.q:334
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:541
+#: src/language/stats/oneway.q:542
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:542
+#: src/language/stats/oneway.q:543
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:543
+#: src/language/stats/oneway.q:544
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:547
+#: src/language/stats/oneway.q:548
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:617
+#: src/language/stats/oneway.q:618
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:619 src/language/stats/oneway.q:686
+#: src/language/stats/oneway.q:620 src/language/stats/oneway.q:687
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:684
+#: src/language/stats/oneway.q:685
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:687
+#: src/language/stats/oneway.q:688
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:689 src/language/stats/regression.q:207
-#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
-#: src/language/stats/t-test.q:1263
+#: src/language/stats/oneway.q:690 src/language/stats/regression.q:211
+#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1174
+#: src/language/stats/t-test.q:1266
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:691 src/language/stats/t-test.q:981
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1265
+#: src/language/stats/oneway.q:692 src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:1176 src/language/stats/t-test.q:1268
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:735
+#: src/language/stats/oneway.q:736
 msgid "Assume equal variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:739
+#: src/language/stats/oneway.q:740
 msgid "Does not assume equal"
 msgstr ""
 
-#: src/language/stats/rank.q:245
+#: src/language/stats/rank.q:247
 #, c-format
 msgid "Variable %s already exists."
 msgstr ""
 
-#: src/language/stats/rank.q:250
+#: src/language/stats/rank.q:252
 msgid "Too many variables in INTO clause."
 msgstr ""
 
-#: src/language/stats/regression.q:159
+#: src/language/stats/regression.q:163
 msgid "R"
 msgstr ""
 
-#: src/language/stats/regression.q:160
+#: src/language/stats/regression.q:164
 msgid "R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:161
+#: src/language/stats/regression.q:165
 msgid "Adjusted R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:162
+#: src/language/stats/regression.q:166
 msgid "Std. Error of the Estimate"
 msgstr ""
 
-#: src/language/stats/regression.q:167
+#: src/language/stats/regression.q:171
 msgid "Model Summary"
 msgstr ""
 
-#: src/language/stats/regression.q:204
+#: src/language/stats/regression.q:208
 msgid "B"
 msgstr ""
 
-#: src/language/stats/regression.q:206
+#: src/language/stats/regression.q:210
 msgid "Beta"
 msgstr ""
 
-#: src/language/stats/regression.q:209
+#: src/language/stats/regression.q:213
 msgid "(Constant)"
 msgstr ""
 
-#: src/language/stats/regression.q:269
+#: src/language/stats/regression.q:273
 msgid "Coefficients"
 msgstr ""
 
-#: src/language/stats/regression.q:306
+#: src/language/stats/regression.q:310
 msgid "Regression"
 msgstr ""
 
-#: src/language/stats/regression.q:307
+#: src/language/stats/regression.q:311
 msgid "Residual"
 msgstr ""
 
-#: src/language/stats/regression.q:385
+#: src/language/stats/regression.q:389
 msgid "Model"
 msgstr ""
 
-#: src/language/stats/regression.q:386
+#: src/language/stats/regression.q:390
 msgid "Covariances"
 msgstr ""
 
-#: src/language/stats/regression.q:401
+#: src/language/stats/regression.q:405
 msgid "Coefficient Correlations"
 msgstr ""
 
-#: src/language/stats/regression.q:1104
+#: src/language/stats/regression.q:1108
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/sort-cases.c:61
+#: src/language/stats/sort-cases.c:64
 msgid "Buffer limit must be at least 2."
 msgstr ""
 
@@ -3448,130 +3443,130 @@ msgstr ""
 msgid "`)' expected."
 msgstr ""
 
-#: src/language/stats/t-test.q:272
+#: src/language/stats/t-test.q:275
 msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/language/stats/t-test.q:290
+#: src/language/stats/t-test.q:293
 msgid "VARIABLES subcommand is not appropriate with PAIRS"
 msgstr ""
 
-#: src/language/stats/t-test.q:328
+#: src/language/stats/t-test.q:331
 msgid "One or more VARIABLES must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:379
+#: src/language/stats/t-test.q:382
 #, c-format
 msgid "Long string variable %s is not valid here."
 msgstr ""
 
-#: src/language/stats/t-test.q:399 src/language/stats/t-test.q:414
+#: src/language/stats/t-test.q:402 src/language/stats/t-test.q:417
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:486
+#: src/language/stats/t-test.q:489
 #, c-format
 msgid ""
 "PAIRED was specified but the number of variables preceding WITH (%d) did not "
 "match the number following (%d)."
 msgstr ""
 
-#: src/language/stats/t-test.q:503
+#: src/language/stats/t-test.q:506
 msgid "At least two variables must be specified on PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:680
+#: src/language/stats/t-test.q:683
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
-#: src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:688 src/language/stats/t-test.q:711
+#: src/language/stats/t-test.q:835
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:703
+#: src/language/stats/t-test.q:706
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:826
+#: src/language/stats/t-test.q:829
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:848 src/language/stats/t-test.q:1192
-#: src/language/stats/t-test.q:1382
+#: src/language/stats/t-test.q:851 src/language/stats/t-test.q:1195
+#: src/language/stats/t-test.q:1385
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:965
+#: src/language/stats/t-test.q:968
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:973
+#: src/language/stats/t-test.q:976
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:975
+#: src/language/stats/t-test.q:978
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:978 src/language/stats/t-test.q:1367
+#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1370
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1266
+#: src/language/stats/t-test.q:985 src/language/stats/t-test.q:1269
 msgid "Mean Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:983
+#: src/language/stats/t-test.q:986
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:988 src/language/stats/t-test.q:1163
-#: src/language/stats/t-test.q:1258
+#: src/language/stats/t-test.q:991 src/language/stats/t-test.q:1166
+#: src/language/stats/t-test.q:1261
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1043
+#: src/language/stats/t-test.q:1046
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1095
+#: src/language/stats/t-test.q:1098
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1153
+#: src/language/stats/t-test.q:1156
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1156
+#: src/language/stats/t-test.q:1159
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1168
+#: src/language/stats/t-test.q:1171
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1247
+#: src/language/stats/t-test.q:1250
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1252
+#: src/language/stats/t-test.q:1255
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1362
+#: src/language/stats/t-test.q:1365
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1366
+#: src/language/stats/t-test.q:1369
 msgid "Correlation"
 msgstr ""
 
-#: src/language/stats/t-test.q:1385
+#: src/language/stats/t-test.q:1388
 #, c-format
 msgid "%s & %s"
 msgstr ""
@@ -3730,94 +3725,94 @@ msgstr ""
 msgid "WIDTH is %d."
 msgstr ""
 
-#: src/language/utilities/title.c:68
+#: src/language/utilities/title.c:70
 #, c-format
 msgid "%s: `.' expected after string."
 msgstr ""
 
-#: src/language/utilities/title.c:138
+#: src/language/utilities/title.c:140
 #, c-format
 msgid "Document entered %s by %s:"
 msgstr ""
 
-#: src/language/xforms/compute.c:139 src/language/xforms/compute.c:186
+#: src/language/xforms/compute.c:143 src/language/xforms/compute.c:190
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/language/xforms/compute.c:142 src/language/xforms/compute.c:193
+#: src/language/xforms/compute.c:146 src/language/xforms/compute.c:197
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/language/xforms/compute.c:327
+#: src/language/xforms/compute.c:331
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/language/xforms/count.c:120
+#: src/language/xforms/count.c:124
 msgid "Destination cannot be a string variable."
 msgstr ""
 
-#: src/language/xforms/recode.c:234
+#: src/language/xforms/recode.c:238
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
 msgstr ""
 
-#: src/language/xforms/recode.c:254
+#: src/language/xforms/recode.c:258
 msgid "CONVERT requires string input values and numeric output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:372
+#: src/language/xforms/recode.c:376
 msgid "expecting output value"
 msgstr ""
 
-#: src/language/xforms/recode.c:419
+#: src/language/xforms/recode.c:423
 #, c-format
 msgid ""
 "%u variable(s) cannot be recoded into %u variable(s).  Specify the same "
 "number of variables as source and target variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:435
+#: src/language/xforms/recode.c:439
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
 "already exist.  Use the STRING command to create a string variable.)"
 msgstr ""
 
-#: src/language/xforms/recode.c:450
+#: src/language/xforms/recode.c:454
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:463
+#: src/language/xforms/recode.c:467
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr ""
 
-#: src/language/xforms/sample.c:75
+#: src/language/xforms/sample.c:78
 msgid "The sampling factor must be between 0 and 1 exclusive."
 msgstr ""
 
-#: src/language/xforms/sample.c:95
+#: src/language/xforms/sample.c:98
 #, c-format
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/language/xforms/select-if.c:105
+#: src/language/xforms/select-if.c:109
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/language/xforms/select-if.c:111
+#: src/language/xforms/select-if.c:115
 msgid "The filter variable may not be scratch."
 msgstr ""
 
-#: src/language/xforms/select-if.c:143
+#: src/language/xforms/select-if.c:147
 msgid "Only last instance of this command is in effect."
 msgstr ""
 
@@ -3846,7 +3841,7 @@ msgstr ""
 msgid "Empirical with averaging"
 msgstr ""
 
-#: src/math/sort.c:432
+#: src/math/sort.c:437
 #, c-format
 msgid ""
 "Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
@@ -4274,15 +4269,15 @@ msgstr ""
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:75
+#: src/ui/gui/message-dialog.c:123
 msgid "Script Error"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:79
+#: src/ui/gui/message-dialog.c:127
 msgid "Data File Error"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:84
+#: src/ui/gui/message-dialog.c:132
 msgid "PSPP Error"
 msgstr ""
 
@@ -4294,7 +4289,7 @@ msgstr ""
 msgid "Incorrect range specification"
 msgstr ""
 
-#: src/ui/gui/psppire-data-store.c:653
+#: src/ui/gui/psppire-data-store.c:651
 msgid "var"
 msgstr ""
 
@@ -4426,7 +4421,7 @@ msgid ""
 "Report bugs to <%s>.\n"
 msgstr ""
 
-#: src/ui/terminal/main.c:111
+#: src/ui/terminal/main.c:110
 msgid ""
 "Stopping syntax file processing here to avoid a cascade of dependent command "
 "failures."
index 774369b918ecad0b1ccfb8f2a11b0ac1f0d56635..edda3fced7ceb29bf8697ea383d1d6cf733f25b2 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-05-04 13:56+0800\n"
+"POT-Creation-Date: 2006-05-04 21:55-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -291,7 +291,7 @@ msgid ""
 "Year %d cannot be represented in four digits for output formatting purposes."
 msgstr ""
 
-#: src/data/dictionary.c:711
+#: src/data/dictionary.c:708
 msgid ""
 "At least one case in the data file had a weight value that was user-missing, "
 "system-missing, zero, or negative.  These case(s) were ignored."
@@ -401,18 +401,18 @@ msgstr ""
 
 #: src/data/format.c:198 src/data/sys-file-reader.c:1199
 #: src/data/sys-file-reader.c:1344 src/data/sys-file-reader.c:1345
-#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:73
-#: src/language/dictionary/apply-dictionary.c:74
-#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
+#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:76
+#: src/language/dictionary/apply-dictionary.c:77
+#: src/language/xforms/recode.c:469 src/language/xforms/recode.c:470
 msgid "numeric"
 msgstr ""
 
 #: src/data/format.c:198 src/data/sys-file-reader.c:1199
 #: src/data/sys-file-reader.c:1344 src/data/sys-file-reader.c:1345
 #: src/data/variable.c:41 src/data/variable.c:49
-#: src/language/dictionary/apply-dictionary.c:73
-#: src/language/dictionary/apply-dictionary.c:74
-#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
+#: src/language/dictionary/apply-dictionary.c:76
+#: src/language/dictionary/apply-dictionary.c:77
+#: src/language/xforms/recode.c:469 src/language/xforms/recode.c:470
 msgid "string"
 msgstr ""
 
@@ -564,6 +564,27 @@ msgstr ""
 msgid "An I/O error occurred writing portable file \"%s\"."
 msgstr ""
 
+#: src/data/procedure.c:587 src/language/data-io/data-list.c:766
+#: src/language/data-io/data-list.c:881 src/language/data-io/print.c:802
+#: src/language/dictionary/sys-file-info.c:143
+#: src/language/dictionary/sys-file-info.c:377
+#: src/language/stats/descriptives.c:888
+msgid "Variable"
+msgstr ""
+
+#: src/data/procedure.c:588 src/language/dictionary/sys-file-info.c:522
+#: src/language/stats/crosstabs.q:1111 src/language/stats/crosstabs.q:1138
+#: src/language/stats/crosstabs.q:1158 src/language/stats/crosstabs.q:1180
+#: src/language/stats/examine.q:1143 src/language/stats/frequencies.q:1146
+#: src/language/stats/frequencies.q:1267
+msgid "Value"
+msgstr ""
+
+#: src/data/procedure.c:589 src/language/dictionary/sys-file-info.c:384
+#: src/language/dictionary/sys-file-info.c:523 src/ui/gui/var-sheet.c:71
+msgid "Label"
+msgstr ""
+
 #: src/data/scratch-reader.c:59
 #, c-format
 msgid ""
@@ -698,7 +719,7 @@ msgstr ""
 msgid "DEC Kanji"
 msgstr ""
 
-#: src/data/sys-file-reader.c:765 src/language/dictionary/sys-file-info.c:120
+#: src/data/sys-file-reader.c:765 src/language/dictionary/sys-file-info.c:123
 msgid "Unknown"
 msgstr ""
 
@@ -1059,10 +1080,10 @@ msgid "Error executing command: %s."
 msgstr ""
 
 #: src/language/command.c:792 src/language/data-io/matrix-data.c:535
-#: src/language/data-io/print.c:336 src/language/data-io/print.c:1038
-#: src/language/dictionary/vector.c:197 src/language/lexer/lexer.c:453
-#: src/language/stats/autorecode.c:144 src/language/xforms/select-if.c:57
-#: src/language/xforms/select-if.c:137
+#: src/language/data-io/print.c:340 src/language/data-io/print.c:1042
+#: src/language/dictionary/vector.c:199 src/language/lexer/lexer.c:453
+#: src/language/stats/autorecode.c:146 src/language/xforms/select-if.c:61
+#: src/language/xforms/select-if.c:141
 msgid "expecting end of command"
 msgstr ""
 
@@ -1085,219 +1106,207 @@ msgstr ""
 msgid "This command cannot appear outside %s...%s."
 msgstr ""
 
-#: src/language/control/do-if.c:171
+#: src/language/control/do-if.c:175
 msgid "This command may not follow ELSE in DO IF...END IF."
 msgstr ""
 
-#: src/language/control/repeat.c:135
+#: src/language/control/repeat.c:140
 #, c-format
 msgid "Dummy variable name \"%s\" hides dictionary variable \"%s\"."
 msgstr ""
 
-#: src/language/control/repeat.c:141
+#: src/language/control/repeat.c:146
 #, c-format
 msgid "Dummy variable name \"%s\" is given twice."
 msgstr ""
 
-#: src/language/control/repeat.c:182
+#: src/language/control/repeat.c:187
 #, c-format
 msgid ""
 "Dummy variable \"%s\" had %d substitutions, so \"%s\" must also, but %d were "
 "specified."
 msgstr ""
 
-#: src/language/control/repeat.c:451
+#: src/language/control/repeat.c:456
 msgid "String expected."
 msgstr ""
 
-#: src/language/control/repeat.c:478
+#: src/language/control/repeat.c:483
 msgid "No matching DO REPEAT."
 msgstr ""
 
 #: src/language/control/temporary.c:49
-msgid "This command is not valid inside DO IF or LOOP."
-msgstr ""
-
-#: src/language/control/temporary.c:56
 msgid ""
 "This command may only appear once between procedures and procedure-like "
 "commands."
 msgstr ""
 
-#: src/language/data-io/data-list.c:149
+#: src/language/data-io/data-list.c:152
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
-#: src/language/data-io/data-list.c:184
+#: src/language/data-io/data-list.c:187
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
-#: src/language/data-io/data-list.c:334 src/language/data-io/print.c:297
+#: src/language/data-io/data-list.c:337 src/language/data-io/print.c:301
 #, c-format
 msgid ""
 "The record number specified, %ld, is before the previous record, %d.  Data "
 "fields must be listed in order of increasing record number."
 msgstr ""
 
-#: src/language/data-io/data-list.c:363
+#: src/language/data-io/data-list.c:366
 msgid ""
 "SPSS-like or FORTRAN-like format specification expected after variable names."
 msgstr ""
 
-#: src/language/data-io/data-list.c:374
+#: src/language/data-io/data-list.c:377
 msgid "At least one variable must be specified."
 msgstr ""
 
-#: src/language/data-io/data-list.c:379 src/language/data-io/print.c:329
+#: src/language/data-io/data-list.c:382 src/language/data-io/print.c:333
 msgid ""
 "Variables are specified on records that should not exist according to "
 "RECORDS subcommand."
 msgstr ""
 
-#: src/language/data-io/data-list.c:412 src/language/data-io/data-list.c:426
-#: src/language/data-io/print.c:521 src/language/data-io/print.c:534
+#: src/language/data-io/data-list.c:415 src/language/data-io/data-list.c:429
+#: src/language/data-io/print.c:525 src/language/data-io/print.c:538
 msgid "Column positions for fields must be positive."
 msgstr ""
 
-#: src/language/data-io/data-list.c:431
+#: src/language/data-io/data-list.c:434
 msgid "The ending column for a field must be greater than the starting column."
 msgstr ""
 
-#: src/language/data-io/data-list.c:445
+#: src/language/data-io/data-list.c:448
 #, c-format
 msgid "The %d columns %d-%d can't be evenly divided into %d fields."
 msgstr ""
 
-#: src/language/data-io/data-list.c:465 src/language/data-io/print.c:562
+#: src/language/data-io/data-list.c:468 src/language/data-io/print.c:566
 msgid "A format specifier on this line has extra characters on the end."
 msgstr ""
 
-#: src/language/data-io/data-list.c:480 src/language/data-io/print.c:578
+#: src/language/data-io/data-list.c:483 src/language/data-io/print.c:582
 msgid "The value for number of decimal places must be at least 1."
 msgstr ""
 
-#: src/language/data-io/data-list.c:494 src/language/data-io/print.c:591
+#: src/language/data-io/data-list.c:497 src/language/data-io/print.c:595
 #, c-format
 msgid "Input format %s doesn't accept decimal places."
 msgstr ""
 
-#: src/language/data-io/data-list.c:539 src/language/data-io/data-list.c:635
-#: src/language/data-io/data-list.c:840
+#: src/language/data-io/data-list.c:542 src/language/data-io/data-list.c:638
+#: src/language/data-io/data-list.c:843
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
-#: src/language/data-io/data-list.c:544
+#: src/language/data-io/data-list.c:547
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
-#: src/language/data-io/data-list.c:551
+#: src/language/data-io/data-list.c:554
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
-#: src/language/data-io/data-list.c:626
+#: src/language/data-io/data-list.c:629
 msgid ""
 "The number of format specifications exceeds the given number of variable "
 "names."
 msgstr ""
 
-#: src/language/data-io/data-list.c:736 src/language/data-io/print.c:767
+#: src/language/data-io/data-list.c:739 src/language/data-io/print.c:771
 msgid ""
 "There aren't enough format specifications to match the number of variable "
 "names given."
 msgstr ""
 
-#: src/language/data-io/data-list.c:763 src/language/data-io/data-list.c:878
-#: src/language/data-io/print.c:798
-#: src/language/dictionary/sys-file-info.c:140
-#: src/language/dictionary/sys-file-info.c:374
-#: src/language/stats/descriptives.c:886 src/procedure.c:678
-msgid "Variable"
-msgstr ""
-
-#: src/language/data-io/data-list.c:764 src/language/data-io/print.c:799
+#: src/language/data-io/data-list.c:767 src/language/data-io/print.c:803
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:765 src/language/data-io/print.c:800
+#: src/language/data-io/data-list.c:768 src/language/data-io/print.c:804
 #: src/ui/gui/var-sheet.c:74
 msgid "Columns"
 msgstr ""
 
-#: src/language/data-io/data-list.c:766 src/language/data-io/data-list.c:879
-#: src/language/data-io/print.c:801
+#: src/language/data-io/data-list.c:769 src/language/data-io/data-list.c:882
+#: src/language/data-io/print.c:805
 msgid "Format"
 msgstr ""
 
-#: src/language/data-io/data-list.c:781
+#: src/language/data-io/data-list.c:784
 #, c-format
 msgid "Reading %d record from %s."
 msgid_plural "Reading %d records from %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/data-list.c:894
+#: src/language/data-io/data-list.c:897
 #, c-format
 msgid "Reading free-form data from %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:945
+#: src/language/data-io/data-list.c:948
 #, c-format
 msgid "Quoted string missing terminating `%c'."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1060
+#: src/language/data-io/data-list.c:1063
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1113
+#: src/language/data-io/data-list.c:1116
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1156
+#: src/language/data-io/data-list.c:1159
 #, c-format
 msgid ""
 "Missing value(s) for all variables from %s onward.  These will be filled "
 "with the system-missing value or blanks, as appropriate."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:131
+#: src/language/data-io/data-reader.c:134
 #, c-format
 msgid "Could not open \"%s\" for reading as a data file: %s."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:168
+#: src/language/data-io/data-reader.c:171
 msgid ""
 "Unexpected end-of-file while reading data in BEGIN DATA.  This probably "
 "indicates a missing or misformatted END DATA command.  END DATA must appear "
 "by itself on a single line with exactly one space between words."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:199
-#: src/language/data-io/data-reader.c:216
+#: src/language/data-io/data-reader.c:202
+#: src/language/data-io/data-reader.c:219
 #, c-format
 msgid "Error reading file %s: %s."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:219
+#: src/language/data-io/data-reader.c:222
 #, c-format
 msgid "%s: Partial record at end of file."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:270
+#: src/language/data-io/data-reader.c:273
 #, c-format
 msgid "Attempt to read beyond end-of-file on file %s."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:273
+#: src/language/data-io/data-reader.c:276
 msgid "Attempt to read beyond END DATA."
 msgstr ""
 
-#: src/language/data-io/data-reader.c:417
+#: src/language/data-io/data-reader.c:420
 msgid ""
 "This command is not valid here since the current input program does not "
 "access the inline file."
@@ -1355,21 +1364,21 @@ msgstr ""
 msgid "Handle for %s not allowed here."
 msgstr ""
 
-#: src/language/data-io/get.c:111
+#: src/language/data-io/get.c:112
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/language/data-io/get.c:353 src/language/data-io/get.c:367
-#: src/language/data-io/get.c:392
+#: src/language/data-io/get.c:354 src/language/data-io/get.c:368
+#: src/language/data-io/get.c:393
 #, c-format
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:599 src/language/data-io/print.c:180
+#: src/language/data-io/get.c:600 src/language/data-io/print.c:184
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/language/data-io/get.c:632
+#: src/language/data-io/get.c:633
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -1377,31 +1386,31 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c:657
+#: src/language/data-io/get.c:658
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/language/data-io/get.c:664
+#: src/language/data-io/get.c:665
 #, c-format
 msgid ""
 "Number of variables on left side of `=' (%d) does not match number of "
 "variables on right side (%d), in parenthesized group %d of RENAME subcommand."
 msgstr ""
 
-#: src/language/data-io/get.c:677
+#: src/language/data-io/get.c:678
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/language/data-io/get.c:707
+#: src/language/data-io/get.c:708
 msgid "Cannot DROP all variables from dictionary."
 msgstr ""
 
-#: src/language/data-io/get.c:884
+#: src/language/data-io/get.c:885
 msgid "The active file may not be specified more than once."
 msgstr ""
 
-#: src/language/data-io/get.c:892
+#: src/language/data-io/get.c:893
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
@@ -1411,97 +1420,97 @@ msgid ""
 "source.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/data-io/get.c:938
+#: src/language/data-io/get.c:936
 msgid "Multiple IN subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/language/data-io/get.c:958
+#: src/language/data-io/get.c:956
 msgid "BY may appear at most once."
 msgstr ""
 
-#: src/language/data-io/get.c:978
+#: src/language/data-io/get.c:976
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:992
+#: src/language/data-io/get.c:990
 msgid "FIRST may appear at most once."
 msgstr ""
 
-#: src/language/data-io/get.c:1006
+#: src/language/data-io/get.c:1004
 msgid "LAST may appear at most once."
 msgstr ""
 
-#: src/language/data-io/get.c:1047
+#: src/language/data-io/get.c:1045
 msgid "BY is required when TABLE is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1052
+#: src/language/data-io/get.c:1050
 msgid "BY is required when IN is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1080
+#: src/language/data-io/get.c:1078
 #, c-format
 msgid "IN variable name %s duplicates an existing variable name."
 msgstr ""
 
-#: src/language/data-io/get.c:1535
+#: src/language/data-io/get.c:1534
 #, c-format
 msgid ""
 "Variable %s in file %s (%s) has different type or width from the same "
 "variable in earlier file (%s)."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:131
+#: src/language/data-io/inpt-pgm.c:135
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:144
+#: src/language/data-io/inpt-pgm.c:148
 msgid "Input program did not create any variables."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:361
+#: src/language/data-io/inpt-pgm.c:338
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:409
+#: src/language/data-io/inpt-pgm.c:386
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:149 src/language/stats/descriptives.c:356
+#: src/language/data-io/list.q:151 src/language/stats/descriptives.c:358
 msgid "No variables specified."
 msgstr ""
 
-#: src/language/data-io/list.q:157
+#: src/language/data-io/list.q:159
 #, c-format
 msgid ""
 "The first case (%ld) specified precedes the last case (%ld) specified.  The "
 "values will be swapped."
 msgstr ""
 
-#: src/language/data-io/list.q:165
+#: src/language/data-io/list.q:167
 #, c-format
 msgid ""
 "The first case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:171
+#: src/language/data-io/list.q:173
 #, c-format
 msgid ""
 "The last case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:177
+#: src/language/data-io/list.q:179
 #, c-format
 msgid "The step value %ld is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:203
+#: src/language/data-io/list.q:205
 msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/language/data-io/list.q:430
+#: src/language/data-io/list.q:432
 msgid "Line"
 msgstr ""
 
@@ -1618,523 +1627,509 @@ msgstr ""
 msgid "End of line expected %s while reading %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1116
+#: src/language/data-io/matrix-data.c:1117
 #, c-format
 msgid "expecting value for %s %s"
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1281
+#: src/language/data-io/matrix-data.c:1282
 #, c-format
 msgid "Syntax error expecting SPLIT FILE value %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1290
+#: src/language/data-io/matrix-data.c:1291
 #, c-format
 msgid "Expecting value %g for %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1331
-#: src/language/data-io/matrix-data.c:1808
+#: src/language/data-io/matrix-data.c:1332
+#: src/language/data-io/matrix-data.c:1809
 #, c-format
 msgid "Syntax error expecting factor value %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1340
+#: src/language/data-io/matrix-data.c:1341
 #, c-format
 msgid "Syntax error expecting value %g for %s %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1584
+#: src/language/data-io/matrix-data.c:1585
 #, c-format
 msgid "Syntax error %s expecting SPLIT FILE value."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1713
+#: src/language/data-io/matrix-data.c:1714
 #, c-format
 msgid ""
 "Expected %d lines of data for %s content; actually saw %d lines.  No data "
 "will be output for this content."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1750
+#: src/language/data-io/matrix-data.c:1751
 #, c-format
 msgid "Multiply specified ROWTYPE_ %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1755
+#: src/language/data-io/matrix-data.c:1756
 #, c-format
 msgid "Syntax error %s expecting ROWTYPE_ string."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1775
+#: src/language/data-io/matrix-data.c:1776
 #, c-format
 msgid "Syntax error %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1926
+#: src/language/data-io/matrix-data.c:1927
 #, c-format
 msgid "Duplicate specification for %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1938
+#: src/language/data-io/matrix-data.c:1939
 #, c-format
 msgid "Too many rows of matrix data for %s."
 msgstr ""
 
-#: src/language/data-io/matrix-data.c:1984
+#: src/language/data-io/matrix-data.c:1985
 #, c-format
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
-#: src/language/data-io/print.c:366 src/language/data-io/print.c:383
+#: src/language/data-io/print.c:370 src/language/data-io/print.c:387
 #, c-format
 msgid "%g is not a valid column location."
 msgstr ""
 
-#: src/language/data-io/print.c:377
+#: src/language/data-io/print.c:381
 #, c-format
 msgid "Column location expected following `%d-'."
 msgstr ""
 
-#: src/language/data-io/print.c:388
+#: src/language/data-io/print.c:392
 #, c-format
 msgid ""
 "%d-%ld is not a valid column range.  The second column must be greater than "
 "or equal to the first."
 msgstr ""
 
-#: src/language/data-io/print.c:489
+#: src/language/data-io/print.c:493
 #, c-format
 msgid "Variable %s has width %d so it cannot be output as format %s."
 msgstr ""
 
-#: src/language/data-io/print.c:509
+#: src/language/data-io/print.c:513
 #, c-format
 msgid ""
 "%s is not of the same type as %s.  To specify variables of different types "
 "in the same variable list, use a FORTRAN-like format specifier."
 msgstr ""
 
-#: src/language/data-io/print.c:539
+#: src/language/data-io/print.c:543
 msgid ""
 "The ending column for a field must not be less than the starting column."
 msgstr ""
 
-#: src/language/data-io/print.c:611
+#: src/language/data-io/print.c:615
 #, c-format
 msgid "The %d columns %d-%d can't be evenly divided into %u fields."
 msgstr ""
 
-#: src/language/data-io/print.c:688
+#: src/language/data-io/print.c:692
 msgid ""
 "The number of format specifications exceeds the number of variable names "
 "given."
 msgstr ""
 
-#: src/language/data-io/print.c:840
+#: src/language/data-io/print.c:844
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:844
+#: src/language/data-io/print.c:848
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:1078
+#: src/language/data-io/print.c:1082
 msgid "The expression on PRINT SPACE evaluated to the system-missing value."
 msgstr ""
 
-#: src/language/data-io/print.c:1081
+#: src/language/data-io/print.c:1085
 #, c-format
 msgid "The expression on PRINT SPACE evaluated to %g."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:70
+#: src/language/dictionary/apply-dictionary.c:73
 #, c-format
 msgid "Variable %s is %s in target file, but %s in source file."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:86
+#: src/language/dictionary/apply-dictionary.c:89
 #, c-format
 msgid "Cannot add value labels from source file to long string variable %s."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:132
+#: src/language/dictionary/apply-dictionary.c:135
 #, c-format
 msgid ""
 "Cannot apply missing values from source file to long string variable %s."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:152
+#: src/language/dictionary/apply-dictionary.c:155
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
-#: src/language/dictionary/formats.c:87
+#: src/language/dictionary/formats.c:90
 msgid "`(' expected after variable list"
 msgstr ""
 
-#: src/language/dictionary/formats.c:97 src/language/dictionary/numeric.c:66
-#: src/language/dictionary/numeric.c:137
+#: src/language/dictionary/formats.c:100 src/language/dictionary/numeric.c:69
+#: src/language/dictionary/numeric.c:140
 msgid "`)' expected after output format."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:53
+#: src/language/dictionary/missing-values.c:56
 #: src/language/stats/aggregate.c:438
 msgid "expecting `('"
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:69
+#: src/language/dictionary/missing-values.c:72
 #, c-format
 msgid ""
 "Cannot mix numeric variables (e.g. %s) and string variables (e.g. %s) within "
 "a single list."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:109
+#: src/language/dictionary/missing-values.c:112
 #, c-format
 msgid "Truncating missing value to short string length (%d characters)."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:128
+#: src/language/dictionary/missing-values.c:131
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:93
+#: src/language/dictionary/modify-variables.c:92
 msgid ""
 "MODIFY VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:117
+#: src/language/dictionary/modify-variables.c:114
 msgid "REORDER subcommand may be given at most once."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:140
+#: src/language/dictionary/modify-variables.c:137
 msgid "Cannot specify ALL after specifying a set of variables."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:150
+#: src/language/dictionary/modify-variables.c:147
 msgid "`(' expected on REORDER subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:162
+#: src/language/dictionary/modify-variables.c:159
 msgid "`)' expected following variable names on REORDER subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:180
+#: src/language/dictionary/modify-variables.c:177
 msgid "RENAME subcommand may be given at most once."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:193
+#: src/language/dictionary/modify-variables.c:190
 msgid "`(' expected on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:201
+#: src/language/dictionary/modify-variables.c:198
 msgid ""
 "`=' expected between lists of new and old variable names on RENAME "
 "subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:209
+#: src/language/dictionary/modify-variables.c:206
 #, c-format
 msgid ""
 "Differing number of variables in old name list (%d) and in new name list (%"
 "d)."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:220
+#: src/language/dictionary/modify-variables.c:217
 msgid "`)' expected after variable lists on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:234
+#: src/language/dictionary/modify-variables.c:231
 msgid ""
 "KEEP subcommand may be given at most once.  It may notbe given in "
 "conjunction with the DROP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:277
+#: src/language/dictionary/modify-variables.c:274
 msgid ""
 "DROP subcommand may be given at most once.  It may not be given in "
 "conjunction with the KEEP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:303
+#: src/language/dictionary/modify-variables.c:300
 #, c-format
 msgid "Unrecognized subcommand name `%s'."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:305
+#: src/language/dictionary/modify-variables.c:302
 msgid "Subcommand name expected."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:313
+#: src/language/dictionary/modify-variables.c:310
 msgid "`/' or `.' expected."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:59
+#: src/language/dictionary/numeric.c:62
 #, c-format
 msgid "Format type %s may not be used with a numeric variable."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:78 src/language/dictionary/numeric.c:160
-#: src/language/dictionary/vector.c:159
+#: src/language/dictionary/numeric.c:81 src/language/dictionary/numeric.c:163
+#: src/language/dictionary/vector.c:161
 #, c-format
 msgid "There is already a variable named %s."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:130
+#: src/language/dictionary/numeric.c:133
 #, c-format
 msgid "Format type %s may not be used with a string variable."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:49
+#: src/language/dictionary/rename-variables.c:50
 msgid ""
 "RENAME VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:61
+#: src/language/dictionary/rename-variables.c:60
 msgid "`(' expected."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:69
+#: src/language/dictionary/rename-variables.c:68
 msgid "`=' expected between lists of new and old variable names."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:78
+#: src/language/dictionary/rename-variables.c:77
 #, c-format
 msgid ""
 "Differing number of variables in old name list (%u) and in new name list (%"
 "u)."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:90
+#: src/language/dictionary/rename-variables.c:89
 msgid "`)' expected after variable names."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:100
+#: src/language/dictionary/rename-variables.c:99
 #, c-format
 msgid "Renaming would duplicate variable name %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:101
+#: src/language/dictionary/sys-file-info.c:104
 msgid "File:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:103
+#: src/language/dictionary/sys-file-info.c:106
 msgid "Label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:107
+#: src/language/dictionary/sys-file-info.c:110
 msgid "No label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:110
+#: src/language/dictionary/sys-file-info.c:113
 msgid "Created:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:113
+#: src/language/dictionary/sys-file-info.c:116
 msgid "Endian:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:117
 msgid "Big."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:117
 msgid "Little."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:115
+#: src/language/dictionary/sys-file-info.c:118
 msgid "Variables:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:118
+#: src/language/dictionary/sys-file-info.c:121
 msgid "Cases:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:121
+#: src/language/dictionary/sys-file-info.c:124
 msgid "Type:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:125
 msgid "System File."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:126
 msgid "Weight:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:127
+#: src/language/dictionary/sys-file-info.c:130
 msgid "Not weighted."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:129
+#: src/language/dictionary/sys-file-info.c:132
 msgid "Mode:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:134
 #, c-format
 msgid "Compression %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:134
 msgid "on"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:134
 msgid "off"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:141
-#: src/language/dictionary/sys-file-info.c:379
+#: src/language/dictionary/sys-file-info.c:144
+#: src/language/dictionary/sys-file-info.c:382
 msgid "Description"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:142
-#: src/language/dictionary/sys-file-info.c:377
+#: src/language/dictionary/sys-file-info.c:145
+#: src/language/dictionary/sys-file-info.c:380
 msgid "Position"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:200
+#: src/language/dictionary/sys-file-info.c:203
 msgid "The active file does not have a file label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:203
+#: src/language/dictionary/sys-file-info.c:206
 msgid "File label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:265
+#: src/language/dictionary/sys-file-info.c:268
 msgid "No variables to display."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:284
+#: src/language/dictionary/sys-file-info.c:287
 msgid "Macros not supported."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:294
+#: src/language/dictionary/sys-file-info.c:297
 msgid "The active file dictionary does not contain any documents."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:303
+#: src/language/dictionary/sys-file-info.c:306
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:381
-#: src/language/dictionary/sys-file-info.c:520 src/procedure.c:680
-#: src/ui/gui/var-sheet.c:71
-msgid "Label"
-msgstr ""
-
-#: src/language/dictionary/sys-file-info.c:453
+#: src/language/dictionary/sys-file-info.c:456
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:460
+#: src/language/dictionary/sys-file-info.c:463
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:463
+#: src/language/dictionary/sys-file-info.c:466
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:478
 msgid "Missing Values: "
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:519
-#: src/language/stats/crosstabs.q:1109 src/language/stats/crosstabs.q:1136
-#: src/language/stats/crosstabs.q:1156 src/language/stats/crosstabs.q:1178
-#: src/language/stats/examine.q:1141 src/language/stats/frequencies.q:1145
-#: src/language/stats/frequencies.q:1266 src/procedure.c:679
-msgid "Value"
-msgstr ""
-
-#: src/language/dictionary/sys-file-info.c:576
+#: src/language/dictionary/sys-file-info.c:579
 msgid "No vectors defined."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:591
+#: src/language/dictionary/sys-file-info.c:594
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:118
+#: src/language/dictionary/value-labels.c:121
 #, c-format
 msgid ""
 "It is not possible to assign value labels to long string variables such as %"
 "s."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:154 src/language/lexer/lexer.c:590
+#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:590
 msgid "expecting string"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:163 src/language/lexer/lexer.c:604
+#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:604
 msgid "expecting integer"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:167
+#: src/language/dictionary/value-labels.c:170
 #, c-format
 msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:177
+#: src/language/dictionary/value-labels.c:180
 msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:48
+#: src/language/dictionary/variable-label.c:51
 msgid "String expected for variable label."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:54
+#: src/language/dictionary/variable-label.c:57
 msgid "Truncating variable label to 255 characters."
 msgstr ""
 
-#: src/language/dictionary/vector.c:70
+#: src/language/dictionary/vector.c:72
 #, c-format
 msgid "Vector name %s is given twice."
 msgstr ""
 
-#: src/language/dictionary/vector.c:76
+#: src/language/dictionary/vector.c:78
 #, c-format
 msgid "There is already a vector with name %s."
 msgstr ""
 
-#: src/language/dictionary/vector.c:97
+#: src/language/dictionary/vector.c:99
 msgid ""
 "A slash must be used to separate each vector specification when using the "
 "long form.  Commands such as VECTOR A,B=Q1 TO Q20 are not supported."
 msgstr ""
 
-#: src/language/dictionary/vector.c:131
+#: src/language/dictionary/vector.c:133
 msgid "Vectors must have at least one element."
 msgstr ""
 
-#: src/language/dictionary/vector.c:145
+#: src/language/dictionary/vector.c:147
 #, c-format
 msgid "%s%d is too long for a variable name."
 msgstr ""
 
-#: src/language/dictionary/vector.c:184
+#: src/language/dictionary/vector.c:186
 msgid ""
 "The syntax for this command does not match the expected syntax for either "
 "the long form or the short form of VECTOR."
 msgstr ""
 
-#: src/language/dictionary/weight.c:48
+#: src/language/dictionary/weight.c:50
 msgid "The weighting variable must be numeric."
 msgstr ""
 
-#: src/language/dictionary/weight.c:53
+#: src/language/dictionary/weight.c:55
 msgid "The weighting variable may not be scratch."
 msgstr ""
 
@@ -2178,24 +2173,24 @@ msgid ""
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/parse.c:254
+#: src/language/expressions/parse.c:253
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:266
+#: src/language/expressions/parse.c:265
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:407
+#: src/language/expressions/parse.c:406
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:612
+#: src/language/expressions/parse.c:611
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -2203,98 +2198,98 @@ msgid ""
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:711
+#: src/language/expressions/parse.c:710
 msgid ""
 "The exponentiation operator (\"**\") is left-associative, even though right-"
 "associative semantics are more useful.  That is, \"a**b**c\" equals \"(a**b)"
 "**c\", not as \"a**(b**c)\".  To disable this warning, insert parentheses."
 msgstr ""
 
-#: src/language/expressions/parse.c:776
+#: src/language/expressions/parse.c:775
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:818
+#: src/language/expressions/parse.c:817
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:846 src/language/stats/aggregate.c:494
+#: src/language/expressions/parse.c:845 src/language/stats/aggregate.c:494
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:853
+#: src/language/expressions/parse.c:852
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1029
+#: src/language/expressions/parse.c:1028
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1038
+#: src/language/expressions/parse.c:1037
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1041
+#: src/language/expressions/parse.c:1040
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1051
+#: src/language/expressions/parse.c:1050
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1060
+#: src/language/expressions/parse.c:1059
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1066
+#: src/language/expressions/parse.c:1065
 #, c-format
 msgid ""
 "With %s, using minimum valid argument count of %d does not make sense when "
 "passing only %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1120
+#: src/language/expressions/parse.c:1119
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1125
+#: src/language/expressions/parse.c:1124
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1127
+#: src/language/expressions/parse.c:1126
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1157
+#: src/language/expressions/parse.c:1156
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1199
+#: src/language/expressions/parse.c:1198
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1219
+#: src/language/expressions/parse.c:1218
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1222 src/ui/terminal/command-line.c:126
+#: src/language/expressions/parse.c:1221 src/ui/terminal/command-line.c:126
 #: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
 
-#: src/language/expressions/parse.c:1227
+#: src/language/expressions/parse.c:1226
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
@@ -2448,50 +2443,50 @@ msgstr ""
 msgid "expecting number or data string"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:49
+#: src/language/lexer/variable-parser.c:51
 msgid "expecting variable name"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:59
+#: src/language/lexer/variable-parser.c:61
 #, c-format
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:147
+#: src/language/lexer/variable-parser.c:149
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:150
+#: src/language/lexer/variable-parser.c:152
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:154
+#: src/language/lexer/variable-parser.c:156
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:157
+#: src/language/lexer/variable-parser.c:159
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:162
+#: src/language/lexer/variable-parser.c:164
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:271
+#: src/language/lexer/variable-parser.c:273
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:280
+#: src/language/lexer/variable-parser.c:282
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2499,19 +2494,19 @@ msgid ""
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:351
+#: src/language/lexer/variable-parser.c:353
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:394
+#: src/language/lexer/variable-parser.c:396
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:416
+#: src/language/lexer/variable-parser.c:418
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:421
+#: src/language/lexer/variable-parser.c:423
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2594,528 +2589,528 @@ msgid ""
 "contains the aggregate variables and the break variables."
 msgstr ""
 
-#: src/language/stats/autorecode.c:126
+#: src/language/stats/autorecode.c:128
 #, c-format
 msgid "Source variable count (%u) does not match target variable count (%u)."
 msgstr ""
 
-#: src/language/stats/autorecode.c:154
+#: src/language/stats/autorecode.c:156
 #, c-format
 msgid "Target variable %s duplicates existing variable %s."
 msgstr ""
 
-#: src/language/stats/autorecode.c:161
+#: src/language/stats/autorecode.c:163
 #, c-format
 msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:265
+#: src/language/stats/crosstabs.q:267
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:275
+#: src/language/stats/crosstabs.q:277
 msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:331
+#: src/language/stats/crosstabs.q:333
 msgid "Too many crosstabulation variables or dimensions."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:341
+#: src/language/stats/crosstabs.q:343
 msgid "expecting BY"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:408
+#: src/language/stats/crosstabs.q:410
 msgid "VARIABLES must be specified before TABLES."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:445
+#: src/language/stats/crosstabs.q:447
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:810
+#: src/language/stats/crosstabs.q:812
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:812 src/language/stats/examine.q:926
+#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:928
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:813 src/language/stats/examine.q:860
-#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1516
+#: src/language/stats/crosstabs.q:815 src/language/stats/examine.q:862
+#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1517
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:861
-#: src/language/stats/frequencies.q:1211 src/language/stats/frequencies.q:1517
+#: src/language/stats/crosstabs.q:816 src/language/stats/examine.q:863
+#: src/language/stats/frequencies.q:1212 src/language/stats/frequencies.q:1518
 #: src/ui/gui/var-sheet.c:73
 msgid "Missing"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:815 src/language/stats/crosstabs.q:1018
-#: src/language/stats/crosstabs.q:1738 src/language/stats/examine.q:862
-#: src/language/stats/frequencies.q:1220 src/language/stats/oneway.q:314
-#: src/language/stats/oneway.q:478 src/language/stats/regression.q:308
+#: src/language/stats/crosstabs.q:817 src/language/stats/crosstabs.q:1020
+#: src/language/stats/crosstabs.q:1740 src/language/stats/examine.q:864
+#: src/language/stats/frequencies.q:1221 src/language/stats/oneway.q:315
+#: src/language/stats/oneway.q:479 src/language/stats/regression.q:312
 msgid "Total"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:938
-#: src/language/stats/frequencies.q:1515 src/language/stats/oneway.q:400
-#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
-#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1365
+#: src/language/stats/crosstabs.q:827 src/language/stats/examine.q:940
+#: src/language/stats/frequencies.q:1516 src/language/stats/oneway.q:401
+#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
+#: src/language/stats/t-test.q:833 src/language/stats/t-test.q:1368
 msgid "N"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:826 src/language/stats/examine.q:941
-#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
-#: src/language/stats/frequencies.q:1149
+#: src/language/stats/crosstabs.q:828 src/language/stats/examine.q:943
+#: src/language/stats/frequencies.q:1148 src/language/stats/frequencies.q:1149
+#: src/language/stats/frequencies.q:1150
 msgid "Percent"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1068
+#: src/language/stats/crosstabs.q:1070
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1069
+#: src/language/stats/crosstabs.q:1071
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1070
+#: src/language/stats/crosstabs.q:1072
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1071
+#: src/language/stats/crosstabs.q:1073
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1072
+#: src/language/stats/crosstabs.q:1074
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1073
+#: src/language/stats/crosstabs.q:1075
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1074
+#: src/language/stats/crosstabs.q:1076
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1075
+#: src/language/stats/crosstabs.q:1077
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1105
+#: src/language/stats/crosstabs.q:1107
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1108 src/language/stats/crosstabs.q:1135
-#: src/language/stats/crosstabs.q:1155 src/language/stats/crosstabs.q:1176
-#: src/language/stats/examine.q:1372
+#: src/language/stats/crosstabs.q:1110 src/language/stats/crosstabs.q:1137
+#: src/language/stats/crosstabs.q:1157 src/language/stats/crosstabs.q:1178
+#: src/language/stats/examine.q:1374
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1110 src/language/stats/oneway.q:287
-#: src/language/stats/oneway.q:690 src/language/stats/regression.q:301
-#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
-#: src/language/stats/t-test.q:1264
+#: src/language/stats/crosstabs.q:1112 src/language/stats/oneway.q:288
+#: src/language/stats/oneway.q:691 src/language/stats/regression.q:305
+#: src/language/stats/t-test.q:983 src/language/stats/t-test.q:1175
+#: src/language/stats/t-test.q:1267
 msgid "df"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1112
+#: src/language/stats/crosstabs.q:1114
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1116
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1118
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1131
+#: src/language/stats/crosstabs.q:1133
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1134 src/language/stats/crosstabs.q:1175
+#: src/language/stats/crosstabs.q:1136 src/language/stats/crosstabs.q:1177
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1137 src/language/stats/crosstabs.q:1179
+#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1138 src/language/stats/crosstabs.q:1180
+#: src/language/stats/crosstabs.q:1140 src/language/stats/crosstabs.q:1182
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1141 src/language/stats/crosstabs.q:1183
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1150
+#: src/language/stats/crosstabs.q:1152
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1154
+#: src/language/stats/crosstabs.q:1156
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1157 src/language/stats/t-test.q:984
-#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1267
+#: src/language/stats/crosstabs.q:1159 src/language/stats/t-test.q:987
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1270
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1158 src/language/stats/t-test.q:985
-#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1268
+#: src/language/stats/crosstabs.q:1160 src/language/stats/t-test.q:988
+#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1271
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1172
+#: src/language/stats/crosstabs.q:1174
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1177 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1179 src/ui/gui/var-sheet.c:68
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1933
+#: src/language/stats/crosstabs.q:1935
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1934
+#: src/language/stats/crosstabs.q:1936
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1935
+#: src/language/stats/crosstabs.q:1937
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1938
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1939
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1974 src/language/stats/crosstabs.q:2044
-#: src/language/stats/crosstabs.q:2103
+#: src/language/stats/crosstabs.q:1976 src/language/stats/crosstabs.q:2046
+#: src/language/stats/crosstabs.q:2105
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1990 src/language/stats/crosstabs.q:2119
+#: src/language/stats/crosstabs.q:1992 src/language/stats/crosstabs.q:2121
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1991 src/language/stats/crosstabs.q:2120
+#: src/language/stats/crosstabs.q:1993 src/language/stats/crosstabs.q:2122
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1992
+#: src/language/stats/crosstabs.q:1994
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1993
+#: src/language/stats/crosstabs.q:1995
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1998
+#: src/language/stats/crosstabs.q:2000
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1999
+#: src/language/stats/crosstabs.q:2001
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2002
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2001
+#: src/language/stats/crosstabs.q:2003
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2002
+#: src/language/stats/crosstabs.q:2004
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2003
+#: src/language/stats/crosstabs.q:2005
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2004
+#: src/language/stats/crosstabs.q:2006
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2007
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2008
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2076
+#: src/language/stats/crosstabs.q:2078
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2079
+#: src/language/stats/crosstabs.q:2081
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2087
+#: src/language/stats/crosstabs.q:2089
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2090
+#: src/language/stats/crosstabs.q:2092
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:2123
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2126
+#: src/language/stats/crosstabs.q:2128
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2127
+#: src/language/stats/crosstabs.q:2129
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2130
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2131
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2130
+#: src/language/stats/crosstabs.q:2132
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2135
+#: src/language/stats/crosstabs.q:2137
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2136 src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2138 src/language/stats/crosstabs.q:2139
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:103 src/language/stats/examine.q:1477
-#: src/language/stats/frequencies.q:119 src/language/stats/oneway.q:401
-#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
-#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1166
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1479
+#: src/language/stats/frequencies.q:120 src/language/stats/oneway.q:402
+#: src/language/stats/t-test.q:686 src/language/stats/t-test.q:709
+#: src/language/stats/t-test.q:832 src/language/stats/t-test.q:1169
 msgid "Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:104
+#: src/language/stats/descriptives.c:106
 msgid "S E Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/frequencies.q:123
+#: src/language/stats/descriptives.c:107 src/language/stats/frequencies.q:124
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1557
-#: src/language/stats/frequencies.q:124
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1559
+#: src/language/stats/frequencies.q:125
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:107 src/language/stats/examine.q:1664
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1666
+#: src/language/stats/frequencies.q:126
 msgid "Kurtosis"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108
+#: src/language/stats/descriptives.c:110
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1644
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1646
+#: src/language/stats/frequencies.q:128
 msgid "Skewness"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110
+#: src/language/stats/descriptives.c:112
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1605
-#: src/language/stats/frequencies.q:129
+#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1607
+#: src/language/stats/frequencies.q:130
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1582
-#: src/language/stats/frequencies.q:130 src/language/stats/oneway.q:413
+#: src/language/stats/descriptives.c:114 src/language/stats/examine.q:1584
+#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:414
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1593
-#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:414
+#: src/language/stats/descriptives.c:115 src/language/stats/examine.q:1595
+#: src/language/stats/frequencies.q:132 src/language/stats/oneway.q:415
 msgid "Maximum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:114 src/language/stats/frequencies.q:132
+#: src/language/stats/descriptives.c:116 src/language/stats/frequencies.q:133
 msgid "Sum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:338
+#: src/language/stats/descriptives.c:340
 #, c-format
 msgid "Z-score variable name %s would be a duplicate variable name."
 msgstr ""
 
-#: src/language/stats/descriptives.c:440
+#: src/language/stats/descriptives.c:442
 msgid "expecting statistic name: reverting to default"
 msgstr ""
 
-#: src/language/stats/descriptives.c:512
+#: src/language/stats/descriptives.c:514
 msgid ""
 "Ran out of generic names for Z-score variables.  There are only 126 generic "
 "names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
 msgstr ""
 
-#: src/language/stats/descriptives.c:543
+#: src/language/stats/descriptives.c:545
 msgid "Mapping of variables to corresponding Z-scores."
 msgstr ""
 
-#: src/language/stats/descriptives.c:548
+#: src/language/stats/descriptives.c:550
 msgid "Source"
 msgstr ""
 
-#: src/language/stats/descriptives.c:549
+#: src/language/stats/descriptives.c:551
 msgid "Target"
 msgstr ""
 
-#: src/language/stats/descriptives.c:667 src/language/stats/descriptives.c:673
+#: src/language/stats/descriptives.c:669 src/language/stats/descriptives.c:675
 msgid "Z-score of "
 msgstr ""
 
-#: src/language/stats/descriptives.c:889
+#: src/language/stats/descriptives.c:891
 msgid "Valid N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:890
+#: src/language/stats/descriptives.c:892
 msgid "Missing N"
 msgstr ""
 
-#: src/language/stats/descriptives.c:917
+#: src/language/stats/descriptives.c:919
 #, c-format
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:481 src/language/stats/examine.q:493
+#: src/language/stats/examine.q:483 src/language/stats/examine.q:495
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:920
+#: src/language/stats/examine.q:922
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1126
+#: src/language/stats/examine.q:1128
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1142
+#: src/language/stats/examine.q:1144
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1227
+#: src/language/stats/examine.q:1229
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1232
+#: src/language/stats/examine.q:1234
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1373 src/language/stats/oneway.q:403
-#: src/language/stats/oneway.q:688 src/language/stats/regression.q:205
+#: src/language/stats/examine.q:1375 src/language/stats/oneway.q:404
+#: src/language/stats/oneway.q:689 src/language/stats/regression.q:209
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1375 src/language/stats/oneway.q:417
+#: src/language/stats/examine.q:1377 src/language/stats/oneway.q:418
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1495 src/language/stats/oneway.q:408
+#: src/language/stats/examine.q:1497 src/language/stats/oneway.q:409
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1501 src/language/stats/oneway.q:410
+#: src/language/stats/examine.q:1503 src/language/stats/oneway.q:411
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1512 src/language/stats/oneway.q:411
+#: src/language/stats/examine.q:1514 src/language/stats/oneway.q:412
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1524
+#: src/language/stats/examine.q:1526
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1535 src/language/stats/frequencies.q:121
+#: src/language/stats/examine.q:1537 src/language/stats/frequencies.q:122
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1569 src/language/stats/oneway.q:402
-#: src/language/stats/t-test.q:684 src/language/stats/t-test.q:707
-#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1167
+#: src/language/stats/examine.q:1571 src/language/stats/oneway.q:403
+#: src/language/stats/t-test.q:687 src/language/stats/t-test.q:710
+#: src/language/stats/t-test.q:834 src/language/stats/t-test.q:1170
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1617
+#: src/language/stats/examine.q:1619
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1769
+#: src/language/stats/examine.q:1771
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1794
+#: src/language/stats/examine.q:1796
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1836
+#: src/language/stats/examine.q:1838
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1837 src/language/stats/examine.q:1843
+#: src/language/stats/examine.q:1839 src/language/stats/examine.q:1845
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1838
+#: src/language/stats/examine.q:1840
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1841
+#: src/language/stats/examine.q:1843
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1844
+#: src/language/stats/examine.q:1846
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1963 src/language/stats/examine.q:1985
-#: src/language/stats/frequencies.q:1527
+#: src/language/stats/examine.q:1965 src/language/stats/examine.q:1987
+#: src/language/stats/frequencies.q:1528
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2110
+#: src/language/stats/examine.q:2112
 msgid "Tukey's Hinges"
 msgstr ""
 
@@ -3124,320 +3119,320 @@ msgid ""
 "FLIP ignores TEMPORARY.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/stats/flip.c:241
+#: src/language/stats/flip.c:240
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/language/stats/flip.c:257
+#: src/language/stats/flip.c:256
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/language/stats/flip.c:294
+#: src/language/stats/flip.c:293
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/language/stats/flip.c:305 src/language/stats/flip.c:371
+#: src/language/stats/flip.c:304 src/language/stats/flip.c:370
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:417
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:425
+#: src/language/stats/flip.c:424
 msgid "Error creating FLIP source file."
 msgstr ""
 
-#: src/language/stats/flip.c:437
+#: src/language/stats/flip.c:436
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:460
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:468
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:484
+#: src/language/stats/flip.c:483
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:532
+#: src/language/stats/flip.c:531
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:535
+#: src/language/stats/flip.c:534
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr ""
 
-#: src/language/stats/frequencies.q:120
+#: src/language/stats/frequencies.q:121
 msgid "S.E. Mean"
 msgstr ""
 
-#: src/language/stats/frequencies.q:122
+#: src/language/stats/frequencies.q:123
 msgid "Mode"
 msgstr ""
 
-#: src/language/stats/frequencies.q:126
+#: src/language/stats/frequencies.q:127
 msgid "S.E. Kurt"
 msgstr ""
 
-#: src/language/stats/frequencies.q:128
+#: src/language/stats/frequencies.q:129
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:404
+#: src/language/stats/frequencies.q:405
 msgid ""
 "At most one of BARCHART, HISTOGRAM, or HBAR should be given.  HBAR will be "
 "assumed.  Argument values will be given precedence increasing along the "
 "order given."
 msgstr ""
 
-#: src/language/stats/frequencies.q:487
+#: src/language/stats/frequencies.q:488
 #, c-format
 msgid ""
 "MAX must be greater than or equal to MIN, if both are specified.  However, "
 "MIN was specified as %g and MAX as %g.  MIN and MAX will be ignored."
 msgstr ""
 
-#: src/language/stats/frequencies.q:810
+#: src/language/stats/frequencies.q:811
 msgid ""
 "Upper limit of integer mode value range must be greater than lower limit."
 msgstr ""
 
-#: src/language/stats/frequencies.q:823
+#: src/language/stats/frequencies.q:824
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:829
+#: src/language/stats/frequencies.q:830
 #, c-format
 msgid "Integer mode specified, but %s is not a numeric variable."
 msgstr ""
 
-#: src/language/stats/frequencies.q:895
+#: src/language/stats/frequencies.q:896
 msgid "`)' expected after GROUPED interval list."
 msgstr ""
 
-#: src/language/stats/frequencies.q:907
+#: src/language/stats/frequencies.q:908
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr ""
 
-#: src/language/stats/frequencies.q:914
+#: src/language/stats/frequencies.q:915
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1236
-#: src/language/stats/frequencies.q:1237 src/language/stats/frequencies.q:1269
+#: src/language/stats/frequencies.q:1145 src/language/stats/frequencies.q:1237
+#: src/language/stats/frequencies.q:1238 src/language/stats/frequencies.q:1270
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1146 src/output/charts/plot-hist.c:129
+#: src/language/stats/frequencies.q:1147 src/output/charts/plot-hist.c:129
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1166
+#: src/language/stats/frequencies.q:1167
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1267
+#: src/language/stats/frequencies.q:1268
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1268 src/language/stats/frequencies.q:1270
+#: src/language/stats/frequencies.q:1269 src/language/stats/frequencies.q:1271
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1489
+#: src/language/stats/frequencies.q:1490
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/language/stats/means.q:102
+#: src/language/stats/means.q:104
 msgid "Missing required subcommand TABLES."
 msgstr ""
 
-#: src/language/stats/means.q:136
+#: src/language/stats/means.q:138
 msgid "TABLES subcommand may not appear more than once."
 msgstr ""
 
-#: src/language/stats/oneway.q:177
+#: src/language/stats/oneway.q:178
 msgid "Number of contrast coefficients must equal the number of groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:186
+#: src/language/stats/oneway.q:187
 #, c-format
 msgid "Coefficients for contrast %d do not total zero"
 msgstr ""
 
-#: src/language/stats/oneway.q:251
+#: src/language/stats/oneway.q:252
 #, c-format
 msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/language/stats/oneway.q:286 src/language/stats/regression.q:300
+#: src/language/stats/oneway.q:287 src/language/stats/regression.q:304
 msgid "Sum of Squares"
 msgstr ""
 
-#: src/language/stats/oneway.q:288 src/language/stats/regression.q:302
+#: src/language/stats/oneway.q:289 src/language/stats/regression.q:306
 msgid "Mean Square"
 msgstr ""
 
-#: src/language/stats/oneway.q:289 src/language/stats/regression.q:303
-#: src/language/stats/t-test.q:977
+#: src/language/stats/oneway.q:290 src/language/stats/regression.q:307
+#: src/language/stats/t-test.q:980
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:290 src/language/stats/oneway.q:544
-#: src/language/stats/regression.q:208 src/language/stats/regression.q:304
+#: src/language/stats/oneway.q:291 src/language/stats/oneway.q:545
+#: src/language/stats/regression.q:212 src/language/stats/regression.q:308
 msgid "Significance"
 msgstr ""
 
-#: src/language/stats/oneway.q:312
+#: src/language/stats/oneway.q:313
 msgid "Between Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:313
+#: src/language/stats/oneway.q:314
 msgid "Within Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:360 src/language/stats/regression.q:330
+#: src/language/stats/oneway.q:361 src/language/stats/regression.q:334
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:541
+#: src/language/stats/oneway.q:542
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:542
+#: src/language/stats/oneway.q:543
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:543
+#: src/language/stats/oneway.q:544
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:547
+#: src/language/stats/oneway.q:548
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:617
+#: src/language/stats/oneway.q:618
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:619 src/language/stats/oneway.q:686
+#: src/language/stats/oneway.q:620 src/language/stats/oneway.q:687
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:684
+#: src/language/stats/oneway.q:685
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:687
+#: src/language/stats/oneway.q:688
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:689 src/language/stats/regression.q:207
-#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
-#: src/language/stats/t-test.q:1263
+#: src/language/stats/oneway.q:690 src/language/stats/regression.q:211
+#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1174
+#: src/language/stats/t-test.q:1266
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:691 src/language/stats/t-test.q:981
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1265
+#: src/language/stats/oneway.q:692 src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:1176 src/language/stats/t-test.q:1268
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:735
+#: src/language/stats/oneway.q:736
 msgid "Assume equal variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:739
+#: src/language/stats/oneway.q:740
 msgid "Does not assume equal"
 msgstr ""
 
-#: src/language/stats/rank.q:245
+#: src/language/stats/rank.q:247
 #, c-format
 msgid "Variable %s already exists."
 msgstr ""
 
-#: src/language/stats/rank.q:250
+#: src/language/stats/rank.q:252
 msgid "Too many variables in INTO clause."
 msgstr ""
 
-#: src/language/stats/regression.q:159
+#: src/language/stats/regression.q:163
 msgid "R"
 msgstr ""
 
-#: src/language/stats/regression.q:160
+#: src/language/stats/regression.q:164
 msgid "R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:161
+#: src/language/stats/regression.q:165
 msgid "Adjusted R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:162
+#: src/language/stats/regression.q:166
 msgid "Std. Error of the Estimate"
 msgstr ""
 
-#: src/language/stats/regression.q:167
+#: src/language/stats/regression.q:171
 msgid "Model Summary"
 msgstr ""
 
-#: src/language/stats/regression.q:204
+#: src/language/stats/regression.q:208
 msgid "B"
 msgstr ""
 
-#: src/language/stats/regression.q:206
+#: src/language/stats/regression.q:210
 msgid "Beta"
 msgstr ""
 
-#: src/language/stats/regression.q:209
+#: src/language/stats/regression.q:213
 msgid "(Constant)"
 msgstr ""
 
-#: src/language/stats/regression.q:269
+#: src/language/stats/regression.q:273
 msgid "Coefficients"
 msgstr ""
 
-#: src/language/stats/regression.q:306
+#: src/language/stats/regression.q:310
 msgid "Regression"
 msgstr ""
 
-#: src/language/stats/regression.q:307
+#: src/language/stats/regression.q:311
 msgid "Residual"
 msgstr ""
 
-#: src/language/stats/regression.q:385
+#: src/language/stats/regression.q:389
 msgid "Model"
 msgstr ""
 
-#: src/language/stats/regression.q:386
+#: src/language/stats/regression.q:390
 msgid "Covariances"
 msgstr ""
 
-#: src/language/stats/regression.q:401
+#: src/language/stats/regression.q:405
 msgid "Coefficient Correlations"
 msgstr ""
 
-#: src/language/stats/regression.q:1104
+#: src/language/stats/regression.q:1108
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/sort-cases.c:61
+#: src/language/stats/sort-cases.c:64
 msgid "Buffer limit must be at least 2."
 msgstr ""
 
@@ -3449,130 +3444,130 @@ msgstr ""
 msgid "`)' expected."
 msgstr ""
 
-#: src/language/stats/t-test.q:272
+#: src/language/stats/t-test.q:275
 msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/language/stats/t-test.q:290
+#: src/language/stats/t-test.q:293
 msgid "VARIABLES subcommand is not appropriate with PAIRS"
 msgstr ""
 
-#: src/language/stats/t-test.q:328
+#: src/language/stats/t-test.q:331
 msgid "One or more VARIABLES must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:379
+#: src/language/stats/t-test.q:382
 #, c-format
 msgid "Long string variable %s is not valid here."
 msgstr ""
 
-#: src/language/stats/t-test.q:399 src/language/stats/t-test.q:414
+#: src/language/stats/t-test.q:402 src/language/stats/t-test.q:417
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:486
+#: src/language/stats/t-test.q:489
 #, c-format
 msgid ""
 "PAIRED was specified but the number of variables preceding WITH (%d) did not "
 "match the number following (%d)."
 msgstr ""
 
-#: src/language/stats/t-test.q:503
+#: src/language/stats/t-test.q:506
 msgid "At least two variables must be specified on PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:680
+#: src/language/stats/t-test.q:683
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
-#: src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:688 src/language/stats/t-test.q:711
+#: src/language/stats/t-test.q:835
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:703
+#: src/language/stats/t-test.q:706
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:826
+#: src/language/stats/t-test.q:829
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:848 src/language/stats/t-test.q:1192
-#: src/language/stats/t-test.q:1382
+#: src/language/stats/t-test.q:851 src/language/stats/t-test.q:1195
+#: src/language/stats/t-test.q:1385
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:965
+#: src/language/stats/t-test.q:968
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:973
+#: src/language/stats/t-test.q:976
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:975
+#: src/language/stats/t-test.q:978
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:978 src/language/stats/t-test.q:1367
+#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1370
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1266
+#: src/language/stats/t-test.q:985 src/language/stats/t-test.q:1269
 msgid "Mean Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:983
+#: src/language/stats/t-test.q:986
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:988 src/language/stats/t-test.q:1163
-#: src/language/stats/t-test.q:1258
+#: src/language/stats/t-test.q:991 src/language/stats/t-test.q:1166
+#: src/language/stats/t-test.q:1261
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1043
+#: src/language/stats/t-test.q:1046
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1095
+#: src/language/stats/t-test.q:1098
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1153
+#: src/language/stats/t-test.q:1156
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1156
+#: src/language/stats/t-test.q:1159
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1168
+#: src/language/stats/t-test.q:1171
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1247
+#: src/language/stats/t-test.q:1250
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1252
+#: src/language/stats/t-test.q:1255
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1362
+#: src/language/stats/t-test.q:1365
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1366
+#: src/language/stats/t-test.q:1369
 msgid "Correlation"
 msgstr ""
 
-#: src/language/stats/t-test.q:1385
+#: src/language/stats/t-test.q:1388
 #, c-format
 msgid "%s & %s"
 msgstr ""
@@ -3731,94 +3726,94 @@ msgstr ""
 msgid "WIDTH is %d."
 msgstr ""
 
-#: src/language/utilities/title.c:68
+#: src/language/utilities/title.c:70
 #, c-format
 msgid "%s: `.' expected after string."
 msgstr ""
 
-#: src/language/utilities/title.c:138
+#: src/language/utilities/title.c:140
 #, c-format
 msgid "Document entered %s by %s:"
 msgstr ""
 
-#: src/language/xforms/compute.c:139 src/language/xforms/compute.c:186
+#: src/language/xforms/compute.c:143 src/language/xforms/compute.c:190
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/language/xforms/compute.c:142 src/language/xforms/compute.c:193
+#: src/language/xforms/compute.c:146 src/language/xforms/compute.c:197
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/language/xforms/compute.c:327
+#: src/language/xforms/compute.c:331
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/language/xforms/count.c:120
+#: src/language/xforms/count.c:124
 msgid "Destination cannot be a string variable."
 msgstr ""
 
-#: src/language/xforms/recode.c:234
+#: src/language/xforms/recode.c:238
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
 msgstr ""
 
-#: src/language/xforms/recode.c:254
+#: src/language/xforms/recode.c:258
 msgid "CONVERT requires string input values and numeric output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:372
+#: src/language/xforms/recode.c:376
 msgid "expecting output value"
 msgstr ""
 
-#: src/language/xforms/recode.c:419
+#: src/language/xforms/recode.c:423
 #, c-format
 msgid ""
 "%u variable(s) cannot be recoded into %u variable(s).  Specify the same "
 "number of variables as source and target variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:435
+#: src/language/xforms/recode.c:439
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
 "already exist.  Use the STRING command to create a string variable.)"
 msgstr ""
 
-#: src/language/xforms/recode.c:450
+#: src/language/xforms/recode.c:454
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:463
+#: src/language/xforms/recode.c:467
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr ""
 
-#: src/language/xforms/sample.c:75
+#: src/language/xforms/sample.c:78
 msgid "The sampling factor must be between 0 and 1 exclusive."
 msgstr ""
 
-#: src/language/xforms/sample.c:95
+#: src/language/xforms/sample.c:98
 #, c-format
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/language/xforms/select-if.c:105
+#: src/language/xforms/select-if.c:109
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/language/xforms/select-if.c:111
+#: src/language/xforms/select-if.c:115
 msgid "The filter variable may not be scratch."
 msgstr ""
 
-#: src/language/xforms/select-if.c:143
+#: src/language/xforms/select-if.c:147
 msgid "Only last instance of this command is in effect."
 msgstr ""
 
@@ -3847,7 +3842,7 @@ msgstr ""
 msgid "Empirical with averaging"
 msgstr ""
 
-#: src/math/sort.c:432
+#: src/math/sort.c:437
 #, c-format
 msgid ""
 "Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
@@ -4275,15 +4270,15 @@ msgstr ""
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:75
+#: src/ui/gui/message-dialog.c:123
 msgid "Script Error"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:79
+#: src/ui/gui/message-dialog.c:127
 msgid "Data File Error"
 msgstr ""
 
-#: src/ui/gui/message-dialog.c:84
+#: src/ui/gui/message-dialog.c:132
 msgid "PSPP Error"
 msgstr ""
 
@@ -4295,7 +4290,7 @@ msgstr ""
 msgid "Incorrect range specification"
 msgstr ""
 
-#: src/ui/gui/psppire-data-store.c:653
+#: src/ui/gui/psppire-data-store.c:651
 msgid "var"
 msgstr ""
 
@@ -4427,7 +4422,7 @@ msgid ""
 "Report bugs to <%s>.\n"
 msgstr ""
 
-#: src/ui/terminal/main.c:111
+#: src/ui/terminal/main.c:110
 msgid ""
 "Stopping syntax file processing here to avoid a cascade of dependent command "
 "failures."
index d64ac34a4b9656fc948a479ce6acd4133c2b654a..198b0bbcc4c3eb70c41821c708b235980410d031 100644 (file)
@@ -1,3 +1,32 @@
+Sat May  6 10:30:33 2006  Ben Pfaff  <blp@gnu.org>
+
+       Continue reforming procedure execution.  In this phase, get rid of
+       the output code for SPLIT FILE groups in procedure.c, which really
+       shouldn't be doing any output.  Move it into the individual
+       procedures instead.  This also adds some flexibility.
+
+       Updated many users of procedure_with_splits() and
+       multipass_procedure_with_splits() to call
+       output_split_file_values() and to deal with increased use of
+       const.
+
+       * procedure.c: (struct split_aux_data) Add "const struct ccase *"
+       parameter to begin_func member.
+       (procedure_with_splits) Add "const struct ccase *" parameter to
+       begin_func parameter.  Make ccase parameter const in proc_func
+       parameter.
+       (split_procedure_case_func) Don't dump split file group.  Pass
+       case to begin_func.
+       (dump_splits) Moved to language/dictionary/split-file.c as
+       output_split_file_values().
+       (struct multipass_split_aux_data) Add "const struct ccase *"
+       parameter to split_func member.
+       (multipass_procedure_with_splits) Add "const struct ccase *"
+       parameter to split_func parameter.
+       (multipass_split_case_func) Save new SPLIT FILE case before
+       outputting case.
+       (multipass_split_output) Pass saved SPLIT FILE case to split_func.
+       
 Thu May  4 21:47:48 2006  Ben Pfaff  <blp@gnu.org>
 
        Continue reforming procedure execution.  In this phase, move
index 2abe53a16682b924e045d0166792e20c5e6fe1a4..1ecfd331a1f314571a79b1a68b9c74d4c491304c 100644 (file)
 #include <data/dictionary.h>
 #include <data/file-handle-def.h>
 #include <data/procedure.h>
-#include <data/settings.h>
 #include <data/storage-stream.h>
 #include <data/transformations.h>
-#include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/expressions/public.h>
 #include <libpspp/alloc.h>
-#include <libpspp/message.h>
 #include <libpspp/misc.h>
 #include <libpspp/str.h>
-#include <output/manager.h>
-#include <output/table.h>
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
 
 /*
    Virtual File Manager (vfm):
@@ -484,22 +476,23 @@ struct split_aux_data
     size_t case_count;          /* Number of cases so far. */
     struct ccase prev_case;     /* Data in previous case. */
 
-    /* Functions to call... */
-    void (*begin_func) (void *);               /* ...before data. */
-    bool (*proc_func) (struct ccase *, void *); /* ...with data. */
-    void (*end_func) (void *);                 /* ...after data. */
-    void *func_aux;                            /* Auxiliary data. */ 
+    /* Callback functions. */
+    void (*begin_func) (const struct ccase *, void *);
+    bool (*proc_func) (const struct ccase *, void *);
+    void (*end_func) (void *);
+    void *func_aux;
   };
 
 static int equal_splits (const struct ccase *, const struct ccase *);
 static bool split_procedure_case_func (struct ccase *c, void *split_aux_);
 static bool split_procedure_end_func (void *split_aux_);
-static void dump_splits (struct ccase *);
 
 /* Like procedure(), but it automatically breaks the case stream
    into SPLIT FILE break groups.  Before each group of cases with
-   identical SPLIT FILE variable values, BEGIN_FUNC is called.
-   Then PROC_FUNC is called with each case in the group.  
+   identical SPLIT FILE variable values, BEGIN_FUNC is called
+   with the first case in the group.
+   Then PROC_FUNC is called for each case in the group (including
+   the first).
    END_FUNC is called when the group is finished.  FUNC_AUX is
    passed to each of the functions as auxiliary data.
 
@@ -512,8 +505,8 @@ static void dump_splits (struct ccase *);
    
    Returns true if successful, false if an I/O error occurred. */
 bool
-procedure_with_splits (void (*begin_func) (void *aux),
-                       bool (*proc_func) (struct ccase *, void *aux),
+procedure_with_splits (void (*begin_func) (const struct ccase *, void *aux),
+                       bool (*proc_func) (const struct ccase *, void *aux),
                        void (*end_func) (void *aux),
                        void *func_aux) 
 {
@@ -548,12 +541,11 @@ split_procedure_case_func (struct ccase *c, void *split_aux_)
       if (split_aux->case_count > 0 && split_aux->end_func != NULL)
         split_aux->end_func (split_aux->func_aux);
 
-      dump_splits (c);
       case_destroy (&split_aux->prev_case);
       case_clone (&split_aux->prev_case, c);
 
       if (split_aux->begin_func != NULL)
-       split_aux->begin_func (split_aux->func_aux);
+       split_aux->begin_func (&split_aux->prev_case, split_aux->func_aux);
     }
 
   split_aux->case_count++;
@@ -581,49 +573,6 @@ equal_splits (const struct ccase *a, const struct ccase *b)
                        dict_get_split_vars (default_dict),
                        dict_get_split_cnt (default_dict)) == 0;
 }
-
-/* Dumps out the values of all the split variables for the case C. */
-static void
-dump_splits (struct ccase *c)
-{
-  struct variable *const *split;
-  struct tab_table *t;
-  size_t split_cnt;
-  int i;
-
-  split_cnt = dict_get_split_cnt (default_dict);
-  if (split_cnt == 0)
-    return;
-
-  t = tab_create (3, split_cnt + 1, 0);
-  tab_dim (t, tab_natural_dimensions);
-  tab_vline (t, TAL_GAP, 1, 0, split_cnt);
-  tab_vline (t, TAL_GAP, 2, 0, split_cnt);
-  tab_text (t, 0, 0, TAB_NONE, _("Variable"));
-  tab_text (t, 1, 0, TAB_LEFT, _("Value"));
-  tab_text (t, 2, 0, TAB_LEFT, _("Label"));
-  split = dict_get_split_vars (default_dict);
-  for (i = 0; i < split_cnt; i++)
-    {
-      struct variable *v = split[i];
-      char temp_buf[80];
-      const char *val_lab;
-
-      assert (v->type == NUMERIC || v->type == ALPHA);
-      tab_text (t, 0, i + 1, TAB_LEFT | TAT_PRINTF, "%s", v->name);
-      
-      data_out (temp_buf, &v->print, case_data (c, v->fv));
-      
-      temp_buf[v->print.w] = 0;
-      tab_text (t, 1, i + 1, TAT_PRINTF, "%.*s", v->print.w, temp_buf);
-
-      val_lab = val_labs_find (v->val_labs, *case_data (c, v->fv));
-      if (val_lab)
-       tab_text (t, 2, i + 1, TAB_LEFT, val_lab);
-    }
-  tab_flags (t, SOMF_NO_TITLE);
-  tab_submit (t);
-}
 \f
 /* Multipass procedure that separates the data into SPLIT FILE
    groups. */
@@ -636,7 +585,8 @@ struct multipass_split_aux_data
     struct casefile *casefile;  /* Accumulates data for a split. */
 
     /* Function to call with the accumulated data. */
-    bool (*split_func) (const struct casefile *, void *);
+    bool (*split_func) (const struct ccase *first, const struct casefile *,
+                        void *);
     void *func_aux;                            /* Auxiliary data. */ 
   };
 
@@ -646,9 +596,10 @@ static bool multipass_split_output (struct multipass_split_aux_data *);
 
 /* Returns true if successful, false if an I/O error occurred. */
 bool
-multipass_procedure_with_splits (bool (*split_func) (const struct casefile *,
-                                                     void *),
-                                 void *func_aux) 
+multipass_procedure_with_splits (bool (*split_func) (const struct ccase *first,
+                                                     const struct casefile *,
+                                                     void *aux),
+                                 void *func_aux)
 {
   struct multipass_split_aux_data aux;
   bool ok;
@@ -675,17 +626,16 @@ multipass_split_case_func (struct ccase *c, void *aux_)
   /* Start a new series if needed. */
   if (aux->casefile == NULL || !equal_splits (c, &aux->prev_case))
     {
+      /* Record split values. */
+      case_destroy (&aux->prev_case);
+      case_clone (&aux->prev_case, c);
+
       /* Pass any cases to split_func. */
       if (aux->casefile != NULL)
         ok = multipass_split_output (aux);
 
       /* Start a new casefile. */
       aux->casefile = casefile_create (dict_get_next_value_idx (default_dict));
-
-      /* Record split values. */
-      dump_splits (c);
-      case_destroy (&aux->prev_case);
-      case_clone (&aux->prev_case, c);
     }
 
   return casefile_append (aux->casefile, c) && ok;
@@ -705,7 +655,7 @@ multipass_split_output (struct multipass_split_aux_data *aux)
   bool ok;
   
   assert (aux->casefile != NULL);
-  ok = aux->split_func (aux->casefile, aux->func_aux);
+  ok = aux->split_func (&aux->prev_case, aux->casefile, aux->func_aux);
   casefile_destroy (aux->casefile);
   aux->casefile = NULL;
 
index 5a1968782cb9fa462aaf29351cbd7ed8a0a48e61..76ca6dc88fc3ea9a2125b28c4251765b41bd4a53 100644 (file)
@@ -62,15 +62,16 @@ bool proc_has_source (void);
 void proc_set_sink (struct case_sink *);
 struct casefile *proc_capture_output (void);
 
-bool procedure (bool (*proc_func) (struct ccase *, void *aux), void *aux);
-bool procedure_with_splits (void (*begin_func) (void *aux),
-                            bool (*proc_func) (struct ccase *, void *aux),
-                            void (*end_func) (void *aux),
+bool procedure (bool (*proc_func) (struct ccase *, void *),
+                void *aux);
+bool procedure_with_splits (void (*begin_func) (const struct ccase *, void *),
+                            bool (*proc_func) (const struct ccase *, void *),
+                            void (*end_func) (void *),
                             void *aux);
-bool multipass_procedure (bool (*proc_func) (const struct casefile *,
-                                             void *aux),
+bool multipass_procedure (bool (*proc_func) (const struct casefile *, void *),
                           void *aux);
-bool multipass_procedure_with_splits (bool (*) (const struct casefile *,
+bool multipass_procedure_with_splits (bool (*) (const struct ccase *,
+                                                const struct casefile *,
                                                 void *),
                                       void *aux);
 time_t time_of_last_procedure (void);
index ba70c3f3bc9050d85976a41184ad7a59cbcf7a34..820a6c56d873ed66ce4fb57051e6e70d3b3ebc03 100644 (file)
@@ -1,3 +1,12 @@
+Sat May  6 10:43:07 2006  Ben Pfaff  <blp@gnu.org>
+
+       Continue reforming procedure execution.  In this phase, get rid of
+       the output code for SPLIT FILE groups in procedure.c, which really
+       shouldn't be doing any output.  Move it into the individual
+       procedures instead.  This also adds some flexibility.
+
+       * list.q (write_all_headers): Call output_split_file_values().
+
 Wed May  3 23:00:17 2006  Ben Pfaff  <blp@gnu.org>
 
        Continue reforming procedure execution.  In this phase, get rid of
index dd9a8ae1cf329b089d40c8a0994753b4cb3da7fb..d8df19cb17cdaa2f55fa6446591489deb5913d87 100644 (file)
@@ -30,6 +30,7 @@
 #include <data/procedure.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/compiler.h>
@@ -82,11 +83,11 @@ static unsigned n_chars_width (struct outp_driver *d);
 static void write_line (struct outp_driver *d, const char *s);
 
 /* Other functions. */
-static bool list_cases (struct ccase *, void *);
+static bool list_cases (const struct ccase *, void *);
 static void determine_layout (void);
 static void clean_up (void);
 static void write_header (struct outp_driver *);
-static void write_all_headers (void *);
+static void write_all_headers (const struct ccase *, void *);
 
 /* Returns the number of text lines that can fit on the remainder of
    the page. */
@@ -239,10 +240,11 @@ cmd_list (void)
 /* Writes headers to all devices.  This is done at the beginning of
    each SPLIT FILE group. */
 static void
-write_all_headers (void *aux UNUSED)
+write_all_headers (const struct ccase *c, void *aux UNUSED)
 {
   struct outp_driver *d;
 
+  output_split_file_values (c);
   for (d = outp_drivers (NULL); d; d = outp_drivers (d))
     {
       if (!d->class->special)
@@ -604,7 +606,7 @@ determine_layout (void)
 
 /* Writes case C to output. */
 static bool
-list_cases (struct ccase *c, void *aux UNUSED)
+list_cases (const struct ccase *c, void *aux UNUSED)
 {
   struct outp_driver *d;
   
index 4a96aeb941a9479876c7386203e97d30fc102f8b..9718f7dbb262077bd96e6c37217cc8dadbb3fd7b 100644 (file)
@@ -1,3 +1,22 @@
+Sat May  6 10:43:22 2006  Ben Pfaff  <blp@gnu.org>
+
+       Continue reforming procedure execution.  In this phase, get rid of
+       the output code for SPLIT FILE groups in procedure.c, which really
+       shouldn't be doing any output.  Move it into the individual
+       procedures instead.  This also adds some flexibility.
+
+       * split-file.c (output_split_file_values): New function.
+
+Sat May  6 10:42:19 2006  Ben Pfaff  <blp@gnu.org>
+
+       Continue reforming procedure execution.  In this phase, get rid of
+       the output code for SPLIT FILE groups in procedure.c, which really
+       shouldn't be doing any output.  Move it into the individual
+       procedures instead.  This also adds some flexibility.
+
+       * automake.mk (src_language_dictionary_libcmddict_a_SOURCES): Add
+       split-file.h.
+
 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
        
        * Moved files from src directory
index 4a8b4ad1d59507e76a53d5ea3db4ef8ed099c6bc..212fbab2f4bae85172d1dde5132563948271d4e1 100644 (file)
@@ -10,6 +10,7 @@ src_language_dictionary_libcmddict_a_SOURCES = \
  src/language/dictionary/numeric.c \
  src/language/dictionary/rename-variables.c \
  src/language/dictionary/split-file.c \
+ src/language/dictionary/split-file.h \
  src/language/dictionary/sys-file-info.c \
  src/language/dictionary/value-labels.c \
  src/language/dictionary/variable-label.c \
index 7e003018f496d4da71f2af1807778d14dcb4a5a4..201a999e509668701be57864df5c08ed7f44b5ef 100644 (file)
 
 #include <stdlib.h>
 
+#include <data/case.h>
 #include <data/dictionary.h>
+#include <data/format.h>
 #include <data/procedure.h>
+#include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/message.h>
 #include <libpspp/str.h>
+#include <output/manager.h>
+#include <output/table.h>
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
 
 int
 cmd_split_file (void)
@@ -53,3 +62,46 @@ cmd_split_file (void)
 
   return lex_end_of_command ();
 }
+
+/* Dumps out the values of all the split variables for the case C. */
+void
+output_split_file_values (const struct ccase *c)
+{
+  struct variable *const *split;
+  struct tab_table *t;
+  size_t split_cnt;
+  int i;
+
+  split_cnt = dict_get_split_cnt (default_dict);
+  if (split_cnt == 0)
+    return;
+
+  t = tab_create (3, split_cnt + 1, 0);
+  tab_dim (t, tab_natural_dimensions);
+  tab_vline (t, TAL_GAP, 1, 0, split_cnt);
+  tab_vline (t, TAL_GAP, 2, 0, split_cnt);
+  tab_text (t, 0, 0, TAB_NONE, _("Variable"));
+  tab_text (t, 1, 0, TAB_LEFT, _("Value"));
+  tab_text (t, 2, 0, TAB_LEFT, _("Label"));
+  split = dict_get_split_vars (default_dict);
+  for (i = 0; i < split_cnt; i++)
+    {
+      struct variable *v = split[i];
+      char temp_buf[80];
+      const char *val_lab;
+
+      assert (v->type == NUMERIC || v->type == ALPHA);
+      tab_text (t, 0, i + 1, TAB_LEFT | TAT_PRINTF, "%s", v->name);
+      
+      data_out (temp_buf, &v->print, case_data (c, v->fv));
+      
+      temp_buf[v->print.w] = 0;
+      tab_text (t, 1, i + 1, TAT_PRINTF, "%.*s", v->print.w, temp_buf);
+
+      val_lab = val_labs_find (v->val_labs, *case_data (c, v->fv));
+      if (val_lab)
+       tab_text (t, 2, i + 1, TAB_LEFT, val_lab);
+    }
+  tab_flags (t, SOMF_NO_TITLE);
+  tab_submit (t);
+}
diff --git a/src/language/dictionary/split-file.h b/src/language/dictionary/split-file.h
new file mode 100644 (file)
index 0000000..bc014bb
--- /dev/null
@@ -0,0 +1,25 @@
+/* PSPP - computes sample statistics.
+   Copyright (C) 2006 Free Software Foundation, Inc.
+   Written by Ben Pfaff <blp@gnu.org>.
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
+
+#ifndef SPLIT_FILE_H
+#define SPLIT_FILE_H 1
+
+void output_split_file_values (const struct ccase *);
+
+#endif /* split-file.h */
index 46c216512ecf0bca7c6f8b03248a705b471cc6e1..30ecf8aaa23f408bbae267e1810ef216db6dd98f 100644 (file)
@@ -1,3 +1,24 @@
+Sat May  6 10:43:33 2006  Ben Pfaff  <blp@gnu.org>
+
+       Continue reforming procedure execution.  In this phase, get rid of
+       the output code for SPLIT FILE groups in procedure.c, which really
+       shouldn't be doing any output.  Move it into the individual
+       procedures instead.  This also adds some flexibility.
+
+       * crosstabs.q (precalc): Call output_split_file_values().
+
+       * descriptives.c (calc_descriptives): Ditto.
+
+       * examine.q (run_examine): Ditto.
+       
+       * frequencies.q (precalc): Ditto.
+
+       * oneway.q (run_oneway): Ditto.
+
+       * regression.q (run_regression): Ditto.
+
+       * t-test.q (calculate): Ditto.
+
 Wed May  3 23:05:31 2006  Ben Pfaff  <blp@gnu.org>
 
        Continue reforming procedure execution.  In this phase, get rid of
@@ -8,7 +29,6 @@ Wed May  3 23:05:31 2006  Ben Pfaff  <blp@gnu.org>
         
        * aggregate.c (cmd_aggregate) Use discard_variables().
        
-
 2006-04-28  Jason Stover  <jhs@math.gcsu.edu>
 
        * regression.q (regression_trns_resid_proc): Pass only the
index 55c92d8c4b2e9b6e768fdcecc9aa1085dab14664..d7828bd5a19b2bdce28eb4935b809832d4cdc73e 100644 (file)
@@ -42,6 +42,7 @@
 #include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/array.h>
@@ -173,9 +174,9 @@ static struct pool *pl_tc;  /* For table cells. */
 static struct pool *pl_col;    /* For column data. */
 
 static int internal_cmd_crosstabs (void);
-static void precalc (void *);
-static bool calc_general (struct ccase *, void *);
-static bool calc_integer (struct ccase *, void *);
+static void precalc (const struct ccase *, void *);
+static bool calc_general (const struct ccase *, void *);
+static bool calc_integer (const struct ccase *, void *);
 static void postcalc (void *);
 static void submit (struct tab_table *);
 
@@ -485,8 +486,9 @@ static unsigned hash_table_entry (const void *, void *);
 
 /* Set up the crosstabulation tables for processing. */
 static void
-precalc (void *aux UNUSED)
+precalc (const struct ccase *first, void *aux UNUSED)
 {
+  output_split_file_values (first);
   if (mode == GENERAL)
     {
       gen_tab = hsh_create (512, compare_table_entry, hash_table_entry,
@@ -558,7 +560,7 @@ precalc (void *aux UNUSED)
 
 /* Form crosstabulations for general mode. */
 static bool
-calc_general (struct ccase *c, void *aux UNUSED)
+calc_general (const struct ccase *c, void *aux UNUSED)
 {
   int bad_warn = 1;
 
@@ -632,7 +634,7 @@ calc_general (struct ccase *c, void *aux UNUSED)
 }
 
 static bool
-calc_integer (struct ccase *c, void *aux UNUSED)
+calc_integer (const struct ccase *c, void *aux UNUSED)
 {
   int bad_warn = 1;
 
index 4c5b7ff0a836ed268dc2843c5305d03a2dd01624..90f8b8f297d31e8388c13faca8d8c3185f2cbbca 100644 (file)
@@ -32,6 +32,7 @@
 #include <data/transformations.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/array.h>
@@ -177,7 +178,8 @@ static void dump_z_table (struct dsc_proc *);
 static void setup_z_trns (struct dsc_proc *);
 
 /* Procedure execution functions. */
-static bool calc_descriptives (const struct casefile *, void *dsc_);
+static bool calc_descriptives (const struct ccase *first,
+                               const struct casefile *, void *dsc_);
 static void display (struct dsc_proc *dsc);
 \f
 /* Parser and outline. */
@@ -695,13 +697,16 @@ static int listwise_missing (struct dsc_proc *dsc, const struct ccase *c);
 /* Calculates and displays descriptive statistics for the cases
    in CF. */
 static bool
-calc_descriptives (const struct casefile *cf, void *dsc_) 
+calc_descriptives (const struct ccase *first,
+                   const struct casefile *cf, void *dsc_) 
 {
   struct dsc_proc *dsc = dsc_;
   struct casereader *reader;
   struct ccase c;
   size_t i;
 
+  output_split_file_values (first);
+
   for (i = 0; i < dsc->var_cnt; i++)
     {
       struct dsc_var *dv = &dsc->vars[i];
index bf2c3fd17f96fac51778adcbc04604dcce86e17e..e2bd897a5200f20838959727368e74c691cda686 100644 (file)
@@ -33,6 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 #include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/compiler.h>
@@ -150,7 +151,8 @@ void box_plot_variables(const struct factor *fctr,
 
 
 /* Per Split function */
-static bool run_examine(const struct casefile *cf, void *cmd_);
+static bool run_examine(const struct ccase *,
+                        const struct casefile *cf, void *cmd_);
 
 static void output_examine(void);
 
@@ -676,7 +678,7 @@ factor_calc(struct ccase *c, int case_no, double weight, int case_missing)
 }
 
 static bool 
-run_examine(const struct casefile *cf, void *cmd_ )
+run_examine(const struct ccase *first, const struct casefile *cf, void *cmd_ )
 {
   struct casereader *r;
   struct ccase c;
@@ -684,9 +686,13 @@ run_examine(const struct casefile *cf, void *cmd_ )
 
   const struct cmd_examine *cmd = (struct cmd_examine *) cmd_;
 
+  struct factor *fctr;
+
+  output_split_file_values (first);
+
   /* Make sure we haven't got rubbish left over from a 
      previous split */
-  struct factor *fctr = factors;
+  fctr = factors;
   while (fctr) 
     {
       struct factor *next = fctr->next;
index db480bce497ff8fc574bf6140c19a1b22f713a7f..39882e76c527c8d46e51bb708bcb3f7c5bfb6af2 100644 (file)
@@ -36,6 +36,7 @@
 #include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/array.h>
@@ -267,8 +268,8 @@ static void determine_charts (void);
 
 static void calc_stats (struct variable *v, double d[frq_n_stats]);
 
-static void precalc (void *);
-static bool calc (struct ccase *, void *);
+static void precalc (const struct ccase *, void *);
+static bool calc (const struct ccase *, void *);
 static void postcalc (void *);
 
 static void postprocess_freq_tab (struct variable *);
@@ -494,7 +495,7 @@ determine_charts (void)
 
 /* Add data from case C to the frequency table. */
 static bool
-calc (struct ccase *c, void *aux UNUSED)
+calc (const struct ccase *c, void *aux UNUSED)
 {
   double weight;
   size_t i;
@@ -549,10 +550,12 @@ calc (struct ccase *c, void *aux UNUSED)
 /* Prepares each variable that is the target of FREQUENCIES by setting
    up its hash table. */
 static void
-precalc (void *aux UNUSED)
+precalc (const struct ccase *first, void *aux UNUSED)
 {
   size_t i;
 
+  output_split_file_values (first);
+
   pool_destroy (gen_pool);
   gen_pool = pool_create ();
   
index ab221e03fa0e16c85c0e1d5a32ce2de2b1286778..a400c1da6f0f08b54e23cbe98d47973be275e2e2 100644 (file)
@@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 #include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/compiler.h>
@@ -94,7 +95,8 @@ static int ostensible_number_of_groups=-1;
 static is_missing_func *value_is_missing;
 
 
-static bool run_oneway(const struct casefile *cf, void *_mode);
+static bool run_oneway(const struct ccase *first,
+                       const struct casefile *cf, void *_mode);
 
 
 /* Routines to show the output tables */
@@ -892,13 +894,15 @@ precalc ( struct cmd_oneway *cmd UNUSED )
 
 
 static bool
-run_oneway(const struct casefile *cf, void *cmd_)
+run_oneway(const struct ccase *first, const struct casefile *cf, void *cmd_)
 {
   struct casereader *r;
   struct ccase c;
 
   struct cmd_oneway *cmd = (struct cmd_oneway *) cmd_;
 
+  output_split_file_values (first);
+
   global_group_hash = hsh_create(4, 
                                 (hsh_compare_func *) compare_values,
                                 (hsh_hash_func *) hash_value,
index d79007ac24a6f484471b67606aec43900e150545..463d18f9ad16dc26eef74dfd015a4989cd8aa8fc 100644 (file)
@@ -37,6 +37,7 @@
 #include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/data-io/file-handle.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
@@ -116,7 +117,8 @@ struct file_handle *model_file;
  */
 int pspp_reg_rc = CMD_SUCCESS;
 
-static bool run_regression (const struct casefile *, void *);
+static bool run_regression (const struct ccase *,
+                            const struct casefile *, void *);
 
 /* 
    STATISTICS subcommand output functions.
@@ -1070,7 +1072,8 @@ int prepare_data (int n_data, int is_missing_case[],
   return n_data;
 }
 static bool
-run_regression (const struct casefile *cf, void *cmd_ UNUSED)
+run_regression (const struct ccase *first,
+                const struct casefile *cf, void *cmd_ UNUSED)
 {
   size_t i;
   size_t n_data = 0; /* Number of valide cases. */
@@ -1093,6 +1096,9 @@ run_regression (const struct casefile *cf, void *cmd_ UNUSED)
   pspp_linreg_opts lopts;
 
   assert (models != NULL);
+
+  output_split_file_values (first);
+
   if (!v_variables)
     {
       dict_get_vars (default_dict, &v_variables, &n_variables,
index 6d3f4ba263fe2314baca3999c2ee1678bf4dd105..7c2352c4cf26dbf88c20b317da38a113f8b4884a 100644 (file)
@@ -33,6 +33,7 @@
 #include <data/value-labels.h>
 #include <data/variable.h>
 #include <language/command.h>
+#include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <libpspp/alloc.h>
 #include <libpspp/compiler.h>
@@ -233,7 +234,8 @@ static int  group_calc (const struct ccase *, struct cmd_t_test *);
 static void group_postcalc (struct cmd_t_test *);
 
 
-static bool calculate(const struct casefile *cf, void *_mode);
+static bool calculate(const struct ccase *first,
+                      const struct casefile *cf, void *_mode);
 
 static  int mode;
 
@@ -1835,7 +1837,7 @@ group_postcalc ( struct cmd_t_test *cmd )
 
 
 static bool
-calculate(const struct casefile *cf, void *cmd_)
+calculate(const struct ccase *first, const struct casefile *cf, void *cmd_)
 {
   struct ssbox stat_summary_box;
   struct trbox test_results_box;
@@ -1845,6 +1847,7 @@ calculate(const struct casefile *cf, void *cmd_)
 
   struct cmd_t_test *cmd = (struct cmd_t_test *) cmd_;
 
+  output_split_file_values (first);
   common_precalc(cmd);
   for(r = casefile_get_reader (cf);
       casereader_read (r, &c) ;