Added support for T-TEST where the group criteria is specified as a threshold
authorJohn Darrington <john@darrington.wattle.id.au>
Fri, 12 Mar 2004 08:42:03 +0000 (08:42 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Fri, 12 Mar 2004 08:42:03 +0000 (08:42 +0000)
rather than two separate values.

13 files changed:
doc/ChangeLog
doc/pspp.texi
lib/dcdflib/ChangeLog
lib/dcdflib/dcdflib.c
po/en_GB.po
po/pspp.pot
src/ChangeLog
src/levene.c
src/t-test.h
src/t-test.q
tests/Makefile.am
tests/command/t-test-1-indep-val.sh [new file with mode: 0755]
tests/command/t-test-groups.sh

index dbf6547fb7d6b3c7b821966b11c759e31259768d..92684ec43da1600ec25f53ab6faa22f8fbc4fa2c 100644 (file)
@@ -1,3 +1,10 @@
+Fri Mar 12 16:33:12 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+       * Added indeces for the commands in the STATISTICS section
+
+       * Added notes on the T-TEST Independent samples command about
+       single values for the independent variable.
+       
 Tue Mar  9 22:34:17 2004  Ben Pfaff  <blp@gnu.org>
 
        * Updated.
index 564e36ec7d6e7d9d34235d96f57a4fe189f9d13e..509efa6da2fa461f255efa9d24d997fab0c5bbbb 100644 (file)
@@ -7484,6 +7484,7 @@ far.
 @node DESCRIPTIVES, FREQUENCIES, Statistics, Statistics
 @section DESCRIPTIVES
 
+@vindex DESCRIPTIVES
 @display
 DESCRIPTIVES
         /VARIABLES=var_list
@@ -7573,6 +7574,7 @@ respectively.
 @node FREQUENCIES, CROSSTABS, DESCRIPTIVES, Statistics
 @section FREQUENCIES
 
+@vindex FREQUENCIES
 @display
 FREQUENCIES
         /VARIABLES=var_list
@@ -7675,6 +7677,7 @@ particular percentiles can be requested with the PERCENTILES subcommand.
 @node CROSSTABS, T-TEST, FREQUENCIES, Statistics
 @section CROSSTABS
 
+@vindex CROSSTABS
 @display
 CROSSTABS
         /TABLES=var_list BY var_list [BY var_list]@dots{}
@@ -7859,9 +7862,9 @@ Fixes for any of these deficiencies would be welcomed.
 
 @node T-TEST, , CROSSTABS, Statistics
 @comment  node-name,  next,  previous,  up
-
 @section T-TEST
 
+@vindex T-TEST
 @display
 T-TEST
         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
@@ -7941,12 +7944,21 @@ The @cmd{GROUPS} subcommand invokes Independent Samples mode or
 `Groups' mode. 
 This mode is used to test whether two groups of values have the
 same population mean.
+In this mode, you must also use the @cmd{/VARIABLES} subcommand to
+tell PSPP the dependent variables you wish to test.
+
 The variable given in the @cmd{GROUPS} subcommand is the independent
 variable which determines to which group the samples belong.
 The values in parentheses are the specific values of the independent
 variable for each group.
-In this mode, you must also use the @cmd{/VARIABLES} subcommand to
-tell PSPP the dependent variables you wish to test.
+If the parentheses are omitted, and no values are given, the default values 
+of 1.0 and 2.0 are assumed.
+If only one value is given, then cases where the independent variable is
+less than  or equal to this value belong to the first group, and cases
+greater than this value belong to the second group.
+If only one value is given, then the independent variable must be
+numeric.
+
 
 @node Paired Samples Mode, , Independent Samples Mode, T-TEST
 @comment  node-name,  next,  previous,  up
index 6cef35fccfedb03a607cd5cd65138aec774d0f3c..529c00ee95cab6249aa718cfb0e8dabe9ae642c6 100644 (file)
@@ -1,3 +1,10 @@
+Fri Mar 12 08:43:39 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+        * dcdflib.c: Removed the ftnstop function which called exit(1), on
+       certain error conditions.  Instead, E0000 now sets status to -999
+       and returns.
+
+       
 Sun Aug  9 11:16:26 1998  Ben Pfaff  <blp@gnu.org>
 
        * dcdflib.COPYING: Renamed COPYING.
index 91f606bc0b4828a324f358d56e2d521d271378ca..6be517e8881c5d52d6216e3903a7ba54bf075f2b 100644 (file)
@@ -2,6 +2,7 @@
 #include <stdlib.h>
 #include <math.h>
 #include "cdflib.h"
+#include <assert.h>
 
 static void E0000(int,int*,double*,double*,unsigned long*,
                   unsigned long*,double*,double*,double*,
@@ -6352,7 +6353,12 @@ static unsigned long qbdd,qcond,qdum1,qdum2,qincr,qlim,qok,qup;
 DINVR:
     if(*status > 0) goto S310;
     qcond = !qxmon(small,*x,big);
-    if(qcond) ftnstop((char *) " SMALL, X, BIG not monotone in INVR");
+    if(qcond) 
+       {
+       *status = -999;
+       return;
+       }
+
     xsave = *x;
 /*
      See that SMALL and BIG bound the zero and set QINCR
@@ -6676,8 +6682,10 @@ void dstinv(double *zsmall,double *zbig,double *zabsst,
 **********************************************************************
 */
 {
-    E0000(1,NULL,NULL,NULL,NULL,NULL,zabsst,zabsto,zbig,zrelst,zrelto,zsmall,
-    zstpmu);
+  int status=0;
+  E0000(1,&status,NULL,NULL,NULL,NULL,zabsst,zabsto,zbig,zrelst,zrelto,zsmall,
+       zstpmu);
+  assert(status == 0 );
 }
 double dt1(double *p,double *q,double *df)
 /*
@@ -9081,13 +9089,3 @@ long fifmod(long a,long b)
 {
   return a % b;
 }
-/************************************************************************
-FTNSTOP:
-Prints msg to standard error and then exits
-************************************************************************/
-void ftnstop(char* msg)
-/* msg - error message */
-{
-  if (msg != NULL) fprintf(stderr,"%s\n",msg);
-  exit(EXIT_FAILURE); /* EXIT_FAILURE from stdlib.h, or use an int */
-}
index e87b4143ace1a4e1652582ec245bcacece28fcbd..43d5fa175a04022c070d54bb6782cadd018458f2 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.3.1\n"
-"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2004-02-21 10:31+0800\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-12 16:21+0800\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"
@@ -16,56 +16,56 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
-#: src/aggregate.c:188 src/aggregate.c:229 src/data-list.c:1341
-#: src/data-list.c:1376 src/data-list.c:1389 src/data-list.c:1402
-#: src/data-list.c:1435
+#: src/aggregate.c:190 src/aggregate.c:231 src/data-list.c:1363
+#: src/data-list.c:1398 src/data-list.c:1411 src/data-list.c:1424
+#: src/data-list.c:1457
 #, c-format
 msgid "%s subcommand given multiple times."
 msgstr ""
 
-#: src/aggregate.c:214
+#: src/aggregate.c:216
 msgid "while expecting COLUMNWISE"
 msgstr ""
 
-#: src/aggregate.c:258
+#: src/aggregate.c:261
 msgid "BREAK subcommand not specified."
 msgstr ""
 
-#: src/aggregate.c:492
+#: src/aggregate.c:490
 msgid "expecting aggregation function"
 msgstr ""
 
-#: src/aggregate.c:508
+#: src/aggregate.c:506
 #, c-format
 msgid "Unknown aggregation function %s."
 msgstr ""
 
-#: src/aggregate.c:523
+#: src/aggregate.c:521
 msgid "expecting `('"
 msgstr ""
 
-#: src/aggregate.c:558
+#: src/aggregate.c:556
 #, c-format
 msgid "Missing argument %d to %s."
 msgstr ""
 
-#: src/aggregate.c:566
+#: src/aggregate.c:564
 #, c-format
 msgid "Arguments to %s must be of same type as source variables."
 msgstr ""
 
-#: src/aggregate.c:576 src/expr-prs.c:665
+#: src/aggregate.c:574 src/expr-prs.c:665
 msgid "expecting `)'"
 msgstr ""
 
-#: src/aggregate.c:588 src/autorecode.c:110
+#: src/aggregate.c:586 src/autorecode.c:110
 #, c-format
 msgid ""
 "Number of source variables (%d) does not match number of target variables (%"
 "d)."
 msgstr ""
 
-#: src/aggregate.c:655
+#: src/aggregate.c:653
 #, c-format
 msgid ""
 "Variable name %s is not unique within the aggregate file dictionary, which "
@@ -79,15 +79,15 @@ msgstr ""
 
 #: src/apply-dict.c:71 src/apply-dict.c:72 src/expr-prs.c:1128
 #: src/expr-prs.c:1473 src/expr-prs.c:1489 src/formats.c:103
-#: src/pfm-read.c:636 src/print.c:696 src/sfm-read.c:916 src/sfm-read.c:1042
-#: src/sfm-read.c:1043
+#: src/pfm-read.c:634 src/print.c:698 src/sfm-read.c:914 src/sfm-read.c:1040
+#: src/sfm-read.c:1041
 msgid "string"
 msgstr ""
 
 #: src/apply-dict.c:71 src/apply-dict.c:72 src/expr-prs.c:1128
 #: src/expr-prs.c:1470 src/expr-prs.c:1487 src/formats.c:103
-#: src/pfm-read.c:636 src/print.c:696 src/sfm-read.c:916 src/sfm-read.c:1042
-#: src/sfm-read.c:1043
+#: src/pfm-read.c:634 src/print.c:698 src/sfm-read.c:914 src/sfm-read.c:1040
+#: src/sfm-read.c:1041
 msgid "numeric"
 msgstr ""
 
@@ -216,18 +216,16 @@ msgstr ""
 msgid "Writing `%s': %s"
 msgstr ""
 
-#: src/ascii.c:1541 src/postscript.c:2095
+#: src/ascii.c:1543 src/postscript.c:2093
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
 
-#: src/autorecode.c:121 src/command.c:696 src/compute.c:283 correlations.c:308
-#: crosstabs.c:437 src/data-list.c:370 src/data-list.c:850
-#: src/data-list.c:1666 descript.c:458 src/do-if.c:264 file-handle.c:180
-#: file-handle.q:88 src/file-handle.q:88 frequencies.c:890 src/get.c:359
-#: src/lexer.c:387 list.c:208 src/loop.c:248 src/matrix-data.c:503 means.c:354
-#: src/print.c:336 src/print.c:1057 src/recode.c:408 src/sel-if.c:56
-#: src/sel-if.c:136 set.c:1656 t-test.c:275 src/vector.c:194
+#: src/autorecode.c:121 src/command.c:697 src/compute.c:293
+#: src/data-list.c:380 src/data-list.c:878 src/data-list.c:1690
+#: src/do-if.c:263 src/get.c:381 src/lexer.c:387 src/loop.c:241
+#: src/matrix-data.c:510 src/print.c:338 src/print.c:1060 src/recode.c:409
+#: src/sel-if.c:56 src/sel-if.c:138 src/vector.c:194 src/file-handle.q:88
 msgid "expecting end of command"
 msgstr ""
 
@@ -242,7 +240,7 @@ msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
 #: src/cmdline.c:112 src/cmdline.c:131 src/cmdline.c:143 src/command.c:196
-#: set.q:314 set.q:316 set.q:846 src/set.q:314 src/set.q:316 src/set.q:846
+#: src/set.q:315 src/set.q:317 src/set.q:857
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
@@ -326,7 +324,7 @@ msgstr ""
 msgid "This line does not begin with a valid command name."
 msgstr ""
 
-#: src/command.c:214
+#: src/command.c:215
 #, c-format
 msgid ""
 "%s is not allowed (1) before a command to specify the input program, such as "
@@ -334,121 +332,101 @@ msgid ""
 "PROGRAM and END INPUT PROGRAM."
 msgstr ""
 
-#: src/command.c:218
+#: src/command.c:219
 #, c-format
 msgid "%s is not allowed within an input program."
 msgstr ""
 
-#: src/command.c:219 src/command.c:220
+#: src/command.c:220 src/command.c:221
 #, c-format
 msgid "%s is only allowed within an input program."
 msgstr ""
 
-#: src/command.c:229
+#: src/command.c:230
 #, c-format
 msgid "%s command beginning\n"
 msgstr ""
 
-#: src/command.c:265
+#: src/command.c:266
 #, c-format
 msgid ""
 "%s command completed\n"
 "\n"
 msgstr ""
 
-#: src/command.c:280
+#: src/command.c:281
 msgid "The identifier(s) specified do not form a valid command name:"
 msgstr ""
 
-#: src/command.c:283
+#: src/command.c:284
 msgid "The identifier(s) specified do not form a complete command name:"
 msgstr ""
 
-#: src/command.c:407
+#: src/command.c:408
 msgid ""
 "This command is not accepted in a syntax file.  Instead, use FINISH to "
 "terminate a syntax file."
 msgstr ""
 
-#: src/command.c:425
+#: src/command.c:426
 msgid ""
 "This command is not executed in interactive mode.  Instead, PSPP drops down "
 "to the command prompt.  Use EXIT if you really want to quit."
 msgstr ""
 
-#: src/command.c:516
+#: src/command.c:517
 msgid "The sentinel may not be the empty string."
 msgstr ""
 
-#: src/command.c:573
+#: src/command.c:574
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/command.c:596
+#: src/command.c:597
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/command.c:646
+#: src/command.c:647
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/command.c:687
+#: src/command.c:688
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
 
-#: src/command.c:733
+#: src/command.c:734
 msgid "No operating system support for this command."
 msgstr ""
 
-#: src/command.c:762
+#: src/command.c:763
 msgid "This command is not valid in a syntax file."
 msgstr ""
 
-#: src/compute.c:140 src/compute.c:199
+#: src/compute.c:145 src/compute.c:209
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/compute.c:143 src/compute.c:203
+#: src/compute.c:148 src/compute.c:213
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/compute.c:342
+#: src/compute.c:355
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/compute.c:450
+#: src/compute.c:461
 msgid "Extra characters after expression."
 msgstr ""
 
-#: correlations.c:184 crosstabs.c:254 descript.c:225 means.c:269 t-test.c:191
-msgid "MISSING subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:211
-msgid "PRINT subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:238 crosstabs.c:304 descript.c:252 means.c:232
-msgid "FORMAT subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:261
-msgid "MATRIX subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:283 crosstabs.c:388 descript.c:332 means.c:327
-msgid "STATISTICS subcommand may be given only once."
-msgstr ""
-
 #: src/count.c:171
 msgid "Destination cannot be a string variable."
 msgstr ""
@@ -460,303 +438,6 @@ msgid ""
 "as big as the number preceding THRU."
 msgstr ""
 
-#: crosstabs.c:232 means.c:188
-msgid "VARIABLES subcommand may be given only once."
-msgstr ""
-
-#: crosstabs.c:279
-msgid "WRITE subcommand may be given only once."
-msgstr ""
-
-#: crosstabs.c:349 means.c:294
-msgid "CELLS subcommand may be given only once."
-msgstr ""
-
-#: crosstabs.q:257 src/crosstabs.q:257
-msgid ""
-"Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
-msgstr ""
-
-#: crosstabs.q:267 src/crosstabs.q:267
-msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
-msgstr ""
-
-#: crosstabs.q:327 src/crosstabs.q:327
-msgid "expecting BY"
-msgstr ""
-
-#: crosstabs.q:394 src/crosstabs.q:394
-msgid "VARIABLES must be specified before TABLES."
-msgstr ""
-
-#: crosstabs.q:431 src/crosstabs.q:431
-#, c-format
-msgid "Maximum value (%ld) less than minimum value (%ld)."
-msgstr ""
-
-#: crosstabs.q:865 src/crosstabs.q:865
-msgid "Summary."
-msgstr ""
-
-#: crosstabs.q:867 src/crosstabs.q:867
-msgid "Cases"
-msgstr ""
-
-#: crosstabs.q:868 src/crosstabs.q:868 frequencies.q:999 src/frequencies.q:999
-msgid "Valid"
-msgstr ""
-
-#: crosstabs.q:869 src/crosstabs.q:869 frequencies.q:1066
-#: src/frequencies.q:1066
-msgid "Missing"
-msgstr ""
-
-#: crosstabs.q:870 crosstabs.q:1073 crosstabs.q:1806 src/crosstabs.q:870
-#: src/crosstabs.q:1073 src/crosstabs.q:1806 frequencies.q:1075
-#: src/frequencies.q:1075
-msgid "Total"
-msgstr ""
-
-#: crosstabs.q:880 src/crosstabs.q:880 t-test.q:625 t-test.q:648 t-test.q:727
-#: t-test.q:1309 src/t-test.q:625 src/t-test.q:648 src/t-test.q:727
-#: src/t-test.q:1309
-msgid "N"
-msgstr ""
-
-#: crosstabs.q:881 src/crosstabs.q:881 frequencies.q:1003 frequencies.q:1004
-#: frequencies.q:1005 src/frequencies.q:1003 src/frequencies.q:1004
-#: src/frequencies.q:1005
-msgid "Percent"
-msgstr ""
-
-#: crosstabs.q:1123 src/crosstabs.q:1123
-msgid "count"
-msgstr ""
-
-#: crosstabs.q:1124 src/crosstabs.q:1124
-msgid "row %"
-msgstr ""
-
-#: crosstabs.q:1125 src/crosstabs.q:1125
-msgid "column %"
-msgstr ""
-
-#: crosstabs.q:1126 src/crosstabs.q:1126
-msgid "total %"
-msgstr ""
-
-#: crosstabs.q:1127 src/crosstabs.q:1127
-msgid "expected"
-msgstr ""
-
-#: crosstabs.q:1128 src/crosstabs.q:1128
-msgid "residual"
-msgstr ""
-
-#: crosstabs.q:1129 src/crosstabs.q:1129
-msgid "std. resid."
-msgstr ""
-
-#: crosstabs.q:1130 src/crosstabs.q:1130
-msgid "adj. resid."
-msgstr ""
-
-#: crosstabs.q:1163 crosstabs.q:1190 crosstabs.q:1210 crosstabs.q:1231
-#: src/crosstabs.q:1163 src/crosstabs.q:1190 src/crosstabs.q:1210
-#: src/crosstabs.q:1231
-msgid "Statistic"
-msgstr ""
-
-#: crosstabs.q:1164 crosstabs.q:1191 crosstabs.q:1211 crosstabs.q:1233
-#: src/crosstabs.q:1164 src/crosstabs.q:1191 src/crosstabs.q:1211
-#: src/crosstabs.q:1233 frequencies.q:1001 frequencies.q:1118
-#: src/frequencies.q:1001 src/frequencies.q:1118 src/sysfile-info.c:536
-#: src/vfm.c:1087
-msgid "Value"
-msgstr ""
-
-#: crosstabs.q:1165 src/crosstabs.q:1165 t-test.q:880 t-test.q:1081
-#: t-test.q:1193 src/t-test.q:880 src/t-test.q:1081 src/t-test.q:1193
-msgid "df"
-msgstr ""
-
-#: crosstabs.q:1167 src/crosstabs.q:1167
-msgid "Asymp. Sig. (2-sided)"
-msgstr ""
-
-#: crosstabs.q:1169 src/crosstabs.q:1169
-msgid "Exact. Sig. (2-sided)"
-msgstr ""
-
-#: crosstabs.q:1171 src/crosstabs.q:1171
-msgid "Exact. Sig. (1-sided)"
-msgstr ""
-
-#: crosstabs.q:1189 crosstabs.q:1230 src/crosstabs.q:1189 src/crosstabs.q:1230
-msgid "Category"
-msgstr ""
-
-#: crosstabs.q:1192 crosstabs.q:1234 src/crosstabs.q:1192 src/crosstabs.q:1234
-msgid "Asymp. Std. Error"
-msgstr ""
-
-#: crosstabs.q:1193 crosstabs.q:1235 src/crosstabs.q:1193 src/crosstabs.q:1235
-msgid "Approx. T"
-msgstr ""
-
-#: crosstabs.q:1194 crosstabs.q:1236 src/crosstabs.q:1194 src/crosstabs.q:1236
-msgid "Approx. Sig."
-msgstr ""
-
-#: crosstabs.q:1209 src/crosstabs.q:1209
-#, c-format
-msgid " 95%% Confidence Interval"
-msgstr ""
-
-#: crosstabs.q:1212 src/crosstabs.q:1212 t-test.q:884 t-test.q:1078
-#: t-test.q:1196 src/t-test.q:884 src/t-test.q:1078 src/t-test.q:1196
-msgid "Lower"
-msgstr ""
-
-#: crosstabs.q:1213 src/crosstabs.q:1213 t-test.q:885 t-test.q:1079
-#: t-test.q:1197 src/t-test.q:885 src/t-test.q:1079 src/t-test.q:1197
-msgid "Upper"
-msgstr ""
-
-#: crosstabs.q:1232 src/crosstabs.q:1232
-msgid "Type"
-msgstr ""
-
-#: crosstabs.q:1983 src/crosstabs.q:1983
-msgid "Pearson Chi-Square"
-msgstr ""
-
-#: crosstabs.q:1984 src/crosstabs.q:1984
-msgid "Likelihood Ratio"
-msgstr ""
-
-#: crosstabs.q:1985 src/crosstabs.q:1985
-msgid "Fisher's Exact Test"
-msgstr ""
-
-#: crosstabs.q:1986 src/crosstabs.q:1986
-msgid "Continuity Correction"
-msgstr ""
-
-#: crosstabs.q:1987 src/crosstabs.q:1987
-msgid "Linear-by-Linear Association"
-msgstr ""
-
-#: crosstabs.q:2024 crosstabs.q:2094 crosstabs.q:2153 src/crosstabs.q:2024
-#: src/crosstabs.q:2094 src/crosstabs.q:2153
-msgid "N of Valid Cases"
-msgstr ""
-
-#: crosstabs.q:2040 crosstabs.q:2169 src/crosstabs.q:2040 src/crosstabs.q:2169
-msgid "Nominal by Nominal"
-msgstr ""
-
-#: crosstabs.q:2041 crosstabs.q:2170 src/crosstabs.q:2041 src/crosstabs.q:2170
-msgid "Ordinal by Ordinal"
-msgstr ""
-
-#: crosstabs.q:2042 src/crosstabs.q:2042
-msgid "Interval by Interval"
-msgstr ""
-
-#: crosstabs.q:2043 src/crosstabs.q:2043
-msgid "Measure of Agreement"
-msgstr ""
-
-#: crosstabs.q:2048 src/crosstabs.q:2048
-msgid "Phi"
-msgstr ""
-
-#: crosstabs.q:2049 src/crosstabs.q:2049
-msgid "Cramer's V"
-msgstr ""
-
-#: crosstabs.q:2050 src/crosstabs.q:2050
-msgid "Contingency Coefficient"
-msgstr ""
-
-#: crosstabs.q:2051 src/crosstabs.q:2051
-msgid "Kendall's tau-b"
-msgstr ""
-
-#: crosstabs.q:2052 src/crosstabs.q:2052
-msgid "Kendall's tau-c"
-msgstr ""
-
-#: crosstabs.q:2053 src/crosstabs.q:2053
-msgid "Gamma"
-msgstr ""
-
-#: crosstabs.q:2054 src/crosstabs.q:2054
-msgid "Spearman Correlation"
-msgstr ""
-
-#: crosstabs.q:2055 src/crosstabs.q:2055
-msgid "Pearson's R"
-msgstr ""
-
-#: crosstabs.q:2056 src/crosstabs.q:2056
-msgid "Kappa"
-msgstr ""
-
-#: crosstabs.q:2126 src/crosstabs.q:2126
-#, c-format
-msgid "Odds Ratio for %s (%g / %g)"
-msgstr ""
-
-#: crosstabs.q:2129 src/crosstabs.q:2129
-#, c-format
-msgid "Odds Ratio for %s (%.*s / %.*s)"
-msgstr ""
-
-#: crosstabs.q:2137 src/crosstabs.q:2137
-#, c-format
-msgid "For cohort %s = %g"
-msgstr ""
-
-#: crosstabs.q:2140 src/crosstabs.q:2140
-#, c-format
-msgid "For cohort %s = %.*s"
-msgstr ""
-
-#: crosstabs.q:2171 src/crosstabs.q:2171
-msgid "Nominal by Interval"
-msgstr ""
-
-#: crosstabs.q:2176 src/crosstabs.q:2176
-msgid "Lambda"
-msgstr ""
-
-#: crosstabs.q:2177 src/crosstabs.q:2177
-msgid "Goodman and Kruskal tau"
-msgstr ""
-
-#: crosstabs.q:2178 src/crosstabs.q:2178
-msgid "Uncertainty Coefficient"
-msgstr ""
-
-#: crosstabs.q:2179 src/crosstabs.q:2179
-msgid "Somers' d"
-msgstr ""
-
-#: crosstabs.q:2180 src/crosstabs.q:2180
-msgid "Eta"
-msgstr ""
-
-#: crosstabs.q:2185 src/crosstabs.q:2185
-msgid "Symmetric"
-msgstr ""
-
-#: crosstabs.q:2186 crosstabs.q:2187 src/crosstabs.q:2186 src/crosstabs.q:2187
-#, c-format
-msgid "%s Dependent"
-msgstr ""
-
 #: src/data-in.c:69
 msgid "data-file error: "
 msgstr ""
@@ -776,434 +457,430 @@ msgstr ""
 msgid ", field type %s) "
 msgstr ""
 
-#: src/data-in.c:223
+#: src/data-in.c:225
 msgid "Field contents followed by garbage."
 msgstr ""
 
-#: src/data-in.c:256
+#: src/data-in.c:258
 msgid "Overflow in floating-point constant."
 msgstr ""
 
-#: src/data-in.c:262
+#: src/data-in.c:264
 msgid "Underflow in floating-point constant."
 msgstr ""
 
-#: src/data-in.c:268
+#: src/data-in.c:270
 msgid "Field does not form a valid floating-point constant."
 msgstr ""
 
-#: src/data-in.c:294
+#: src/data-in.c:296
 msgid "All characters in field must be digits."
 msgstr ""
 
-#: src/data-in.c:319
+#: src/data-in.c:321
 msgid "Unrecognized character in field."
 msgstr ""
 
-#: src/data-in.c:337 src/data-in.c:587
+#: src/data-in.c:339 src/data-in.c:589
 msgid "Field must have even length."
 msgstr ""
 
-#: src/data-in.c:347 src/data-in.c:597
+#: src/data-in.c:349 src/data-in.c:599
 msgid "Field must contain only hex digits."
 msgstr ""
 
-#: src/data-in.c:385
+#: src/data-in.c:387
 #, c-format
 msgid ""
 "Quality of zoned decimal (Z) input format code is suspect.  Check your "
 "results three times. Report bugs to %s."
 msgstr ""
 
-#: src/data-in.c:397
+#: src/data-in.c:399
 msgid "Zoned decimal field contains fewer than 2 characters."
 msgstr ""
 
-#: src/data-in.c:405
+#: src/data-in.c:407
 msgid "Bad sign byte in zoned decimal number."
 msgstr ""
 
-#: src/data-in.c:422
+#: src/data-in.c:424
 msgid "Format error in zoned decimal number."
 msgstr ""
 
-#: src/data-in.c:436
+#: src/data-in.c:438
 msgid "Error in syntax of zoned decimal number."
 msgstr ""
 
-#: src/data-in.c:637
+#: src/data-in.c:639
 msgid "Unexpected end of field."
 msgstr ""
 
-#: src/data-in.c:663
+#: src/data-in.c:665
 msgid "Digit expected in field."
 msgstr ""
 
-#: src/data-in.c:688
+#: src/data-in.c:690
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr ""
 
-#: src/data-in.c:713
+#: src/data-in.c:715
 msgid "Delimiter expected between fields in date."
 msgstr ""
 
-#: src/data-in.c:810
+#: src/data-in.c:812
 #, c-format
 msgid "Month (%ld) must be between 1 and 12."
 msgstr ""
 
-#: src/data-in.c:851
+#: src/data-in.c:853
 #, c-format
 msgid "Month (%s) must be between I and XII."
 msgstr ""
 
-#: src/data-in.c:878
+#: src/data-in.c:880
 #, c-format
 msgid "Month name (%s...) is too long."
 msgstr ""
 
-#: src/data-in.c:889
+#: src/data-in.c:891
 #, c-format
 msgid "Bad month name (%s)."
 msgstr ""
 
-#: src/data-in.c:905
+#: src/data-in.c:907
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data-in.c:916
+#: src/data-in.c:918
 #, c-format
 msgid "Trailing garbage \"%s\" following date."
 msgstr ""
 
-#: src/data-in.c:931
+#: src/data-in.c:933
 #, c-format
 msgid "Julian day (%d) must be between 1 and 366."
 msgstr ""
 
-#: src/data-in.c:943
+#: src/data-in.c:945
 #, c-format
 msgid "Year (%d) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data-in.c:959
+#: src/data-in.c:961
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr ""
 
-#: src/data-in.c:969
+#: src/data-in.c:971
 msgid "`Q' expected between quarter and year."
 msgstr ""
 
-#: src/data-in.c:985
+#: src/data-in.c:987
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr ""
 
-#: src/data-in.c:996
+#: src/data-in.c:998
 msgid "`WK' expected between week and year."
 msgstr ""
 
-#: src/data-in.c:1019
+#: src/data-in.c:1021
 msgid "Delimiter expected between fields in time."
 msgstr ""
 
-#: src/data-in.c:1031
+#: src/data-in.c:1033
 #, c-format
 msgid "Hour (%ld) must be positive."
 msgstr ""
 
-#: src/data-in.c:1043
+#: src/data-in.c:1045
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr ""
 
-#: src/data-in.c:1090
+#: src/data-in.c:1092
 #, c-format
 msgid "Hour (%ld) must be between 0 and 23."
 msgstr ""
 
-#: src/data-in.c:1104 src/data-in.c:1139
+#: src/data-in.c:1106 src/data-in.c:1141
 msgid "Day of the week expected in date value."
 msgstr ""
 
-#: src/data-in.c:1190
+#: src/data-in.c:1192
 msgid "Date is not in valid range between 15 Oct 1582 and 31 Dec 19999."
 msgstr ""
 
-#: src/data-in.c:1512
+#: src/data-in.c:1514
 #, c-format
 msgid "Field too long (%d characters).  Truncated after character %d."
 msgstr ""
 
-#: src/data-list.c:138
+#: src/data-list.c:139
 msgid ""
 "DATA LIST may not use a different file from that specified on its "
 "surrounding FILE TYPE."
 msgstr ""
 
-#: src/data-list.c:157
+#: src/data-list.c:158
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
-#: src/data-list.c:193
+#: src/data-list.c:194
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
-#: src/data-list.c:319 src/print.c:297
+#: src/data-list.c:327 src/print.c:299
 #, 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/data-list.c:351 src/data-list.c:1655
+#: src/data-list.c:356 src/data-list.c:1679
 msgid ""
 "SPSS-like or FORTRAN-like format specification expected after variable names."
 msgstr ""
 
-#: src/data-list.c:362 src/print.c:329
+#: src/data-list.c:367
+msgid "At least one variable must be specified."
+msgstr ""
+
+#: src/data-list.c:372 src/print.c:331
 msgid ""
 "Variables are specified on records that should not exist according to "
 "RECORDS subcommand."
 msgstr ""
 
-#: src/data-list.c:394 src/data-list.c:407 src/print.c:506 src/print.c:519
+#: src/data-list.c:410 src/data-list.c:424 src/print.c:508 src/print.c:521
 msgid "Column positions for fields must be positive."
 msgstr ""
 
-#: src/data-list.c:412
+#: src/data-list.c:429
 msgid "The ending column for a field must be greater than the starting column."
 msgstr ""
 
-#: src/data-list.c:436 src/print.c:547
+#: src/data-list.c:443 src/print.c:598
+#, c-format
+msgid "The %d columns %d-%d can't be evenly divided into %d fields."
+msgstr ""
+
+#: src/data-list.c:463 src/print.c:549
 msgid "A format specifier on this line has extra characters on the end."
 msgstr ""
 
-#: src/data-list.c:451 src/print.c:563
+#: src/data-list.c:478 src/print.c:565
 msgid "The value for number of decimal places must be at least 1."
 msgstr ""
 
-#: src/data-list.c:465 src/print.c:576
+#: src/data-list.c:492 src/print.c:578
 #, c-format
 msgid "Input format %s doesn't accept decimal places."
 msgstr ""
 
-#: src/data-list.c:486 src/print.c:596
-#, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %d fields."
-msgstr ""
-
-#: src/data-list.c:528 src/data-list.c:625 src/data-list.c:829
+#: src/data-list.c:539 src/data-list.c:635 src/data-list.c:857
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
-#: src/data-list.c:533
+#: src/data-list.c:544
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
-#: src/data-list.c:540
+#: src/data-list.c:551
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
-#: src/data-list.c:614 src/print.c:685
+#: src/data-list.c:626
 msgid ""
-"The number of format specifications exceeds the number of variable names "
-"given."
+"The number of format specifications exceeds the given number of variable "
+"names."
 msgstr ""
 
-#: src/data-list.c:702 src/print.c:769
+#: src/data-list.c:739 src/print.c:771
 msgid ""
 "There aren't enough format specifications to match the number of variable "
 "names given."
 msgstr ""
 
-#: src/data-list.c:736 src/data-list.c:877 descript.q:790 src/descript.q:790
-#: src/print.c:801 src/sysfile-info.c:135 src/sysfile-info.c:370
-#: src/vfm.c:1086
+#: src/data-list.c:768 src/data-list.c:899 src/print.c:803
+#: src/sysfile-info.c:135 src/sysfile-info.c:370 src/vfm.c:1148
+#: src/descript.q:791
 msgid "Variable"
 msgstr ""
 
-#: src/data-list.c:737 src/print.c:802
+#: src/data-list.c:769 src/print.c:804
 msgid "Record"
 msgstr ""
 
-#: src/data-list.c:738 src/print.c:803
+#: src/data-list.c:770 src/print.c:805
 msgid "Columns"
 msgstr ""
 
-#: src/data-list.c:739 src/data-list.c:878 src/print.c:804
+#: src/data-list.c:771 src/data-list.c:900 src/print.c:806
 msgid "Format"
 msgstr ""
 
-#: src/data-list.c:762
+#: src/data-list.c:791
 #, c-format
 msgid "Reading %d record from file %s."
 msgid_plural "Reading %d records from file %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/data-list.c:765
+#: src/data-list.c:793
 #, c-format
 msgid "Reading %d record from the command file."
 msgid_plural "Reading %d records from the command file."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/data-list.c:772 src/data-list.c:773
-msgid "Occurrence data specifications."
-msgstr ""
-
-#: src/data-list.c:901
+#: src/data-list.c:923
 #, c-format
 msgid "Reading free-form data from file %s."
 msgstr ""
 
-#: src/data-list.c:902
+#: src/data-list.c:924
 msgid "Reading free-form data from the command file."
 msgstr ""
 
-#: src/data-list.c:953 src/matrix-data.c:935
+#: src/data-list.c:971 src/matrix-data.c:923
 msgid "Scope of string exceeds line."
 msgstr ""
 
-#: src/data-list.c:1013
-msgid "Attempt to read past end of file."
-msgstr ""
-
-#: src/data-list.c:1042
-msgid "abort in write_case()\n"
-msgstr ""
-
-#: src/data-list.c:1070
+#: src/data-list.c:1039
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
-#: src/data-list.c:1119
+#: src/data-list.c:1090
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
-#: src/data-list.c:1160
+#: src/data-list.c:1133
 #, 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/data-list.c:1331
+#: src/data-list.c:1210
+msgid "Attempt to read past end of file."
+msgstr ""
+
+#: src/data-list.c:1353
 msgid ""
 "REPEATING DATA must use the same file as its corresponding DATA LIST or FILE "
 "TYPE."
 msgstr ""
 
-#: src/data-list.c:1365
+#: src/data-list.c:1387
 #, c-format
 msgid "STARTS beginning column (%d) exceeds STARTS ending column (%d)."
 msgstr ""
 
-#: src/data-list.c:1421
+#: src/data-list.c:1443
 #, c-format
 msgid "CONTINUED beginning column (%d) exceeds CONTINUED ending column (%d)."
 msgstr ""
 
-#: src/data-list.c:1444
+#: src/data-list.c:1466
 #, c-format
 msgid "ID beginning column (%ld) must be positive."
 msgstr ""
 
-#: src/data-list.c:1459
+#: src/data-list.c:1481
 #, c-format
 msgid "ID ending column (%ld) must be positive."
 msgstr ""
 
-#: src/data-list.c:1465
+#: src/data-list.c:1487
 #, c-format
 msgid "ID ending column (%ld) cannot be less than ID beginning column (%d)."
 msgstr ""
 
-#: src/data-list.c:1505
+#: src/data-list.c:1527
 msgid "Missing required specification STARTS."
 msgstr ""
 
-#: src/data-list.c:1507
+#: src/data-list.c:1529
 msgid "Missing required specification OCCURS."
 msgstr ""
 
-#: src/data-list.c:1514
+#: src/data-list.c:1536
 msgid "ID specified without CONTINUED."
 msgstr ""
 
-#: src/data-list.c:1602
+#: src/data-list.c:1628
 msgid "String variable not allowed here."
 msgstr ""
 
-#: src/data-list.c:1612
+#: src/data-list.c:1638
 #, c-format
 msgid "%s (%d) must be at least 1."
 msgstr ""
 
-#: src/data-list.c:1618
+#: src/data-list.c:1644
 #, c-format
 msgid "Variable or integer expected for %s."
 msgstr ""
 
-#: src/data-list.c:1753
+#: src/data-list.c:1782
 #, c-format
 msgid "Encountered mismatched record ID \"%s\" expecting \"%s\"."
 msgstr ""
 
-#: src/data-list.c:1785
+#: src/data-list.c:1814
 #, c-format
 msgid ""
 "Variable %s starting in column %d extends beyond physical record length of %"
 "d."
 msgstr ""
 
-#: src/data-list.c:1853
+#: src/data-list.c:1882
 #, c-format
 msgid "Invalid value %d for OCCURS."
 msgstr ""
 
-#: src/data-list.c:1859
+#: src/data-list.c:1888
 #, c-format
 msgid "Beginning column for STARTS (%d) must be at least 1."
 msgstr ""
 
-#: src/data-list.c:1867
+#: src/data-list.c:1896
 #, c-format
 msgid "Ending column for STARTS (%d) is less than beginning column (%d)."
 msgstr ""
 
-#: src/data-list.c:1875
+#: src/data-list.c:1904
 #, c-format
 msgid "Invalid value %d for LENGTH."
 msgstr ""
 
-#: src/data-list.c:1882
+#: src/data-list.c:1911
 #, c-format
 msgid "Beginning column for CONTINUED (%d) must be at least 1."
 msgstr ""
 
-#: src/data-list.c:1890
+#: src/data-list.c:1919
 #, c-format
 msgid "Ending column for CONTINUED (%d) is less than beginning column (%d)."
 msgstr ""
 
-#: src/data-list.c:1913
+#: src/data-list.c:1951
 #, c-format
 msgid ""
 "Number of repetitions specified on OCCURS (%d) exceed number of repetitions "
 "available in space on STARTS (%d), and CONTINUED not specified."
 msgstr ""
 
-#: src/data-list.c:1930
+#: src/data-list.c:1970
 #, c-format
 msgid "Unexpected end of file with %d repetitions remaining out of %d."
 msgstr ""
@@ -1255,266 +932,24 @@ msgid ""
 "Year %d cannot be represented in four digits for output formatting purposes."
 msgstr ""
 
-#: descript.c:283
-msgid "SAVE subcommand may be given only once."
+#: src/devind.c:136
+#, c-format
+msgid "DEVIND driver initializing as `%s'..."
 msgstr ""
 
-#: descript.c:297
-msgid "OPTIONS subcommand may be given only once."
+#: src/devind.c:218
+#, c-format
+msgid "Unknown configuration parameter `%s' for DEVIND device driver."
 msgstr ""
 
-#: descript.c:405
-msgid "SORT subcommand may be given only once."
+#: src/devind.c:240
+#, c-format
+msgid "DEVIND output driver: %s: %s"
 msgstr ""
 
-#: descript.q:151 src/descript.q:151 frequencies.q:94 src/frequencies.q:94
-#: t-test.q:626 t-test.q:649 t-test.q:726 t-test.q:1075 src/t-test.q:626
-#: src/t-test.q:649 src/t-test.q:726 src/t-test.q:1075
-msgid "Mean"
-msgstr ""
-
-#: descript.q:151 src/descript.q:151
-msgid "mean"
-msgstr ""
-
-#: descript.q:152 src/descript.q:152 frequencies.q:95 src/frequencies.q:95
-msgid "S.E. Mean"
-msgstr ""
-
-#: descript.q:152 src/descript.q:152
-msgid "S E Mean"
-msgstr ""
-
-#: descript.q:152 src/descript.q:152
-msgid "SE"
-msgstr ""
-
-#: descript.q:153 src/descript.q:153
-msgid "standard error of mean"
-msgstr ""
-
-#: descript.q:154 src/descript.q:154 frequencies.q:98 src/frequencies.q:98
-msgid "Std Dev"
-msgstr ""
-
-#: descript.q:154 src/descript.q:154
-msgid "SD"
-msgstr ""
-
-#: descript.q:155 src/descript.q:155
-msgid "standard deviation"
-msgstr ""
-
-#: descript.q:156 src/descript.q:156 frequencies.q:99 src/frequencies.q:99
-msgid "Variance"
-msgstr ""
-
-#: descript.q:157 src/descript.q:157
-msgid "Var"
-msgstr ""
-
-#: descript.q:157 src/descript.q:157
-msgid "variance"
-msgstr ""
-
-#: descript.q:158 src/descript.q:158 frequencies.q:100 src/frequencies.q:100
-msgid "Kurtosis"
-msgstr ""
-
-#: descript.q:159 src/descript.q:159
-msgid "Kurt"
-msgstr ""
-
-#: descript.q:159 src/descript.q:159
-msgid "kurtosis"
-msgstr ""
-
-#: descript.q:160 src/descript.q:160 frequencies.q:101 src/frequencies.q:101
-msgid "S.E. Kurt"
-msgstr ""
-
-#: descript.q:160 src/descript.q:160
-msgid "S E Kurt"
-msgstr ""
-
-#: descript.q:160 src/descript.q:160
-msgid "SEKurt"
-msgstr ""
-
-#: descript.q:161 src/descript.q:161
-msgid "standard error of kurtosis"
-msgstr ""
-
-#: descript.q:162 src/descript.q:162 frequencies.q:102 src/frequencies.q:102
-msgid "Skewness"
-msgstr ""
-
-#: descript.q:162 src/descript.q:162
-msgid "Skew"
-msgstr ""
-
-#: descript.q:163 src/descript.q:163
-msgid "skewness"
-msgstr ""
-
-#: descript.q:164 src/descript.q:164 frequencies.q:103 src/frequencies.q:103
-msgid "S.E. Skew"
-msgstr ""
-
-#: descript.q:164 src/descript.q:164
-msgid "S E Skew"
-msgstr ""
-
-#: descript.q:164 src/descript.q:164
-msgid "SESkew"
-msgstr ""
-
-#: descript.q:165 src/descript.q:165
-msgid "standard error of skewness"
-msgstr ""
-
-#: descript.q:166 src/descript.q:166 frequencies.q:104 src/frequencies.q:104
-msgid "Range"
-msgstr ""
-
-#: descript.q:166 src/descript.q:166
-msgid "Rng"
-msgstr ""
-
-#: descript.q:166 src/descript.q:166 src/sfm-read.c:1202
-msgid "range"
-msgstr ""
-
-#: descript.q:167 src/descript.q:167 frequencies.q:105 src/frequencies.q:105
-msgid "Minimum"
-msgstr ""
-
-#: descript.q:167 src/descript.q:167
-msgid "Min"
-msgstr ""
-
-#: descript.q:168 src/descript.q:168
-msgid "minimum"
-msgstr ""
-
-#: descript.q:169 src/descript.q:169 frequencies.q:106 src/frequencies.q:106
-msgid "Maximum"
-msgstr ""
-
-#: descript.q:169 src/descript.q:169
-msgid "Max"
-msgstr ""
-
-#: descript.q:170 src/descript.q:170
-msgid "maximum"
-msgstr ""
-
-#: descript.q:171 src/descript.q:171 frequencies.q:107 src/frequencies.q:107
-msgid "Sum"
-msgstr ""
-
-#: descript.q:171 src/descript.q:171
-msgid "sum"
-msgstr ""
-
-#: descript.q:212 src/descript.q:212 list.q:144 src/list.q:144
-msgid "No variables specified."
-msgstr ""
-
-#: descript.q:218 src/descript.q:218
-msgid "OPTIONS may not be used with SAVE, FORMAT, or MISSING."
-msgstr ""
-
-#: descript.q:280 src/descript.q:280
-#, c-format
-msgid "It's not possible to sort on `%s' without displaying `%s'."
-msgstr ""
-
-#: descript.q:294 src/descript.q:294
-msgid ""
-"At least one case in the data file had a weight value that was system-"
-"missing, zero, or negative.  These case(s) were ignored."
-msgstr ""
-
-#: descript.q:335 src/descript.q:335
-msgid ""
-"Names for z-score variables must be given for individual variables, not for "
-"groups of variables."
-msgstr ""
-
-#: descript.q:343 src/descript.q:343
-msgid "Name for z-score variable expected."
-msgstr ""
-
-#: descript.q:348 src/descript.q:348
-#, c-format
-msgid ""
-"Z-score variable name `%s' is a duplicate variable name with a current "
-"variable."
-msgstr ""
-
-#: descript.q:357 src/descript.q:357
-#, c-format
-msgid "Z-score variable name `%s' is used multiple times."
-msgstr ""
-
-#: descript.q:365 src/descript.q:365
-msgid "`)' expected after z-score variable name."
-msgstr ""
-
-#: descript.q:425 src/descript.q:425
-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 ""
-
-#: descript.q:454 src/descript.q:454
-msgid "Mapping of variables to corresponding Z-scores."
-msgstr ""
-
-#: descript.q:459 src/descript.q:459
-msgid "Source"
-msgstr ""
-
-#: descript.q:460 src/descript.q:460
-msgid "Target"
-msgstr ""
-
-#: descript.q:547 descript.q:553 src/descript.q:547 src/descript.q:553
-msgid "Z-score of "
-msgstr ""
-
-#: descript.q:794 src/descript.q:794
-msgid "Valid N"
-msgstr ""
-
-#: descript.q:795 src/descript.q:795
-msgid "Missing N"
-msgstr ""
-
-#: descript.q:822 src/descript.q:822
-#, c-format
-msgid "Valid cases = %g; cases with missing value(s) = %g."
-msgstr ""
-
-#: src/devind.c:136
-#, c-format
-msgid "DEVIND driver initializing as `%s'..."
-msgstr ""
-
-#: src/devind.c:218
-#, c-format
-msgid "Unknown configuration parameter `%s' for DEVIND device driver."
-msgstr ""
-
-#: src/devind.c:240
-#, c-format
-msgid "DEVIND output driver: %s: %s"
-msgstr ""
-
-#: src/devind.c:271
-#, c-format
-msgid "Cannot open first page on DEVIND device %s."
+#: src/devind.c:271
+#, c-format
+msgid "Cannot open first page on DEVIND device %s."
 msgstr ""
 
 #: src/dfm.c:74
@@ -1613,43 +1048,43 @@ msgstr ""
 msgid "writing as a data file"
 msgstr ""
 
-#: src/do-if.c:118
+#: src/do-if.c:117
 msgid "There is no DO IF to match with this ELSE IF."
 msgstr ""
 
-#: src/do-if.c:123
+#: src/do-if.c:122
 msgid "The ELSE command must follow all ELSE IF commands in a DO IF structure."
 msgstr ""
 
-#: src/do-if.c:146
+#: src/do-if.c:145
 msgid "End of command expected."
 msgstr ""
 
-#: src/do-if.c:164
+#: src/do-if.c:163
 msgid "There is no DO IF to match with this ELSE."
 msgstr ""
 
-#: src/do-if.c:170
+#: src/do-if.c:169
 msgid ""
 "There may be at most one ELSE clause in each DO IF structure.  It must be "
 "the last clause."
 msgstr ""
 
-#: src/do-if.c:207
+#: src/do-if.c:206
 msgid "There is no DO IF to match with this END IF."
 msgstr ""
 
-#: src/do-if.c:293
+#: src/do-if.c:294
 #, c-format
 msgid "DO IF %d: true\n"
 msgstr ""
 
-#: src/do-if.c:298
+#: src/do-if.c:299
 #, c-format
 msgid "DO IF %d: false\n"
 msgstr ""
 
-#: src/do-if.c:303
+#: src/do-if.c:304
 #, c-format
 msgid "DO IF %d: missing\n"
 msgstr ""
@@ -1692,35 +1127,35 @@ msgstr ""
 msgid "installation error"
 msgstr ""
 
-#: src/expr-evl.c:1115
+#: src/expr-evl.c:1116
 msgid ""
 "A number being treated as a Boolean in an expression was found to have a "
 "value other than 0 (false), 1 (true), or the system-missing value.  The "
 "result was forced to 0."
 msgstr ""
 
-#: src/expr-evl.c:1159
+#: src/expr-evl.c:1160
 #, c-format
 msgid ""
 "SYSMIS is not a valid index value for vector %s.  The result will be set to "
 "SYSMIS."
 msgstr ""
 
-#: src/expr-evl.c:1163
+#: src/expr-evl.c:1164
 #, c-format
 msgid ""
 "%g is not a valid index value for vector %s.  The result will be set to "
 "SYSMIS."
 msgstr ""
 
-#: src/expr-evl.c:1181
+#: src/expr-evl.c:1182
 #, c-format
 msgid ""
 "SYSMIS is not a valid index value for vector %s.  The result will be set to "
 "the empty string."
 msgstr ""
 
-#: src/expr-evl.c:1186
+#: src/expr-evl.c:1187
 #, c-format
 msgid ""
 "%g is not a valid index value for vector %s.  The result will be set to the "
@@ -1749,7 +1184,7 @@ msgstr ""
 msgid "Second argument to %cTRIM() must be at least one character in length."
 msgstr ""
 
-#: src/expr-opt.c:881
+#: src/expr-opt.c:880
 msgid ""
 "When optimizing a constant expression, an integer that was being used as an "
 "Boolean value was found to have a constant value other than 0, 1, or SYSMIS."
@@ -1939,57 +1374,6 @@ msgstr ""
 msgid "postfix:"
 msgstr ""
 
-#: file-handle.q:72 src/file-handle.q:72
-#, c-format
-msgid ""
-"File handle %s had already been defined to refer to file %s.  It is not "
-"possible to redefine a file handle within a session."
-msgstr ""
-
-#: file-handle.q:94 src/file-handle.q:94
-msgid "The FILE HANDLE required subcommand NAME is not present."
-msgstr ""
-
-#: file-handle.q:107 src/file-handle.q:107
-msgid ""
-"Fixed length records were specified on /RECFORM, but record length was not "
-"specified on /LRECL.  80-character records will be assumed."
-msgstr ""
-
-#: file-handle.q:114 src/file-handle.q:114
-#, c-format
-msgid ""
-"Record length (%ld) must be at least one byte.  80-character records will be "
-"assumed."
-msgstr ""
-
-#: file-handle.q:126 file-handle.q:140 src/file-handle.q:126
-#: src/file-handle.q:140
-#, c-format
-msgid ""
-"%s is not implemented, as the author doesn't know what it is supposed to "
-"do.  Send a note to %s."
-msgstr ""
-
-#: file-handle.q:147 file-handle.q:150 src/file-handle.q:147
-#: src/file-handle.q:150
-#, c-format
-msgid "%s is not implemented.  If you care, complain."
-msgstr ""
-
-#: file-handle.q:232 src/file-handle.q:232
-#, c-format
-msgid "File handle `%s' has not been previously declared on FILE HANDLE."
-msgstr ""
-
-#: file-handle.q:319 src/file-handle.q:319
-msgid "<Inline File>"
-msgstr ""
-
-#: file-handle.q:338 src/file-handle.q:338
-msgid "expecting a file name or handle"
-msgstr ""
-
 #: src/filename.c:221
 #, c-format
 msgid "Searching for `%s'..."
@@ -2009,274 +1393,278 @@ msgstr ""
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
 
-#: src/file-type.c:125
+#: src/file-type.c:127
 msgid "MIXED, GROUPED, or NESTED expected."
 msgstr ""
 
-#: src/file-type.c:148
+#: src/file-type.c:150
 msgid "The CASE subcommand is not valid on FILE TYPE MIXED."
 msgstr ""
 
-#: src/file-type.c:166
+#: src/file-type.c:168
 msgid "WARN or NOWARN expected after WILD."
 msgstr ""
 
-#: src/file-type.c:174
+#: src/file-type.c:176
 msgid "The DUPLICATE subcommand is not valid on FILE TYPE MIXED."
 msgstr ""
 
-#: src/file-type.c:188
+#: src/file-type.c:190
 msgid "DUPLICATE=CASE is only valid on FILE TYPE NESTED."
 msgstr ""
 
-#: src/file-type.c:197
+#: src/file-type.c:199
 #, c-format
 msgid "WARN%s expected after DUPLICATE."
 msgstr ""
 
-#: src/file-type.c:198
+#: src/file-type.c:200
 msgid ", NOWARN, or CASE"
 msgstr ""
 
-#: src/file-type.c:199
+#: src/file-type.c:201
 msgid " or NOWARN"
 msgstr ""
 
-#: src/file-type.c:207
+#: src/file-type.c:209
 msgid "The MISSING subcommand is not valid on FILE TYPE MIXED."
 msgstr ""
 
-#: src/file-type.c:219
+#: src/file-type.c:221
 msgid "WARN or NOWARN after MISSING."
 msgstr ""
 
-#: src/file-type.c:227
+#: src/file-type.c:229
 msgid "ORDERED is only valid on FILE TYPE GROUPED."
 msgstr ""
 
-#: src/file-type.c:238
+#: src/file-type.c:240
 msgid "YES or NO expected after ORDERED."
 msgstr ""
 
-#: src/file-type.c:244 src/file-type.c:547 src/get.c:343
+#: src/file-type.c:246 src/file-type.c:541 src/get.c:365
 msgid "while expecting a valid subcommand"
 msgstr ""
 
-#: src/file-type.c:251
+#: src/file-type.c:253
 msgid "The required RECORD subcommand was not present."
 msgstr ""
 
-#: src/file-type.c:259
+#: src/file-type.c:261
 msgid "The required CASE subcommand was not present."
 msgstr ""
 
-#: src/file-type.c:265
+#: src/file-type.c:267
 msgid "CASE and RECORD must specify different variable names."
 msgstr ""
 
-#: src/file-type.c:314
+#: src/file-type.c:322
 msgid "Column value must be positive."
 msgstr ""
 
-#: src/file-type.c:329
+#: src/file-type.c:338
 msgid "Ending column precedes beginning column."
 msgstr ""
 
-#: src/file-type.c:348
+#: src/file-type.c:358
 msgid "Bad format specifier name."
 msgstr ""
 
-#: src/file-type.c:409 src/file-type.c:568
+#: src/file-type.c:387 src/file-type.c:578
 msgid ""
 "This command may only appear within a FILE TYPE/END FILE TYPE structure."
 msgstr ""
 
-#: src/file-type.c:416
+#: src/file-type.c:410
 msgid "OTHER may appear only on the last RECORD TYPE command."
 msgstr ""
 
-#: src/file-type.c:426
+#: src/file-type.c:420
 msgid "No input commands (DATA LIST, REPEATING DATA) for above RECORD TYPE."
 msgstr ""
 
-#: src/file-type.c:480
+#: src/file-type.c:474
 msgid ""
 "The CASE subcommand is not allowed on the RECORD TYPE command for FILE TYPE "
 "MIXED."
 msgstr ""
 
-#: src/file-type.c:490
+#: src/file-type.c:484
 msgid ""
 "No variable name may be specified for the CASE subcommand on RECORD TYPE."
 msgstr ""
 
-#: src/file-type.c:498
+#: src/file-type.c:492
 msgid ""
 "The CASE column specification on RECORD TYPE must give a format specifier "
 "that is the same type as that of the CASE column specification given on FILE "
 "TYPE."
 msgstr ""
 
-#: src/file-type.c:514
+#: src/file-type.c:508
 msgid "WARN or NOWARN expected on DUPLICATE subcommand."
 msgstr ""
 
-#: src/file-type.c:528
+#: src/file-type.c:522
 msgid "WARN or NOWARN expected on MISSING subcommand."
 msgstr ""
 
-#: src/file-type.c:541
+#: src/file-type.c:535
 msgid "YES or NO expected on SPREAD subcommand."
 msgstr ""
 
-#: src/file-type.c:581
+#: src/file-type.c:593
 msgid "No input commands (DATA LIST, REPEATING DATA) on above RECORD TYPE."
 msgstr ""
 
-#: src/file-type.c:588
+#: src/file-type.c:600
 msgid "No commands between FILE TYPE and END FILE TYPE."
 msgstr ""
 
-#: src/file-type.c:654
+#: src/file-type.c:669
 #, c-format
 msgid "Unknown record type \"%.*s\"."
 msgstr ""
 
-#: src/file-type.c:678
+#: src/file-type.c:693
 #, c-format
 msgid "Unknown record type %g."
 msgstr ""
 
-#: src/flip.c:162
+#: src/flip.c:210
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/flip.c:178
+#: src/flip.c:226
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/flip.c:293
-#, c-format
-msgid "Error reading FLIP source file: %s."
-msgstr ""
-
-#: src/flip.c:380
+#: src/flip.c:270
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/flip.c:390 src/flip.c:409
+#: src/flip.c:277 src/flip.c:339
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/flip.c:445
-msgid "Error creating FLIP source file."
-msgstr ""
-
-#: src/flip.c:448
+#: src/flip.c:381
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/flip.c:457
+#: src/flip.c:385
+msgid "Error creating FLIP source file."
+msgstr ""
+
+#: src/flip.c:394
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/flip.c:469
+#: src/flip.c:406
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/flip.c:474
+#: src/flip.c:411
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/flip.c:482
+#: src/flip.c:422
 #, c-format
 msgid "Error rewind FLIP source file: %s."
 msgstr ""
 
-#: src/format.c:74
+#: src/flip.c:470
+#, c-format
+msgid "Error reading FLIP temporary file: %s."
+msgstr ""
+
+#: src/flip.c:473
+msgid "Unexpected end of file reading FLIP temporary file."
+msgstr ""
+
+#: src/format.c:69
 msgid "X and T format specifiers not allowed here."
 msgstr ""
 
-#: src/format.c:80
+#: src/format.c:76
 #, c-format
-msgid "%s is not a valid data format."
+msgid "%.*s is not a valid data format."
 msgstr ""
 
-#: src/format.c:111
+#: src/format.c:127
 #, c-format
 msgid "Format %s may not be used as an input format."
 msgstr ""
 
-#: src/format.c:116
+#: src/format.c:132
 #, c-format
 msgid ""
 "Input format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/format.c:123
+#: src/format.c:139
 #, c-format
 msgid ""
 "Input format %s specifies an odd width %d, but format %s requires an even "
 "width between %d and %d."
 msgstr ""
 
-#: src/format.c:130
+#: src/format.c:146
 #, c-format
 msgid ""
 "Input format %s specifies a bad number of implied decimal places %d.  Input "
 "format %s allows up to 16 implied decimal places."
 msgstr ""
 
-#: src/format.c:150
+#: src/format.c:169
 #, c-format
 msgid ""
 "Output format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/format.c:160
+#: src/format.c:179
 #, c-format
 msgid ""
 "Output format %s requires minimum width %d to allow %d decimal places.  Try %"
 "s%d.%d instead of %s."
 msgstr ""
 
-#: src/format.c:168
+#: src/format.c:187
 #, c-format
 msgid ""
 "Output format %s specifies an odd width %d, but output format %s requires an "
 "even width between %d and %d."
 msgstr ""
 
-#: src/format.c:175
+#: src/format.c:194
 #, c-format
 msgid ""
 "Output format %s specifies a bad number of implied decimal places %d.  "
 "Output format %s allows a number of implied decimal places between 1 and 16."
 msgstr ""
 
-#: src/format.c:192
+#: src/format.c:211
 #, c-format
 msgid "Can't display a string variable of width %d with format specifier %s."
 msgstr ""
 
-#: src/format.c:302
+#: src/format.c:329
 msgid "Format specifier expected."
 msgstr ""
 
-#: src/format.c:313
+#: src/format.c:340
 #, c-format
 msgid "Data format %s does not specify a width."
 msgstr ""
 
-#: src/format.c:330
+#: src/format.c:357
 #, c-format
 msgid "Data format %s is not valid."
 msgstr ""
@@ -2304,316 +1692,21 @@ msgstr ""
 msgid "  Name      Print         Write\n"
 msgstr ""
 
-#: frequencies.c:294
-msgid "ONEPAGE specifier of FORMAT subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:300
-msgid "Bad argument for ONEPAGE specifier of FORMAT subcommand."
-msgstr ""
-
-#: frequencies.c:306
-msgid "`)' expected after argument for ONEPAGE specifier of FORMAT."
+#: src/get.c:112
+#, c-format
+msgid "GET translation table from file to memory:\n"
 msgstr ""
 
-#: frequencies.c:318
-msgid "`(' expected after LIMIT specifier of FORMAT subcommand."
+#: src/get.c:117 src/get.c:1416
+#, c-format
+msgid "  %8s from %3d,%3d to %3d,%3d\n"
 msgstr ""
 
-#: frequencies.c:323
-msgid "LIMIT specifier of FORMAT subcommand requires an integer argument."
+#: src/get.c:371
+msgid "All variables deleted from system file dictionary."
 msgstr ""
 
-#: frequencies.c:329
-msgid "Bad argument for LIMIT specifier of FORMAT subcommand."
-msgstr ""
-
-#: frequencies.c:335
-msgid "`)' expected after argument for LIMIT specifier of FORMAT."
-msgstr ""
-
-#: frequencies.c:399
-msgid "`(' expected after MINIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:404
-msgid "Number expected after MINIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:411
-msgid "`)' expected after argument for MINIMUM specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:419
-msgid "`(' expected after MAXIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:424
-msgid "Number expected after MAXIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:431
-msgid "`)' expected after argument for MAXIMUM specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:442
-msgid "FREQ specifier of BARCHART subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:448
-msgid "Bad argument for FREQ specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:454
-msgid "`)' expected after argument for FREQ specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:466
-msgid "PERCENT specifier of BARCHART subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:472
-msgid "Bad argument for PERCENT specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:478
-msgid "`)' expected after argument for PERCENT specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:501
-msgid "`(' expected after MINIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:506
-msgid "Number expected after MINIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:513
-msgid "`)' expected after argument for MINIMUM specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:521
-msgid "`(' expected after MAXIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:526
-msgid "Number expected after MAXIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:533
-msgid "`)' expected after argument for MAXIMUM specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:544
-msgid "FREQ specifier of HISTOGRAM subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:550
-msgid "Bad argument for FREQ specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:556
-msgid "`)' expected after argument for FREQ specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:568
-msgid "PERCENT specifier of HISTOGRAM subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:574
-msgid "Bad argument for PERCENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:580
-msgid "`)' expected after argument for PERCENT specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:594
-msgid "`(' expected after INCREMENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:599
-msgid "Number expected after INCREMENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:605
-msgid "Bad argument for INCREMENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:611
-msgid "`)' expected after argument for INCREMENT specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:633
-msgid "`(' expected after MINIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:638
-msgid "Number expected after MINIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:645
-msgid "`)' expected after argument for MINIMUM specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:653
-msgid "`(' expected after MAXIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:658
-msgid "Number expected after MAXIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:665
-msgid "`)' expected after argument for MAXIMUM specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:676
-msgid "FREQ specifier of HBAR subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:682
-msgid "Bad argument for FREQ specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:688
-msgid "`)' expected after argument for FREQ specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:700
-msgid "PERCENT specifier of HBAR subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:706
-msgid "Bad argument for PERCENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:712
-msgid "`)' expected after argument for PERCENT specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:726
-msgid "`(' expected after INCREMENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:731
-msgid "Number expected after INCREMENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:737
-msgid "Bad argument for INCREMENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:743
-msgid "`)' expected after argument for INCREMENT specifier of HBAR."
-msgstr ""
-
-#: frequencies.q:96 src/frequencies.q:96
-msgid "Median"
-msgstr ""
-
-#: frequencies.q:97 src/frequencies.q:97
-msgid "Mode"
-msgstr ""
-
-#: frequencies.q:268 src/frequencies.q:268
-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 ""
-
-#: frequencies.q:349 src/frequencies.q:349
-#, 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 ""
-
-#: frequencies.q:627 src/frequencies.q:627
-msgid ""
-"Upper limit of integer mode value range must be greater than lower limit."
-msgstr ""
-
-#: frequencies.q:639 src/frequencies.q:639
-#, c-format
-msgid "Variable %s specified multiple times on VARIABLES subcommand."
-msgstr ""
-
-#: frequencies.q:652 src/frequencies.q:652
-#, c-format
-msgid "Integer mode specified, but %s is not a numeric variable."
-msgstr ""
-
-#: frequencies.q:714 src/frequencies.q:714
-msgid "`)' expected after GROUPED interval list."
-msgstr ""
-
-#: frequencies.q:724 src/frequencies.q:724
-#, c-format
-msgid "Variables %s specified on GROUPED but not on VARIABLES."
-msgstr ""
-
-#: frequencies.q:727 src/frequencies.q:727
-#, c-format
-msgid "Variables %s specified multiple times on GROUPED subcommand."
-msgstr ""
-
-#: frequencies.q:787 src/frequencies.q:787
-msgid "Percentile list expected after PERCENTILES."
-msgstr ""
-
-#: frequencies.q:795 src/frequencies.q:795
-msgid "Percentiles must be greater than 0 and less than 100."
-msgstr ""
-
-#: frequencies.q:1000 frequencies.q:1090 frequencies.q:1091 frequencies.q:1121
-#: src/frequencies.q:1000 src/frequencies.q:1090 src/frequencies.q:1091
-#: src/frequencies.q:1121
-msgid "Cum"
-msgstr ""
-
-#: frequencies.q:1002 src/frequencies.q:1002
-msgid "Frequency"
-msgstr ""
-
-#: frequencies.q:1021 src/frequencies.q:1021
-msgid "Value Label"
-msgstr ""
-
-#: frequencies.q:1119 src/frequencies.q:1119
-msgid "Freq"
-msgstr ""
-
-#: frequencies.q:1120 frequencies.q:1122 src/frequencies.q:1120
-#: src/frequencies.q:1122
-msgid "Pct"
-msgstr ""
-
-#: frequencies.q:1277 src/frequencies.q:1277
-#, c-format
-msgid "No valid data for variable %s; statistics not displayed."
-msgstr ""
-
-#: frequencies.q:1300 src/frequencies.q:1300
-msgid "Percentile"
-msgstr ""
-
-#: src/get.c:110
-#, c-format
-msgid "GET translation table from file to memory:\n"
-msgstr ""
-
-#: src/get.c:115 src/get.c:1397
-#, c-format
-msgid "  %8s from %3d,%3d to %3d,%3d\n"
-msgstr ""
-
-#: src/get.c:349
-msgid "All variables deleted from system file dictionary."
-msgstr ""
-
-#: src/get.c:396
+#: src/get.c:418
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -2621,83 +1714,83 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/get.c:421
+#: src/get.c:443
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/get.c:428
+#: src/get.c:450
 #, 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/get.c:441
+#: src/get.c:463
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/get.c:461
+#: src/get.c:483
 #, c-format
 msgid ""
 "\n"
 "Variables in dictionary:\n"
 msgstr ""
 
-#: src/get.c:582
+#: src/get.c:607
 msgid "The BY subcommand may be given once at most."
 msgstr ""
 
-#: src/get.c:649
+#: src/get.c:674
 msgid "The active file may not be specified more than once."
 msgstr ""
 
-#: src/get.c:658
+#: src/get.c:683
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
-#: src/get.c:690
+#: src/get.c:715
 msgid ""
 "IN, FIRST, and LAST subcommands may not occur before the first FILE or TABLE."
 msgstr ""
 
-#: src/get.c:722
+#: src/get.c:747
 #, c-format
 msgid "Multiple %s subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/get.c:732
+#: src/get.c:757
 #, c-format
 msgid "Duplicate variable name %s while creating %s variable."
 msgstr ""
 
-#: src/get.c:746
+#: src/get.c:771
 msgid ""
 "RENAME, KEEP, and DROP subcommands may not occur before the first FILE or "
 "TABLE."
 msgstr ""
 
-#: src/get.c:770
+#: src/get.c:795
 msgid "The BY subcommand is required when a TABLE subcommand is given."
 msgstr ""
 
-#: src/get.c:791
+#: src/get.c:816
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/get.c:1310
+#: src/get.c:1328
 #, c-format
 msgid ""
 "Variable %s in file %s (%s) has different type or width from the same "
 "variable in earlier file (%s)."
 msgstr ""
 
-#: src/get.c:1359
+#: src/get.c:1378
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/get.c:1392
+#: src/get.c:1411
 #, c-format
 msgid "IMPORT translation table from file to memory:\n"
 msgstr ""
@@ -2717,7 +1810,7 @@ msgstr ""
 msgid "Opening `%s': %s."
 msgstr ""
 
-#: src/getline.c:330 src/html.c:330 src/postscript.c:1463
+#: src/getline.c:330 src/html.c:330 src/postscript.c:1461
 #, c-format
 msgid "Reading `%s': %s."
 msgstr ""
@@ -2727,24 +1820,24 @@ msgstr ""
 msgid "Closing `%s': %s."
 msgstr ""
 
-#: src/glob.c:217
+#: src/glob.c:212
 msgid "data> "
 msgstr ""
 
-#: src/glob.c:274
+#: src/glob.c:269
 msgid "Specify a terminal type with `setenv TERM <yourtype>'."
 msgstr ""
 
-#: src/glob.c:280
+#: src/glob.c:275
 msgid "Could not access the termcap data base."
 msgstr ""
 
-#: src/glob.c:282
+#: src/glob.c:277
 #, c-format
 msgid "Terminal type `%s' is not defined."
 msgstr ""
 
-#: src/glob.c:283
+#: src/glob.c:278
 msgid "Assuming screen of size 79x25."
 msgstr ""
 
@@ -2896,16 +1989,6 @@ msgstr ""
 msgid "hash table:"
 msgstr ""
 
-#: src/heap.c:167
-#, c-format
-msgid "bad ordering of keys %d and %d\n"
-msgstr ""
-
-#: src/heap.c:177
-#, c-format
-msgid "Heap contents:\n"
-msgstr ""
-
 #: src/html.c:66
 #, c-format
 msgid "HTML driver initializing as `%s'..."
@@ -2927,11 +2010,11 @@ msgstr ""
 msgid "%s: %s: Opening HTML prologue..."
 msgstr ""
 
-#: src/html.c:268 src/html.c:279 src/postscript.c:1355 src/postscript.c:1366
+#: src/html.c:268 src/html.c:279 src/postscript.c:1353 src/postscript.c:1364
 msgid "nobody"
 msgstr ""
 
-#: src/html.c:275 src/html.c:280 src/postscript.c:1362 src/postscript.c:1367
+#: src/html.c:275 src/html.c:280 src/postscript.c:1360 src/postscript.c:1365
 msgid "nowhere"
 msgstr ""
 
@@ -2950,7 +2033,7 @@ msgstr ""
 msgid "HTML output driver: %s: %s"
 msgstr ""
 
-#: src/html.c:402 list.q:259 src/list.q:259
+#: src/html.c:402 src/list.q:259
 #, c-format
 msgid "Cannot open first page on HTML device %s."
 msgstr ""
@@ -2959,31 +2042,31 @@ msgstr ""
 msgid "Unrecognized filename format."
 msgstr ""
 
-#: src/inpt-pgm.c:84
+#: src/inpt-pgm.c:86
 msgid "No matching INPUT PROGRAM command."
 msgstr ""
 
-#: src/inpt-pgm.c:89
+#: src/inpt-pgm.c:91
 msgid ""
 "No data-input or transformation commands specified between INPUT PROGRAM and "
 "END INPUT PROGRAM."
 msgstr ""
 
-#: src/inpt-pgm.c:283 src/inpt-pgm.c:420
+#: src/inpt-pgm.c:295 src/inpt-pgm.c:438
 msgid ""
 "This command may only be executed between INPUT PROGRAM and END INPUT "
 "PROGRAM."
 msgstr ""
 
-#: src/inpt-pgm.c:336
+#: src/inpt-pgm.c:351
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/inpt-pgm.c:350
+#: src/inpt-pgm.c:365
 msgid "expecting file handle name"
 msgstr ""
 
-#: src/inpt-pgm.c:393
+#: src/inpt-pgm.c:410
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
@@ -3047,7 +2130,7 @@ msgstr ""
 msgid "The rest of this command has been discarded."
 msgstr ""
 
-#: src/lexer.c:842 src/print.c:1150
+#: src/lexer.c:842 src/print.c:1154
 #, c-format
 msgid "<ERROR>"
 msgstr ""
@@ -3093,323 +2176,228 @@ msgid ""
 "spaces."
 msgstr ""
 
-#: list.c:131
-msgid "FROM specifier of CASES subcommand requires an integer argument."
-msgstr ""
-
-#: list.c:137
-msgid "Bad argument for FROM specifier of CASES subcommand."
-msgstr ""
-
-#: list.c:146
-msgid "BY specifier of CASES subcommand requires an integer argument."
-msgstr ""
-
-#: list.c:152
-msgid "Bad argument for BY specifier of CASES subcommand."
-msgstr ""
-
-#: list.c:162
-msgid "TO specifier of CASES subcommand requires an integer argument."
-msgstr ""
-
-#: list.c:168
-msgid "Bad argument for TO specifier of CASES subcommand."
-msgstr ""
-
-#: list.q:152 src/list.q:152
-#, c-format
-msgid ""
-"The first case (%ld) specified precedes the last case (%ld) specified.  The "
-"values will be swapped."
-msgstr ""
-
-#: list.q:160 src/list.q:160
-#, c-format
-msgid ""
-"The first case (%ld) to list is less than 1.  The value is being reset to 1."
-msgstr ""
-
-#: list.q:166 src/list.q:166
-#, c-format
-msgid ""
-"The last case (%ld) to list is less than 1.  The value is being reset to 1."
-msgstr ""
-
-#: list.q:172 src/list.q:172
-#, c-format
-msgid "The step value %ld is less than 1.  The value is being reset to 1."
-msgstr ""
-
-#: list.q:199 src/list.q:199
-msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
-msgstr ""
-
-#: list.q:445 src/list.q:445
-msgid "Line"
-msgstr ""
-
-#: src/loop.c:201
+#: src/loop.c:194
 msgid "The index variable may not be a string variable."
 msgstr ""
 
-#: src/loop.c:316
+#: src/loop.c:309
 msgid "There is no LOOP command that corresponds to this END LOOP."
 msgstr ""
 
-#: src/loop.c:516
+#: src/loop.c:512
 msgid ""
 "This command may only appear enclosed in a LOOP/END LOOP control structure."
 msgstr ""
 
-#: src/loop.c:522
+#: src/loop.c:518
 msgid "BREAK not enclosed in DO IF structure."
 msgstr ""
 
-#: src/loop.c:599
+#: src/loop.c:596
 #, c-format
 msgid "%s without %s."
 msgstr ""
 
-#: src/main.c:63
+#: src/main.c:71
 msgid "Error initializing output drivers."
 msgstr ""
 
-#: src/main.c:124
+#: src/main.c:132
 msgid "This command not executed."
 msgstr ""
 
-#: src/main.c:128
+#: src/main.c:136
 msgid ""
 "Skipping the rest of this command.  Part of this command may have been "
 "executed."
 msgstr ""
 
-#: src/main.c:133
+#: src/main.c:141
 msgid ""
 "Skipping the rest of this command.  This command was fully executed up to "
 "this point."
 msgstr ""
 
-#: src/main.c:138
+#: src/main.c:146
 msgid ""
 "Trailing garbage was encountered following this command.  The command was "
 "fully executed to this point."
 msgstr ""
 
-#: src/matrix-data.c:186
+#: src/matrix-data.c:191
 msgid "VARIABLES subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:201
+#: src/matrix-data.c:206
 msgid "VARNAME_ cannot be explicitly specified on VARIABLES."
 msgstr ""
 
-#: src/matrix-data.c:265
+#: src/matrix-data.c:271
 msgid "in FORMAT subcommand"
 msgstr ""
 
-#: src/matrix-data.c:276
+#: src/matrix-data.c:282
 msgid "SPLIT subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:283
+#: src/matrix-data.c:289
 msgid "in SPLIT subcommand"
 msgstr ""
 
-#: src/matrix-data.c:292
+#: src/matrix-data.c:298
 msgid "Split variable may not be named ROWTYPE_ or VARNAME_."
 msgstr ""
 
-#: src/matrix-data.c:324
+#: src/matrix-data.c:331
 #, c-format
 msgid "Split variable %s is already another type."
 msgstr ""
 
-#: src/matrix-data.c:339
+#: src/matrix-data.c:346
 msgid "FACTORS subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:354
+#: src/matrix-data.c:361
 #, c-format
 msgid "Factor variable %s is already another type."
 msgstr ""
 
-#: src/matrix-data.c:369
+#: src/matrix-data.c:376
 msgid "CELLS subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:375 src/matrix-data.c:394
+#: src/matrix-data.c:382 src/matrix-data.c:401
 msgid "expecting positive integer"
 msgstr ""
 
-#: src/matrix-data.c:388
+#: src/matrix-data.c:395
 msgid "N subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:409
+#: src/matrix-data.c:416
 msgid "CONTENTS subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:429
+#: src/matrix-data.c:436
 msgid "Nested parentheses not allowed."
 msgstr ""
 
-#: src/matrix-data.c:439
+#: src/matrix-data.c:446
 msgid "Mismatched right parenthesis (`(')."
 msgstr ""
 
-#: src/matrix-data.c:444
+#: src/matrix-data.c:451
 msgid "Empty parentheses not allowed."
 msgstr ""
 
-#: src/matrix-data.c:457 src/matrix-data.c:465
+#: src/matrix-data.c:464 src/matrix-data.c:472
 msgid "in CONTENTS subcommand"
 msgstr ""
 
-#: src/matrix-data.c:472
+#: src/matrix-data.c:479
 #, c-format
 msgid "Content multiply specified for %s."
 msgstr ""
 
-#: src/matrix-data.c:489
+#: src/matrix-data.c:496
 msgid "Missing right parenthesis."
 msgstr ""
 
-#: src/matrix-data.c:509
+#: src/matrix-data.c:516
 msgid "Missing VARIABLES subcommand."
 msgstr ""
 
-#: src/matrix-data.c:515
+#: src/matrix-data.c:522
 msgid ""
 "CONTENTS subcommand not specified: assuming file contains only CORR matrix."
 msgstr ""
 
-#: src/matrix-data.c:525
+#: src/matrix-data.c:532
 msgid ""
 "Missing CELLS subcommand.  CELLS is required when ROWTYPE_ is not given in "
 "the data and factors are present."
 msgstr ""
 
-#: src/matrix-data.c:533
+#: src/matrix-data.c:540
 msgid "Split file values must be present in the data when ROWTYPE_ is present."
 msgstr ""
 
-#: src/matrix-data.c:588
+#: src/matrix-data.c:595
 msgid "No continuous variables specified."
 msgstr ""
 
-#: src/matrix-data.c:1002
+#: src/matrix-data.c:987
 #, c-format
 msgid "End of line expected %s while reading %s."
 msgstr ""
 
-#: src/matrix-data.c:1190
+#: src/matrix-data.c:1179
 #, c-format
 msgid "expecting value for %s %s"
 msgstr ""
 
-#: src/matrix-data.c:1342
+#: src/matrix-data.c:1339
 #, c-format
 msgid "Syntax error expecting SPLIT FILE value %s."
 msgstr ""
 
-#: src/matrix-data.c:1351
+#: src/matrix-data.c:1348
 #, c-format
 msgid "Expecting value %g for %s."
 msgstr ""
 
-#: src/matrix-data.c:1389 src/matrix-data.c:1823
+#: src/matrix-data.c:1387 src/matrix-data.c:1842
 #, c-format
 msgid "Syntax error expecting factor value %s."
 msgstr ""
 
-#: src/matrix-data.c:1398
+#: src/matrix-data.c:1396
 #, c-format
 msgid "Syntax error expecting value %g for %s %s."
 msgstr ""
 
-#: src/matrix-data.c:1612
+#: src/matrix-data.c:1623
 #, c-format
 msgid "Syntax error %s expecting SPLIT FILE value."
 msgstr ""
 
-#: src/matrix-data.c:1736
+#: src/matrix-data.c:1751
 #, 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/matrix-data.c:1768
+#: src/matrix-data.c:1785
 #, c-format
 msgid "Multiply specified ROWTYPE_ %s."
 msgstr ""
 
-#: src/matrix-data.c:1773
+#: src/matrix-data.c:1790
 #, c-format
 msgid "Syntax error %s expecting ROWTYPE_ string."
 msgstr ""
 
-#: src/matrix-data.c:1792
+#: src/matrix-data.c:1810
 #, c-format
 msgid "Syntax error %s."
 msgstr ""
 
-#: src/matrix-data.c:1938
+#: src/matrix-data.c:1958
 #, c-format
 msgid "Duplicate specification for %s."
 msgstr ""
 
-#: src/matrix-data.c:1950
+#: src/matrix-data.c:1970
 #, c-format
 msgid "Too many rows of matrix data for %s."
 msgstr ""
 
-#: src/matrix-data.c:1995
+#: src/matrix-data.c:2016
 #, c-format
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
-#: means.c:210
-msgid "CROSSBREAK subcommand may be given only once."
-msgstr ""
-
-#: means.q:106 src/means.q:106
-msgid "Missing required subcommand TABLES."
-msgstr ""
-
-#: means.q:144 src/means.q:144
-msgid "TABLES or CROSSBREAK subcommand may not appear more than once."
-msgstr ""
-
-#: means.q:181 src/means.q:181
-#, c-format
-msgid ""
-"Variable %s specified on TABLES or CROSSBREAK, but not specified on "
-"VARIABLES."
-msgstr ""
-
-#: means.q:195 src/means.q:195
-#, c-format
-msgid "LOWEST and HIGHEST may not be used for independent variables (%s)."
-msgstr ""
-
-#: means.q:203 src/means.q:203
-#, c-format
-msgid ""
-"Independent variables (%s) may not have noninteger endpoints in their ranges."
-msgstr ""
-
-#: means.q:236 src/means.q:236
-msgid "VARIABLES must precede TABLES."
-msgstr ""
-
-#: means.q:293 src/means.q:293
-#, c-format
-msgid "Upper value (%g) is less than lower value (%g) on VARIABLES subcommand."
-msgstr ""
-
 #: src/mis-val.c:77
 msgid "`)' expected after value specification."
 msgstr ""
@@ -3574,12 +2562,12 @@ msgstr ""
 msgid "%s: Opening device description file..."
 msgstr ""
 
-#: src/output.c:304 src/output.c:1164 src/postscript.c:1097
+#: src/output.c:304 src/output.c:1165 src/postscript.c:1097
 #, c-format
 msgid "Opening %s: %s."
 msgstr ""
 
-#: src/output.c:315 src/output.c:1175 src/postscript.c:1114
+#: src/output.c:315 src/output.c:1176 src/postscript.c:1112
 #, c-format
 msgid "Reading %s: %s."
 msgstr ""
@@ -3588,7 +2576,7 @@ msgstr ""
 msgid "Syntax error."
 msgstr ""
 
-#: src/output.c:347 src/postscript.c:1125
+#: src/output.c:347 src/postscript.c:1123
 #, c-format
 msgid "Closing %s: %s."
 msgstr ""
@@ -3616,112 +2604,112 @@ msgstr ""
 msgid "Syntax error in string constant."
 msgstr ""
 
-#: src/output.c:621
+#: src/output.c:622
 msgid "Syntax error in options."
 msgstr ""
 
-#: src/output.c:631
+#: src/output.c:632
 msgid "Syntax error in options (`=' expected)."
 msgstr ""
 
-#: src/output.c:638
+#: src/output.c:639
 msgid "Syntax error in options (value expected after `=')."
 msgstr ""
 
-#: src/output.c:710
+#: src/output.c:711
 msgid "Driver name expected."
 msgstr ""
 
-#: src/output.c:731
+#: src/output.c:732
 msgid "Class name expected."
 msgstr ""
 
-#: src/output.c:740
+#: src/output.c:741
 #, c-format
 msgid "Unknown output driver class `%s'."
 msgstr ""
 
-#: src/output.c:747
+#: src/output.c:748
 #, c-format
 msgid "Can't initialize output driver class `%s'."
 msgstr ""
 
-#: src/output.c:754
+#: src/output.c:755
 #, c-format
 msgid "Can't initialize output driver `%s' of class `%s'."
 msgstr ""
 
-#: src/output.c:776
+#: src/output.c:777
 #, c-format
 msgid "Unknown device type `%s'."
 msgstr ""
 
-#: src/output.c:788
+#: src/output.c:789
 #, c-format
 msgid "Can't complete initialization of output driver `%s' of class `%s'."
 msgstr ""
 
-#: src/output.c:835
+#: src/output.c:836
 #, c-format
 msgid "Can't deinitialize output driver class `%s'."
 msgstr ""
 
-#: src/output.c:908
+#: src/output.c:909
 #, c-format
 msgid "Trying to find keyword `%s'...\n"
 msgstr ""
 
-#: src/output.c:1025
+#: src/output.c:1026
 #, c-format
 msgid "Unit \"%s\" is unknown in dimension \"%s\"."
 msgstr ""
 
-#: src/output.c:1040
+#: src/output.c:1041
 #, c-format
 msgid "Bad dimension \"%s\"."
 msgstr ""
 
-#: src/output.c:1066
+#: src/output.c:1067
 #, c-format
 msgid "`x' expected in paper size `%s'."
 msgstr ""
 
-#: src/output.c:1076
+#: src/output.c:1077
 #, c-format
 msgid "Trailing garbage `%s' on paper size `%s'."
 msgstr ""
 
-#: src/output.c:1125
+#: src/output.c:1126
 msgid "Paper size name must not be empty."
 msgstr ""
 
-#: src/output.c:1156
+#: src/output.c:1157
 msgid "Cannot find `papersize' configuration file."
 msgstr ""
 
-#: src/output.c:1160
+#: src/output.c:1161
 #, c-format
 msgid "%s: Opening paper size definition file..."
 msgstr ""
 
-#: src/output.c:1202
+#: src/output.c:1203
 msgid "Syntax error in paper size definition."
 msgstr ""
 
-#: src/output.c:1231
+#: src/output.c:1232
 msgid "Paper size definition file read successfully."
 msgstr ""
 
-#: src/output.c:1233
+#: src/output.c:1234
 msgid "Error reading paper size definition file."
 msgstr ""
 
-#: src/output.c:1302
+#: src/output.c:1303
 #, c-format
 msgid "Error closing page on %s device of %s class."
 msgstr ""
 
-#: src/output.c:1306
+#: src/output.c:1307
 #, c-format
 msgid "Error opening page on %s device of %s class."
 msgstr ""
@@ -3799,119 +2787,119 @@ msgstr ""
 msgid "Bad character in time."
 msgstr ""
 
-#: src/pfm-read.c:622 src/pfm-read.c:631 src/sfm-read.c:900 src/sfm-read.c:910
+#: src/pfm-read.c:622 src/pfm-read.c:629 src/sfm-read.c:900 src/sfm-read.c:908
 #, c-format
 msgid "%s: Bad format specifier byte (%d)."
 msgstr ""
 
-#: src/pfm-read.c:633
+#: src/pfm-read.c:631
 #, c-format
 msgid "%s variable %s has %s format specifier %s."
 msgstr ""
 
-#: src/pfm-read.c:634 src/print.c:608 src/sfm-read.c:914
+#: src/pfm-read.c:632 src/print.c:610 src/sfm-read.c:912
 msgid "String"
 msgstr ""
 
-#: src/pfm-read.c:634 src/print.c:608 src/sfm-read.c:914
+#: src/pfm-read.c:632 src/print.c:610 src/sfm-read.c:912
 msgid "Numeric"
 msgstr ""
 
-#: src/pfm-read.c:673
+#: src/pfm-read.c:671
 msgid "Expected variable count record."
 msgstr ""
 
-#: src/pfm-read.c:677
+#: src/pfm-read.c:675
 #, c-format
 msgid "Invalid number of variables %d."
 msgstr ""
 
-#: src/pfm-read.c:687
+#: src/pfm-read.c:685
 #, c-format
 msgid "Unexpected flag value %d."
 msgstr ""
 
-#: src/pfm-read.c:701
+#: src/pfm-read.c:699
 #, c-format
 msgid "Weight variable name (%s) truncated."
 msgstr ""
 
-#: src/pfm-read.c:716
+#: src/pfm-read.c:714
 msgid "Expected variable record."
 msgstr ""
 
-#: src/pfm-read.c:722
+#: src/pfm-read.c:720
 #, c-format
 msgid "Invalid variable width %d."
 msgstr ""
 
-#: src/pfm-read.c:740
+#: src/pfm-read.c:738
 #, c-format
 msgid "position %d: Variable name has %u characters."
 msgstr ""
 
-#: src/pfm-read.c:744
+#: src/pfm-read.c:742
 #, c-format
 msgid "position %d: Variable name begins with invalid character."
 msgstr ""
 
-#: src/pfm-read.c:748
+#: src/pfm-read.c:746
 #, c-format
 msgid "position %d: Variable name begins with lowercase letter %c."
 msgstr ""
 
-#: src/pfm-read.c:761
+#: src/pfm-read.c:759
 #, c-format
 msgid "position %d: Variable name character %d is lowercase letter %c."
 msgstr ""
 
-#: src/pfm-read.c:771
+#: src/pfm-read.c:769
 #, c-format
 msgid "position %d: character `\\%03o' is not valid in a variable name."
 msgstr ""
 
-#: src/pfm-read.c:782
+#: src/pfm-read.c:780
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr ""
 
-#: src/pfm-read.c:826
+#: src/pfm-read.c:824
 #, c-format
 msgid "Bad missing values for %s."
 msgstr ""
 
-#: src/pfm-read.c:849
+#: src/pfm-read.c:847
 #, c-format
 msgid "Weighting variable %s not present in dictionary."
 msgstr ""
 
-#: src/pfm-read.c:922
+#: src/pfm-read.c:920
 #, c-format
 msgid "Unknown variable %s while parsing value labels."
 msgstr ""
 
-#: src/pfm-read.c:925
+#: src/pfm-read.c:923
 #, c-format
 msgid ""
 "Cannot assign value labels to %s and %s, which have different variable types "
 "or widths."
 msgstr ""
 
-#: src/pfm-read.c:958
+#: src/pfm-read.c:956
 #, c-format
 msgid "Duplicate label for value %g for variable %s."
 msgstr ""
 
-#: src/pfm-read.c:961
+#: src/pfm-read.c:959
 #, c-format
 msgid "Duplicate label for value `%.*s' for variable %s."
 msgstr ""
 
-#: src/pfm-read.c:1031
+#: src/pfm-read.c:1029
 msgid "End of file midway through case."
 msgstr ""
 
-#: src/pfm-read.c:1041
+#: src/pfm-read.c:1039
 msgid "reading as a portable file"
 msgstr ""
 
@@ -4039,118 +3027,124 @@ msgstr ""
 msgid "%s: %s: Opening PostScript encoding list file."
 msgstr ""
 
-#: src/postscript.c:1127
+#: src/postscript.c:1125
 #, c-format
 msgid "%s: PostScript encoding list file read successfully."
 msgstr ""
 
-#: src/postscript.c:1141
+#: src/postscript.c:1139
 msgid "<<default encoding>>"
 msgstr ""
 
-#: src/postscript.c:1299
+#: src/postscript.c:1297
 msgid ""
 "Cannot find PostScript prologue.  The use of `-vv' on the command line is "
 "suggested as a debugging aid."
 msgstr ""
 
-#: src/postscript.c:1304
+#: src/postscript.c:1302
 #, c-format
 msgid "%s: %s: Opening PostScript prologue..."
 msgstr ""
 
-#: src/postscript.c:1476
+#: src/postscript.c:1474
 #, c-format
 msgid "%s: PostScript prologue read successfully."
 msgstr ""
 
-#: src/postscript.c:1480
+#: src/postscript.c:1478
 #, c-format
 msgid "%s: Error reading PostScript prologue."
 msgstr ""
 
-#: src/postscript.c:1650
+#: src/postscript.c:1648
 #, c-format
 msgid "PostScript output driver: %s: %s"
 msgstr ""
 
-#: src/postscript.c:2334
+#: src/postscript.c:2332
 #, c-format
 msgid "PostScript driver: Cannot find encoding `%s' for PostScript font `%s'."
 msgstr ""
 
-#: src/print.c:186
+#: src/print.c:188
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/print.c:366 src/print.c:383
+#: src/print.c:368 src/print.c:385
 #, c-format
 msgid "%g is not a valid column location."
 msgstr ""
 
-#: src/print.c:377
+#: src/print.c:379
 #, c-format
 msgid "Column location expected following `%d-'."
 msgstr ""
 
-#: src/print.c:388
+#: src/print.c:390
 #, 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/print.c:494
+#: src/print.c:496
 #, 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/print.c:524
+#: src/print.c:526
 msgid ""
 "The ending column for a field must not be less than the starting column."
 msgstr ""
 
-#: src/print.c:607
+#: src/print.c:609
 #, c-format
 msgid "%s variables cannot be displayed with format %s."
 msgstr ""
 
-#: src/print.c:694
+#: src/print.c:687
+msgid ""
+"The number of format specifications exceeds the number of variable names "
+"given."
+msgstr ""
+
+#: src/print.c:696
 #, c-format
 msgid "Display format %s may not be used with a %s variable."
 msgstr ""
 
-#: src/print.c:844
+#: src/print.c:846
 #, c-format
 msgid "Writing %3d records to file %s."
 msgstr ""
 
-#: src/print.c:845
+#: src/print.c:847
 #, c-format
 msgid "Writing %3d records to the listing file."
 msgstr ""
 
-#: src/print.c:1039
+#: src/print.c:1042
 msgid "A file name or handle was expected in the OUTFILE subcommand."
 msgstr ""
 
-#: src/print.c:1091
+#: src/print.c:1095
 #, c-format
 msgid ""
 "The expression on PRINT SPACE evaluated to %d.  It's not possible to PRINT "
 "SPACE a negative number of lines."
 msgstr ""
 
-#: src/recode.c:287
+#: src/recode.c:288
 #, c-format
 msgid ""
 "%d variable(s) cannot be recoded into %d variable(s).  Specify the same "
 "number of variables as input and output variables."
 msgstr ""
 
-#: src/recode.c:301
+#: src/recode.c:302
 #, c-format
 msgid ""
 "There is no string variable named %s.  (All string variables specified on "
@@ -4158,56 +3152,60 @@ msgid ""
 "variable.)"
 msgstr ""
 
-#: src/recode.c:310
+#: src/recode.c:311
 #, c-format
 msgid ""
 "Type mismatch between input and output variables.  Output variable %s is not "
 "a string variable, but all the input variables are string variables."
 msgstr ""
 
-#: src/recode.c:329
+#: src/recode.c:330
 #, c-format
 msgid "Type mismatch after INTO: %s is not a numeric variable."
 msgstr ""
 
-#: src/recode.c:359
+#: src/recode.c:360
 msgid ""
 "INTO must be used when the input values are numeric and output values are "
 "string."
 msgstr ""
 
-#: src/recode.c:367
+#: src/recode.c:368
 msgid ""
 "INTO must be used when the input values are string and output values are "
 "numeric."
 msgstr ""
 
-#: src/recode.c:501
+#: src/recode.c:493
+msgid "expecting output value"
+msgstr ""
+
+#: src/recode.c:507
 msgid ""
 "Inconsistent output types.  The output values must be all numeric or all "
 "string."
 msgstr ""
 
-#: src/recode.c:552
+#: src/recode.c:558
 msgid "following LO THRU"
 msgstr ""
 
-#: src/recode.c:568 src/recode.c:597
+#: src/recode.c:574 src/recode.c:603
 msgid "in source value"
 msgstr ""
 
-#: src/recode.c:610
+#: src/recode.c:616
 msgid ""
 "Keyword CONVERT may only be used with string input values and numeric output "
 "values."
 msgstr ""
 
-#: src/recode.c:866
+#: src/recode.c:876
 #, c-format
 msgid "!!END!!"
 msgstr ""
 
-#: src/recode.c:887 src/recode.c:903
+#: src/recode.c:897 src/recode.c:913
 #, c-format
 msgid "!!ERROR!!"
 msgstr ""
@@ -4259,155 +3257,20 @@ msgstr ""
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/sel-if.c:102
+#: src/sel-if.c:104
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/sel-if.c:108
+#: src/sel-if.c:110
 msgid "The filter variable may not be scratch."
 msgstr ""
 
-#: src/sel-if.c:142
+#: src/sel-if.c:144
 msgid "Only last instance of this command is in effect."
 msgstr ""
 
-#: set.c:640
-msgid "String for BLOCK must be one character long."
-msgstr ""
-
-#: set.c:658
-msgid "String for BOXSTRING must be 3 or 11 characters long."
-msgstr ""
-
-#: set.c:872
-msgid "String for ENDCMD must be one character long."
-msgstr ""
-
-#: set.c:1007
-msgid "String for HISTOGRAM must be one character long."
-msgstr ""
-
-#: set.c:1494
-msgid "String for SCRIPTTAB must be one character long."
-msgstr ""
-
-#: set.c:1529
-msgid "String for TB1 must be 3 or 11 characters long."
-msgstr ""
-
-#: set.q:216 set.q:219 set.q:237 set.q:306 set.q:312 set.q:320 set.q:327
-#: set.q:329 set.q:348 set.q:352 set.q:356 set.q:370 set.q:372 set.q:376
-#: set.q:694 set.q:775 set.q:856 src/set.q:216 src/set.q:219 src/set.q:237
-#: src/set.q:306 src/set.q:312 src/set.q:320 src/set.q:327 src/set.q:329
-#: src/set.q:348 src/set.q:352 src/set.q:356 src/set.q:370 src/set.q:372
-#: src/set.q:376 src/set.q:694 src/set.q:775 src/set.q:856
-#, c-format
-msgid "%s is obsolete."
-msgstr ""
-
-#: set.q:223 src/set.q:223
-msgid "Active file compression is not yet implemented (and probably won't be)."
-msgstr ""
-
-#: set.q:232 src/set.q:232
-msgid "CPI must be greater than 0."
-msgstr ""
-
-#: set.q:241 src/set.q:241
-msgid "LPI must be greater than 0."
-msgstr ""
-
-#: set.q:248 src/set.q:248
-msgid ""
-"CASE is not implemented and probably won't be.  If you care, complain about "
-"it."
-msgstr ""
-
-#: set.q:278 src/set.q:278
-#, c-format
-msgid "Value for MITERATE (%ld) must be greater than 0."
-msgstr ""
-
-#: set.q:286 src/set.q:286
-#, c-format
-msgid "Value for MNEST (%ld) must be greater than 0."
-msgstr ""
-
-#: set.q:294 src/set.q:294
-msgid "MXERRS must be at least 1."
-msgstr ""
-
-#: set.q:301 src/set.q:301
-msgid "MXLOOPS must be at least 1."
-msgstr ""
-
-#: set.q:390 src/set.q:390
-#, c-format
-msgid ""
-"CC%c: Length of custom currency string `%s' (%d) exceeds maximum length of "
-"16."
-msgstr ""
-
-#: set.q:412 src/set.q:412
-#, c-format
-msgid ""
-"CC%c: Custom currency string `%s' does not contain exactly three periods or "
-"commas (not both)."
-msgstr ""
-
-#: set.q:555 src/set.q:555
-msgid "LENGTH must be at least 1."
-msgstr ""
-
-#: set.q:592 src/set.q:592
-msgid "Missing identifier in RESULTS subcommand."
-msgstr ""
-
-#: set.q:603 src/set.q:603
-msgid "Unrecognized identifier in RESULTS subcommand."
-msgstr ""
-
-#: set.q:640 src/set.q:640
-msgid "WIDTH must be at least 1."
-msgstr ""
-
-#: set.q:663 src/set.q:663
-#, c-format
-msgid ""
-"FORMAT requires numeric output format as an argument.  Specified format %s "
-"is of type string."
-msgstr ""
-
-#: set.q:707 src/set.q:707
-msgid "Text color must be in range 0-15."
-msgstr "Text colour must be in range 0-15."
-
-#: set.q:720 src/set.q:720
-msgid "Background color must be in range 0-7."
-msgstr "Background colour must be in range 0-7."
-
-#: set.q:731 src/set.q:731
-msgid "Border color must be in range 0-7."
-msgstr "Border colour must be in range 0-7."
-
-#: set.q:787 src/set.q:787
-msgid "Lower window color must be between 0 and 6."
-msgstr "Lower window colour must be between 0 and 6."
-
-#: set.q:801 src/set.q:801
-msgid "Upper window color must be between 0 and 6."
-msgstr "Upper window colour must be between 0 and 6."
-
-#: set.q:813 src/set.q:813
-msgid "Frame color must be between 0 and 6."
-msgstr "Frame colour must be between 0 and 6."
-
-#: set.q:865 src/set.q:865
-msgid "Drive letter expected in WORKDEV subcommand."
-msgstr ""
-
-#: src/sfm-read.c:150
-msgid "corrupt system file: "
+#: src/sfm-read.c:150
+msgid "corrupt system file: "
 msgstr ""
 
 #: src/sfm-read.c:166 src/sfm-write.c:739
@@ -4654,153 +3517,157 @@ msgid ""
 "file."
 msgstr ""
 
-#: src/sfm-read.c:913
+#: src/sfm-read.c:911
 #, c-format
 msgid "%s: %s variable %s has %s format specifier %s."
 msgstr ""
 
-#: src/sfm-read.c:992
+#: src/sfm-read.c:990
 #, c-format
 msgid ""
 "%s: Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
 msgstr ""
 
-#: src/sfm-read.c:1002
+#: src/sfm-read.c:1000
 #, c-format
 msgid ""
 "%s: Number of variables associated with a value label (%d) is not between 1 "
 "and the number of variables (%d)."
 msgstr ""
 
-#: src/sfm-read.c:1018
+#: src/sfm-read.c:1016
 #, c-format
 msgid ""
 "%s: Variable index associated with value label (%d) is not between 1 and the "
 "number of values (%d)."
 msgstr ""
 
-#: src/sfm-read.c:1025
+#: src/sfm-read.c:1023
 #, c-format
 msgid ""
 "%s: Variable index associated with value label (%d) refers to a continuation "
 "of a string variable, not to an actual variable."
 msgstr ""
 
-#: src/sfm-read.c:1029
+#: src/sfm-read.c:1027
 #, c-format
 msgid "%s: Value labels are not allowed on long string variables (%s)."
 msgstr ""
 
-#: src/sfm-read.c:1039
+#: src/sfm-read.c:1037
 #, c-format
 msgid ""
 "%s: Variables associated with value label are not all of identical type.  "
 "Variable %s has %s type, but variable %s has %s type."
 msgstr ""
 
-#: src/sfm-read.c:1079
+#: src/sfm-read.c:1077
 #, c-format
 msgid "%s: File contains duplicate label for value %g for variable %s."
 msgstr ""
 
-#: src/sfm-read.c:1082
+#: src/sfm-read.c:1080
 #, c-format
 msgid "%s: File contains duplicate label for value `%.*s' for variable %s."
 msgstr ""
 
-#: src/sfm-read.c:1119 src/sfm-read.c:1394
+#: src/sfm-read.c:1117 src/sfm-read.c:1392
 #, c-format
 msgid "%s: Reading system file: %s."
 msgstr ""
 
-#: src/sfm-read.c:1121 src/sfm-read.c:1303 src/sfm-read.c:1344
+#: src/sfm-read.c:1119 src/sfm-read.c:1301 src/sfm-read.c:1342
 #, c-format
 msgid "%s: Unexpected end of file."
 msgstr ""
 
-#: src/sfm-read.c:1139
+#: src/sfm-read.c:1137
 #, c-format
 msgid "%s: System file contains multiple type 6 (document) records."
 msgstr ""
 
-#: src/sfm-read.c:1144
+#: src/sfm-read.c:1142
 #, c-format
 msgid "%s: Number of document lines (%ld) must be greater than 0."
 msgstr ""
 
-#: src/sfm-read.c:1168
+#: src/sfm-read.c:1166
 msgid "dictionary:\n"
 msgstr ""
 
-#: src/sfm-read.c:1176
+#: src/sfm-read.c:1174
 msgid "num"
 msgstr ""
 
-#: src/sfm-read.c:1177
+#: src/sfm-read.c:1175
 msgid "str"
 msgstr ""
 
-#: src/sfm-read.c:1180
+#: src/sfm-read.c:1178
 msgid "left"
 msgstr ""
 
-#: src/sfm-read.c:1180
+#: src/sfm-read.c:1178
 msgid "right"
 msgstr ""
 
-#: src/sfm-read.c:1186
+#: src/sfm-read.c:1184
 msgid "none"
 msgstr ""
 
-#: src/sfm-read.c:1190
+#: src/sfm-read.c:1188
 msgid "one"
 msgstr ""
 
-#: src/sfm-read.c:1194
+#: src/sfm-read.c:1192
 msgid "two"
 msgstr ""
 
-#: src/sfm-read.c:1198
+#: src/sfm-read.c:1196
 msgid "three"
 msgstr ""
 
-#: src/sfm-read.c:1206
+#: src/sfm-read.c:1200 src/descript.q:166
+msgid "range"
+msgstr ""
+
+#: src/sfm-read.c:1204
 msgid "low"
 msgstr ""
 
-#: src/sfm-read.c:1210
+#: src/sfm-read.c:1208
 msgid "high"
 msgstr ""
 
-#: src/sfm-read.c:1214
+#: src/sfm-read.c:1212
 msgid "range+1"
 msgstr ""
 
-#: src/sfm-read.c:1218
+#: src/sfm-read.c:1216
 msgid "low+1"
 msgstr ""
 
-#: src/sfm-read.c:1222
+#: src/sfm-read.c:1220
 msgid "high+1"
 msgstr ""
 
-#: src/sfm-read.c:1256
+#: src/sfm-read.c:1254
 #, c-format
 msgid "%s: Error reading file: %s."
 msgstr ""
 
-#: src/sfm-read.c:1294
+#: src/sfm-read.c:1292
 #, c-format
 msgid "%s: Compressed data is corrupted.  Data ends partway through a case."
 msgstr ""
 
-#: src/sfm-read.c:1396
+#: src/sfm-read.c:1394
 #, c-format
 msgid "%s: Partial record at end of system file."
 msgstr ""
 
-#: src/sfm-read.c:1434
+#: src/sfm-read.c:1432
 msgid "reading as a system file"
 msgstr ""
 
@@ -4837,138 +3704,69 @@ msgstr ""
 msgid "writing as a system file"
 msgstr ""
 
-#: src/sort.c:123
+#: src/sort.c:122
 msgid "`A' or `D' expected inside parentheses."
 msgstr ""
 
-#: src/sort.c:129
+#: src/sort.c:127
 msgid "`)' expected."
 msgstr ""
 
-#: src/sort.c:455
-#, c-format
-msgid "%s: Cannot create temporary directory: %s."
-msgstr ""
-
-#: src/sort.c:479
+#: src/sort.c:418
 #, c-format
-msgid "%s: Error removing directory for temporary files: %s."
+msgid "%s: Creating temporary directory: %s."
 msgstr ""
 
-#: src/sort.c:525
+#: src/sort.c:449
 #, c-format
-msgid ""
-"Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
-"each.  (PSPP workspace is currently restricted to a maximum of %d KB.)"
+msgid "Generating temporary directory name failed: %s."
 msgstr ""
 
-#: src/sort.c:537
+#: src/sort.c:457
 #, c-format
-msgid "allocated %d cases == %d bytes\n"
+msgid "Creating temporary directory failed: %s."
 msgstr ""
 
-#: src/sort.c:575
+#: src/sort.c:509
 #, c-format
-msgid "%s: Error writing temporary file: %s."
+msgid "%s: Error removing directory for temporary files: %s."
 msgstr ""
 
-#: src/sort.c:587
+#: src/sort.c:538
 #, c-format
-msgid "SORT: Closing handle %d."
+msgid "%s: Error opening temporary file for %s: %s."
 msgstr ""
 
-#: src/sort.c:593 src/sort.c:817
+#: src/sort.c:555
 #, c-format
 msgid "%s: Error closing temporary file: %s."
 msgstr ""
 
-#: src/sort.c:615 src/sort.c:631
-#, c-format
-msgid "SORT: %s: Opening for writing as run %d."
-msgstr ""
-
-#: src/sort.c:637
-#, c-format
-msgid "%s: Error opening temporary file for reading: %s."
-msgstr ""
-
-#: src/sort.c:663 src/sort.c:679
-#, c-format
-msgid "%s: Error creating temporary file: %s."
-msgstr ""
-
-#: src/sort.c:821 src/sort.c:982 src/sort.c:1032 src/sort.c:1201
-#: src/sort.c:1208
+#: src/sort.c:571
 #, c-format
 msgid "%s: Error removing temporary file: %s."
 msgstr ""
 
-#: src/sort.c:964
-msgid "merging runs"
-msgstr ""
-
-#: src/sort.c:972
-#, c-format
-msgid " into run %d(%d)\n"
-msgstr ""
-
-#: src/sort.c:991
-msgid "Out of memory expanding Huffman priority queue."
-msgstr ""
-
-#: src/sort.c:1043
-#, c-format
-msgid "%s: Error creating temporary file for merge: %s."
-msgstr ""
-
-#: src/sort.c:1070 src/sort.c:1128
-#, c-format
-msgid "%s: Error reading temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1073 src/sort.c:1132
-#, c-format
-msgid "%s: Unexpected end of temporary file in merge."
-msgstr ""
-
-#: src/sort.c:1098
-#, c-format
-msgid "%s: Error writing temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1148 src/sort.c:1181
-#, c-format
-msgid "%s: Error closing temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1153
-#, c-format
-msgid "%s: Error removing temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1252
-#, c-format
-msgid "%s: Cannot open sort result file: %s."
-msgstr ""
-
-#: src/sort.c:1263
+#: src/sort.c:587
 #, c-format
-msgid "%s: Error reading sort result file: %s."
+msgid "%s: Error writing temporary file: %s."
 msgstr ""
 
-#: src/sort.c:1266
+#: src/sort.c:605
 #, c-format
-msgid "%s: Unexpected end of sort result file: %s."
+msgid "%s: Error reading temporary file: %s."
 msgstr ""
 
-#: src/sort.c:1277
+#: src/sort.c:608
 #, c-format
-msgid "%s: Error closing sort result file: %s."
+msgid "%s: Unexpected end of temporary file."
 msgstr ""
 
-#: src/sort.c:1281
+#: src/sort.c:798 src/sort.c:1033
 #, c-format
-msgid "%s: Error removing sort result file: %s."
+msgid ""
+"Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
+"each.  (PSPP workspace is currently restricted to a maximum of %d KB.)"
 msgstr ""
 
 #: src/sysfile-info.c:97
@@ -5040,11 +3838,11 @@ msgstr ""
 msgid "off"
 msgstr ""
 
-#: src/sysfile-info.c:136 src/sysfile-info.c:377
+#: src/sysfile-info.c:136 src/sysfile-info.c:375
 msgid "Description"
 msgstr ""
 
-#: src/sysfile-info.c:137 src/sysfile-info.c:374
+#: src/sysfile-info.c:137 src/sysfile-info.c:373
 msgid "Position"
 msgstr ""
 
@@ -5072,34 +3870,40 @@ msgstr ""
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/sysfile-info.c:379 src/sysfile-info.c:537 src/vfm.c:1088
+#: src/sysfile-info.c:377 src/sysfile-info.c:535 src/vfm.c:1150
 msgid "Label"
 msgstr ""
 
-#: src/sysfile-info.c:451
+#: src/sysfile-info.c:449
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/sysfile-info.c:458
+#: src/sysfile-info.c:456
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/sysfile-info.c:461
+#: src/sysfile-info.c:459
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/sysfile-info.c:469
+#: src/sysfile-info.c:467
 msgid "Missing Values: "
 msgstr ""
 
-#: src/sysfile-info.c:593
+#: src/sysfile-info.c:534 src/vfm.c:1149 src/crosstabs.q:1158
+#: src/crosstabs.q:1185 src/crosstabs.q:1205 src/crosstabs.q:1227
+#: src/frequencies.q:1009 src/frequencies.q:1126
+msgid "Value"
+msgstr ""
+
+#: src/sysfile-info.c:591
 msgid "No vectors defined."
 msgstr ""
 
-#: src/sysfile-info.c:608
+#: src/sysfile-info.c:606
 msgid "Vector"
 msgstr ""
 
@@ -5148,402 +3952,1183 @@ msgstr ""
 msgid "Document entered %s %02d:%02d:%02d by %s (%s):"
 msgstr ""
 
-#: t-test.c:131
-msgid "GROUPS subcommand may be given only once."
+#: src/val-labs.c:138
+#, c-format
+msgid ""
+"It is not possible to assign value labels to long string variables such as %"
+"s."
 msgstr ""
 
-#: t-test.c:153
-msgid "TESTVAL subcommand may be given only once."
+#: src/val-labs.c:176
+msgid "String expected for value."
 msgstr ""
 
-#: t-test.c:240
-msgid "`(' expected after CIN specifier of CRITERIA subcommand."
+#: src/val-labs.c:185
+msgid "Number expected for value."
 msgstr ""
 
-#: t-test.c:245
-msgid "Number expected after CIN specifier of CRITERIA subcommand."
+#: src/val-labs.c:189
+#, c-format
+msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: t-test.c:251
-msgid "Bad argument for CIN specifier of CRITERIA subcommand."
+#: src/val-labs.c:199
+msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: t-test.c:257
-msgid "`)' expected after argument for CIN specifier of CRITERIA."
+#: src/val-labs.c:220
+msgid "Value labels:"
 msgstr ""
 
-#: t-test.q:212 src/t-test.q:212
-msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
+#: src/val-labs.c:237
+#, c-format
+msgid "    (no value labels)\n"
 msgstr ""
 
-#: t-test.q:229 src/t-test.q:229
-msgid "VARIABLES subcommand is not appropriate with PAIRS"
+#: src/var-labs.c:53
+msgid "String expected for variable label."
 msgstr ""
 
-#: t-test.q:327 t-test.q:399 src/t-test.q:327 src/t-test.q:399
-#, c-format
-msgid "`%s' is not a variable name"
+#: src/var-labs.c:59
+msgid "Truncating variable label to 120 characters."
 msgstr ""
 
-#: t-test.q:340 src/t-test.q:340
+#: src/var-labs.c:87
 #, c-format
-msgid "Long string variable %s is not valid here."
-msgstr ""
-
-#: t-test.q:356 src/t-test.q:356
-msgid ""
-"When applying GROUPS to a string variable, at least one value must be "
-"specified."
+msgid "Variable labels:\n"
 msgstr ""
 
-#: t-test.q:434 src/t-test.q:434
+#: src/var-labs.c:94
 #, c-format
-msgid ""
-"PAIRED was specified but the number of variables preceding WITH (%d) did not "
-"match the number following (%d)."
+msgid "(no variable label)"
 msgstr ""
 
-#: t-test.q:451 src/t-test.q:451
-msgid "At least two variables must be specified on PAIRS."
+#: src/vars-prs.c:49
+#, c-format
+msgid "%s is not a variable name."
 msgstr ""
 
-#: t-test.q:623 src/t-test.q:623
-msgid "One-Sample Statistics"
+#: src/vars-prs.c:101
+msgid "ordinary"
 msgstr ""
 
-#: t-test.q:627 t-test.q:650 t-test.q:728 t-test.q:1076 src/t-test.q:627
-#: src/t-test.q:650 src/t-test.q:728 src/t-test.q:1076
-msgid "Std. Deviation"
+#: src/vars-prs.c:103
+msgid "system"
 msgstr ""
 
-#: t-test.q:628 t-test.q:651 t-test.q:729 src/t-test.q:628 src/t-test.q:651
-#: src/t-test.q:729
-msgid "SE. Mean"
+#: src/vars-prs.c:105
+msgid "scratch"
 msgstr ""
 
-#: t-test.q:645 src/t-test.q:645
-msgid "Group Statistics"
+#: src/vars-prs.c:208
+#, c-format
+msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: t-test.q:723 src/t-test.q:723
-msgid "Paired Sample Statistics"
+#: src/vars-prs.c:218
+#, c-format
+msgid ""
+"When using the TO keyword to specify several variables, both variables must "
+"be from the same variable dictionaries, of either ordinary, scratch, or "
+"system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: t-test.q:745 t-test.q:1110 t-test.q:1330 src/t-test.q:745 src/t-test.q:1110
-#: src/t-test.q:1330
+#: src/vars-prs.c:236
 #, c-format
-msgid "Pair %d"
+msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: t-test.q:865 src/t-test.q:865
-msgid "Independent Samples Test"
+#: src/vars-prs.c:259
+#, c-format
+msgid ""
+"%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: t-test.q:873 src/t-test.q:873
-msgid "Levene's Test for Equality of Variances"
+#: src/vars-prs.c:262
+#, c-format
+msgid ""
+"%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: t-test.q:875 src/t-test.q:875
-msgid "t-test for Equality of Means"
+#: src/vars-prs.c:266
+#, 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 ""
 
-#: t-test.q:877 src/t-test.q:877
-msgid "F"
+#: src/vars-prs.c:271
+#, c-format
+msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: t-test.q:878 t-test.q:1311 src/t-test.q:878 src/t-test.q:1311
-msgid "Sig."
+#: src/vars-prs.c:351
+msgid "incorrect use of TO convention"
 msgstr ""
 
-#: t-test.q:879 t-test.q:1080 t-test.q:1192 src/t-test.q:879 src/t-test.q:1080
-#: src/t-test.q:1192
-msgid "t"
+#: src/vars-prs.c:398
+msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: t-test.q:881 t-test.q:1082 t-test.q:1194 src/t-test.q:881 src/t-test.q:1082
-#: src/t-test.q:1194
-msgid "Sig. (2-tailed)"
+#: src/vars-prs.c:420
+msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: t-test.q:882 t-test.q:1195 src/t-test.q:882 src/t-test.q:1195
-msgid "Mean Difference"
+#: src/vars-prs.c:425
+msgid "Bad bounds in use of TO convention."
 msgstr ""
 
-#: t-test.q:883 src/t-test.q:883
-msgid "Std. Error Difference"
+#: src/vector.c:68
+#, c-format
+msgid "Vector name %s is given twice."
 msgstr ""
 
-#: t-test.q:888 t-test.q:1072 t-test.q:1187 src/t-test.q:888 src/t-test.q:1072
-#: src/t-test.q:1187
+#: src/vector.c:74
 #, c-format
-msgid "%d%% Confidence Interval of the Difference"
+msgid "There is already a vector with name %s."
 msgstr ""
 
-#: t-test.q:922 src/t-test.q:922
-msgid "Equal variances assumed"
+#: src/vector.c:95
+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 ""
 
-#: t-test.q:937 src/t-test.q:937
-#, c-format
-msgid "Error calculating F statistic (cdff returned %d)."
+#: src/vector.c:129
+msgid "Vectors must have at least one element."
 msgstr ""
 
-#: t-test.q:960 t-test.q:980 t-test.q:1018 t-test.q:1030 t-test.q:1131
-#: t-test.q:1157 t-test.q:1237 t-test.q:1254 t-test.q:1345 src/t-test.q:960
-#: src/t-test.q:980 src/t-test.q:1018 src/t-test.q:1030 src/t-test.q:1131
-#: src/t-test.q:1157 src/t-test.q:1237 src/t-test.q:1254 src/t-test.q:1345
+#: src/vector.c:143
 #, c-format
-msgid "Error calculating T statistic (cdft returned %d)."
+msgid "%s%d is too long for a variable name."
 msgstr ""
 
-#: t-test.q:994 src/t-test.q:994
-msgid "Equal variances not assumed"
-msgstr ""
+#: src/vector.c:181
+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/vfm.c:391
+msgid "<NOVAR>"
+msgstr ""
+
+#: src/vfm.c:554
+#, c-format
+msgid ""
+"An error occurred attempting to create a temporary file for use as the "
+"active file: %s."
+msgstr ""
+
+#: src/vfm.c:579
+#, c-format
+msgid ""
+"An error occurred while attempting to write to a temporary file used as the "
+"active file: %s."
+msgstr ""
+
+#: src/vfm.c:606
+#, c-format
+msgid ""
+"An error occurred while attempting to rewind a temporary file used as the "
+"active file: %s."
+msgstr ""
+
+#: src/vfm.c:651
+#, c-format
+msgid ""
+"An error occurred while attempting to read from a temporary file created for "
+"the active file: %s."
+msgstr ""
+
+#: src/vfm.c:755
+msgid "Virtual memory exhausted.  Writing active file to disk."
+msgstr ""
+
+#: src/vfm.c:758
+#, c-format
+msgid ""
+"Workspace limit of %d KB (%d cases at %d bytes each) overflowed.  Writing "
+"active file to disk."
+msgstr ""
+
+#: src/vfm.c:778 src/vfm.c:817
+#, c-format
+msgid ""
+"An error occurred while attempting to write to a temporary file created as "
+"the active file: %s."
+msgstr ""
+
+#: src/weight.c:54
+msgid "The weighting variable must be numeric."
+msgstr ""
+
+#: src/weight.c:59
+msgid "The weighting variable may not be scratch."
+msgstr ""
+
+#: src/crosstabs.q:251
+msgid ""
+"Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
+msgstr ""
+
+#: src/crosstabs.q:261
+msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
+msgstr ""
+
+#: src/crosstabs.q:321
+msgid "expecting BY"
+msgstr ""
+
+#: src/crosstabs.q:388
+msgid "VARIABLES must be specified before TABLES."
+msgstr ""
+
+#: src/crosstabs.q:425
+#, c-format
+msgid "Maximum value (%ld) less than minimum value (%ld)."
+msgstr ""
+
+#: src/crosstabs.q:859
+msgid "Summary."
+msgstr ""
+
+#: src/crosstabs.q:861
+msgid "Cases"
+msgstr ""
+
+#: src/crosstabs.q:862 src/frequencies.q:1007
+msgid "Valid"
+msgstr ""
+
+#: src/crosstabs.q:863 src/frequencies.q:1074
+msgid "Missing"
+msgstr ""
+
+#: src/crosstabs.q:864 src/crosstabs.q:1067 src/crosstabs.q:1800
+#: src/frequencies.q:1083
+msgid "Total"
+msgstr ""
+
+#: src/crosstabs.q:874 src/t-test.q:622 src/t-test.q:645 src/t-test.q:736
+#: src/t-test.q:1318
+msgid "N"
+msgstr ""
+
+#: src/crosstabs.q:875 src/frequencies.q:1011 src/frequencies.q:1012
+#: src/frequencies.q:1013
+msgid "Percent"
+msgstr ""
+
+#: src/crosstabs.q:1117
+msgid "count"
+msgstr ""
+
+#: src/crosstabs.q:1118
+msgid "row %"
+msgstr ""
+
+#: src/crosstabs.q:1119
+msgid "column %"
+msgstr ""
+
+#: src/crosstabs.q:1120
+msgid "total %"
+msgstr ""
+
+#: src/crosstabs.q:1121
+msgid "expected"
+msgstr ""
+
+#: src/crosstabs.q:1122
+msgid "residual"
+msgstr ""
+
+#: src/crosstabs.q:1123
+msgid "std. resid."
+msgstr ""
+
+#: src/crosstabs.q:1124
+msgid "adj. resid."
+msgstr ""
+
+#: src/crosstabs.q:1157 src/crosstabs.q:1184 src/crosstabs.q:1204
+#: src/crosstabs.q:1225
+msgid "Statistic"
+msgstr ""
+
+#: src/crosstabs.q:1159 src/t-test.q:889 src/t-test.q:1090 src/t-test.q:1202
+msgid "df"
+msgstr ""
+
+#: src/crosstabs.q:1161
+msgid "Asymp. Sig. (2-sided)"
+msgstr ""
+
+#: src/crosstabs.q:1163
+msgid "Exact. Sig. (2-sided)"
+msgstr ""
+
+#: src/crosstabs.q:1165
+msgid "Exact. Sig. (1-sided)"
+msgstr ""
+
+#: src/crosstabs.q:1183 src/crosstabs.q:1224
+msgid "Category"
+msgstr ""
+
+#: src/crosstabs.q:1186 src/crosstabs.q:1228
+msgid "Asymp. Std. Error"
+msgstr ""
+
+#: src/crosstabs.q:1187 src/crosstabs.q:1229
+msgid "Approx. T"
+msgstr ""
+
+#: src/crosstabs.q:1188 src/crosstabs.q:1230
+msgid "Approx. Sig."
+msgstr ""
+
+#: src/crosstabs.q:1203
+#, c-format
+msgid " 95%% Confidence Interval"
+msgstr ""
+
+#: src/crosstabs.q:1206 src/t-test.q:893 src/t-test.q:1087 src/t-test.q:1205
+msgid "Lower"
+msgstr ""
+
+#: src/crosstabs.q:1207 src/t-test.q:894 src/t-test.q:1088 src/t-test.q:1206
+msgid "Upper"
+msgstr ""
+
+#: src/crosstabs.q:1226
+msgid "Type"
+msgstr ""
+
+#: src/crosstabs.q:1976
+msgid "Pearson Chi-Square"
+msgstr ""
+
+#: src/crosstabs.q:1977
+msgid "Likelihood Ratio"
+msgstr ""
+
+#: src/crosstabs.q:1978
+msgid "Fisher's Exact Test"
+msgstr ""
+
+#: src/crosstabs.q:1979
+msgid "Continuity Correction"
+msgstr ""
+
+#: src/crosstabs.q:1980
+msgid "Linear-by-Linear Association"
+msgstr ""
+
+#: src/crosstabs.q:2017 src/crosstabs.q:2087 src/crosstabs.q:2146
+msgid "N of Valid Cases"
+msgstr ""
+
+#: src/crosstabs.q:2033 src/crosstabs.q:2162
+msgid "Nominal by Nominal"
+msgstr ""
+
+#: src/crosstabs.q:2034 src/crosstabs.q:2163
+msgid "Ordinal by Ordinal"
+msgstr ""
+
+#: src/crosstabs.q:2035
+msgid "Interval by Interval"
+msgstr ""
+
+#: src/crosstabs.q:2036
+msgid "Measure of Agreement"
+msgstr ""
+
+#: src/crosstabs.q:2041
+msgid "Phi"
+msgstr ""
+
+#: src/crosstabs.q:2042
+msgid "Cramer's V"
+msgstr ""
+
+#: src/crosstabs.q:2043
+msgid "Contingency Coefficient"
+msgstr ""
+
+#: src/crosstabs.q:2044
+msgid "Kendall's tau-b"
+msgstr ""
+
+#: src/crosstabs.q:2045
+msgid "Kendall's tau-c"
+msgstr ""
+
+#: src/crosstabs.q:2046
+msgid "Gamma"
+msgstr ""
+
+#: src/crosstabs.q:2047
+msgid "Spearman Correlation"
+msgstr ""
+
+#: src/crosstabs.q:2048
+msgid "Pearson's R"
+msgstr ""
+
+#: src/crosstabs.q:2049
+msgid "Kappa"
+msgstr ""
+
+#: src/crosstabs.q:2119
+#, c-format
+msgid "Odds Ratio for %s (%g / %g)"
+msgstr ""
+
+#: src/crosstabs.q:2122
+#, c-format
+msgid "Odds Ratio for %s (%.*s / %.*s)"
+msgstr ""
+
+#: src/crosstabs.q:2130
+#, c-format
+msgid "For cohort %s = %g"
+msgstr ""
+
+#: src/crosstabs.q:2133
+#, c-format
+msgid "For cohort %s = %.*s"
+msgstr ""
+
+#: src/crosstabs.q:2164
+msgid "Nominal by Interval"
+msgstr ""
+
+#: src/crosstabs.q:2169
+msgid "Lambda"
+msgstr ""
+
+#: src/crosstabs.q:2170
+msgid "Goodman and Kruskal tau"
+msgstr ""
+
+#: src/crosstabs.q:2171
+msgid "Uncertainty Coefficient"
+msgstr ""
+
+#: src/crosstabs.q:2172
+msgid "Somers' d"
+msgstr ""
+
+#: src/crosstabs.q:2173
+msgid "Eta"
+msgstr ""
+
+#: src/crosstabs.q:2178
+msgid "Symmetric"
+msgstr ""
+
+#: src/crosstabs.q:2179 src/crosstabs.q:2180
+#, c-format
+msgid "%s Dependent"
+msgstr ""
+
+#: src/descript.q:151 src/frequencies.q:94 src/t-test.q:623 src/t-test.q:646
+#: src/t-test.q:735 src/t-test.q:1084
+msgid "Mean"
+msgstr ""
+
+#: src/descript.q:151
+msgid "mean"
+msgstr ""
+
+#: src/descript.q:152 src/frequencies.q:95
+msgid "S.E. Mean"
+msgstr ""
+
+#: src/descript.q:152
+msgid "S E Mean"
+msgstr ""
+
+#: src/descript.q:152
+msgid "SE"
+msgstr ""
+
+#: src/descript.q:153
+msgid "standard error of mean"
+msgstr ""
+
+#: src/descript.q:154 src/frequencies.q:98
+msgid "Std Dev"
+msgstr ""
+
+#: src/descript.q:154
+msgid "SD"
+msgstr ""
+
+#: src/descript.q:155
+msgid "standard deviation"
+msgstr ""
+
+#: src/descript.q:156 src/frequencies.q:99
+msgid "Variance"
+msgstr ""
+
+#: src/descript.q:157
+msgid "Var"
+msgstr ""
+
+#: src/descript.q:157
+msgid "variance"
+msgstr ""
+
+#: src/descript.q:158 src/frequencies.q:100
+msgid "Kurtosis"
+msgstr ""
+
+#: src/descript.q:159
+msgid "Kurt"
+msgstr ""
+
+#: src/descript.q:159
+msgid "kurtosis"
+msgstr ""
+
+#: src/descript.q:160 src/frequencies.q:101
+msgid "S.E. Kurt"
+msgstr ""
+
+#: src/descript.q:160
+msgid "S E Kurt"
+msgstr ""
+
+#: src/descript.q:160
+msgid "SEKurt"
+msgstr ""
+
+#: src/descript.q:161
+msgid "standard error of kurtosis"
+msgstr ""
+
+#: src/descript.q:162 src/frequencies.q:102
+msgid "Skewness"
+msgstr ""
+
+#: src/descript.q:162
+msgid "Skew"
+msgstr ""
+
+#: src/descript.q:163
+msgid "skewness"
+msgstr ""
+
+#: src/descript.q:164 src/frequencies.q:103
+msgid "S.E. Skew"
+msgstr ""
+
+#: src/descript.q:164
+msgid "S E Skew"
+msgstr ""
+
+#: src/descript.q:164
+msgid "SESkew"
+msgstr ""
+
+#: src/descript.q:165
+msgid "standard error of skewness"
+msgstr ""
+
+#: src/descript.q:166 src/frequencies.q:104
+msgid "Range"
+msgstr ""
+
+#: src/descript.q:166
+msgid "Rng"
+msgstr ""
+
+#: src/descript.q:167 src/frequencies.q:105
+msgid "Minimum"
+msgstr ""
+
+#: src/descript.q:167
+msgid "Min"
+msgstr ""
+
+#: src/descript.q:168
+msgid "minimum"
+msgstr ""
+
+#: src/descript.q:169 src/frequencies.q:106
+msgid "Maximum"
+msgstr ""
+
+#: src/descript.q:169
+msgid "Max"
+msgstr ""
+
+#: src/descript.q:170
+msgid "maximum"
+msgstr ""
+
+#: src/descript.q:171 src/frequencies.q:107
+msgid "Sum"
+msgstr ""
+
+#: src/descript.q:171
+msgid "sum"
+msgstr ""
+
+#: src/descript.q:212 src/list.q:144
+msgid "No variables specified."
+msgstr ""
+
+#: src/descript.q:218
+msgid "OPTIONS may not be used with SAVE, FORMAT, or MISSING."
+msgstr ""
+
+#: src/descript.q:280
+#, c-format
+msgid "It's not possible to sort on `%s' without displaying `%s'."
+msgstr ""
+
+#: src/descript.q:294
+msgid ""
+"At least one case in the data file had a weight value that was system-"
+"missing, zero, or negative.  These case(s) were ignored."
+msgstr ""
+
+#: src/descript.q:335
+msgid ""
+"Names for z-score variables must be given for individual variables, not for "
+"groups of variables."
+msgstr ""
+
+#: src/descript.q:343
+msgid "Name for z-score variable expected."
+msgstr ""
+
+#: src/descript.q:348
+#, c-format
+msgid ""
+"Z-score variable name `%s' is a duplicate variable name with a current "
+"variable."
+msgstr ""
+
+#: src/descript.q:357
+#, c-format
+msgid "Z-score variable name `%s' is used multiple times."
+msgstr ""
+
+#: src/descript.q:365
+msgid "`)' expected after z-score variable name."
+msgstr ""
+
+#: src/descript.q:425
+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/descript.q:454
+msgid "Mapping of variables to corresponding Z-scores."
+msgstr ""
+
+#: src/descript.q:459
+msgid "Source"
+msgstr ""
+
+#: src/descript.q:460
+msgid "Target"
+msgstr ""
+
+#: src/descript.q:548 src/descript.q:554
+msgid "Z-score of "
+msgstr ""
+
+#: src/descript.q:795
+msgid "Valid N"
+msgstr ""
+
+#: src/descript.q:796
+msgid "Missing N"
+msgstr ""
+
+#: src/descript.q:823
+#, c-format
+msgid "Valid cases = %g; cases with missing value(s) = %g."
+msgstr ""
+
+#: src/file-handle.q:72
+#, c-format
+msgid ""
+"File handle %s had already been defined to refer to file %s.  It is not "
+"possible to redefine a file handle within a session."
+msgstr ""
+
+#: src/file-handle.q:94
+msgid "The FILE HANDLE required subcommand NAME is not present."
+msgstr ""
+
+#: src/file-handle.q:107
+msgid ""
+"Fixed length records were specified on /RECFORM, but record length was not "
+"specified on /LRECL.  80-character records will be assumed."
+msgstr ""
+
+#: src/file-handle.q:114
+#, c-format
+msgid ""
+"Record length (%ld) must be at least one byte.  80-character records will be "
+"assumed."
+msgstr ""
+
+#: src/file-handle.q:126 src/file-handle.q:140
+#, c-format
+msgid ""
+"%s is not implemented, as the author doesn't know what it is supposed to "
+"do.  Send a note to %s."
+msgstr ""
+
+#: src/file-handle.q:147 src/file-handle.q:150
+#, c-format
+msgid "%s is not implemented.  If you care, complain."
+msgstr ""
+
+#: src/file-handle.q:232
+#, c-format
+msgid "File handle `%s' has not been previously declared on FILE HANDLE."
+msgstr ""
+
+#: src/file-handle.q:319
+msgid "<Inline File>"
+msgstr ""
+
+#: src/file-handle.q:338
+msgid "expecting a file name or handle"
+msgstr ""
+
+#: src/frequencies.q:96
+msgid "Median"
+msgstr ""
+
+#: src/frequencies.q:97
+msgid "Mode"
+msgstr ""
+
+#: src/frequencies.q:268
+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/frequencies.q:349
+#, 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/frequencies.q:632
+msgid ""
+"Upper limit of integer mode value range must be greater than lower limit."
+msgstr ""
+
+#: src/frequencies.q:644
+#, c-format
+msgid "Variable %s specified multiple times on VARIABLES subcommand."
+msgstr ""
+
+#: src/frequencies.q:657
+#, c-format
+msgid "Integer mode specified, but %s is not a numeric variable."
+msgstr ""
+
+#: src/frequencies.q:719
+msgid "`)' expected after GROUPED interval list."
+msgstr ""
+
+#: src/frequencies.q:732
+#, c-format
+msgid "Variables %s specified on GROUPED but not on VARIABLES."
+msgstr ""
 
-#: t-test.q:1062 src/t-test.q:1062
-msgid "Paired Samples Test"
+#: src/frequencies.q:735
+#, c-format
+msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: t-test.q:1065 src/t-test.q:1065
-msgid "Paired Differences"
+#: src/frequencies.q:795
+msgid "Percentile list expected after PERCENTILES."
 msgstr ""
 
-#: t-test.q:1077 src/t-test.q:1077
-msgid "Std. Error Mean"
+#: src/frequencies.q:803
+msgid "Percentiles must be greater than 0 and less than 100."
 msgstr ""
 
-#: t-test.q:1176 src/t-test.q:1176
-msgid "One-Sample Test"
+#: src/frequencies.q:1008 src/frequencies.q:1098 src/frequencies.q:1099
+#: src/frequencies.q:1129
+msgid "Cum"
 msgstr ""
 
-#: t-test.q:1181 src/t-test.q:1181
-#, c-format
-msgid "Test Value = %f"
+#: src/frequencies.q:1010
+msgid "Frequency"
 msgstr ""
 
-#: t-test.q:1306 src/t-test.q:1306
-msgid "Paired Samples Correlations"
+#: src/frequencies.q:1029
+msgid "Value Label"
 msgstr ""
 
-#: t-test.q:1310 src/t-test.q:1310
-msgid "Correlation"
+#: src/frequencies.q:1127
+msgid "Freq"
+msgstr ""
+
+#: src/frequencies.q:1128 src/frequencies.q:1130
+msgid "Pct"
 msgstr ""
 
-#: t-test.q:1333 src/t-test.q:1333
+#: src/frequencies.q:1285
 #, c-format
-msgid "%s & %s"
+msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/val-labs.c:138
+#: src/frequencies.q:1308
+msgid "Percentile"
+msgstr ""
+
+#: src/list.q:152
 #, c-format
 msgid ""
-"It is not possible to assign value labels to long string variables such as %"
-"s."
+"The first case (%ld) specified precedes the last case (%ld) specified.  The "
+"values will be swapped."
 msgstr ""
 
-#: src/val-labs.c:176
-msgid "String expected for value."
+#: src/list.q:160
+#, c-format
+msgid ""
+"The first case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/val-labs.c:185
-msgid "Number expected for value."
+#: src/list.q:166
+#, c-format
+msgid ""
+"The last case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/val-labs.c:189
+#: src/list.q:172
 #, c-format
-msgid "Value label `%g' is not integer."
+msgid "The step value %ld is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/val-labs.c:199
-msgid "Truncating value label to 60 characters."
+#: src/list.q:199
+msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/val-labs.c:220
-msgid "Value labels:"
+#: src/list.q:445
+msgid "Line"
 msgstr ""
 
-#: src/val-labs.c:237
-#, c-format
-msgid "    (no value labels)\n"
+#: src/means.q:106
+msgid "Missing required subcommand TABLES."
 msgstr ""
 
-#: src/var-labs.c:53
-msgid "String expected for variable label."
+#: src/means.q:144
+msgid "TABLES or CROSSBREAK subcommand may not appear more than once."
 msgstr ""
 
-#: src/var-labs.c:59
-msgid "Truncating variable label to 120 characters."
+#: src/means.q:181
+#, c-format
+msgid ""
+"Variable %s specified on TABLES or CROSSBREAK, but not specified on "
+"VARIABLES."
 msgstr ""
 
-#: src/var-labs.c:87
+#: src/means.q:195
 #, c-format
-msgid "Variable labels:\n"
+msgid "LOWEST and HIGHEST may not be used for independent variables (%s)."
 msgstr ""
 
-#: src/var-labs.c:94
+#: src/means.q:203
 #, c-format
-msgid "(no variable label)"
+msgid ""
+"Independent variables (%s) may not have noninteger endpoints in their ranges."
 msgstr ""
 
-#: src/vars-prs.c:46
-#, c-format
-msgid "%s is not a variable name."
+#: src/means.q:236
+msgid "VARIABLES must precede TABLES."
 msgstr ""
 
-#: src/vars-prs.c:194
+#: src/means.q:293
 #, c-format
-msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
+msgid "Upper value (%g) is less than lower value (%g) on VARIABLES subcommand."
 msgstr ""
 
-#: src/vars-prs.c:204
+#: src/set.q:217 src/set.q:220 src/set.q:238 src/set.q:307 src/set.q:313
+#: src/set.q:338 src/set.q:340 src/set.q:359 src/set.q:363 src/set.q:367
+#: src/set.q:381 src/set.q:383 src/set.q:387 src/set.q:705 src/set.q:786
+#: src/set.q:867
 #, c-format
+msgid "%s is obsolete."
+msgstr ""
+
+#: src/set.q:224
+msgid "Active file compression is not yet implemented (and probably won't be)."
+msgstr ""
+
+#: src/set.q:233
+msgid "CPI must be greater than 0."
+msgstr ""
+
+#: src/set.q:242
+msgid "LPI must be greater than 0."
+msgstr ""
+
+#: src/set.q:249
 msgid ""
-"When using the TO keyword to specify several variables, both variables must "
-"be from the same variable dictionaries, of either ordinary, scratch, or "
-"system variables.  %s is a %s variable, whereas %s is %s."
+"CASE is not implemented and probably won't be.  If you care, complain about "
+"it."
 msgstr ""
 
-#: src/vars-prs.c:222
+#: src/set.q:279
 #, c-format
-msgid "Scratch variables (such as %s) are not allowed here."
+msgid "Value for MITERATE (%ld) must be greater than 0."
 msgstr ""
 
-#: src/vars-prs.c:245
+#: src/set.q:287
 #, c-format
-msgid ""
-"%s is not a numeric variable.  It will not be included in the variable list."
+msgid "Value for MNEST (%ld) must be greater than 0."
 msgstr ""
 
-#: src/vars-prs.c:248
-#, c-format
-msgid ""
-"%s is not a string variable.  It will not be included in the variable list."
+#: src/set.q:295
+msgid "MXERRS must be at least 1."
+msgstr ""
+
+#: src/set.q:302
+msgid "MXLOOPS must be at least 1."
+msgstr ""
+
+#: src/set.q:323
+msgid "Workspace limit must be at least 1 MB."
 msgstr ""
 
-#: src/vars-prs.c:252
+#: src/set.q:401
 #, 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."
+"CC%c: Length of custom currency string `%s' (%d) exceeds maximum length of "
+"16."
 msgstr ""
 
-#: src/vars-prs.c:257
+#: src/set.q:423
 #, c-format
-msgid "Variable %s appears twice in variable list."
+msgid ""
+"CC%c: Custom currency string `%s' does not contain exactly three periods or "
+"commas (not both)."
 msgstr ""
 
-#: src/vars-prs.c:334
-msgid "incorrect use of TO convention"
+#: src/set.q:566
+msgid "LENGTH must be at least 1."
 msgstr ""
 
-#: src/vars-prs.c:380
-msgid "Scratch variables not allowed here."
+#: src/set.q:603
+msgid "Missing identifier in RESULTS subcommand."
 msgstr ""
 
-#: src/vars-prs.c:402
-msgid "Prefixes don't match in use of TO convention."
+#: src/set.q:614
+msgid "Unrecognized identifier in RESULTS subcommand."
 msgstr ""
 
-#: src/vars-prs.c:407
-msgid "Bad bounds in use of TO convention."
+#: src/set.q:651
+msgid "WIDTH must be at least 1."
 msgstr ""
 
-#: src/vector.c:68
+#: src/set.q:674
 #, c-format
-msgid "Vector name %s is given twice."
+msgid ""
+"FORMAT requires numeric output format as an argument.  Specified format %s "
+"is of type string."
 msgstr ""
 
-#: src/vector.c:74
-#, c-format
-msgid "There is already a vector with name %s."
+#: src/set.q:718
+msgid "Text color must be in range 0-15."
+msgstr "Text colour must be in range 0-15."
+
+#: src/set.q:731
+msgid "Background color must be in range 0-7."
+msgstr "Background colour must be in range 0-7."
+
+#: src/set.q:742
+msgid "Border color must be in range 0-7."
+msgstr "Border colour must be in range 0-7."
+
+#: src/set.q:798
+msgid "Lower window color must be between 0 and 6."
+msgstr "Lower window colour must be between 0 and 6."
+
+#: src/set.q:812
+msgid "Upper window color must be between 0 and 6."
+msgstr "Upper window colour must be between 0 and 6."
+
+#: src/set.q:824
+msgid "Frame color must be between 0 and 6."
+msgstr "Frame colour must be between 0 and 6."
+
+#: src/set.q:876
+msgid "Drive letter expected in WORKDEV subcommand."
 msgstr ""
 
-#: src/vector.c:95
-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."
+#: src/t-test.q:208
+msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/vector.c:129
-msgid "Vectors must have at least one element."
+#: src/t-test.q:225
+msgid "VARIABLES subcommand is not appropriate with PAIRS"
 msgstr ""
 
-#: src/vector.c:143
+#: src/t-test.q:317 src/t-test.q:396
 #, c-format
-msgid "%s%d is too long for a variable name."
+msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/vector.c:181
+#: src/t-test.q:330
+#, c-format
+msgid "Long string variable %s is not valid here."
+msgstr ""
+
+#: src/t-test.q:347
 msgid ""
-"The syntax for this command does not match the expected syntax for either "
-"the long form or the short form of VECTOR."
+"When applying GROUPS to a string variable, at least one value must be "
+"specified."
 msgstr ""
 
-#: src/vfm.c:291
+#: src/t-test.q:431
 #, c-format
 msgid ""
-"Workspace overflow predicted.  Max workspace is currently set to %d KB (%d "
-"cases at %d bytes each).  Paging active file to disk."
+"PAIRED was specified but the number of variables preceding WITH (%d) did not "
+"match the number following (%d)."
 msgstr ""
 
-#: src/vfm.c:366
-msgid "<NOVAR>"
+#: src/t-test.q:448
+msgid "At least two variables must be specified on PAIRS."
+msgstr ""
+
+#: src/t-test.q:620
+msgid "One-Sample Statistics"
+msgstr ""
+
+#: src/t-test.q:624 src/t-test.q:647 src/t-test.q:737 src/t-test.q:1085
+msgid "Std. Deviation"
+msgstr ""
+
+#: src/t-test.q:625 src/t-test.q:648 src/t-test.q:738
+msgid "SE. Mean"
+msgstr ""
+
+#: src/t-test.q:642
+msgid "Group Statistics"
 msgstr ""
 
-#: src/vfm.c:571
+#: src/t-test.q:732
+msgid "Paired Sample Statistics"
+msgstr ""
+
+#: src/t-test.q:754 src/t-test.q:1119 src/t-test.q:1339
 #, c-format
-msgid ""
-"An error occurred attempting to create a temporary file for use as the "
-"active file: %s."
+msgid "Pair %d"
+msgstr ""
+
+#: src/t-test.q:874
+msgid "Independent Samples Test"
+msgstr ""
+
+#: src/t-test.q:882
+msgid "Levene's Test for Equality of Variances"
+msgstr ""
+
+#: src/t-test.q:884
+msgid "t-test for Equality of Means"
+msgstr ""
+
+#: src/t-test.q:886
+msgid "F"
+msgstr ""
+
+#: src/t-test.q:887 src/t-test.q:1320
+msgid "Sig."
+msgstr ""
+
+#: src/t-test.q:888 src/t-test.q:1089 src/t-test.q:1201
+msgid "t"
+msgstr ""
+
+#: src/t-test.q:890 src/t-test.q:1091 src/t-test.q:1203
+msgid "Sig. (2-tailed)"
+msgstr ""
+
+#: src/t-test.q:891 src/t-test.q:1204
+msgid "Mean Difference"
+msgstr ""
+
+#: src/t-test.q:892
+msgid "Std. Error Difference"
 msgstr ""
 
-#: src/vfm.c:589
+#: src/t-test.q:897 src/t-test.q:1081 src/t-test.q:1196
 #, c-format
-msgid ""
-"An error occurred while attempting to read from a temporary file created for "
-"the active file: %s."
+msgid "%d%% Confidence Interval of the Difference"
+msgstr ""
+
+#: src/t-test.q:931
+msgid "Equal variances assumed"
 msgstr ""
 
-#: src/vfm.c:617
+#: src/t-test.q:946
 #, c-format
-msgid ""
-"An error occurred while attempting to write to a temporary file used as the "
-"active file: %s."
+msgid "Error calculating F statistic (cdff returned %d)."
 msgstr ""
 
-#: src/vfm.c:631
+#: src/t-test.q:969 src/t-test.q:989 src/t-test.q:1027 src/t-test.q:1039
+#: src/t-test.q:1140 src/t-test.q:1166 src/t-test.q:1246 src/t-test.q:1263
+#: src/t-test.q:1354
 #, c-format
-msgid ""
-"An error occurred while attempting to rewind a temporary file used as the "
-"active file: %s."
+msgid "Error calculating T statistic (cdft returned %d)."
 msgstr ""
 
-#: src/vfm.c:746
-msgid "Virtual memory exhausted.  Paging active file to disk."
+#: src/t-test.q:1003
+msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/vfm.c:749
-#, c-format
-msgid ""
-"Workspace limit of %d KB (%d cases at %d bytes each) overflowed.  Paging "
-"active file to disk."
+#: src/t-test.q:1071
+msgid "Paired Samples Test"
+msgstr ""
+
+#: src/t-test.q:1074
+msgid "Paired Differences"
+msgstr ""
+
+#: src/t-test.q:1086
+msgid "Std. Error Mean"
 msgstr ""
 
-#: src/vfm.c:773 src/vfm.c:810
+#: src/t-test.q:1185
+msgid "One-Sample Test"
+msgstr ""
+
+#: src/t-test.q:1190
 #, c-format
-msgid ""
-"An error occurred while attempting to write to a temporary file created as "
-"the active file, while paging to disk: %s."
+msgid "Test Value = %f"
 msgstr ""
 
-#: src/vfm.c:924
-msgid "transform: "
+#: src/t-test.q:1315
+msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/weight.c:61
-msgid "The weighting variable must be numeric."
+#: src/t-test.q:1319
+msgid "Correlation"
 msgstr ""
 
-#: src/weight.c:66
-msgid "The weighting variable may not be scratch."
+#: src/t-test.q:1342
+#, c-format
+msgid "%s & %s"
 msgstr ""
index ff35d1b659ef02bf15e22c26bfb8835e840f9026..d2a9fa36914314abf267649e22ba9eb5c0e408d3 100644 (file)
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2004-02-21 10:31+0800\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-12 16:21+0800\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"
@@ -17,56 +17,56 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: src/aggregate.c:188 src/aggregate.c:229 src/data-list.c:1341
-#: src/data-list.c:1376 src/data-list.c:1389 src/data-list.c:1402
-#: src/data-list.c:1435
+#: src/aggregate.c:190 src/aggregate.c:231 src/data-list.c:1363
+#: src/data-list.c:1398 src/data-list.c:1411 src/data-list.c:1424
+#: src/data-list.c:1457
 #, c-format
 msgid "%s subcommand given multiple times."
 msgstr ""
 
-#: src/aggregate.c:214
+#: src/aggregate.c:216
 msgid "while expecting COLUMNWISE"
 msgstr ""
 
-#: src/aggregate.c:258
+#: src/aggregate.c:261
 msgid "BREAK subcommand not specified."
 msgstr ""
 
-#: src/aggregate.c:492
+#: src/aggregate.c:490
 msgid "expecting aggregation function"
 msgstr ""
 
-#: src/aggregate.c:508
+#: src/aggregate.c:506
 #, c-format
 msgid "Unknown aggregation function %s."
 msgstr ""
 
-#: src/aggregate.c:523
+#: src/aggregate.c:521
 msgid "expecting `('"
 msgstr ""
 
-#: src/aggregate.c:558
+#: src/aggregate.c:556
 #, c-format
 msgid "Missing argument %d to %s."
 msgstr ""
 
-#: src/aggregate.c:566
+#: src/aggregate.c:564
 #, c-format
 msgid "Arguments to %s must be of same type as source variables."
 msgstr ""
 
-#: src/aggregate.c:576 src/expr-prs.c:665
+#: src/aggregate.c:574 src/expr-prs.c:665
 msgid "expecting `)'"
 msgstr ""
 
-#: src/aggregate.c:588 src/autorecode.c:110
+#: src/aggregate.c:586 src/autorecode.c:110
 #, c-format
 msgid ""
 "Number of source variables (%d) does not match number of target variables (%"
 "d)."
 msgstr ""
 
-#: src/aggregate.c:655
+#: src/aggregate.c:653
 #, c-format
 msgid ""
 "Variable name %s is not unique within the aggregate file dictionary, which "
@@ -80,15 +80,15 @@ msgstr ""
 
 #: src/apply-dict.c:71 src/apply-dict.c:72 src/expr-prs.c:1128
 #: src/expr-prs.c:1473 src/expr-prs.c:1489 src/formats.c:103
-#: src/pfm-read.c:636 src/print.c:696 src/sfm-read.c:916 src/sfm-read.c:1042
-#: src/sfm-read.c:1043
+#: src/pfm-read.c:634 src/print.c:698 src/sfm-read.c:914 src/sfm-read.c:1040
+#: src/sfm-read.c:1041
 msgid "string"
 msgstr ""
 
 #: src/apply-dict.c:71 src/apply-dict.c:72 src/expr-prs.c:1128
 #: src/expr-prs.c:1470 src/expr-prs.c:1487 src/formats.c:103
-#: src/pfm-read.c:636 src/print.c:696 src/sfm-read.c:916 src/sfm-read.c:1042
-#: src/sfm-read.c:1043
+#: src/pfm-read.c:634 src/print.c:698 src/sfm-read.c:914 src/sfm-read.c:1040
+#: src/sfm-read.c:1041
 msgid "numeric"
 msgstr ""
 
@@ -217,18 +217,16 @@ msgstr ""
 msgid "Writing `%s': %s"
 msgstr ""
 
-#: src/ascii.c:1541 src/postscript.c:2095
+#: src/ascii.c:1543 src/postscript.c:2093
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
 
-#: src/autorecode.c:121 src/command.c:696 src/compute.c:283 correlations.c:308
-#: crosstabs.c:437 src/data-list.c:370 src/data-list.c:850
-#: src/data-list.c:1666 descript.c:458 src/do-if.c:264 file-handle.c:180
-#: file-handle.q:88 src/file-handle.q:88 frequencies.c:890 src/get.c:359
-#: src/lexer.c:387 list.c:208 src/loop.c:248 src/matrix-data.c:503 means.c:354
-#: src/print.c:336 src/print.c:1057 src/recode.c:408 src/sel-if.c:56
-#: src/sel-if.c:136 set.c:1656 t-test.c:275 src/vector.c:194
+#: src/autorecode.c:121 src/command.c:697 src/compute.c:293
+#: src/data-list.c:380 src/data-list.c:878 src/data-list.c:1690
+#: src/do-if.c:263 src/get.c:381 src/lexer.c:387 src/loop.c:241
+#: src/matrix-data.c:510 src/print.c:338 src/print.c:1060 src/recode.c:409
+#: src/sel-if.c:56 src/sel-if.c:138 src/vector.c:194 src/file-handle.q:88
 msgid "expecting end of command"
 msgstr ""
 
@@ -243,7 +241,7 @@ msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
 #: src/cmdline.c:112 src/cmdline.c:131 src/cmdline.c:143 src/command.c:196
-#: set.q:314 set.q:316 set.q:846 src/set.q:314 src/set.q:316 src/set.q:846
+#: src/set.q:315 src/set.q:317 src/set.q:857
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
@@ -327,7 +325,7 @@ msgstr ""
 msgid "This line does not begin with a valid command name."
 msgstr ""
 
-#: src/command.c:214
+#: src/command.c:215
 #, c-format
 msgid ""
 "%s is not allowed (1) before a command to specify the input program, such as "
@@ -335,121 +333,101 @@ msgid ""
 "PROGRAM and END INPUT PROGRAM."
 msgstr ""
 
-#: src/command.c:218
+#: src/command.c:219
 #, c-format
 msgid "%s is not allowed within an input program."
 msgstr ""
 
-#: src/command.c:219 src/command.c:220
+#: src/command.c:220 src/command.c:221
 #, c-format
 msgid "%s is only allowed within an input program."
 msgstr ""
 
-#: src/command.c:229
+#: src/command.c:230
 #, c-format
 msgid "%s command beginning\n"
 msgstr ""
 
-#: src/command.c:265
+#: src/command.c:266
 #, c-format
 msgid ""
 "%s command completed\n"
 "\n"
 msgstr ""
 
-#: src/command.c:280
+#: src/command.c:281
 msgid "The identifier(s) specified do not form a valid command name:"
 msgstr ""
 
-#: src/command.c:283
+#: src/command.c:284
 msgid "The identifier(s) specified do not form a complete command name:"
 msgstr ""
 
-#: src/command.c:407
+#: src/command.c:408
 msgid ""
 "This command is not accepted in a syntax file.  Instead, use FINISH to "
 "terminate a syntax file."
 msgstr ""
 
-#: src/command.c:425
+#: src/command.c:426
 msgid ""
 "This command is not executed in interactive mode.  Instead, PSPP drops down "
 "to the command prompt.  Use EXIT if you really want to quit."
 msgstr ""
 
-#: src/command.c:516
+#: src/command.c:517
 msgid "The sentinel may not be the empty string."
 msgstr ""
 
-#: src/command.c:573
+#: src/command.c:574
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/command.c:596
+#: src/command.c:597
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/command.c:646
+#: src/command.c:647
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/command.c:687
+#: src/command.c:688
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
 
-#: src/command.c:733
+#: src/command.c:734
 msgid "No operating system support for this command."
 msgstr ""
 
-#: src/command.c:762
+#: src/command.c:763
 msgid "This command is not valid in a syntax file."
 msgstr ""
 
-#: src/compute.c:140 src/compute.c:199
+#: src/compute.c:145 src/compute.c:209
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/compute.c:143 src/compute.c:203
+#: src/compute.c:148 src/compute.c:213
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/compute.c:342
+#: src/compute.c:355
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/compute.c:450
+#: src/compute.c:461
 msgid "Extra characters after expression."
 msgstr ""
 
-#: correlations.c:184 crosstabs.c:254 descript.c:225 means.c:269 t-test.c:191
-msgid "MISSING subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:211
-msgid "PRINT subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:238 crosstabs.c:304 descript.c:252 means.c:232
-msgid "FORMAT subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:261
-msgid "MATRIX subcommand may be given only once."
-msgstr ""
-
-#: correlations.c:283 crosstabs.c:388 descript.c:332 means.c:327
-msgid "STATISTICS subcommand may be given only once."
-msgstr ""
-
 #: src/count.c:171
 msgid "Destination cannot be a string variable."
 msgstr ""
@@ -461,303 +439,6 @@ msgid ""
 "as big as the number preceding THRU."
 msgstr ""
 
-#: crosstabs.c:232 means.c:188
-msgid "VARIABLES subcommand may be given only once."
-msgstr ""
-
-#: crosstabs.c:279
-msgid "WRITE subcommand may be given only once."
-msgstr ""
-
-#: crosstabs.c:349 means.c:294
-msgid "CELLS subcommand may be given only once."
-msgstr ""
-
-#: crosstabs.q:257 src/crosstabs.q:257
-msgid ""
-"Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
-msgstr ""
-
-#: crosstabs.q:267 src/crosstabs.q:267
-msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
-msgstr ""
-
-#: crosstabs.q:327 src/crosstabs.q:327
-msgid "expecting BY"
-msgstr ""
-
-#: crosstabs.q:394 src/crosstabs.q:394
-msgid "VARIABLES must be specified before TABLES."
-msgstr ""
-
-#: crosstabs.q:431 src/crosstabs.q:431
-#, c-format
-msgid "Maximum value (%ld) less than minimum value (%ld)."
-msgstr ""
-
-#: crosstabs.q:865 src/crosstabs.q:865
-msgid "Summary."
-msgstr ""
-
-#: crosstabs.q:867 src/crosstabs.q:867
-msgid "Cases"
-msgstr ""
-
-#: crosstabs.q:868 src/crosstabs.q:868 frequencies.q:999 src/frequencies.q:999
-msgid "Valid"
-msgstr ""
-
-#: crosstabs.q:869 src/crosstabs.q:869 frequencies.q:1066
-#: src/frequencies.q:1066
-msgid "Missing"
-msgstr ""
-
-#: crosstabs.q:870 crosstabs.q:1073 crosstabs.q:1806 src/crosstabs.q:870
-#: src/crosstabs.q:1073 src/crosstabs.q:1806 frequencies.q:1075
-#: src/frequencies.q:1075
-msgid "Total"
-msgstr ""
-
-#: crosstabs.q:880 src/crosstabs.q:880 t-test.q:625 t-test.q:648 t-test.q:727
-#: t-test.q:1309 src/t-test.q:625 src/t-test.q:648 src/t-test.q:727
-#: src/t-test.q:1309
-msgid "N"
-msgstr ""
-
-#: crosstabs.q:881 src/crosstabs.q:881 frequencies.q:1003 frequencies.q:1004
-#: frequencies.q:1005 src/frequencies.q:1003 src/frequencies.q:1004
-#: src/frequencies.q:1005
-msgid "Percent"
-msgstr ""
-
-#: crosstabs.q:1123 src/crosstabs.q:1123
-msgid "count"
-msgstr ""
-
-#: crosstabs.q:1124 src/crosstabs.q:1124
-msgid "row %"
-msgstr ""
-
-#: crosstabs.q:1125 src/crosstabs.q:1125
-msgid "column %"
-msgstr ""
-
-#: crosstabs.q:1126 src/crosstabs.q:1126
-msgid "total %"
-msgstr ""
-
-#: crosstabs.q:1127 src/crosstabs.q:1127
-msgid "expected"
-msgstr ""
-
-#: crosstabs.q:1128 src/crosstabs.q:1128
-msgid "residual"
-msgstr ""
-
-#: crosstabs.q:1129 src/crosstabs.q:1129
-msgid "std. resid."
-msgstr ""
-
-#: crosstabs.q:1130 src/crosstabs.q:1130
-msgid "adj. resid."
-msgstr ""
-
-#: crosstabs.q:1163 crosstabs.q:1190 crosstabs.q:1210 crosstabs.q:1231
-#: src/crosstabs.q:1163 src/crosstabs.q:1190 src/crosstabs.q:1210
-#: src/crosstabs.q:1231
-msgid "Statistic"
-msgstr ""
-
-#: crosstabs.q:1164 crosstabs.q:1191 crosstabs.q:1211 crosstabs.q:1233
-#: src/crosstabs.q:1164 src/crosstabs.q:1191 src/crosstabs.q:1211
-#: src/crosstabs.q:1233 frequencies.q:1001 frequencies.q:1118
-#: src/frequencies.q:1001 src/frequencies.q:1118 src/sysfile-info.c:536
-#: src/vfm.c:1087
-msgid "Value"
-msgstr ""
-
-#: crosstabs.q:1165 src/crosstabs.q:1165 t-test.q:880 t-test.q:1081
-#: t-test.q:1193 src/t-test.q:880 src/t-test.q:1081 src/t-test.q:1193
-msgid "df"
-msgstr ""
-
-#: crosstabs.q:1167 src/crosstabs.q:1167
-msgid "Asymp. Sig. (2-sided)"
-msgstr ""
-
-#: crosstabs.q:1169 src/crosstabs.q:1169
-msgid "Exact. Sig. (2-sided)"
-msgstr ""
-
-#: crosstabs.q:1171 src/crosstabs.q:1171
-msgid "Exact. Sig. (1-sided)"
-msgstr ""
-
-#: crosstabs.q:1189 crosstabs.q:1230 src/crosstabs.q:1189 src/crosstabs.q:1230
-msgid "Category"
-msgstr ""
-
-#: crosstabs.q:1192 crosstabs.q:1234 src/crosstabs.q:1192 src/crosstabs.q:1234
-msgid "Asymp. Std. Error"
-msgstr ""
-
-#: crosstabs.q:1193 crosstabs.q:1235 src/crosstabs.q:1193 src/crosstabs.q:1235
-msgid "Approx. T"
-msgstr ""
-
-#: crosstabs.q:1194 crosstabs.q:1236 src/crosstabs.q:1194 src/crosstabs.q:1236
-msgid "Approx. Sig."
-msgstr ""
-
-#: crosstabs.q:1209 src/crosstabs.q:1209
-#, c-format
-msgid " 95%% Confidence Interval"
-msgstr ""
-
-#: crosstabs.q:1212 src/crosstabs.q:1212 t-test.q:884 t-test.q:1078
-#: t-test.q:1196 src/t-test.q:884 src/t-test.q:1078 src/t-test.q:1196
-msgid "Lower"
-msgstr ""
-
-#: crosstabs.q:1213 src/crosstabs.q:1213 t-test.q:885 t-test.q:1079
-#: t-test.q:1197 src/t-test.q:885 src/t-test.q:1079 src/t-test.q:1197
-msgid "Upper"
-msgstr ""
-
-#: crosstabs.q:1232 src/crosstabs.q:1232
-msgid "Type"
-msgstr ""
-
-#: crosstabs.q:1983 src/crosstabs.q:1983
-msgid "Pearson Chi-Square"
-msgstr ""
-
-#: crosstabs.q:1984 src/crosstabs.q:1984
-msgid "Likelihood Ratio"
-msgstr ""
-
-#: crosstabs.q:1985 src/crosstabs.q:1985
-msgid "Fisher's Exact Test"
-msgstr ""
-
-#: crosstabs.q:1986 src/crosstabs.q:1986
-msgid "Continuity Correction"
-msgstr ""
-
-#: crosstabs.q:1987 src/crosstabs.q:1987
-msgid "Linear-by-Linear Association"
-msgstr ""
-
-#: crosstabs.q:2024 crosstabs.q:2094 crosstabs.q:2153 src/crosstabs.q:2024
-#: src/crosstabs.q:2094 src/crosstabs.q:2153
-msgid "N of Valid Cases"
-msgstr ""
-
-#: crosstabs.q:2040 crosstabs.q:2169 src/crosstabs.q:2040 src/crosstabs.q:2169
-msgid "Nominal by Nominal"
-msgstr ""
-
-#: crosstabs.q:2041 crosstabs.q:2170 src/crosstabs.q:2041 src/crosstabs.q:2170
-msgid "Ordinal by Ordinal"
-msgstr ""
-
-#: crosstabs.q:2042 src/crosstabs.q:2042
-msgid "Interval by Interval"
-msgstr ""
-
-#: crosstabs.q:2043 src/crosstabs.q:2043
-msgid "Measure of Agreement"
-msgstr ""
-
-#: crosstabs.q:2048 src/crosstabs.q:2048
-msgid "Phi"
-msgstr ""
-
-#: crosstabs.q:2049 src/crosstabs.q:2049
-msgid "Cramer's V"
-msgstr ""
-
-#: crosstabs.q:2050 src/crosstabs.q:2050
-msgid "Contingency Coefficient"
-msgstr ""
-
-#: crosstabs.q:2051 src/crosstabs.q:2051
-msgid "Kendall's tau-b"
-msgstr ""
-
-#: crosstabs.q:2052 src/crosstabs.q:2052
-msgid "Kendall's tau-c"
-msgstr ""
-
-#: crosstabs.q:2053 src/crosstabs.q:2053
-msgid "Gamma"
-msgstr ""
-
-#: crosstabs.q:2054 src/crosstabs.q:2054
-msgid "Spearman Correlation"
-msgstr ""
-
-#: crosstabs.q:2055 src/crosstabs.q:2055
-msgid "Pearson's R"
-msgstr ""
-
-#: crosstabs.q:2056 src/crosstabs.q:2056
-msgid "Kappa"
-msgstr ""
-
-#: crosstabs.q:2126 src/crosstabs.q:2126
-#, c-format
-msgid "Odds Ratio for %s (%g / %g)"
-msgstr ""
-
-#: crosstabs.q:2129 src/crosstabs.q:2129
-#, c-format
-msgid "Odds Ratio for %s (%.*s / %.*s)"
-msgstr ""
-
-#: crosstabs.q:2137 src/crosstabs.q:2137
-#, c-format
-msgid "For cohort %s = %g"
-msgstr ""
-
-#: crosstabs.q:2140 src/crosstabs.q:2140
-#, c-format
-msgid "For cohort %s = %.*s"
-msgstr ""
-
-#: crosstabs.q:2171 src/crosstabs.q:2171
-msgid "Nominal by Interval"
-msgstr ""
-
-#: crosstabs.q:2176 src/crosstabs.q:2176
-msgid "Lambda"
-msgstr ""
-
-#: crosstabs.q:2177 src/crosstabs.q:2177
-msgid "Goodman and Kruskal tau"
-msgstr ""
-
-#: crosstabs.q:2178 src/crosstabs.q:2178
-msgid "Uncertainty Coefficient"
-msgstr ""
-
-#: crosstabs.q:2179 src/crosstabs.q:2179
-msgid "Somers' d"
-msgstr ""
-
-#: crosstabs.q:2180 src/crosstabs.q:2180
-msgid "Eta"
-msgstr ""
-
-#: crosstabs.q:2185 src/crosstabs.q:2185
-msgid "Symmetric"
-msgstr ""
-
-#: crosstabs.q:2186 crosstabs.q:2187 src/crosstabs.q:2186 src/crosstabs.q:2187
-#, c-format
-msgid "%s Dependent"
-msgstr ""
-
 #: src/data-in.c:69
 msgid "data-file error: "
 msgstr ""
@@ -777,434 +458,430 @@ msgstr ""
 msgid ", field type %s) "
 msgstr ""
 
-#: src/data-in.c:223
+#: src/data-in.c:225
 msgid "Field contents followed by garbage."
 msgstr ""
 
-#: src/data-in.c:256
+#: src/data-in.c:258
 msgid "Overflow in floating-point constant."
 msgstr ""
 
-#: src/data-in.c:262
+#: src/data-in.c:264
 msgid "Underflow in floating-point constant."
 msgstr ""
 
-#: src/data-in.c:268
+#: src/data-in.c:270
 msgid "Field does not form a valid floating-point constant."
 msgstr ""
 
-#: src/data-in.c:294
+#: src/data-in.c:296
 msgid "All characters in field must be digits."
 msgstr ""
 
-#: src/data-in.c:319
+#: src/data-in.c:321
 msgid "Unrecognized character in field."
 msgstr ""
 
-#: src/data-in.c:337 src/data-in.c:587
+#: src/data-in.c:339 src/data-in.c:589
 msgid "Field must have even length."
 msgstr ""
 
-#: src/data-in.c:347 src/data-in.c:597
+#: src/data-in.c:349 src/data-in.c:599
 msgid "Field must contain only hex digits."
 msgstr ""
 
-#: src/data-in.c:385
+#: src/data-in.c:387
 #, c-format
 msgid ""
 "Quality of zoned decimal (Z) input format code is suspect.  Check your "
 "results three times. Report bugs to %s."
 msgstr ""
 
-#: src/data-in.c:397
+#: src/data-in.c:399
 msgid "Zoned decimal field contains fewer than 2 characters."
 msgstr ""
 
-#: src/data-in.c:405
+#: src/data-in.c:407
 msgid "Bad sign byte in zoned decimal number."
 msgstr ""
 
-#: src/data-in.c:422
+#: src/data-in.c:424
 msgid "Format error in zoned decimal number."
 msgstr ""
 
-#: src/data-in.c:436
+#: src/data-in.c:438
 msgid "Error in syntax of zoned decimal number."
 msgstr ""
 
-#: src/data-in.c:637
+#: src/data-in.c:639
 msgid "Unexpected end of field."
 msgstr ""
 
-#: src/data-in.c:663
+#: src/data-in.c:665
 msgid "Digit expected in field."
 msgstr ""
 
-#: src/data-in.c:688
+#: src/data-in.c:690
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr ""
 
-#: src/data-in.c:713
+#: src/data-in.c:715
 msgid "Delimiter expected between fields in date."
 msgstr ""
 
-#: src/data-in.c:810
+#: src/data-in.c:812
 #, c-format
 msgid "Month (%ld) must be between 1 and 12."
 msgstr ""
 
-#: src/data-in.c:851
+#: src/data-in.c:853
 #, c-format
 msgid "Month (%s) must be between I and XII."
 msgstr ""
 
-#: src/data-in.c:878
+#: src/data-in.c:880
 #, c-format
 msgid "Month name (%s...) is too long."
 msgstr ""
 
-#: src/data-in.c:889
+#: src/data-in.c:891
 #, c-format
 msgid "Bad month name (%s)."
 msgstr ""
 
-#: src/data-in.c:905
+#: src/data-in.c:907
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data-in.c:916
+#: src/data-in.c:918
 #, c-format
 msgid "Trailing garbage \"%s\" following date."
 msgstr ""
 
-#: src/data-in.c:931
+#: src/data-in.c:933
 #, c-format
 msgid "Julian day (%d) must be between 1 and 366."
 msgstr ""
 
-#: src/data-in.c:943
+#: src/data-in.c:945
 #, c-format
 msgid "Year (%d) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data-in.c:959
+#: src/data-in.c:961
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr ""
 
-#: src/data-in.c:969
+#: src/data-in.c:971
 msgid "`Q' expected between quarter and year."
 msgstr ""
 
-#: src/data-in.c:985
+#: src/data-in.c:987
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr ""
 
-#: src/data-in.c:996
+#: src/data-in.c:998
 msgid "`WK' expected between week and year."
 msgstr ""
 
-#: src/data-in.c:1019
+#: src/data-in.c:1021
 msgid "Delimiter expected between fields in time."
 msgstr ""
 
-#: src/data-in.c:1031
+#: src/data-in.c:1033
 #, c-format
 msgid "Hour (%ld) must be positive."
 msgstr ""
 
-#: src/data-in.c:1043
+#: src/data-in.c:1045
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr ""
 
-#: src/data-in.c:1090
+#: src/data-in.c:1092
 #, c-format
 msgid "Hour (%ld) must be between 0 and 23."
 msgstr ""
 
-#: src/data-in.c:1104 src/data-in.c:1139
+#: src/data-in.c:1106 src/data-in.c:1141
 msgid "Day of the week expected in date value."
 msgstr ""
 
-#: src/data-in.c:1190
+#: src/data-in.c:1192
 msgid "Date is not in valid range between 15 Oct 1582 and 31 Dec 19999."
 msgstr ""
 
-#: src/data-in.c:1512
+#: src/data-in.c:1514
 #, c-format
 msgid "Field too long (%d characters).  Truncated after character %d."
 msgstr ""
 
-#: src/data-list.c:138
+#: src/data-list.c:139
 msgid ""
 "DATA LIST may not use a different file from that specified on its "
 "surrounding FILE TYPE."
 msgstr ""
 
-#: src/data-list.c:157
+#: src/data-list.c:158
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
-#: src/data-list.c:193
+#: src/data-list.c:194
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
-#: src/data-list.c:319 src/print.c:297
+#: src/data-list.c:327 src/print.c:299
 #, 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/data-list.c:351 src/data-list.c:1655
+#: src/data-list.c:356 src/data-list.c:1679
 msgid ""
 "SPSS-like or FORTRAN-like format specification expected after variable names."
 msgstr ""
 
-#: src/data-list.c:362 src/print.c:329
+#: src/data-list.c:367
+msgid "At least one variable must be specified."
+msgstr ""
+
+#: src/data-list.c:372 src/print.c:331
 msgid ""
 "Variables are specified on records that should not exist according to "
 "RECORDS subcommand."
 msgstr ""
 
-#: src/data-list.c:394 src/data-list.c:407 src/print.c:506 src/print.c:519
+#: src/data-list.c:410 src/data-list.c:424 src/print.c:508 src/print.c:521
 msgid "Column positions for fields must be positive."
 msgstr ""
 
-#: src/data-list.c:412
+#: src/data-list.c:429
 msgid "The ending column for a field must be greater than the starting column."
 msgstr ""
 
-#: src/data-list.c:436 src/print.c:547
+#: src/data-list.c:443 src/print.c:598
+#, c-format
+msgid "The %d columns %d-%d can't be evenly divided into %d fields."
+msgstr ""
+
+#: src/data-list.c:463 src/print.c:549
 msgid "A format specifier on this line has extra characters on the end."
 msgstr ""
 
-#: src/data-list.c:451 src/print.c:563
+#: src/data-list.c:478 src/print.c:565
 msgid "The value for number of decimal places must be at least 1."
 msgstr ""
 
-#: src/data-list.c:465 src/print.c:576
+#: src/data-list.c:492 src/print.c:578
 #, c-format
 msgid "Input format %s doesn't accept decimal places."
 msgstr ""
 
-#: src/data-list.c:486 src/print.c:596
-#, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %d fields."
-msgstr ""
-
-#: src/data-list.c:528 src/data-list.c:625 src/data-list.c:829
+#: src/data-list.c:539 src/data-list.c:635 src/data-list.c:857
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
-#: src/data-list.c:533
+#: src/data-list.c:544
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
-#: src/data-list.c:540
+#: src/data-list.c:551
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
-#: src/data-list.c:614 src/print.c:685
+#: src/data-list.c:626
 msgid ""
-"The number of format specifications exceeds the number of variable names "
-"given."
+"The number of format specifications exceeds the given number of variable "
+"names."
 msgstr ""
 
-#: src/data-list.c:702 src/print.c:769
+#: src/data-list.c:739 src/print.c:771
 msgid ""
 "There aren't enough format specifications to match the number of variable "
 "names given."
 msgstr ""
 
-#: src/data-list.c:736 src/data-list.c:877 descript.q:790 src/descript.q:790
-#: src/print.c:801 src/sysfile-info.c:135 src/sysfile-info.c:370
-#: src/vfm.c:1086
+#: src/data-list.c:768 src/data-list.c:899 src/print.c:803
+#: src/sysfile-info.c:135 src/sysfile-info.c:370 src/vfm.c:1148
+#: src/descript.q:791
 msgid "Variable"
 msgstr ""
 
-#: src/data-list.c:737 src/print.c:802
+#: src/data-list.c:769 src/print.c:804
 msgid "Record"
 msgstr ""
 
-#: src/data-list.c:738 src/print.c:803
+#: src/data-list.c:770 src/print.c:805
 msgid "Columns"
 msgstr ""
 
-#: src/data-list.c:739 src/data-list.c:878 src/print.c:804
+#: src/data-list.c:771 src/data-list.c:900 src/print.c:806
 msgid "Format"
 msgstr ""
 
-#: src/data-list.c:762
+#: src/data-list.c:791
 #, c-format
 msgid "Reading %d record from file %s."
 msgid_plural "Reading %d records from file %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/data-list.c:765
+#: src/data-list.c:793
 #, c-format
 msgid "Reading %d record from the command file."
 msgid_plural "Reading %d records from the command file."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/data-list.c:772 src/data-list.c:773
-msgid "Occurrence data specifications."
-msgstr ""
-
-#: src/data-list.c:901
+#: src/data-list.c:923
 #, c-format
 msgid "Reading free-form data from file %s."
 msgstr ""
 
-#: src/data-list.c:902
+#: src/data-list.c:924
 msgid "Reading free-form data from the command file."
 msgstr ""
 
-#: src/data-list.c:953 src/matrix-data.c:935
+#: src/data-list.c:971 src/matrix-data.c:923
 msgid "Scope of string exceeds line."
 msgstr ""
 
-#: src/data-list.c:1013
-msgid "Attempt to read past end of file."
-msgstr ""
-
-#: src/data-list.c:1042
-msgid "abort in write_case()\n"
-msgstr ""
-
-#: src/data-list.c:1070
+#: src/data-list.c:1039
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
-#: src/data-list.c:1119
+#: src/data-list.c:1090
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
-#: src/data-list.c:1160
+#: src/data-list.c:1133
 #, 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/data-list.c:1331
+#: src/data-list.c:1210
+msgid "Attempt to read past end of file."
+msgstr ""
+
+#: src/data-list.c:1353
 msgid ""
 "REPEATING DATA must use the same file as its corresponding DATA LIST or FILE "
 "TYPE."
 msgstr ""
 
-#: src/data-list.c:1365
+#: src/data-list.c:1387
 #, c-format
 msgid "STARTS beginning column (%d) exceeds STARTS ending column (%d)."
 msgstr ""
 
-#: src/data-list.c:1421
+#: src/data-list.c:1443
 #, c-format
 msgid "CONTINUED beginning column (%d) exceeds CONTINUED ending column (%d)."
 msgstr ""
 
-#: src/data-list.c:1444
+#: src/data-list.c:1466
 #, c-format
 msgid "ID beginning column (%ld) must be positive."
 msgstr ""
 
-#: src/data-list.c:1459
+#: src/data-list.c:1481
 #, c-format
 msgid "ID ending column (%ld) must be positive."
 msgstr ""
 
-#: src/data-list.c:1465
+#: src/data-list.c:1487
 #, c-format
 msgid "ID ending column (%ld) cannot be less than ID beginning column (%d)."
 msgstr ""
 
-#: src/data-list.c:1505
+#: src/data-list.c:1527
 msgid "Missing required specification STARTS."
 msgstr ""
 
-#: src/data-list.c:1507
+#: src/data-list.c:1529
 msgid "Missing required specification OCCURS."
 msgstr ""
 
-#: src/data-list.c:1514
+#: src/data-list.c:1536
 msgid "ID specified without CONTINUED."
 msgstr ""
 
-#: src/data-list.c:1602
+#: src/data-list.c:1628
 msgid "String variable not allowed here."
 msgstr ""
 
-#: src/data-list.c:1612
+#: src/data-list.c:1638
 #, c-format
 msgid "%s (%d) must be at least 1."
 msgstr ""
 
-#: src/data-list.c:1618
+#: src/data-list.c:1644
 #, c-format
 msgid "Variable or integer expected for %s."
 msgstr ""
 
-#: src/data-list.c:1753
+#: src/data-list.c:1782
 #, c-format
 msgid "Encountered mismatched record ID \"%s\" expecting \"%s\"."
 msgstr ""
 
-#: src/data-list.c:1785
+#: src/data-list.c:1814
 #, c-format
 msgid ""
 "Variable %s starting in column %d extends beyond physical record length of %"
 "d."
 msgstr ""
 
-#: src/data-list.c:1853
+#: src/data-list.c:1882
 #, c-format
 msgid "Invalid value %d for OCCURS."
 msgstr ""
 
-#: src/data-list.c:1859
+#: src/data-list.c:1888
 #, c-format
 msgid "Beginning column for STARTS (%d) must be at least 1."
 msgstr ""
 
-#: src/data-list.c:1867
+#: src/data-list.c:1896
 #, c-format
 msgid "Ending column for STARTS (%d) is less than beginning column (%d)."
 msgstr ""
 
-#: src/data-list.c:1875
+#: src/data-list.c:1904
 #, c-format
 msgid "Invalid value %d for LENGTH."
 msgstr ""
 
-#: src/data-list.c:1882
+#: src/data-list.c:1911
 #, c-format
 msgid "Beginning column for CONTINUED (%d) must be at least 1."
 msgstr ""
 
-#: src/data-list.c:1890
+#: src/data-list.c:1919
 #, c-format
 msgid "Ending column for CONTINUED (%d) is less than beginning column (%d)."
 msgstr ""
 
-#: src/data-list.c:1913
+#: src/data-list.c:1951
 #, c-format
 msgid ""
 "Number of repetitions specified on OCCURS (%d) exceed number of repetitions "
 "available in space on STARTS (%d), and CONTINUED not specified."
 msgstr ""
 
-#: src/data-list.c:1930
+#: src/data-list.c:1970
 #, c-format
 msgid "Unexpected end of file with %d repetitions remaining out of %d."
 msgstr ""
@@ -1256,266 +933,24 @@ msgid ""
 "Year %d cannot be represented in four digits for output formatting purposes."
 msgstr ""
 
-#: descript.c:283
-msgid "SAVE subcommand may be given only once."
+#: src/devind.c:136
+#, c-format
+msgid "DEVIND driver initializing as `%s'..."
 msgstr ""
 
-#: descript.c:297
-msgid "OPTIONS subcommand may be given only once."
+#: src/devind.c:218
+#, c-format
+msgid "Unknown configuration parameter `%s' for DEVIND device driver."
 msgstr ""
 
-#: descript.c:405
-msgid "SORT subcommand may be given only once."
+#: src/devind.c:240
+#, c-format
+msgid "DEVIND output driver: %s: %s"
 msgstr ""
 
-#: descript.q:151 src/descript.q:151 frequencies.q:94 src/frequencies.q:94
-#: t-test.q:626 t-test.q:649 t-test.q:726 t-test.q:1075 src/t-test.q:626
-#: src/t-test.q:649 src/t-test.q:726 src/t-test.q:1075
-msgid "Mean"
-msgstr ""
-
-#: descript.q:151 src/descript.q:151
-msgid "mean"
-msgstr ""
-
-#: descript.q:152 src/descript.q:152 frequencies.q:95 src/frequencies.q:95
-msgid "S.E. Mean"
-msgstr ""
-
-#: descript.q:152 src/descript.q:152
-msgid "S E Mean"
-msgstr ""
-
-#: descript.q:152 src/descript.q:152
-msgid "SE"
-msgstr ""
-
-#: descript.q:153 src/descript.q:153
-msgid "standard error of mean"
-msgstr ""
-
-#: descript.q:154 src/descript.q:154 frequencies.q:98 src/frequencies.q:98
-msgid "Std Dev"
-msgstr ""
-
-#: descript.q:154 src/descript.q:154
-msgid "SD"
-msgstr ""
-
-#: descript.q:155 src/descript.q:155
-msgid "standard deviation"
-msgstr ""
-
-#: descript.q:156 src/descript.q:156 frequencies.q:99 src/frequencies.q:99
-msgid "Variance"
-msgstr ""
-
-#: descript.q:157 src/descript.q:157
-msgid "Var"
-msgstr ""
-
-#: descript.q:157 src/descript.q:157
-msgid "variance"
-msgstr ""
-
-#: descript.q:158 src/descript.q:158 frequencies.q:100 src/frequencies.q:100
-msgid "Kurtosis"
-msgstr ""
-
-#: descript.q:159 src/descript.q:159
-msgid "Kurt"
-msgstr ""
-
-#: descript.q:159 src/descript.q:159
-msgid "kurtosis"
-msgstr ""
-
-#: descript.q:160 src/descript.q:160 frequencies.q:101 src/frequencies.q:101
-msgid "S.E. Kurt"
-msgstr ""
-
-#: descript.q:160 src/descript.q:160
-msgid "S E Kurt"
-msgstr ""
-
-#: descript.q:160 src/descript.q:160
-msgid "SEKurt"
-msgstr ""
-
-#: descript.q:161 src/descript.q:161
-msgid "standard error of kurtosis"
-msgstr ""
-
-#: descript.q:162 src/descript.q:162 frequencies.q:102 src/frequencies.q:102
-msgid "Skewness"
-msgstr ""
-
-#: descript.q:162 src/descript.q:162
-msgid "Skew"
-msgstr ""
-
-#: descript.q:163 src/descript.q:163
-msgid "skewness"
-msgstr ""
-
-#: descript.q:164 src/descript.q:164 frequencies.q:103 src/frequencies.q:103
-msgid "S.E. Skew"
-msgstr ""
-
-#: descript.q:164 src/descript.q:164
-msgid "S E Skew"
-msgstr ""
-
-#: descript.q:164 src/descript.q:164
-msgid "SESkew"
-msgstr ""
-
-#: descript.q:165 src/descript.q:165
-msgid "standard error of skewness"
-msgstr ""
-
-#: descript.q:166 src/descript.q:166 frequencies.q:104 src/frequencies.q:104
-msgid "Range"
-msgstr ""
-
-#: descript.q:166 src/descript.q:166
-msgid "Rng"
-msgstr ""
-
-#: descript.q:166 src/descript.q:166 src/sfm-read.c:1202
-msgid "range"
-msgstr ""
-
-#: descript.q:167 src/descript.q:167 frequencies.q:105 src/frequencies.q:105
-msgid "Minimum"
-msgstr ""
-
-#: descript.q:167 src/descript.q:167
-msgid "Min"
-msgstr ""
-
-#: descript.q:168 src/descript.q:168
-msgid "minimum"
-msgstr ""
-
-#: descript.q:169 src/descript.q:169 frequencies.q:106 src/frequencies.q:106
-msgid "Maximum"
-msgstr ""
-
-#: descript.q:169 src/descript.q:169
-msgid "Max"
-msgstr ""
-
-#: descript.q:170 src/descript.q:170
-msgid "maximum"
-msgstr ""
-
-#: descript.q:171 src/descript.q:171 frequencies.q:107 src/frequencies.q:107
-msgid "Sum"
-msgstr ""
-
-#: descript.q:171 src/descript.q:171
-msgid "sum"
-msgstr ""
-
-#: descript.q:212 src/descript.q:212 list.q:144 src/list.q:144
-msgid "No variables specified."
-msgstr ""
-
-#: descript.q:218 src/descript.q:218
-msgid "OPTIONS may not be used with SAVE, FORMAT, or MISSING."
-msgstr ""
-
-#: descript.q:280 src/descript.q:280
-#, c-format
-msgid "It's not possible to sort on `%s' without displaying `%s'."
-msgstr ""
-
-#: descript.q:294 src/descript.q:294
-msgid ""
-"At least one case in the data file had a weight value that was system-"
-"missing, zero, or negative.  These case(s) were ignored."
-msgstr ""
-
-#: descript.q:335 src/descript.q:335
-msgid ""
-"Names for z-score variables must be given for individual variables, not for "
-"groups of variables."
-msgstr ""
-
-#: descript.q:343 src/descript.q:343
-msgid "Name for z-score variable expected."
-msgstr ""
-
-#: descript.q:348 src/descript.q:348
-#, c-format
-msgid ""
-"Z-score variable name `%s' is a duplicate variable name with a current "
-"variable."
-msgstr ""
-
-#: descript.q:357 src/descript.q:357
-#, c-format
-msgid "Z-score variable name `%s' is used multiple times."
-msgstr ""
-
-#: descript.q:365 src/descript.q:365
-msgid "`)' expected after z-score variable name."
-msgstr ""
-
-#: descript.q:425 src/descript.q:425
-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 ""
-
-#: descript.q:454 src/descript.q:454
-msgid "Mapping of variables to corresponding Z-scores."
-msgstr ""
-
-#: descript.q:459 src/descript.q:459
-msgid "Source"
-msgstr ""
-
-#: descript.q:460 src/descript.q:460
-msgid "Target"
-msgstr ""
-
-#: descript.q:547 descript.q:553 src/descript.q:547 src/descript.q:553
-msgid "Z-score of "
-msgstr ""
-
-#: descript.q:794 src/descript.q:794
-msgid "Valid N"
-msgstr ""
-
-#: descript.q:795 src/descript.q:795
-msgid "Missing N"
-msgstr ""
-
-#: descript.q:822 src/descript.q:822
-#, c-format
-msgid "Valid cases = %g; cases with missing value(s) = %g."
-msgstr ""
-
-#: src/devind.c:136
-#, c-format
-msgid "DEVIND driver initializing as `%s'..."
-msgstr ""
-
-#: src/devind.c:218
-#, c-format
-msgid "Unknown configuration parameter `%s' for DEVIND device driver."
-msgstr ""
-
-#: src/devind.c:240
-#, c-format
-msgid "DEVIND output driver: %s: %s"
-msgstr ""
-
-#: src/devind.c:271
-#, c-format
-msgid "Cannot open first page on DEVIND device %s."
+#: src/devind.c:271
+#, c-format
+msgid "Cannot open first page on DEVIND device %s."
 msgstr ""
 
 #: src/dfm.c:74
@@ -1614,43 +1049,43 @@ msgstr ""
 msgid "writing as a data file"
 msgstr ""
 
-#: src/do-if.c:118
+#: src/do-if.c:117
 msgid "There is no DO IF to match with this ELSE IF."
 msgstr ""
 
-#: src/do-if.c:123
+#: src/do-if.c:122
 msgid "The ELSE command must follow all ELSE IF commands in a DO IF structure."
 msgstr ""
 
-#: src/do-if.c:146
+#: src/do-if.c:145
 msgid "End of command expected."
 msgstr ""
 
-#: src/do-if.c:164
+#: src/do-if.c:163
 msgid "There is no DO IF to match with this ELSE."
 msgstr ""
 
-#: src/do-if.c:170
+#: src/do-if.c:169
 msgid ""
 "There may be at most one ELSE clause in each DO IF structure.  It must be "
 "the last clause."
 msgstr ""
 
-#: src/do-if.c:207
+#: src/do-if.c:206
 msgid "There is no DO IF to match with this END IF."
 msgstr ""
 
-#: src/do-if.c:293
+#: src/do-if.c:294
 #, c-format
 msgid "DO IF %d: true\n"
 msgstr ""
 
-#: src/do-if.c:298
+#: src/do-if.c:299
 #, c-format
 msgid "DO IF %d: false\n"
 msgstr ""
 
-#: src/do-if.c:303
+#: src/do-if.c:304
 #, c-format
 msgid "DO IF %d: missing\n"
 msgstr ""
@@ -1693,35 +1128,35 @@ msgstr ""
 msgid "installation error"
 msgstr ""
 
-#: src/expr-evl.c:1115
+#: src/expr-evl.c:1116
 msgid ""
 "A number being treated as a Boolean in an expression was found to have a "
 "value other than 0 (false), 1 (true), or the system-missing value.  The "
 "result was forced to 0."
 msgstr ""
 
-#: src/expr-evl.c:1159
+#: src/expr-evl.c:1160
 #, c-format
 msgid ""
 "SYSMIS is not a valid index value for vector %s.  The result will be set to "
 "SYSMIS."
 msgstr ""
 
-#: src/expr-evl.c:1163
+#: src/expr-evl.c:1164
 #, c-format
 msgid ""
 "%g is not a valid index value for vector %s.  The result will be set to "
 "SYSMIS."
 msgstr ""
 
-#: src/expr-evl.c:1181
+#: src/expr-evl.c:1182
 #, c-format
 msgid ""
 "SYSMIS is not a valid index value for vector %s.  The result will be set to "
 "the empty string."
 msgstr ""
 
-#: src/expr-evl.c:1186
+#: src/expr-evl.c:1187
 #, c-format
 msgid ""
 "%g is not a valid index value for vector %s.  The result will be set to the "
@@ -1750,7 +1185,7 @@ msgstr ""
 msgid "Second argument to %cTRIM() must be at least one character in length."
 msgstr ""
 
-#: src/expr-opt.c:881
+#: src/expr-opt.c:880
 msgid ""
 "When optimizing a constant expression, an integer that was being used as an "
 "Boolean value was found to have a constant value other than 0, 1, or SYSMIS."
@@ -1940,57 +1375,6 @@ msgstr ""
 msgid "postfix:"
 msgstr ""
 
-#: file-handle.q:72 src/file-handle.q:72
-#, c-format
-msgid ""
-"File handle %s had already been defined to refer to file %s.  It is not "
-"possible to redefine a file handle within a session."
-msgstr ""
-
-#: file-handle.q:94 src/file-handle.q:94
-msgid "The FILE HANDLE required subcommand NAME is not present."
-msgstr ""
-
-#: file-handle.q:107 src/file-handle.q:107
-msgid ""
-"Fixed length records were specified on /RECFORM, but record length was not "
-"specified on /LRECL.  80-character records will be assumed."
-msgstr ""
-
-#: file-handle.q:114 src/file-handle.q:114
-#, c-format
-msgid ""
-"Record length (%ld) must be at least one byte.  80-character records will be "
-"assumed."
-msgstr ""
-
-#: file-handle.q:126 file-handle.q:140 src/file-handle.q:126
-#: src/file-handle.q:140
-#, c-format
-msgid ""
-"%s is not implemented, as the author doesn't know what it is supposed to "
-"do.  Send a note to %s."
-msgstr ""
-
-#: file-handle.q:147 file-handle.q:150 src/file-handle.q:147
-#: src/file-handle.q:150
-#, c-format
-msgid "%s is not implemented.  If you care, complain."
-msgstr ""
-
-#: file-handle.q:232 src/file-handle.q:232
-#, c-format
-msgid "File handle `%s' has not been previously declared on FILE HANDLE."
-msgstr ""
-
-#: file-handle.q:319 src/file-handle.q:319
-msgid "<Inline File>"
-msgstr ""
-
-#: file-handle.q:338 src/file-handle.q:338
-msgid "expecting a file name or handle"
-msgstr ""
-
 #: src/filename.c:221
 #, c-format
 msgid "Searching for `%s'..."
@@ -2010,274 +1394,278 @@ msgstr ""
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
 
-#: src/file-type.c:125
+#: src/file-type.c:127
 msgid "MIXED, GROUPED, or NESTED expected."
 msgstr ""
 
-#: src/file-type.c:148
+#: src/file-type.c:150
 msgid "The CASE subcommand is not valid on FILE TYPE MIXED."
 msgstr ""
 
-#: src/file-type.c:166
+#: src/file-type.c:168
 msgid "WARN or NOWARN expected after WILD."
 msgstr ""
 
-#: src/file-type.c:174
+#: src/file-type.c:176
 msgid "The DUPLICATE subcommand is not valid on FILE TYPE MIXED."
 msgstr ""
 
-#: src/file-type.c:188
+#: src/file-type.c:190
 msgid "DUPLICATE=CASE is only valid on FILE TYPE NESTED."
 msgstr ""
 
-#: src/file-type.c:197
+#: src/file-type.c:199
 #, c-format
 msgid "WARN%s expected after DUPLICATE."
 msgstr ""
 
-#: src/file-type.c:198
+#: src/file-type.c:200
 msgid ", NOWARN, or CASE"
 msgstr ""
 
-#: src/file-type.c:199
+#: src/file-type.c:201
 msgid " or NOWARN"
 msgstr ""
 
-#: src/file-type.c:207
+#: src/file-type.c:209
 msgid "The MISSING subcommand is not valid on FILE TYPE MIXED."
 msgstr ""
 
-#: src/file-type.c:219
+#: src/file-type.c:221
 msgid "WARN or NOWARN after MISSING."
 msgstr ""
 
-#: src/file-type.c:227
+#: src/file-type.c:229
 msgid "ORDERED is only valid on FILE TYPE GROUPED."
 msgstr ""
 
-#: src/file-type.c:238
+#: src/file-type.c:240
 msgid "YES or NO expected after ORDERED."
 msgstr ""
 
-#: src/file-type.c:244 src/file-type.c:547 src/get.c:343
+#: src/file-type.c:246 src/file-type.c:541 src/get.c:365
 msgid "while expecting a valid subcommand"
 msgstr ""
 
-#: src/file-type.c:251
+#: src/file-type.c:253
 msgid "The required RECORD subcommand was not present."
 msgstr ""
 
-#: src/file-type.c:259
+#: src/file-type.c:261
 msgid "The required CASE subcommand was not present."
 msgstr ""
 
-#: src/file-type.c:265
+#: src/file-type.c:267
 msgid "CASE and RECORD must specify different variable names."
 msgstr ""
 
-#: src/file-type.c:314
+#: src/file-type.c:322
 msgid "Column value must be positive."
 msgstr ""
 
-#: src/file-type.c:329
+#: src/file-type.c:338
 msgid "Ending column precedes beginning column."
 msgstr ""
 
-#: src/file-type.c:348
+#: src/file-type.c:358
 msgid "Bad format specifier name."
 msgstr ""
 
-#: src/file-type.c:409 src/file-type.c:568
+#: src/file-type.c:387 src/file-type.c:578
 msgid ""
 "This command may only appear within a FILE TYPE/END FILE TYPE structure."
 msgstr ""
 
-#: src/file-type.c:416
+#: src/file-type.c:410
 msgid "OTHER may appear only on the last RECORD TYPE command."
 msgstr ""
 
-#: src/file-type.c:426
+#: src/file-type.c:420
 msgid "No input commands (DATA LIST, REPEATING DATA) for above RECORD TYPE."
 msgstr ""
 
-#: src/file-type.c:480
+#: src/file-type.c:474
 msgid ""
 "The CASE subcommand is not allowed on the RECORD TYPE command for FILE TYPE "
 "MIXED."
 msgstr ""
 
-#: src/file-type.c:490
+#: src/file-type.c:484
 msgid ""
 "No variable name may be specified for the CASE subcommand on RECORD TYPE."
 msgstr ""
 
-#: src/file-type.c:498
+#: src/file-type.c:492
 msgid ""
 "The CASE column specification on RECORD TYPE must give a format specifier "
 "that is the same type as that of the CASE column specification given on FILE "
 "TYPE."
 msgstr ""
 
-#: src/file-type.c:514
+#: src/file-type.c:508
 msgid "WARN or NOWARN expected on DUPLICATE subcommand."
 msgstr ""
 
-#: src/file-type.c:528
+#: src/file-type.c:522
 msgid "WARN or NOWARN expected on MISSING subcommand."
 msgstr ""
 
-#: src/file-type.c:541
+#: src/file-type.c:535
 msgid "YES or NO expected on SPREAD subcommand."
 msgstr ""
 
-#: src/file-type.c:581
+#: src/file-type.c:593
 msgid "No input commands (DATA LIST, REPEATING DATA) on above RECORD TYPE."
 msgstr ""
 
-#: src/file-type.c:588
+#: src/file-type.c:600
 msgid "No commands between FILE TYPE and END FILE TYPE."
 msgstr ""
 
-#: src/file-type.c:654
+#: src/file-type.c:669
 #, c-format
 msgid "Unknown record type \"%.*s\"."
 msgstr ""
 
-#: src/file-type.c:678
+#: src/file-type.c:693
 #, c-format
 msgid "Unknown record type %g."
 msgstr ""
 
-#: src/flip.c:162
+#: src/flip.c:210
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/flip.c:178
+#: src/flip.c:226
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/flip.c:293
-#, c-format
-msgid "Error reading FLIP source file: %s."
-msgstr ""
-
-#: src/flip.c:380
+#: src/flip.c:270
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/flip.c:390 src/flip.c:409
+#: src/flip.c:277 src/flip.c:339
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/flip.c:445
-msgid "Error creating FLIP source file."
-msgstr ""
-
-#: src/flip.c:448
+#: src/flip.c:381
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/flip.c:457
+#: src/flip.c:385
+msgid "Error creating FLIP source file."
+msgstr ""
+
+#: src/flip.c:394
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/flip.c:469
+#: src/flip.c:406
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/flip.c:474
+#: src/flip.c:411
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/flip.c:482
+#: src/flip.c:422
 #, c-format
 msgid "Error rewind FLIP source file: %s."
 msgstr ""
 
-#: src/format.c:74
+#: src/flip.c:470
+#, c-format
+msgid "Error reading FLIP temporary file: %s."
+msgstr ""
+
+#: src/flip.c:473
+msgid "Unexpected end of file reading FLIP temporary file."
+msgstr ""
+
+#: src/format.c:69
 msgid "X and T format specifiers not allowed here."
 msgstr ""
 
-#: src/format.c:80
+#: src/format.c:76
 #, c-format
-msgid "%s is not a valid data format."
+msgid "%.*s is not a valid data format."
 msgstr ""
 
-#: src/format.c:111
+#: src/format.c:127
 #, c-format
 msgid "Format %s may not be used as an input format."
 msgstr ""
 
-#: src/format.c:116
+#: src/format.c:132
 #, c-format
 msgid ""
 "Input format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/format.c:123
+#: src/format.c:139
 #, c-format
 msgid ""
 "Input format %s specifies an odd width %d, but format %s requires an even "
 "width between %d and %d."
 msgstr ""
 
-#: src/format.c:130
+#: src/format.c:146
 #, c-format
 msgid ""
 "Input format %s specifies a bad number of implied decimal places %d.  Input "
 "format %s allows up to 16 implied decimal places."
 msgstr ""
 
-#: src/format.c:150
+#: src/format.c:169
 #, c-format
 msgid ""
 "Output format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/format.c:160
+#: src/format.c:179
 #, c-format
 msgid ""
 "Output format %s requires minimum width %d to allow %d decimal places.  Try %"
 "s%d.%d instead of %s."
 msgstr ""
 
-#: src/format.c:168
+#: src/format.c:187
 #, c-format
 msgid ""
 "Output format %s specifies an odd width %d, but output format %s requires an "
 "even width between %d and %d."
 msgstr ""
 
-#: src/format.c:175
+#: src/format.c:194
 #, c-format
 msgid ""
 "Output format %s specifies a bad number of implied decimal places %d.  "
 "Output format %s allows a number of implied decimal places between 1 and 16."
 msgstr ""
 
-#: src/format.c:192
+#: src/format.c:211
 #, c-format
 msgid "Can't display a string variable of width %d with format specifier %s."
 msgstr ""
 
-#: src/format.c:302
+#: src/format.c:329
 msgid "Format specifier expected."
 msgstr ""
 
-#: src/format.c:313
+#: src/format.c:340
 #, c-format
 msgid "Data format %s does not specify a width."
 msgstr ""
 
-#: src/format.c:330
+#: src/format.c:357
 #, c-format
 msgid "Data format %s is not valid."
 msgstr ""
@@ -2305,316 +1693,21 @@ msgstr ""
 msgid "  Name      Print         Write\n"
 msgstr ""
 
-#: frequencies.c:294
-msgid "ONEPAGE specifier of FORMAT subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:300
-msgid "Bad argument for ONEPAGE specifier of FORMAT subcommand."
-msgstr ""
-
-#: frequencies.c:306
-msgid "`)' expected after argument for ONEPAGE specifier of FORMAT."
+#: src/get.c:112
+#, c-format
+msgid "GET translation table from file to memory:\n"
 msgstr ""
 
-#: frequencies.c:318
-msgid "`(' expected after LIMIT specifier of FORMAT subcommand."
+#: src/get.c:117 src/get.c:1416
+#, c-format
+msgid "  %8s from %3d,%3d to %3d,%3d\n"
 msgstr ""
 
-#: frequencies.c:323
-msgid "LIMIT specifier of FORMAT subcommand requires an integer argument."
+#: src/get.c:371
+msgid "All variables deleted from system file dictionary."
 msgstr ""
 
-#: frequencies.c:329
-msgid "Bad argument for LIMIT specifier of FORMAT subcommand."
-msgstr ""
-
-#: frequencies.c:335
-msgid "`)' expected after argument for LIMIT specifier of FORMAT."
-msgstr ""
-
-#: frequencies.c:399
-msgid "`(' expected after MINIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:404
-msgid "Number expected after MINIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:411
-msgid "`)' expected after argument for MINIMUM specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:419
-msgid "`(' expected after MAXIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:424
-msgid "Number expected after MAXIMUM specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:431
-msgid "`)' expected after argument for MAXIMUM specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:442
-msgid "FREQ specifier of BARCHART subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:448
-msgid "Bad argument for FREQ specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:454
-msgid "`)' expected after argument for FREQ specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:466
-msgid "PERCENT specifier of BARCHART subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:472
-msgid "Bad argument for PERCENT specifier of BARCHART subcommand."
-msgstr ""
-
-#: frequencies.c:478
-msgid "`)' expected after argument for PERCENT specifier of BARCHART."
-msgstr ""
-
-#: frequencies.c:501
-msgid "`(' expected after MINIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:506
-msgid "Number expected after MINIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:513
-msgid "`)' expected after argument for MINIMUM specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:521
-msgid "`(' expected after MAXIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:526
-msgid "Number expected after MAXIMUM specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:533
-msgid "`)' expected after argument for MAXIMUM specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:544
-msgid "FREQ specifier of HISTOGRAM subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:550
-msgid "Bad argument for FREQ specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:556
-msgid "`)' expected after argument for FREQ specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:568
-msgid "PERCENT specifier of HISTOGRAM subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:574
-msgid "Bad argument for PERCENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:580
-msgid "`)' expected after argument for PERCENT specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:594
-msgid "`(' expected after INCREMENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:599
-msgid "Number expected after INCREMENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:605
-msgid "Bad argument for INCREMENT specifier of HISTOGRAM subcommand."
-msgstr ""
-
-#: frequencies.c:611
-msgid "`)' expected after argument for INCREMENT specifier of HISTOGRAM."
-msgstr ""
-
-#: frequencies.c:633
-msgid "`(' expected after MINIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:638
-msgid "Number expected after MINIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:645
-msgid "`)' expected after argument for MINIMUM specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:653
-msgid "`(' expected after MAXIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:658
-msgid "Number expected after MAXIMUM specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:665
-msgid "`)' expected after argument for MAXIMUM specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:676
-msgid "FREQ specifier of HBAR subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:682
-msgid "Bad argument for FREQ specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:688
-msgid "`)' expected after argument for FREQ specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:700
-msgid "PERCENT specifier of HBAR subcommand requires an integer argument."
-msgstr ""
-
-#: frequencies.c:706
-msgid "Bad argument for PERCENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:712
-msgid "`)' expected after argument for PERCENT specifier of HBAR."
-msgstr ""
-
-#: frequencies.c:726
-msgid "`(' expected after INCREMENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:731
-msgid "Number expected after INCREMENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:737
-msgid "Bad argument for INCREMENT specifier of HBAR subcommand."
-msgstr ""
-
-#: frequencies.c:743
-msgid "`)' expected after argument for INCREMENT specifier of HBAR."
-msgstr ""
-
-#: frequencies.q:96 src/frequencies.q:96
-msgid "Median"
-msgstr ""
-
-#: frequencies.q:97 src/frequencies.q:97
-msgid "Mode"
-msgstr ""
-
-#: frequencies.q:268 src/frequencies.q:268
-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 ""
-
-#: frequencies.q:349 src/frequencies.q:349
-#, 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 ""
-
-#: frequencies.q:627 src/frequencies.q:627
-msgid ""
-"Upper limit of integer mode value range must be greater than lower limit."
-msgstr ""
-
-#: frequencies.q:639 src/frequencies.q:639
-#, c-format
-msgid "Variable %s specified multiple times on VARIABLES subcommand."
-msgstr ""
-
-#: frequencies.q:652 src/frequencies.q:652
-#, c-format
-msgid "Integer mode specified, but %s is not a numeric variable."
-msgstr ""
-
-#: frequencies.q:714 src/frequencies.q:714
-msgid "`)' expected after GROUPED interval list."
-msgstr ""
-
-#: frequencies.q:724 src/frequencies.q:724
-#, c-format
-msgid "Variables %s specified on GROUPED but not on VARIABLES."
-msgstr ""
-
-#: frequencies.q:727 src/frequencies.q:727
-#, c-format
-msgid "Variables %s specified multiple times on GROUPED subcommand."
-msgstr ""
-
-#: frequencies.q:787 src/frequencies.q:787
-msgid "Percentile list expected after PERCENTILES."
-msgstr ""
-
-#: frequencies.q:795 src/frequencies.q:795
-msgid "Percentiles must be greater than 0 and less than 100."
-msgstr ""
-
-#: frequencies.q:1000 frequencies.q:1090 frequencies.q:1091 frequencies.q:1121
-#: src/frequencies.q:1000 src/frequencies.q:1090 src/frequencies.q:1091
-#: src/frequencies.q:1121
-msgid "Cum"
-msgstr ""
-
-#: frequencies.q:1002 src/frequencies.q:1002
-msgid "Frequency"
-msgstr ""
-
-#: frequencies.q:1021 src/frequencies.q:1021
-msgid "Value Label"
-msgstr ""
-
-#: frequencies.q:1119 src/frequencies.q:1119
-msgid "Freq"
-msgstr ""
-
-#: frequencies.q:1120 frequencies.q:1122 src/frequencies.q:1120
-#: src/frequencies.q:1122
-msgid "Pct"
-msgstr ""
-
-#: frequencies.q:1277 src/frequencies.q:1277
-#, c-format
-msgid "No valid data for variable %s; statistics not displayed."
-msgstr ""
-
-#: frequencies.q:1300 src/frequencies.q:1300
-msgid "Percentile"
-msgstr ""
-
-#: src/get.c:110
-#, c-format
-msgid "GET translation table from file to memory:\n"
-msgstr ""
-
-#: src/get.c:115 src/get.c:1397
-#, c-format
-msgid "  %8s from %3d,%3d to %3d,%3d\n"
-msgstr ""
-
-#: src/get.c:349
-msgid "All variables deleted from system file dictionary."
-msgstr ""
-
-#: src/get.c:396
+#: src/get.c:418
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -2622,83 +1715,83 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/get.c:421
+#: src/get.c:443
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/get.c:428
+#: src/get.c:450
 #, 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/get.c:441
+#: src/get.c:463
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/get.c:461
+#: src/get.c:483
 #, c-format
 msgid ""
 "\n"
 "Variables in dictionary:\n"
 msgstr ""
 
-#: src/get.c:582
+#: src/get.c:607
 msgid "The BY subcommand may be given once at most."
 msgstr ""
 
-#: src/get.c:649
+#: src/get.c:674
 msgid "The active file may not be specified more than once."
 msgstr ""
 
-#: src/get.c:658
+#: src/get.c:683
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
-#: src/get.c:690
+#: src/get.c:715
 msgid ""
 "IN, FIRST, and LAST subcommands may not occur before the first FILE or TABLE."
 msgstr ""
 
-#: src/get.c:722
+#: src/get.c:747
 #, c-format
 msgid "Multiple %s subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/get.c:732
+#: src/get.c:757
 #, c-format
 msgid "Duplicate variable name %s while creating %s variable."
 msgstr ""
 
-#: src/get.c:746
+#: src/get.c:771
 msgid ""
 "RENAME, KEEP, and DROP subcommands may not occur before the first FILE or "
 "TABLE."
 msgstr ""
 
-#: src/get.c:770
+#: src/get.c:795
 msgid "The BY subcommand is required when a TABLE subcommand is given."
 msgstr ""
 
-#: src/get.c:791
+#: src/get.c:816
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/get.c:1310
+#: src/get.c:1328
 #, c-format
 msgid ""
 "Variable %s in file %s (%s) has different type or width from the same "
 "variable in earlier file (%s)."
 msgstr ""
 
-#: src/get.c:1359
+#: src/get.c:1378
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/get.c:1392
+#: src/get.c:1411
 #, c-format
 msgid "IMPORT translation table from file to memory:\n"
 msgstr ""
@@ -2718,7 +1811,7 @@ msgstr ""
 msgid "Opening `%s': %s."
 msgstr ""
 
-#: src/getline.c:330 src/html.c:330 src/postscript.c:1463
+#: src/getline.c:330 src/html.c:330 src/postscript.c:1461
 #, c-format
 msgid "Reading `%s': %s."
 msgstr ""
@@ -2728,24 +1821,24 @@ msgstr ""
 msgid "Closing `%s': %s."
 msgstr ""
 
-#: src/glob.c:217
+#: src/glob.c:212
 msgid "data> "
 msgstr ""
 
-#: src/glob.c:274
+#: src/glob.c:269
 msgid "Specify a terminal type with `setenv TERM <yourtype>'."
 msgstr ""
 
-#: src/glob.c:280
+#: src/glob.c:275
 msgid "Could not access the termcap data base."
 msgstr ""
 
-#: src/glob.c:282
+#: src/glob.c:277
 #, c-format
 msgid "Terminal type `%s' is not defined."
 msgstr ""
 
-#: src/glob.c:283
+#: src/glob.c:278
 msgid "Assuming screen of size 79x25."
 msgstr ""
 
@@ -2897,16 +1990,6 @@ msgstr ""
 msgid "hash table:"
 msgstr ""
 
-#: src/heap.c:167
-#, c-format
-msgid "bad ordering of keys %d and %d\n"
-msgstr ""
-
-#: src/heap.c:177
-#, c-format
-msgid "Heap contents:\n"
-msgstr ""
-
 #: src/html.c:66
 #, c-format
 msgid "HTML driver initializing as `%s'..."
@@ -2928,11 +2011,11 @@ msgstr ""
 msgid "%s: %s: Opening HTML prologue..."
 msgstr ""
 
-#: src/html.c:268 src/html.c:279 src/postscript.c:1355 src/postscript.c:1366
+#: src/html.c:268 src/html.c:279 src/postscript.c:1353 src/postscript.c:1364
 msgid "nobody"
 msgstr ""
 
-#: src/html.c:275 src/html.c:280 src/postscript.c:1362 src/postscript.c:1367
+#: src/html.c:275 src/html.c:280 src/postscript.c:1360 src/postscript.c:1365
 msgid "nowhere"
 msgstr ""
 
@@ -2951,7 +2034,7 @@ msgstr ""
 msgid "HTML output driver: %s: %s"
 msgstr ""
 
-#: src/html.c:402 list.q:259 src/list.q:259
+#: src/html.c:402 src/list.q:259
 #, c-format
 msgid "Cannot open first page on HTML device %s."
 msgstr ""
@@ -2960,31 +2043,31 @@ msgstr ""
 msgid "Unrecognized filename format."
 msgstr ""
 
-#: src/inpt-pgm.c:84
+#: src/inpt-pgm.c:86
 msgid "No matching INPUT PROGRAM command."
 msgstr ""
 
-#: src/inpt-pgm.c:89
+#: src/inpt-pgm.c:91
 msgid ""
 "No data-input or transformation commands specified between INPUT PROGRAM and "
 "END INPUT PROGRAM."
 msgstr ""
 
-#: src/inpt-pgm.c:283 src/inpt-pgm.c:420
+#: src/inpt-pgm.c:295 src/inpt-pgm.c:438
 msgid ""
 "This command may only be executed between INPUT PROGRAM and END INPUT "
 "PROGRAM."
 msgstr ""
 
-#: src/inpt-pgm.c:336
+#: src/inpt-pgm.c:351
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/inpt-pgm.c:350
+#: src/inpt-pgm.c:365
 msgid "expecting file handle name"
 msgstr ""
 
-#: src/inpt-pgm.c:393
+#: src/inpt-pgm.c:410
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
@@ -3048,7 +2131,7 @@ msgstr ""
 msgid "The rest of this command has been discarded."
 msgstr ""
 
-#: src/lexer.c:842 src/print.c:1150
+#: src/lexer.c:842 src/print.c:1154
 #, c-format
 msgid "<ERROR>"
 msgstr ""
@@ -3094,323 +2177,228 @@ msgid ""
 "spaces."
 msgstr ""
 
-#: list.c:131
-msgid "FROM specifier of CASES subcommand requires an integer argument."
-msgstr ""
-
-#: list.c:137
-msgid "Bad argument for FROM specifier of CASES subcommand."
-msgstr ""
-
-#: list.c:146
-msgid "BY specifier of CASES subcommand requires an integer argument."
-msgstr ""
-
-#: list.c:152
-msgid "Bad argument for BY specifier of CASES subcommand."
-msgstr ""
-
-#: list.c:162
-msgid "TO specifier of CASES subcommand requires an integer argument."
-msgstr ""
-
-#: list.c:168
-msgid "Bad argument for TO specifier of CASES subcommand."
-msgstr ""
-
-#: list.q:152 src/list.q:152
-#, c-format
-msgid ""
-"The first case (%ld) specified precedes the last case (%ld) specified.  The "
-"values will be swapped."
-msgstr ""
-
-#: list.q:160 src/list.q:160
-#, c-format
-msgid ""
-"The first case (%ld) to list is less than 1.  The value is being reset to 1."
-msgstr ""
-
-#: list.q:166 src/list.q:166
-#, c-format
-msgid ""
-"The last case (%ld) to list is less than 1.  The value is being reset to 1."
-msgstr ""
-
-#: list.q:172 src/list.q:172
-#, c-format
-msgid "The step value %ld is less than 1.  The value is being reset to 1."
-msgstr ""
-
-#: list.q:199 src/list.q:199
-msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
-msgstr ""
-
-#: list.q:445 src/list.q:445
-msgid "Line"
-msgstr ""
-
-#: src/loop.c:201
+#: src/loop.c:194
 msgid "The index variable may not be a string variable."
 msgstr ""
 
-#: src/loop.c:316
+#: src/loop.c:309
 msgid "There is no LOOP command that corresponds to this END LOOP."
 msgstr ""
 
-#: src/loop.c:516
+#: src/loop.c:512
 msgid ""
 "This command may only appear enclosed in a LOOP/END LOOP control structure."
 msgstr ""
 
-#: src/loop.c:522
+#: src/loop.c:518
 msgid "BREAK not enclosed in DO IF structure."
 msgstr ""
 
-#: src/loop.c:599
+#: src/loop.c:596
 #, c-format
 msgid "%s without %s."
 msgstr ""
 
-#: src/main.c:63
+#: src/main.c:71
 msgid "Error initializing output drivers."
 msgstr ""
 
-#: src/main.c:124
+#: src/main.c:132
 msgid "This command not executed."
 msgstr ""
 
-#: src/main.c:128
+#: src/main.c:136
 msgid ""
 "Skipping the rest of this command.  Part of this command may have been "
 "executed."
 msgstr ""
 
-#: src/main.c:133
+#: src/main.c:141
 msgid ""
 "Skipping the rest of this command.  This command was fully executed up to "
 "this point."
 msgstr ""
 
-#: src/main.c:138
+#: src/main.c:146
 msgid ""
 "Trailing garbage was encountered following this command.  The command was "
 "fully executed to this point."
 msgstr ""
 
-#: src/matrix-data.c:186
+#: src/matrix-data.c:191
 msgid "VARIABLES subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:201
+#: src/matrix-data.c:206
 msgid "VARNAME_ cannot be explicitly specified on VARIABLES."
 msgstr ""
 
-#: src/matrix-data.c:265
+#: src/matrix-data.c:271
 msgid "in FORMAT subcommand"
 msgstr ""
 
-#: src/matrix-data.c:276
+#: src/matrix-data.c:282
 msgid "SPLIT subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:283
+#: src/matrix-data.c:289
 msgid "in SPLIT subcommand"
 msgstr ""
 
-#: src/matrix-data.c:292
+#: src/matrix-data.c:298
 msgid "Split variable may not be named ROWTYPE_ or VARNAME_."
 msgstr ""
 
-#: src/matrix-data.c:324
+#: src/matrix-data.c:331
 #, c-format
 msgid "Split variable %s is already another type."
 msgstr ""
 
-#: src/matrix-data.c:339
+#: src/matrix-data.c:346
 msgid "FACTORS subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:354
+#: src/matrix-data.c:361
 #, c-format
 msgid "Factor variable %s is already another type."
 msgstr ""
 
-#: src/matrix-data.c:369
+#: src/matrix-data.c:376
 msgid "CELLS subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:375 src/matrix-data.c:394
+#: src/matrix-data.c:382 src/matrix-data.c:401
 msgid "expecting positive integer"
 msgstr ""
 
-#: src/matrix-data.c:388
+#: src/matrix-data.c:395
 msgid "N subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:409
+#: src/matrix-data.c:416
 msgid "CONTENTS subcommand multiply specified."
 msgstr ""
 
-#: src/matrix-data.c:429
+#: src/matrix-data.c:436
 msgid "Nested parentheses not allowed."
 msgstr ""
 
-#: src/matrix-data.c:439
+#: src/matrix-data.c:446
 msgid "Mismatched right parenthesis (`(')."
 msgstr ""
 
-#: src/matrix-data.c:444
+#: src/matrix-data.c:451
 msgid "Empty parentheses not allowed."
 msgstr ""
 
-#: src/matrix-data.c:457 src/matrix-data.c:465
+#: src/matrix-data.c:464 src/matrix-data.c:472
 msgid "in CONTENTS subcommand"
 msgstr ""
 
-#: src/matrix-data.c:472
+#: src/matrix-data.c:479
 #, c-format
 msgid "Content multiply specified for %s."
 msgstr ""
 
-#: src/matrix-data.c:489
+#: src/matrix-data.c:496
 msgid "Missing right parenthesis."
 msgstr ""
 
-#: src/matrix-data.c:509
+#: src/matrix-data.c:516
 msgid "Missing VARIABLES subcommand."
 msgstr ""
 
-#: src/matrix-data.c:515
+#: src/matrix-data.c:522
 msgid ""
 "CONTENTS subcommand not specified: assuming file contains only CORR matrix."
 msgstr ""
 
-#: src/matrix-data.c:525
+#: src/matrix-data.c:532
 msgid ""
 "Missing CELLS subcommand.  CELLS is required when ROWTYPE_ is not given in "
 "the data and factors are present."
 msgstr ""
 
-#: src/matrix-data.c:533
+#: src/matrix-data.c:540
 msgid "Split file values must be present in the data when ROWTYPE_ is present."
 msgstr ""
 
-#: src/matrix-data.c:588
+#: src/matrix-data.c:595
 msgid "No continuous variables specified."
 msgstr ""
 
-#: src/matrix-data.c:1002
+#: src/matrix-data.c:987
 #, c-format
 msgid "End of line expected %s while reading %s."
 msgstr ""
 
-#: src/matrix-data.c:1190
+#: src/matrix-data.c:1179
 #, c-format
 msgid "expecting value for %s %s"
 msgstr ""
 
-#: src/matrix-data.c:1342
+#: src/matrix-data.c:1339
 #, c-format
 msgid "Syntax error expecting SPLIT FILE value %s."
 msgstr ""
 
-#: src/matrix-data.c:1351
+#: src/matrix-data.c:1348
 #, c-format
 msgid "Expecting value %g for %s."
 msgstr ""
 
-#: src/matrix-data.c:1389 src/matrix-data.c:1823
+#: src/matrix-data.c:1387 src/matrix-data.c:1842
 #, c-format
 msgid "Syntax error expecting factor value %s."
 msgstr ""
 
-#: src/matrix-data.c:1398
+#: src/matrix-data.c:1396
 #, c-format
 msgid "Syntax error expecting value %g for %s %s."
 msgstr ""
 
-#: src/matrix-data.c:1612
+#: src/matrix-data.c:1623
 #, c-format
 msgid "Syntax error %s expecting SPLIT FILE value."
 msgstr ""
 
-#: src/matrix-data.c:1736
+#: src/matrix-data.c:1751
 #, 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/matrix-data.c:1768
+#: src/matrix-data.c:1785
 #, c-format
 msgid "Multiply specified ROWTYPE_ %s."
 msgstr ""
 
-#: src/matrix-data.c:1773
+#: src/matrix-data.c:1790
 #, c-format
 msgid "Syntax error %s expecting ROWTYPE_ string."
 msgstr ""
 
-#: src/matrix-data.c:1792
+#: src/matrix-data.c:1810
 #, c-format
 msgid "Syntax error %s."
 msgstr ""
 
-#: src/matrix-data.c:1938
+#: src/matrix-data.c:1958
 #, c-format
 msgid "Duplicate specification for %s."
 msgstr ""
 
-#: src/matrix-data.c:1950
+#: src/matrix-data.c:1970
 #, c-format
 msgid "Too many rows of matrix data for %s."
 msgstr ""
 
-#: src/matrix-data.c:1995
+#: src/matrix-data.c:2016
 #, c-format
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
-#: means.c:210
-msgid "CROSSBREAK subcommand may be given only once."
-msgstr ""
-
-#: means.q:106 src/means.q:106
-msgid "Missing required subcommand TABLES."
-msgstr ""
-
-#: means.q:144 src/means.q:144
-msgid "TABLES or CROSSBREAK subcommand may not appear more than once."
-msgstr ""
-
-#: means.q:181 src/means.q:181
-#, c-format
-msgid ""
-"Variable %s specified on TABLES or CROSSBREAK, but not specified on "
-"VARIABLES."
-msgstr ""
-
-#: means.q:195 src/means.q:195
-#, c-format
-msgid "LOWEST and HIGHEST may not be used for independent variables (%s)."
-msgstr ""
-
-#: means.q:203 src/means.q:203
-#, c-format
-msgid ""
-"Independent variables (%s) may not have noninteger endpoints in their ranges."
-msgstr ""
-
-#: means.q:236 src/means.q:236
-msgid "VARIABLES must precede TABLES."
-msgstr ""
-
-#: means.q:293 src/means.q:293
-#, c-format
-msgid "Upper value (%g) is less than lower value (%g) on VARIABLES subcommand."
-msgstr ""
-
 #: src/mis-val.c:77
 msgid "`)' expected after value specification."
 msgstr ""
@@ -3575,12 +2563,12 @@ msgstr ""
 msgid "%s: Opening device description file..."
 msgstr ""
 
-#: src/output.c:304 src/output.c:1164 src/postscript.c:1097
+#: src/output.c:304 src/output.c:1165 src/postscript.c:1097
 #, c-format
 msgid "Opening %s: %s."
 msgstr ""
 
-#: src/output.c:315 src/output.c:1175 src/postscript.c:1114
+#: src/output.c:315 src/output.c:1176 src/postscript.c:1112
 #, c-format
 msgid "Reading %s: %s."
 msgstr ""
@@ -3589,7 +2577,7 @@ msgstr ""
 msgid "Syntax error."
 msgstr ""
 
-#: src/output.c:347 src/postscript.c:1125
+#: src/output.c:347 src/postscript.c:1123
 #, c-format
 msgid "Closing %s: %s."
 msgstr ""
@@ -3617,112 +2605,112 @@ msgstr ""
 msgid "Syntax error in string constant."
 msgstr ""
 
-#: src/output.c:621
+#: src/output.c:622
 msgid "Syntax error in options."
 msgstr ""
 
-#: src/output.c:631
+#: src/output.c:632
 msgid "Syntax error in options (`=' expected)."
 msgstr ""
 
-#: src/output.c:638
+#: src/output.c:639
 msgid "Syntax error in options (value expected after `=')."
 msgstr ""
 
-#: src/output.c:710
+#: src/output.c:711
 msgid "Driver name expected."
 msgstr ""
 
-#: src/output.c:731
+#: src/output.c:732
 msgid "Class name expected."
 msgstr ""
 
-#: src/output.c:740
+#: src/output.c:741
 #, c-format
 msgid "Unknown output driver class `%s'."
 msgstr ""
 
-#: src/output.c:747
+#: src/output.c:748
 #, c-format
 msgid "Can't initialize output driver class `%s'."
 msgstr ""
 
-#: src/output.c:754
+#: src/output.c:755
 #, c-format
 msgid "Can't initialize output driver `%s' of class `%s'."
 msgstr ""
 
-#: src/output.c:776
+#: src/output.c:777
 #, c-format
 msgid "Unknown device type `%s'."
 msgstr ""
 
-#: src/output.c:788
+#: src/output.c:789
 #, c-format
 msgid "Can't complete initialization of output driver `%s' of class `%s'."
 msgstr ""
 
-#: src/output.c:835
+#: src/output.c:836
 #, c-format
 msgid "Can't deinitialize output driver class `%s'."
 msgstr ""
 
-#: src/output.c:908
+#: src/output.c:909
 #, c-format
 msgid "Trying to find keyword `%s'...\n"
 msgstr ""
 
-#: src/output.c:1025
+#: src/output.c:1026
 #, c-format
 msgid "Unit \"%s\" is unknown in dimension \"%s\"."
 msgstr ""
 
-#: src/output.c:1040
+#: src/output.c:1041
 #, c-format
 msgid "Bad dimension \"%s\"."
 msgstr ""
 
-#: src/output.c:1066
+#: src/output.c:1067
 #, c-format
 msgid "`x' expected in paper size `%s'."
 msgstr ""
 
-#: src/output.c:1076
+#: src/output.c:1077
 #, c-format
 msgid "Trailing garbage `%s' on paper size `%s'."
 msgstr ""
 
-#: src/output.c:1125
+#: src/output.c:1126
 msgid "Paper size name must not be empty."
 msgstr ""
 
-#: src/output.c:1156
+#: src/output.c:1157
 msgid "Cannot find `papersize' configuration file."
 msgstr ""
 
-#: src/output.c:1160
+#: src/output.c:1161
 #, c-format
 msgid "%s: Opening paper size definition file..."
 msgstr ""
 
-#: src/output.c:1202
+#: src/output.c:1203
 msgid "Syntax error in paper size definition."
 msgstr ""
 
-#: src/output.c:1231
+#: src/output.c:1232
 msgid "Paper size definition file read successfully."
 msgstr ""
 
-#: src/output.c:1233
+#: src/output.c:1234
 msgid "Error reading paper size definition file."
 msgstr ""
 
-#: src/output.c:1302
+#: src/output.c:1303
 #, c-format
 msgid "Error closing page on %s device of %s class."
 msgstr ""
 
-#: src/output.c:1306
+#: src/output.c:1307
 #, c-format
 msgid "Error opening page on %s device of %s class."
 msgstr ""
@@ -3800,119 +2788,119 @@ msgstr ""
 msgid "Bad character in time."
 msgstr ""
 
-#: src/pfm-read.c:622 src/pfm-read.c:631 src/sfm-read.c:900 src/sfm-read.c:910
+#: src/pfm-read.c:622 src/pfm-read.c:629 src/sfm-read.c:900 src/sfm-read.c:908
 #, c-format
 msgid "%s: Bad format specifier byte (%d)."
 msgstr ""
 
-#: src/pfm-read.c:633
+#: src/pfm-read.c:631
 #, c-format
 msgid "%s variable %s has %s format specifier %s."
 msgstr ""
 
-#: src/pfm-read.c:634 src/print.c:608 src/sfm-read.c:914
+#: src/pfm-read.c:632 src/print.c:610 src/sfm-read.c:912
 msgid "String"
 msgstr ""
 
-#: src/pfm-read.c:634 src/print.c:608 src/sfm-read.c:914
+#: src/pfm-read.c:632 src/print.c:610 src/sfm-read.c:912
 msgid "Numeric"
 msgstr ""
 
-#: src/pfm-read.c:673
+#: src/pfm-read.c:671
 msgid "Expected variable count record."
 msgstr ""
 
-#: src/pfm-read.c:677
+#: src/pfm-read.c:675
 #, c-format
 msgid "Invalid number of variables %d."
 msgstr ""
 
-#: src/pfm-read.c:687
+#: src/pfm-read.c:685
 #, c-format
 msgid "Unexpected flag value %d."
 msgstr ""
 
-#: src/pfm-read.c:701
+#: src/pfm-read.c:699
 #, c-format
 msgid "Weight variable name (%s) truncated."
 msgstr ""
 
-#: src/pfm-read.c:716
+#: src/pfm-read.c:714
 msgid "Expected variable record."
 msgstr ""
 
-#: src/pfm-read.c:722
+#: src/pfm-read.c:720
 #, c-format
 msgid "Invalid variable width %d."
 msgstr ""
 
-#: src/pfm-read.c:740
+#: src/pfm-read.c:738
 #, c-format
 msgid "position %d: Variable name has %u characters."
 msgstr ""
 
-#: src/pfm-read.c:744
+#: src/pfm-read.c:742
 #, c-format
 msgid "position %d: Variable name begins with invalid character."
 msgstr ""
 
-#: src/pfm-read.c:748
+#: src/pfm-read.c:746
 #, c-format
 msgid "position %d: Variable name begins with lowercase letter %c."
 msgstr ""
 
-#: src/pfm-read.c:761
+#: src/pfm-read.c:759
 #, c-format
 msgid "position %d: Variable name character %d is lowercase letter %c."
 msgstr ""
 
-#: src/pfm-read.c:771
+#: src/pfm-read.c:769
 #, c-format
 msgid "position %d: character `\\%03o' is not valid in a variable name."
 msgstr ""
 
-#: src/pfm-read.c:782
+#: src/pfm-read.c:780
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr ""
 
-#: src/pfm-read.c:826
+#: src/pfm-read.c:824
 #, c-format
 msgid "Bad missing values for %s."
 msgstr ""
 
-#: src/pfm-read.c:849
+#: src/pfm-read.c:847
 #, c-format
 msgid "Weighting variable %s not present in dictionary."
 msgstr ""
 
-#: src/pfm-read.c:922
+#: src/pfm-read.c:920
 #, c-format
 msgid "Unknown variable %s while parsing value labels."
 msgstr ""
 
-#: src/pfm-read.c:925
+#: src/pfm-read.c:923
 #, c-format
 msgid ""
 "Cannot assign value labels to %s and %s, which have different variable types "
 "or widths."
 msgstr ""
 
-#: src/pfm-read.c:958
+#: src/pfm-read.c:956
 #, c-format
 msgid "Duplicate label for value %g for variable %s."
 msgstr ""
 
-#: src/pfm-read.c:961
+#: src/pfm-read.c:959
 #, c-format
 msgid "Duplicate label for value `%.*s' for variable %s."
 msgstr ""
 
-#: src/pfm-read.c:1031
+#: src/pfm-read.c:1029
 msgid "End of file midway through case."
 msgstr ""
 
-#: src/pfm-read.c:1041
+#: src/pfm-read.c:1039
 msgid "reading as a portable file"
 msgstr ""
 
@@ -4040,118 +3028,124 @@ msgstr ""
 msgid "%s: %s: Opening PostScript encoding list file."
 msgstr ""
 
-#: src/postscript.c:1127
+#: src/postscript.c:1125
 #, c-format
 msgid "%s: PostScript encoding list file read successfully."
 msgstr ""
 
-#: src/postscript.c:1141
+#: src/postscript.c:1139
 msgid "<<default encoding>>"
 msgstr ""
 
-#: src/postscript.c:1299
+#: src/postscript.c:1297
 msgid ""
 "Cannot find PostScript prologue.  The use of `-vv' on the command line is "
 "suggested as a debugging aid."
 msgstr ""
 
-#: src/postscript.c:1304
+#: src/postscript.c:1302
 #, c-format
 msgid "%s: %s: Opening PostScript prologue..."
 msgstr ""
 
-#: src/postscript.c:1476
+#: src/postscript.c:1474
 #, c-format
 msgid "%s: PostScript prologue read successfully."
 msgstr ""
 
-#: src/postscript.c:1480
+#: src/postscript.c:1478
 #, c-format
 msgid "%s: Error reading PostScript prologue."
 msgstr ""
 
-#: src/postscript.c:1650
+#: src/postscript.c:1648
 #, c-format
 msgid "PostScript output driver: %s: %s"
 msgstr ""
 
-#: src/postscript.c:2334
+#: src/postscript.c:2332
 #, c-format
 msgid "PostScript driver: Cannot find encoding `%s' for PostScript font `%s'."
 msgstr ""
 
-#: src/print.c:186
+#: src/print.c:188
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/print.c:366 src/print.c:383
+#: src/print.c:368 src/print.c:385
 #, c-format
 msgid "%g is not a valid column location."
 msgstr ""
 
-#: src/print.c:377
+#: src/print.c:379
 #, c-format
 msgid "Column location expected following `%d-'."
 msgstr ""
 
-#: src/print.c:388
+#: src/print.c:390
 #, 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/print.c:494
+#: src/print.c:496
 #, 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/print.c:524
+#: src/print.c:526
 msgid ""
 "The ending column for a field must not be less than the starting column."
 msgstr ""
 
-#: src/print.c:607
+#: src/print.c:609
 #, c-format
 msgid "%s variables cannot be displayed with format %s."
 msgstr ""
 
-#: src/print.c:694
+#: src/print.c:687
+msgid ""
+"The number of format specifications exceeds the number of variable names "
+"given."
+msgstr ""
+
+#: src/print.c:696
 #, c-format
 msgid "Display format %s may not be used with a %s variable."
 msgstr ""
 
-#: src/print.c:844
+#: src/print.c:846
 #, c-format
 msgid "Writing %3d records to file %s."
 msgstr ""
 
-#: src/print.c:845
+#: src/print.c:847
 #, c-format
 msgid "Writing %3d records to the listing file."
 msgstr ""
 
-#: src/print.c:1039
+#: src/print.c:1042
 msgid "A file name or handle was expected in the OUTFILE subcommand."
 msgstr ""
 
-#: src/print.c:1091
+#: src/print.c:1095
 #, c-format
 msgid ""
 "The expression on PRINT SPACE evaluated to %d.  It's not possible to PRINT "
 "SPACE a negative number of lines."
 msgstr ""
 
-#: src/recode.c:287
+#: src/recode.c:288
 #, c-format
 msgid ""
 "%d variable(s) cannot be recoded into %d variable(s).  Specify the same "
 "number of variables as input and output variables."
 msgstr ""
 
-#: src/recode.c:301
+#: src/recode.c:302
 #, c-format
 msgid ""
 "There is no string variable named %s.  (All string variables specified on "
@@ -4159,56 +3153,60 @@ msgid ""
 "variable.)"
 msgstr ""
 
-#: src/recode.c:310
+#: src/recode.c:311
 #, c-format
 msgid ""
 "Type mismatch between input and output variables.  Output variable %s is not "
 "a string variable, but all the input variables are string variables."
 msgstr ""
 
-#: src/recode.c:329
+#: src/recode.c:330
 #, c-format
 msgid "Type mismatch after INTO: %s is not a numeric variable."
 msgstr ""
 
-#: src/recode.c:359
+#: src/recode.c:360
 msgid ""
 "INTO must be used when the input values are numeric and output values are "
 "string."
 msgstr ""
 
-#: src/recode.c:367
+#: src/recode.c:368
 msgid ""
 "INTO must be used when the input values are string and output values are "
 "numeric."
 msgstr ""
 
-#: src/recode.c:501
+#: src/recode.c:493
+msgid "expecting output value"
+msgstr ""
+
+#: src/recode.c:507
 msgid ""
 "Inconsistent output types.  The output values must be all numeric or all "
 "string."
 msgstr ""
 
-#: src/recode.c:552
+#: src/recode.c:558
 msgid "following LO THRU"
 msgstr ""
 
-#: src/recode.c:568 src/recode.c:597
+#: src/recode.c:574 src/recode.c:603
 msgid "in source value"
 msgstr ""
 
-#: src/recode.c:610
+#: src/recode.c:616
 msgid ""
 "Keyword CONVERT may only be used with string input values and numeric output "
 "values."
 msgstr ""
 
-#: src/recode.c:866
+#: src/recode.c:876
 #, c-format
 msgid "!!END!!"
 msgstr ""
 
-#: src/recode.c:887 src/recode.c:903
+#: src/recode.c:897 src/recode.c:913
 #, c-format
 msgid "!!ERROR!!"
 msgstr ""
@@ -4260,155 +3258,20 @@ msgstr ""
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/sel-if.c:102
+#: src/sel-if.c:104
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/sel-if.c:108
+#: src/sel-if.c:110
 msgid "The filter variable may not be scratch."
 msgstr ""
 
-#: src/sel-if.c:142
+#: src/sel-if.c:144
 msgid "Only last instance of this command is in effect."
 msgstr ""
 
-#: set.c:640
-msgid "String for BLOCK must be one character long."
-msgstr ""
-
-#: set.c:658
-msgid "String for BOXSTRING must be 3 or 11 characters long."
-msgstr ""
-
-#: set.c:872
-msgid "String for ENDCMD must be one character long."
-msgstr ""
-
-#: set.c:1007
-msgid "String for HISTOGRAM must be one character long."
-msgstr ""
-
-#: set.c:1494
-msgid "String for SCRIPTTAB must be one character long."
-msgstr ""
-
-#: set.c:1529
-msgid "String for TB1 must be 3 or 11 characters long."
-msgstr ""
-
-#: set.q:216 set.q:219 set.q:237 set.q:306 set.q:312 set.q:320 set.q:327
-#: set.q:329 set.q:348 set.q:352 set.q:356 set.q:370 set.q:372 set.q:376
-#: set.q:694 set.q:775 set.q:856 src/set.q:216 src/set.q:219 src/set.q:237
-#: src/set.q:306 src/set.q:312 src/set.q:320 src/set.q:327 src/set.q:329
-#: src/set.q:348 src/set.q:352 src/set.q:356 src/set.q:370 src/set.q:372
-#: src/set.q:376 src/set.q:694 src/set.q:775 src/set.q:856
-#, c-format
-msgid "%s is obsolete."
-msgstr ""
-
-#: set.q:223 src/set.q:223
-msgid "Active file compression is not yet implemented (and probably won't be)."
-msgstr ""
-
-#: set.q:232 src/set.q:232
-msgid "CPI must be greater than 0."
-msgstr ""
-
-#: set.q:241 src/set.q:241
-msgid "LPI must be greater than 0."
-msgstr ""
-
-#: set.q:248 src/set.q:248
-msgid ""
-"CASE is not implemented and probably won't be.  If you care, complain about "
-"it."
-msgstr ""
-
-#: set.q:278 src/set.q:278
-#, c-format
-msgid "Value for MITERATE (%ld) must be greater than 0."
-msgstr ""
-
-#: set.q:286 src/set.q:286
-#, c-format
-msgid "Value for MNEST (%ld) must be greater than 0."
-msgstr ""
-
-#: set.q:294 src/set.q:294
-msgid "MXERRS must be at least 1."
-msgstr ""
-
-#: set.q:301 src/set.q:301
-msgid "MXLOOPS must be at least 1."
-msgstr ""
-
-#: set.q:390 src/set.q:390
-#, c-format
-msgid ""
-"CC%c: Length of custom currency string `%s' (%d) exceeds maximum length of "
-"16."
-msgstr ""
-
-#: set.q:412 src/set.q:412
-#, c-format
-msgid ""
-"CC%c: Custom currency string `%s' does not contain exactly three periods or "
-"commas (not both)."
-msgstr ""
-
-#: set.q:555 src/set.q:555
-msgid "LENGTH must be at least 1."
-msgstr ""
-
-#: set.q:592 src/set.q:592
-msgid "Missing identifier in RESULTS subcommand."
-msgstr ""
-
-#: set.q:603 src/set.q:603
-msgid "Unrecognized identifier in RESULTS subcommand."
-msgstr ""
-
-#: set.q:640 src/set.q:640
-msgid "WIDTH must be at least 1."
-msgstr ""
-
-#: set.q:663 src/set.q:663
-#, c-format
-msgid ""
-"FORMAT requires numeric output format as an argument.  Specified format %s "
-"is of type string."
-msgstr ""
-
-#: set.q:707 src/set.q:707
-msgid "Text color must be in range 0-15."
-msgstr ""
-
-#: set.q:720 src/set.q:720
-msgid "Background color must be in range 0-7."
-msgstr ""
-
-#: set.q:731 src/set.q:731
-msgid "Border color must be in range 0-7."
-msgstr ""
-
-#: set.q:787 src/set.q:787
-msgid "Lower window color must be between 0 and 6."
-msgstr ""
-
-#: set.q:801 src/set.q:801
-msgid "Upper window color must be between 0 and 6."
-msgstr ""
-
-#: set.q:813 src/set.q:813
-msgid "Frame color must be between 0 and 6."
-msgstr ""
-
-#: set.q:865 src/set.q:865
-msgid "Drive letter expected in WORKDEV subcommand."
-msgstr ""
-
-#: src/sfm-read.c:150
-msgid "corrupt system file: "
+#: src/sfm-read.c:150
+msgid "corrupt system file: "
 msgstr ""
 
 #: src/sfm-read.c:166 src/sfm-write.c:739
@@ -4655,153 +3518,157 @@ msgid ""
 "file."
 msgstr ""
 
-#: src/sfm-read.c:913
+#: src/sfm-read.c:911
 #, c-format
 msgid "%s: %s variable %s has %s format specifier %s."
 msgstr ""
 
-#: src/sfm-read.c:992
+#: src/sfm-read.c:990
 #, c-format
 msgid ""
 "%s: Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
 msgstr ""
 
-#: src/sfm-read.c:1002
+#: src/sfm-read.c:1000
 #, c-format
 msgid ""
 "%s: Number of variables associated with a value label (%d) is not between 1 "
 "and the number of variables (%d)."
 msgstr ""
 
-#: src/sfm-read.c:1018
+#: src/sfm-read.c:1016
 #, c-format
 msgid ""
 "%s: Variable index associated with value label (%d) is not between 1 and the "
 "number of values (%d)."
 msgstr ""
 
-#: src/sfm-read.c:1025
+#: src/sfm-read.c:1023
 #, c-format
 msgid ""
 "%s: Variable index associated with value label (%d) refers to a continuation "
 "of a string variable, not to an actual variable."
 msgstr ""
 
-#: src/sfm-read.c:1029
+#: src/sfm-read.c:1027
 #, c-format
 msgid "%s: Value labels are not allowed on long string variables (%s)."
 msgstr ""
 
-#: src/sfm-read.c:1039
+#: src/sfm-read.c:1037
 #, c-format
 msgid ""
 "%s: Variables associated with value label are not all of identical type.  "
 "Variable %s has %s type, but variable %s has %s type."
 msgstr ""
 
-#: src/sfm-read.c:1079
+#: src/sfm-read.c:1077
 #, c-format
 msgid "%s: File contains duplicate label for value %g for variable %s."
 msgstr ""
 
-#: src/sfm-read.c:1082
+#: src/sfm-read.c:1080
 #, c-format
 msgid "%s: File contains duplicate label for value `%.*s' for variable %s."
 msgstr ""
 
-#: src/sfm-read.c:1119 src/sfm-read.c:1394
+#: src/sfm-read.c:1117 src/sfm-read.c:1392
 #, c-format
 msgid "%s: Reading system file: %s."
 msgstr ""
 
-#: src/sfm-read.c:1121 src/sfm-read.c:1303 src/sfm-read.c:1344
+#: src/sfm-read.c:1119 src/sfm-read.c:1301 src/sfm-read.c:1342
 #, c-format
 msgid "%s: Unexpected end of file."
 msgstr ""
 
-#: src/sfm-read.c:1139
+#: src/sfm-read.c:1137
 #, c-format
 msgid "%s: System file contains multiple type 6 (document) records."
 msgstr ""
 
-#: src/sfm-read.c:1144
+#: src/sfm-read.c:1142
 #, c-format
 msgid "%s: Number of document lines (%ld) must be greater than 0."
 msgstr ""
 
-#: src/sfm-read.c:1168
+#: src/sfm-read.c:1166
 msgid "dictionary:\n"
 msgstr ""
 
-#: src/sfm-read.c:1176
+#: src/sfm-read.c:1174
 msgid "num"
 msgstr ""
 
-#: src/sfm-read.c:1177
+#: src/sfm-read.c:1175
 msgid "str"
 msgstr ""
 
-#: src/sfm-read.c:1180
+#: src/sfm-read.c:1178
 msgid "left"
 msgstr ""
 
-#: src/sfm-read.c:1180
+#: src/sfm-read.c:1178
 msgid "right"
 msgstr ""
 
-#: src/sfm-read.c:1186
+#: src/sfm-read.c:1184
 msgid "none"
 msgstr ""
 
-#: src/sfm-read.c:1190
+#: src/sfm-read.c:1188
 msgid "one"
 msgstr ""
 
-#: src/sfm-read.c:1194
+#: src/sfm-read.c:1192
 msgid "two"
 msgstr ""
 
-#: src/sfm-read.c:1198
+#: src/sfm-read.c:1196
 msgid "three"
 msgstr ""
 
-#: src/sfm-read.c:1206
+#: src/sfm-read.c:1200 src/descript.q:166
+msgid "range"
+msgstr ""
+
+#: src/sfm-read.c:1204
 msgid "low"
 msgstr ""
 
-#: src/sfm-read.c:1210
+#: src/sfm-read.c:1208
 msgid "high"
 msgstr ""
 
-#: src/sfm-read.c:1214
+#: src/sfm-read.c:1212
 msgid "range+1"
 msgstr ""
 
-#: src/sfm-read.c:1218
+#: src/sfm-read.c:1216
 msgid "low+1"
 msgstr ""
 
-#: src/sfm-read.c:1222
+#: src/sfm-read.c:1220
 msgid "high+1"
 msgstr ""
 
-#: src/sfm-read.c:1256
+#: src/sfm-read.c:1254
 #, c-format
 msgid "%s: Error reading file: %s."
 msgstr ""
 
-#: src/sfm-read.c:1294
+#: src/sfm-read.c:1292
 #, c-format
 msgid "%s: Compressed data is corrupted.  Data ends partway through a case."
 msgstr ""
 
-#: src/sfm-read.c:1396
+#: src/sfm-read.c:1394
 #, c-format
 msgid "%s: Partial record at end of system file."
 msgstr ""
 
-#: src/sfm-read.c:1434
+#: src/sfm-read.c:1432
 msgid "reading as a system file"
 msgstr ""
 
@@ -4838,138 +3705,69 @@ msgstr ""
 msgid "writing as a system file"
 msgstr ""
 
-#: src/sort.c:123
+#: src/sort.c:122
 msgid "`A' or `D' expected inside parentheses."
 msgstr ""
 
-#: src/sort.c:129
+#: src/sort.c:127
 msgid "`)' expected."
 msgstr ""
 
-#: src/sort.c:455
-#, c-format
-msgid "%s: Cannot create temporary directory: %s."
-msgstr ""
-
-#: src/sort.c:479
+#: src/sort.c:418
 #, c-format
-msgid "%s: Error removing directory for temporary files: %s."
+msgid "%s: Creating temporary directory: %s."
 msgstr ""
 
-#: src/sort.c:525
+#: src/sort.c:449
 #, c-format
-msgid ""
-"Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
-"each.  (PSPP workspace is currently restricted to a maximum of %d KB.)"
+msgid "Generating temporary directory name failed: %s."
 msgstr ""
 
-#: src/sort.c:537
+#: src/sort.c:457
 #, c-format
-msgid "allocated %d cases == %d bytes\n"
+msgid "Creating temporary directory failed: %s."
 msgstr ""
 
-#: src/sort.c:575
+#: src/sort.c:509
 #, c-format
-msgid "%s: Error writing temporary file: %s."
+msgid "%s: Error removing directory for temporary files: %s."
 msgstr ""
 
-#: src/sort.c:587
+#: src/sort.c:538
 #, c-format
-msgid "SORT: Closing handle %d."
+msgid "%s: Error opening temporary file for %s: %s."
 msgstr ""
 
-#: src/sort.c:593 src/sort.c:817
+#: src/sort.c:555
 #, c-format
 msgid "%s: Error closing temporary file: %s."
 msgstr ""
 
-#: src/sort.c:615 src/sort.c:631
-#, c-format
-msgid "SORT: %s: Opening for writing as run %d."
-msgstr ""
-
-#: src/sort.c:637
-#, c-format
-msgid "%s: Error opening temporary file for reading: %s."
-msgstr ""
-
-#: src/sort.c:663 src/sort.c:679
-#, c-format
-msgid "%s: Error creating temporary file: %s."
-msgstr ""
-
-#: src/sort.c:821 src/sort.c:982 src/sort.c:1032 src/sort.c:1201
-#: src/sort.c:1208
+#: src/sort.c:571
 #, c-format
 msgid "%s: Error removing temporary file: %s."
 msgstr ""
 
-#: src/sort.c:964
-msgid "merging runs"
-msgstr ""
-
-#: src/sort.c:972
-#, c-format
-msgid " into run %d(%d)\n"
-msgstr ""
-
-#: src/sort.c:991
-msgid "Out of memory expanding Huffman priority queue."
-msgstr ""
-
-#: src/sort.c:1043
-#, c-format
-msgid "%s: Error creating temporary file for merge: %s."
-msgstr ""
-
-#: src/sort.c:1070 src/sort.c:1128
-#, c-format
-msgid "%s: Error reading temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1073 src/sort.c:1132
-#, c-format
-msgid "%s: Unexpected end of temporary file in merge."
-msgstr ""
-
-#: src/sort.c:1098
-#, c-format
-msgid "%s: Error writing temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1148 src/sort.c:1181
-#, c-format
-msgid "%s: Error closing temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1153
-#, c-format
-msgid "%s: Error removing temporary file in merge: %s."
-msgstr ""
-
-#: src/sort.c:1252
-#, c-format
-msgid "%s: Cannot open sort result file: %s."
-msgstr ""
-
-#: src/sort.c:1263
+#: src/sort.c:587
 #, c-format
-msgid "%s: Error reading sort result file: %s."
+msgid "%s: Error writing temporary file: %s."
 msgstr ""
 
-#: src/sort.c:1266
+#: src/sort.c:605
 #, c-format
-msgid "%s: Unexpected end of sort result file: %s."
+msgid "%s: Error reading temporary file: %s."
 msgstr ""
 
-#: src/sort.c:1277
+#: src/sort.c:608
 #, c-format
-msgid "%s: Error closing sort result file: %s."
+msgid "%s: Unexpected end of temporary file."
 msgstr ""
 
-#: src/sort.c:1281
+#: src/sort.c:798 src/sort.c:1033
 #, c-format
-msgid "%s: Error removing sort result file: %s."
+msgid ""
+"Out of memory.  Could not allocate room for minimum of %d cases of %d bytes "
+"each.  (PSPP workspace is currently restricted to a maximum of %d KB.)"
 msgstr ""
 
 #: src/sysfile-info.c:97
@@ -5041,11 +3839,11 @@ msgstr ""
 msgid "off"
 msgstr ""
 
-#: src/sysfile-info.c:136 src/sysfile-info.c:377
+#: src/sysfile-info.c:136 src/sysfile-info.c:375
 msgid "Description"
 msgstr ""
 
-#: src/sysfile-info.c:137 src/sysfile-info.c:374
+#: src/sysfile-info.c:137 src/sysfile-info.c:373
 msgid "Position"
 msgstr ""
 
@@ -5073,34 +3871,40 @@ msgstr ""
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/sysfile-info.c:379 src/sysfile-info.c:537 src/vfm.c:1088
+#: src/sysfile-info.c:377 src/sysfile-info.c:535 src/vfm.c:1150
 msgid "Label"
 msgstr ""
 
-#: src/sysfile-info.c:451
+#: src/sysfile-info.c:449
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/sysfile-info.c:458
+#: src/sysfile-info.c:456
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/sysfile-info.c:461
+#: src/sysfile-info.c:459
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/sysfile-info.c:469
+#: src/sysfile-info.c:467
 msgid "Missing Values: "
 msgstr ""
 
-#: src/sysfile-info.c:593
+#: src/sysfile-info.c:534 src/vfm.c:1149 src/crosstabs.q:1158
+#: src/crosstabs.q:1185 src/crosstabs.q:1205 src/crosstabs.q:1227
+#: src/frequencies.q:1009 src/frequencies.q:1126
+msgid "Value"
+msgstr ""
+
+#: src/sysfile-info.c:591
 msgid "No vectors defined."
 msgstr ""
 
-#: src/sysfile-info.c:608
+#: src/sysfile-info.c:606
 msgid "Vector"
 msgstr ""
 
@@ -5149,402 +3953,1183 @@ msgstr ""
 msgid "Document entered %s %02d:%02d:%02d by %s (%s):"
 msgstr ""
 
-#: t-test.c:131
-msgid "GROUPS subcommand may be given only once."
+#: src/val-labs.c:138
+#, c-format
+msgid ""
+"It is not possible to assign value labels to long string variables such as %"
+"s."
 msgstr ""
 
-#: t-test.c:153
-msgid "TESTVAL subcommand may be given only once."
+#: src/val-labs.c:176
+msgid "String expected for value."
 msgstr ""
 
-#: t-test.c:240
-msgid "`(' expected after CIN specifier of CRITERIA subcommand."
+#: src/val-labs.c:185
+msgid "Number expected for value."
 msgstr ""
 
-#: t-test.c:245
-msgid "Number expected after CIN specifier of CRITERIA subcommand."
+#: src/val-labs.c:189
+#, c-format
+msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: t-test.c:251
-msgid "Bad argument for CIN specifier of CRITERIA subcommand."
+#: src/val-labs.c:199
+msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: t-test.c:257
-msgid "`)' expected after argument for CIN specifier of CRITERIA."
+#: src/val-labs.c:220
+msgid "Value labels:"
 msgstr ""
 
-#: t-test.q:212 src/t-test.q:212
-msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
+#: src/val-labs.c:237
+#, c-format
+msgid "    (no value labels)\n"
 msgstr ""
 
-#: t-test.q:229 src/t-test.q:229
-msgid "VARIABLES subcommand is not appropriate with PAIRS"
+#: src/var-labs.c:53
+msgid "String expected for variable label."
 msgstr ""
 
-#: t-test.q:327 t-test.q:399 src/t-test.q:327 src/t-test.q:399
-#, c-format
-msgid "`%s' is not a variable name"
+#: src/var-labs.c:59
+msgid "Truncating variable label to 120 characters."
 msgstr ""
 
-#: t-test.q:340 src/t-test.q:340
+#: src/var-labs.c:87
 #, c-format
-msgid "Long string variable %s is not valid here."
-msgstr ""
-
-#: t-test.q:356 src/t-test.q:356
-msgid ""
-"When applying GROUPS to a string variable, at least one value must be "
-"specified."
+msgid "Variable labels:\n"
 msgstr ""
 
-#: t-test.q:434 src/t-test.q:434
+#: src/var-labs.c:94
 #, c-format
-msgid ""
-"PAIRED was specified but the number of variables preceding WITH (%d) did not "
-"match the number following (%d)."
+msgid "(no variable label)"
 msgstr ""
 
-#: t-test.q:451 src/t-test.q:451
-msgid "At least two variables must be specified on PAIRS."
+#: src/vars-prs.c:49
+#, c-format
+msgid "%s is not a variable name."
 msgstr ""
 
-#: t-test.q:623 src/t-test.q:623
-msgid "One-Sample Statistics"
+#: src/vars-prs.c:101
+msgid "ordinary"
 msgstr ""
 
-#: t-test.q:627 t-test.q:650 t-test.q:728 t-test.q:1076 src/t-test.q:627
-#: src/t-test.q:650 src/t-test.q:728 src/t-test.q:1076
-msgid "Std. Deviation"
+#: src/vars-prs.c:103
+msgid "system"
 msgstr ""
 
-#: t-test.q:628 t-test.q:651 t-test.q:729 src/t-test.q:628 src/t-test.q:651
-#: src/t-test.q:729
-msgid "SE. Mean"
+#: src/vars-prs.c:105
+msgid "scratch"
 msgstr ""
 
-#: t-test.q:645 src/t-test.q:645
-msgid "Group Statistics"
+#: src/vars-prs.c:208
+#, c-format
+msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: t-test.q:723 src/t-test.q:723
-msgid "Paired Sample Statistics"
+#: src/vars-prs.c:218
+#, c-format
+msgid ""
+"When using the TO keyword to specify several variables, both variables must "
+"be from the same variable dictionaries, of either ordinary, scratch, or "
+"system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: t-test.q:745 t-test.q:1110 t-test.q:1330 src/t-test.q:745 src/t-test.q:1110
-#: src/t-test.q:1330
+#: src/vars-prs.c:236
 #, c-format
-msgid "Pair %d"
+msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: t-test.q:865 src/t-test.q:865
-msgid "Independent Samples Test"
+#: src/vars-prs.c:259
+#, c-format
+msgid ""
+"%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: t-test.q:873 src/t-test.q:873
-msgid "Levene's Test for Equality of Variances"
+#: src/vars-prs.c:262
+#, c-format
+msgid ""
+"%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: t-test.q:875 src/t-test.q:875
-msgid "t-test for Equality of Means"
+#: src/vars-prs.c:266
+#, 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 ""
 
-#: t-test.q:877 src/t-test.q:877
-msgid "F"
+#: src/vars-prs.c:271
+#, c-format
+msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: t-test.q:878 t-test.q:1311 src/t-test.q:878 src/t-test.q:1311
-msgid "Sig."
+#: src/vars-prs.c:351
+msgid "incorrect use of TO convention"
 msgstr ""
 
-#: t-test.q:879 t-test.q:1080 t-test.q:1192 src/t-test.q:879 src/t-test.q:1080
-#: src/t-test.q:1192
-msgid "t"
+#: src/vars-prs.c:398
+msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: t-test.q:881 t-test.q:1082 t-test.q:1194 src/t-test.q:881 src/t-test.q:1082
-#: src/t-test.q:1194
-msgid "Sig. (2-tailed)"
+#: src/vars-prs.c:420
+msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: t-test.q:882 t-test.q:1195 src/t-test.q:882 src/t-test.q:1195
-msgid "Mean Difference"
+#: src/vars-prs.c:425
+msgid "Bad bounds in use of TO convention."
 msgstr ""
 
-#: t-test.q:883 src/t-test.q:883
-msgid "Std. Error Difference"
+#: src/vector.c:68
+#, c-format
+msgid "Vector name %s is given twice."
 msgstr ""
 
-#: t-test.q:888 t-test.q:1072 t-test.q:1187 src/t-test.q:888 src/t-test.q:1072
-#: src/t-test.q:1187
+#: src/vector.c:74
 #, c-format
-msgid "%d%% Confidence Interval of the Difference"
+msgid "There is already a vector with name %s."
 msgstr ""
 
-#: t-test.q:922 src/t-test.q:922
-msgid "Equal variances assumed"
+#: src/vector.c:95
+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 ""
 
-#: t-test.q:937 src/t-test.q:937
-#, c-format
-msgid "Error calculating F statistic (cdff returned %d)."
+#: src/vector.c:129
+msgid "Vectors must have at least one element."
 msgstr ""
 
-#: t-test.q:960 t-test.q:980 t-test.q:1018 t-test.q:1030 t-test.q:1131
-#: t-test.q:1157 t-test.q:1237 t-test.q:1254 t-test.q:1345 src/t-test.q:960
-#: src/t-test.q:980 src/t-test.q:1018 src/t-test.q:1030 src/t-test.q:1131
-#: src/t-test.q:1157 src/t-test.q:1237 src/t-test.q:1254 src/t-test.q:1345
+#: src/vector.c:143
 #, c-format
-msgid "Error calculating T statistic (cdft returned %d)."
+msgid "%s%d is too long for a variable name."
 msgstr ""
 
-#: t-test.q:994 src/t-test.q:994
-msgid "Equal variances not assumed"
-msgstr ""
+#: src/vector.c:181
+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/vfm.c:391
+msgid "<NOVAR>"
+msgstr ""
+
+#: src/vfm.c:554
+#, c-format
+msgid ""
+"An error occurred attempting to create a temporary file for use as the "
+"active file: %s."
+msgstr ""
+
+#: src/vfm.c:579
+#, c-format
+msgid ""
+"An error occurred while attempting to write to a temporary file used as the "
+"active file: %s."
+msgstr ""
+
+#: src/vfm.c:606
+#, c-format
+msgid ""
+"An error occurred while attempting to rewind a temporary file used as the "
+"active file: %s."
+msgstr ""
+
+#: src/vfm.c:651
+#, c-format
+msgid ""
+"An error occurred while attempting to read from a temporary file created for "
+"the active file: %s."
+msgstr ""
+
+#: src/vfm.c:755
+msgid "Virtual memory exhausted.  Writing active file to disk."
+msgstr ""
+
+#: src/vfm.c:758
+#, c-format
+msgid ""
+"Workspace limit of %d KB (%d cases at %d bytes each) overflowed.  Writing "
+"active file to disk."
+msgstr ""
+
+#: src/vfm.c:778 src/vfm.c:817
+#, c-format
+msgid ""
+"An error occurred while attempting to write to a temporary file created as "
+"the active file: %s."
+msgstr ""
+
+#: src/weight.c:54
+msgid "The weighting variable must be numeric."
+msgstr ""
+
+#: src/weight.c:59
+msgid "The weighting variable may not be scratch."
+msgstr ""
+
+#: src/crosstabs.q:251
+msgid ""
+"Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
+msgstr ""
+
+#: src/crosstabs.q:261
+msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
+msgstr ""
+
+#: src/crosstabs.q:321
+msgid "expecting BY"
+msgstr ""
+
+#: src/crosstabs.q:388
+msgid "VARIABLES must be specified before TABLES."
+msgstr ""
+
+#: src/crosstabs.q:425
+#, c-format
+msgid "Maximum value (%ld) less than minimum value (%ld)."
+msgstr ""
+
+#: src/crosstabs.q:859
+msgid "Summary."
+msgstr ""
+
+#: src/crosstabs.q:861
+msgid "Cases"
+msgstr ""
+
+#: src/crosstabs.q:862 src/frequencies.q:1007
+msgid "Valid"
+msgstr ""
+
+#: src/crosstabs.q:863 src/frequencies.q:1074
+msgid "Missing"
+msgstr ""
+
+#: src/crosstabs.q:864 src/crosstabs.q:1067 src/crosstabs.q:1800
+#: src/frequencies.q:1083
+msgid "Total"
+msgstr ""
+
+#: src/crosstabs.q:874 src/t-test.q:622 src/t-test.q:645 src/t-test.q:736
+#: src/t-test.q:1318
+msgid "N"
+msgstr ""
+
+#: src/crosstabs.q:875 src/frequencies.q:1011 src/frequencies.q:1012
+#: src/frequencies.q:1013
+msgid "Percent"
+msgstr ""
+
+#: src/crosstabs.q:1117
+msgid "count"
+msgstr ""
+
+#: src/crosstabs.q:1118
+msgid "row %"
+msgstr ""
+
+#: src/crosstabs.q:1119
+msgid "column %"
+msgstr ""
+
+#: src/crosstabs.q:1120
+msgid "total %"
+msgstr ""
+
+#: src/crosstabs.q:1121
+msgid "expected"
+msgstr ""
+
+#: src/crosstabs.q:1122
+msgid "residual"
+msgstr ""
+
+#: src/crosstabs.q:1123
+msgid "std. resid."
+msgstr ""
+
+#: src/crosstabs.q:1124
+msgid "adj. resid."
+msgstr ""
+
+#: src/crosstabs.q:1157 src/crosstabs.q:1184 src/crosstabs.q:1204
+#: src/crosstabs.q:1225
+msgid "Statistic"
+msgstr ""
+
+#: src/crosstabs.q:1159 src/t-test.q:889 src/t-test.q:1090 src/t-test.q:1202
+msgid "df"
+msgstr ""
+
+#: src/crosstabs.q:1161
+msgid "Asymp. Sig. (2-sided)"
+msgstr ""
+
+#: src/crosstabs.q:1163
+msgid "Exact. Sig. (2-sided)"
+msgstr ""
+
+#: src/crosstabs.q:1165
+msgid "Exact. Sig. (1-sided)"
+msgstr ""
+
+#: src/crosstabs.q:1183 src/crosstabs.q:1224
+msgid "Category"
+msgstr ""
+
+#: src/crosstabs.q:1186 src/crosstabs.q:1228
+msgid "Asymp. Std. Error"
+msgstr ""
+
+#: src/crosstabs.q:1187 src/crosstabs.q:1229
+msgid "Approx. T"
+msgstr ""
+
+#: src/crosstabs.q:1188 src/crosstabs.q:1230
+msgid "Approx. Sig."
+msgstr ""
+
+#: src/crosstabs.q:1203
+#, c-format
+msgid " 95%% Confidence Interval"
+msgstr ""
+
+#: src/crosstabs.q:1206 src/t-test.q:893 src/t-test.q:1087 src/t-test.q:1205
+msgid "Lower"
+msgstr ""
+
+#: src/crosstabs.q:1207 src/t-test.q:894 src/t-test.q:1088 src/t-test.q:1206
+msgid "Upper"
+msgstr ""
+
+#: src/crosstabs.q:1226
+msgid "Type"
+msgstr ""
+
+#: src/crosstabs.q:1976
+msgid "Pearson Chi-Square"
+msgstr ""
+
+#: src/crosstabs.q:1977
+msgid "Likelihood Ratio"
+msgstr ""
+
+#: src/crosstabs.q:1978
+msgid "Fisher's Exact Test"
+msgstr ""
+
+#: src/crosstabs.q:1979
+msgid "Continuity Correction"
+msgstr ""
+
+#: src/crosstabs.q:1980
+msgid "Linear-by-Linear Association"
+msgstr ""
+
+#: src/crosstabs.q:2017 src/crosstabs.q:2087 src/crosstabs.q:2146
+msgid "N of Valid Cases"
+msgstr ""
+
+#: src/crosstabs.q:2033 src/crosstabs.q:2162
+msgid "Nominal by Nominal"
+msgstr ""
+
+#: src/crosstabs.q:2034 src/crosstabs.q:2163
+msgid "Ordinal by Ordinal"
+msgstr ""
+
+#: src/crosstabs.q:2035
+msgid "Interval by Interval"
+msgstr ""
+
+#: src/crosstabs.q:2036
+msgid "Measure of Agreement"
+msgstr ""
+
+#: src/crosstabs.q:2041
+msgid "Phi"
+msgstr ""
+
+#: src/crosstabs.q:2042
+msgid "Cramer's V"
+msgstr ""
+
+#: src/crosstabs.q:2043
+msgid "Contingency Coefficient"
+msgstr ""
+
+#: src/crosstabs.q:2044
+msgid "Kendall's tau-b"
+msgstr ""
+
+#: src/crosstabs.q:2045
+msgid "Kendall's tau-c"
+msgstr ""
+
+#: src/crosstabs.q:2046
+msgid "Gamma"
+msgstr ""
+
+#: src/crosstabs.q:2047
+msgid "Spearman Correlation"
+msgstr ""
+
+#: src/crosstabs.q:2048
+msgid "Pearson's R"
+msgstr ""
+
+#: src/crosstabs.q:2049
+msgid "Kappa"
+msgstr ""
+
+#: src/crosstabs.q:2119
+#, c-format
+msgid "Odds Ratio for %s (%g / %g)"
+msgstr ""
+
+#: src/crosstabs.q:2122
+#, c-format
+msgid "Odds Ratio for %s (%.*s / %.*s)"
+msgstr ""
+
+#: src/crosstabs.q:2130
+#, c-format
+msgid "For cohort %s = %g"
+msgstr ""
+
+#: src/crosstabs.q:2133
+#, c-format
+msgid "For cohort %s = %.*s"
+msgstr ""
+
+#: src/crosstabs.q:2164
+msgid "Nominal by Interval"
+msgstr ""
+
+#: src/crosstabs.q:2169
+msgid "Lambda"
+msgstr ""
+
+#: src/crosstabs.q:2170
+msgid "Goodman and Kruskal tau"
+msgstr ""
+
+#: src/crosstabs.q:2171
+msgid "Uncertainty Coefficient"
+msgstr ""
+
+#: src/crosstabs.q:2172
+msgid "Somers' d"
+msgstr ""
+
+#: src/crosstabs.q:2173
+msgid "Eta"
+msgstr ""
+
+#: src/crosstabs.q:2178
+msgid "Symmetric"
+msgstr ""
+
+#: src/crosstabs.q:2179 src/crosstabs.q:2180
+#, c-format
+msgid "%s Dependent"
+msgstr ""
+
+#: src/descript.q:151 src/frequencies.q:94 src/t-test.q:623 src/t-test.q:646
+#: src/t-test.q:735 src/t-test.q:1084
+msgid "Mean"
+msgstr ""
+
+#: src/descript.q:151
+msgid "mean"
+msgstr ""
+
+#: src/descript.q:152 src/frequencies.q:95
+msgid "S.E. Mean"
+msgstr ""
+
+#: src/descript.q:152
+msgid "S E Mean"
+msgstr ""
+
+#: src/descript.q:152
+msgid "SE"
+msgstr ""
+
+#: src/descript.q:153
+msgid "standard error of mean"
+msgstr ""
+
+#: src/descript.q:154 src/frequencies.q:98
+msgid "Std Dev"
+msgstr ""
+
+#: src/descript.q:154
+msgid "SD"
+msgstr ""
+
+#: src/descript.q:155
+msgid "standard deviation"
+msgstr ""
+
+#: src/descript.q:156 src/frequencies.q:99
+msgid "Variance"
+msgstr ""
+
+#: src/descript.q:157
+msgid "Var"
+msgstr ""
+
+#: src/descript.q:157
+msgid "variance"
+msgstr ""
+
+#: src/descript.q:158 src/frequencies.q:100
+msgid "Kurtosis"
+msgstr ""
+
+#: src/descript.q:159
+msgid "Kurt"
+msgstr ""
+
+#: src/descript.q:159
+msgid "kurtosis"
+msgstr ""
+
+#: src/descript.q:160 src/frequencies.q:101
+msgid "S.E. Kurt"
+msgstr ""
+
+#: src/descript.q:160
+msgid "S E Kurt"
+msgstr ""
+
+#: src/descript.q:160
+msgid "SEKurt"
+msgstr ""
+
+#: src/descript.q:161
+msgid "standard error of kurtosis"
+msgstr ""
+
+#: src/descript.q:162 src/frequencies.q:102
+msgid "Skewness"
+msgstr ""
+
+#: src/descript.q:162
+msgid "Skew"
+msgstr ""
+
+#: src/descript.q:163
+msgid "skewness"
+msgstr ""
+
+#: src/descript.q:164 src/frequencies.q:103
+msgid "S.E. Skew"
+msgstr ""
+
+#: src/descript.q:164
+msgid "S E Skew"
+msgstr ""
+
+#: src/descript.q:164
+msgid "SESkew"
+msgstr ""
+
+#: src/descript.q:165
+msgid "standard error of skewness"
+msgstr ""
+
+#: src/descript.q:166 src/frequencies.q:104
+msgid "Range"
+msgstr ""
+
+#: src/descript.q:166
+msgid "Rng"
+msgstr ""
+
+#: src/descript.q:167 src/frequencies.q:105
+msgid "Minimum"
+msgstr ""
+
+#: src/descript.q:167
+msgid "Min"
+msgstr ""
+
+#: src/descript.q:168
+msgid "minimum"
+msgstr ""
+
+#: src/descript.q:169 src/frequencies.q:106
+msgid "Maximum"
+msgstr ""
+
+#: src/descript.q:169
+msgid "Max"
+msgstr ""
+
+#: src/descript.q:170
+msgid "maximum"
+msgstr ""
+
+#: src/descript.q:171 src/frequencies.q:107
+msgid "Sum"
+msgstr ""
+
+#: src/descript.q:171
+msgid "sum"
+msgstr ""
+
+#: src/descript.q:212 src/list.q:144
+msgid "No variables specified."
+msgstr ""
+
+#: src/descript.q:218
+msgid "OPTIONS may not be used with SAVE, FORMAT, or MISSING."
+msgstr ""
+
+#: src/descript.q:280
+#, c-format
+msgid "It's not possible to sort on `%s' without displaying `%s'."
+msgstr ""
+
+#: src/descript.q:294
+msgid ""
+"At least one case in the data file had a weight value that was system-"
+"missing, zero, or negative.  These case(s) were ignored."
+msgstr ""
+
+#: src/descript.q:335
+msgid ""
+"Names for z-score variables must be given for individual variables, not for "
+"groups of variables."
+msgstr ""
+
+#: src/descript.q:343
+msgid "Name for z-score variable expected."
+msgstr ""
+
+#: src/descript.q:348
+#, c-format
+msgid ""
+"Z-score variable name `%s' is a duplicate variable name with a current "
+"variable."
+msgstr ""
+
+#: src/descript.q:357
+#, c-format
+msgid "Z-score variable name `%s' is used multiple times."
+msgstr ""
+
+#: src/descript.q:365
+msgid "`)' expected after z-score variable name."
+msgstr ""
+
+#: src/descript.q:425
+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/descript.q:454
+msgid "Mapping of variables to corresponding Z-scores."
+msgstr ""
+
+#: src/descript.q:459
+msgid "Source"
+msgstr ""
+
+#: src/descript.q:460
+msgid "Target"
+msgstr ""
+
+#: src/descript.q:548 src/descript.q:554
+msgid "Z-score of "
+msgstr ""
+
+#: src/descript.q:795
+msgid "Valid N"
+msgstr ""
+
+#: src/descript.q:796
+msgid "Missing N"
+msgstr ""
+
+#: src/descript.q:823
+#, c-format
+msgid "Valid cases = %g; cases with missing value(s) = %g."
+msgstr ""
+
+#: src/file-handle.q:72
+#, c-format
+msgid ""
+"File handle %s had already been defined to refer to file %s.  It is not "
+"possible to redefine a file handle within a session."
+msgstr ""
+
+#: src/file-handle.q:94
+msgid "The FILE HANDLE required subcommand NAME is not present."
+msgstr ""
+
+#: src/file-handle.q:107
+msgid ""
+"Fixed length records were specified on /RECFORM, but record length was not "
+"specified on /LRECL.  80-character records will be assumed."
+msgstr ""
+
+#: src/file-handle.q:114
+#, c-format
+msgid ""
+"Record length (%ld) must be at least one byte.  80-character records will be "
+"assumed."
+msgstr ""
+
+#: src/file-handle.q:126 src/file-handle.q:140
+#, c-format
+msgid ""
+"%s is not implemented, as the author doesn't know what it is supposed to "
+"do.  Send a note to %s."
+msgstr ""
+
+#: src/file-handle.q:147 src/file-handle.q:150
+#, c-format
+msgid "%s is not implemented.  If you care, complain."
+msgstr ""
+
+#: src/file-handle.q:232
+#, c-format
+msgid "File handle `%s' has not been previously declared on FILE HANDLE."
+msgstr ""
+
+#: src/file-handle.q:319
+msgid "<Inline File>"
+msgstr ""
+
+#: src/file-handle.q:338
+msgid "expecting a file name or handle"
+msgstr ""
+
+#: src/frequencies.q:96
+msgid "Median"
+msgstr ""
+
+#: src/frequencies.q:97
+msgid "Mode"
+msgstr ""
+
+#: src/frequencies.q:268
+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/frequencies.q:349
+#, 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/frequencies.q:632
+msgid ""
+"Upper limit of integer mode value range must be greater than lower limit."
+msgstr ""
+
+#: src/frequencies.q:644
+#, c-format
+msgid "Variable %s specified multiple times on VARIABLES subcommand."
+msgstr ""
+
+#: src/frequencies.q:657
+#, c-format
+msgid "Integer mode specified, but %s is not a numeric variable."
+msgstr ""
+
+#: src/frequencies.q:719
+msgid "`)' expected after GROUPED interval list."
+msgstr ""
+
+#: src/frequencies.q:732
+#, c-format
+msgid "Variables %s specified on GROUPED but not on VARIABLES."
+msgstr ""
 
-#: t-test.q:1062 src/t-test.q:1062
-msgid "Paired Samples Test"
+#: src/frequencies.q:735
+#, c-format
+msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: t-test.q:1065 src/t-test.q:1065
-msgid "Paired Differences"
+#: src/frequencies.q:795
+msgid "Percentile list expected after PERCENTILES."
 msgstr ""
 
-#: t-test.q:1077 src/t-test.q:1077
-msgid "Std. Error Mean"
+#: src/frequencies.q:803
+msgid "Percentiles must be greater than 0 and less than 100."
 msgstr ""
 
-#: t-test.q:1176 src/t-test.q:1176
-msgid "One-Sample Test"
+#: src/frequencies.q:1008 src/frequencies.q:1098 src/frequencies.q:1099
+#: src/frequencies.q:1129
+msgid "Cum"
 msgstr ""
 
-#: t-test.q:1181 src/t-test.q:1181
-#, c-format
-msgid "Test Value = %f"
+#: src/frequencies.q:1010
+msgid "Frequency"
 msgstr ""
 
-#: t-test.q:1306 src/t-test.q:1306
-msgid "Paired Samples Correlations"
+#: src/frequencies.q:1029
+msgid "Value Label"
 msgstr ""
 
-#: t-test.q:1310 src/t-test.q:1310
-msgid "Correlation"
+#: src/frequencies.q:1127
+msgid "Freq"
+msgstr ""
+
+#: src/frequencies.q:1128 src/frequencies.q:1130
+msgid "Pct"
 msgstr ""
 
-#: t-test.q:1333 src/t-test.q:1333
+#: src/frequencies.q:1285
 #, c-format
-msgid "%s & %s"
+msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/val-labs.c:138
+#: src/frequencies.q:1308
+msgid "Percentile"
+msgstr ""
+
+#: src/list.q:152
 #, c-format
 msgid ""
-"It is not possible to assign value labels to long string variables such as %"
-"s."
+"The first case (%ld) specified precedes the last case (%ld) specified.  The "
+"values will be swapped."
 msgstr ""
 
-#: src/val-labs.c:176
-msgid "String expected for value."
+#: src/list.q:160
+#, c-format
+msgid ""
+"The first case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/val-labs.c:185
-msgid "Number expected for value."
+#: src/list.q:166
+#, c-format
+msgid ""
+"The last case (%ld) to list is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/val-labs.c:189
+#: src/list.q:172
 #, c-format
-msgid "Value label `%g' is not integer."
+msgid "The step value %ld is less than 1.  The value is being reset to 1."
 msgstr ""
 
-#: src/val-labs.c:199
-msgid "Truncating value label to 60 characters."
+#: src/list.q:199
+msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/val-labs.c:220
-msgid "Value labels:"
+#: src/list.q:445
+msgid "Line"
 msgstr ""
 
-#: src/val-labs.c:237
-#, c-format
-msgid "    (no value labels)\n"
+#: src/means.q:106
+msgid "Missing required subcommand TABLES."
 msgstr ""
 
-#: src/var-labs.c:53
-msgid "String expected for variable label."
+#: src/means.q:144
+msgid "TABLES or CROSSBREAK subcommand may not appear more than once."
 msgstr ""
 
-#: src/var-labs.c:59
-msgid "Truncating variable label to 120 characters."
+#: src/means.q:181
+#, c-format
+msgid ""
+"Variable %s specified on TABLES or CROSSBREAK, but not specified on "
+"VARIABLES."
 msgstr ""
 
-#: src/var-labs.c:87
+#: src/means.q:195
 #, c-format
-msgid "Variable labels:\n"
+msgid "LOWEST and HIGHEST may not be used for independent variables (%s)."
 msgstr ""
 
-#: src/var-labs.c:94
+#: src/means.q:203
 #, c-format
-msgid "(no variable label)"
+msgid ""
+"Independent variables (%s) may not have noninteger endpoints in their ranges."
 msgstr ""
 
-#: src/vars-prs.c:46
-#, c-format
-msgid "%s is not a variable name."
+#: src/means.q:236
+msgid "VARIABLES must precede TABLES."
 msgstr ""
 
-#: src/vars-prs.c:194
+#: src/means.q:293
 #, c-format
-msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
+msgid "Upper value (%g) is less than lower value (%g) on VARIABLES subcommand."
 msgstr ""
 
-#: src/vars-prs.c:204
+#: src/set.q:217 src/set.q:220 src/set.q:238 src/set.q:307 src/set.q:313
+#: src/set.q:338 src/set.q:340 src/set.q:359 src/set.q:363 src/set.q:367
+#: src/set.q:381 src/set.q:383 src/set.q:387 src/set.q:705 src/set.q:786
+#: src/set.q:867
 #, c-format
+msgid "%s is obsolete."
+msgstr ""
+
+#: src/set.q:224
+msgid "Active file compression is not yet implemented (and probably won't be)."
+msgstr ""
+
+#: src/set.q:233
+msgid "CPI must be greater than 0."
+msgstr ""
+
+#: src/set.q:242
+msgid "LPI must be greater than 0."
+msgstr ""
+
+#: src/set.q:249
 msgid ""
-"When using the TO keyword to specify several variables, both variables must "
-"be from the same variable dictionaries, of either ordinary, scratch, or "
-"system variables.  %s is a %s variable, whereas %s is %s."
+"CASE is not implemented and probably won't be.  If you care, complain about "
+"it."
 msgstr ""
 
-#: src/vars-prs.c:222
+#: src/set.q:279
 #, c-format
-msgid "Scratch variables (such as %s) are not allowed here."
+msgid "Value for MITERATE (%ld) must be greater than 0."
 msgstr ""
 
-#: src/vars-prs.c:245
+#: src/set.q:287
 #, c-format
-msgid ""
-"%s is not a numeric variable.  It will not be included in the variable list."
+msgid "Value for MNEST (%ld) must be greater than 0."
+msgstr ""
+
+#: src/set.q:295
+msgid "MXERRS must be at least 1."
+msgstr ""
+
+#: src/set.q:302
+msgid "MXLOOPS must be at least 1."
 msgstr ""
 
-#: src/vars-prs.c:248
+#: src/set.q:323
+msgid "Workspace limit must be at least 1 MB."
+msgstr ""
+
+#: src/set.q:401
 #, c-format
 msgid ""
-"%s is not a string variable.  It will not be included in the variable list."
+"CC%c: Length of custom currency string `%s' (%d) exceeds maximum length of "
+"16."
 msgstr ""
 
-#: src/vars-prs.c:252
+#: src/set.q:423
 #, 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."
+"CC%c: Custom currency string `%s' does not contain exactly three periods or "
+"commas (not both)."
+msgstr ""
+
+#: src/set.q:566
+msgid "LENGTH must be at least 1."
+msgstr ""
+
+#: src/set.q:603
+msgid "Missing identifier in RESULTS subcommand."
+msgstr ""
+
+#: src/set.q:614
+msgid "Unrecognized identifier in RESULTS subcommand."
+msgstr ""
+
+#: src/set.q:651
+msgid "WIDTH must be at least 1."
 msgstr ""
 
-#: src/vars-prs.c:257
+#: src/set.q:674
 #, c-format
-msgid "Variable %s appears twice in variable list."
+msgid ""
+"FORMAT requires numeric output format as an argument.  Specified format %s "
+"is of type string."
 msgstr ""
 
-#: src/vars-prs.c:334
-msgid "incorrect use of TO convention"
+#: src/set.q:718
+msgid "Text color must be in range 0-15."
 msgstr ""
 
-#: src/vars-prs.c:380
-msgid "Scratch variables not allowed here."
+#: src/set.q:731
+msgid "Background color must be in range 0-7."
 msgstr ""
 
-#: src/vars-prs.c:402
-msgid "Prefixes don't match in use of TO convention."
+#: src/set.q:742
+msgid "Border color must be in range 0-7."
 msgstr ""
 
-#: src/vars-prs.c:407
-msgid "Bad bounds in use of TO convention."
+#: src/set.q:798
+msgid "Lower window color must be between 0 and 6."
 msgstr ""
 
-#: src/vector.c:68
-#, c-format
-msgid "Vector name %s is given twice."
+#: src/set.q:812
+msgid "Upper window color must be between 0 and 6."
 msgstr ""
 
-#: src/vector.c:74
-#, c-format
-msgid "There is already a vector with name %s."
+#: src/set.q:824
+msgid "Frame color must be between 0 and 6."
 msgstr ""
 
-#: src/vector.c:95
-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."
+#: src/set.q:876
+msgid "Drive letter expected in WORKDEV subcommand."
 msgstr ""
 
-#: src/vector.c:129
-msgid "Vectors must have at least one element."
+#: src/t-test.q:208
+msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/vector.c:143
+#: src/t-test.q:225
+msgid "VARIABLES subcommand is not appropriate with PAIRS"
+msgstr ""
+
+#: src/t-test.q:317 src/t-test.q:396
 #, c-format
-msgid "%s%d is too long for a variable name."
+msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/vector.c:181
+#: src/t-test.q:330
+#, c-format
+msgid "Long string variable %s is not valid here."
+msgstr ""
+
+#: src/t-test.q:347
 msgid ""
-"The syntax for this command does not match the expected syntax for either "
-"the long form or the short form of VECTOR."
+"When applying GROUPS to a string variable, at least one value must be "
+"specified."
 msgstr ""
 
-#: src/vfm.c:291
+#: src/t-test.q:431
 #, c-format
 msgid ""
-"Workspace overflow predicted.  Max workspace is currently set to %d KB (%d "
-"cases at %d bytes each).  Paging active file to disk."
+"PAIRED was specified but the number of variables preceding WITH (%d) did not "
+"match the number following (%d)."
 msgstr ""
 
-#: src/vfm.c:366
-msgid "<NOVAR>"
+#: src/t-test.q:448
+msgid "At least two variables must be specified on PAIRS."
+msgstr ""
+
+#: src/t-test.q:620
+msgid "One-Sample Statistics"
+msgstr ""
+
+#: src/t-test.q:624 src/t-test.q:647 src/t-test.q:737 src/t-test.q:1085
+msgid "Std. Deviation"
+msgstr ""
+
+#: src/t-test.q:625 src/t-test.q:648 src/t-test.q:738
+msgid "SE. Mean"
+msgstr ""
+
+#: src/t-test.q:642
+msgid "Group Statistics"
 msgstr ""
 
-#: src/vfm.c:571
+#: src/t-test.q:732
+msgid "Paired Sample Statistics"
+msgstr ""
+
+#: src/t-test.q:754 src/t-test.q:1119 src/t-test.q:1339
 #, c-format
-msgid ""
-"An error occurred attempting to create a temporary file for use as the "
-"active file: %s."
+msgid "Pair %d"
+msgstr ""
+
+#: src/t-test.q:874
+msgid "Independent Samples Test"
+msgstr ""
+
+#: src/t-test.q:882
+msgid "Levene's Test for Equality of Variances"
+msgstr ""
+
+#: src/t-test.q:884
+msgid "t-test for Equality of Means"
+msgstr ""
+
+#: src/t-test.q:886
+msgid "F"
+msgstr ""
+
+#: src/t-test.q:887 src/t-test.q:1320
+msgid "Sig."
+msgstr ""
+
+#: src/t-test.q:888 src/t-test.q:1089 src/t-test.q:1201
+msgid "t"
+msgstr ""
+
+#: src/t-test.q:890 src/t-test.q:1091 src/t-test.q:1203
+msgid "Sig. (2-tailed)"
+msgstr ""
+
+#: src/t-test.q:891 src/t-test.q:1204
+msgid "Mean Difference"
+msgstr ""
+
+#: src/t-test.q:892
+msgid "Std. Error Difference"
 msgstr ""
 
-#: src/vfm.c:589
+#: src/t-test.q:897 src/t-test.q:1081 src/t-test.q:1196
 #, c-format
-msgid ""
-"An error occurred while attempting to read from a temporary file created for "
-"the active file: %s."
+msgid "%d%% Confidence Interval of the Difference"
+msgstr ""
+
+#: src/t-test.q:931
+msgid "Equal variances assumed"
 msgstr ""
 
-#: src/vfm.c:617
+#: src/t-test.q:946
 #, c-format
-msgid ""
-"An error occurred while attempting to write to a temporary file used as the "
-"active file: %s."
+msgid "Error calculating F statistic (cdff returned %d)."
 msgstr ""
 
-#: src/vfm.c:631
+#: src/t-test.q:969 src/t-test.q:989 src/t-test.q:1027 src/t-test.q:1039
+#: src/t-test.q:1140 src/t-test.q:1166 src/t-test.q:1246 src/t-test.q:1263
+#: src/t-test.q:1354
 #, c-format
-msgid ""
-"An error occurred while attempting to rewind a temporary file used as the "
-"active file: %s."
+msgid "Error calculating T statistic (cdft returned %d)."
 msgstr ""
 
-#: src/vfm.c:746
-msgid "Virtual memory exhausted.  Paging active file to disk."
+#: src/t-test.q:1003
+msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/vfm.c:749
-#, c-format
-msgid ""
-"Workspace limit of %d KB (%d cases at %d bytes each) overflowed.  Paging "
-"active file to disk."
+#: src/t-test.q:1071
+msgid "Paired Samples Test"
+msgstr ""
+
+#: src/t-test.q:1074
+msgid "Paired Differences"
+msgstr ""
+
+#: src/t-test.q:1086
+msgid "Std. Error Mean"
 msgstr ""
 
-#: src/vfm.c:773 src/vfm.c:810
+#: src/t-test.q:1185
+msgid "One-Sample Test"
+msgstr ""
+
+#: src/t-test.q:1190
 #, c-format
-msgid ""
-"An error occurred while attempting to write to a temporary file created as "
-"the active file, while paging to disk: %s."
+msgid "Test Value = %f"
 msgstr ""
 
-#: src/vfm.c:924
-msgid "transform: "
+#: src/t-test.q:1315
+msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/weight.c:61
-msgid "The weighting variable must be numeric."
+#: src/t-test.q:1319
+msgid "Correlation"
 msgstr ""
 
-#: src/weight.c:66
-msgid "The weighting variable may not be scratch."
+#: src/t-test.q:1342
+#, c-format
+msgid "%s & %s"
 msgstr ""
index 4abd99da40693a7bb3a5405fff8aa151d8dbba4d..396112149c7fbf80de7982ae76eff1086e87806f 100644 (file)
@@ -1,3 +1,8 @@
+Fri Mar 12 16:23:35 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+       * t-test.q, levene.c: Added support for T-TEST /GROUP where only 
+       one value is given.
+
 Wed Mar 10 23:25:13 2004  Ben Pfaff  <blp@gnu.org>
 
        Change explicit variable name checks into use of
index 67e52d38300f732f37d066c0f637855bfcf80d7a..1666e0206a84ec76551323d4f010ecc6b311ab66 100644 (file)
@@ -51,6 +51,9 @@
 
  */
 
+static struct group_statistics *get_group(int v, struct group_statistics *key);
+
+/* First pass */
 static void levene_precalc (void *);
 static int levene_calc (struct ccase *, void *);
 static void levene_postcalc (void *);
@@ -100,30 +103,37 @@ levene(struct variable *v_indep, int n_dep, struct variable **v_dep)
 
 static struct hsh_table **hash;
 
+/* Return -1 if the id of a is less than b; +1 if greater than and 
+   0 if equal */
 static int 
-compare_group_id(const void *a_, const void *b_, void *aux)
+compare_group(const struct group_statistics *a, 
+                const struct group_statistics *b, 
+                int width)
 {
-  const struct group_statistics *a = (struct group_statistics *) a_;
-  const struct group_statistics *b = (struct group_statistics *) b_;
+  int id_cmp = compare_values(&a->id, &b->id, width);
 
-  int width = (int) aux;
-  
-  return compare_values(&a->id, &b->id, width);
+  if (id_cmp == 0 ) 
+    {
+      int c;
+      c= memcmp(&a->criterion,&b->criterion,sizeof(enum comparison));
+      return c;
+    }
+  else
+    return id_cmp;
 }
 
 
 static unsigned 
-hash_group_id(const void *g_, void *aux)
+hash_group(const struct group_statistics *g, int width)
 {
-  const struct group_statistics *g = (struct group_statistics *) g_;
-
-  int width = (int) aux;
+  unsigned id_hash;
 
   if ( 0 == width ) 
-    return hsh_hash_double (g->id.f);
+    id_hash = hsh_hash_double (g->id.f);
   else
-    return hsh_hash_bytes (g->id.s, width);
+    id_hash = hsh_hash_bytes (g->id.s, width);
 
+  return id_hash;
 }
 
 /* Internal variables used in calculating the Levene statistic */
@@ -147,6 +157,8 @@ struct lz_stats
 /* An array of lz_stats for each variable */
 static struct lz_stats *lz;
 
+/* Set to 1 if the groups require inequality comparisions */ 
+static int inequality_compare;
 
 
 static void 
@@ -166,7 +178,8 @@ levene_precalc (void *_l)
       int number_of_groups = v->p.t_t.n_groups ; 
 
       hash[i] = hsh_create (l->n_dep * number_of_groups,
-                           compare_group_id, hash_group_id,
+                           (hsh_compare_func *) compare_group, 
+                           (hsh_hash_func *) hash_group,
                            0,(void *) l->v_indep->width);
 
       lz[i].grand_total = 0;
@@ -176,8 +189,12 @@ levene_precalc (void *_l)
       for (g = 0 ; g < v->p.t_t.n_groups ; ++g ) 
        {
          struct group_statistics *gs = &v->p.t_t.gs[g];
-         gs->lz_total=0;
-         hsh_insert(hash[i],gs);
+         gs->lz_total = 0;
+         hsh_insert(hash[i], gs);
+         if ( gs->criterion != CMP_EQ ) 
+           {
+             inequality_compare = 1;
+           }
        }
     }
 
@@ -193,14 +210,16 @@ levene_calc (struct ccase *c, void *_l)
   double weight = dict_get_case_weight(default_dict,c); 
   
   key.id = *gv;
+  key.criterion = CMP_EQ;
 
   for (var = 0; var < l->n_dep; ++var) 
     {
       double levene_z;
       union value *v = &c->data[l->v_dep[var]->fv];
       struct group_statistics *gs;
-      gs = hsh_find(hash[var],&key);
-      assert(0 == compare_values(&gs->id, &key.id, l->v_indep->width));
+      gs = get_group(var,&key); 
+      if ( 0 == gs ) 
+       continue ;
 
       /* FIXME: handle SYSMIS properly */
 
@@ -271,15 +290,16 @@ levene2_calc (struct ccase *c, void *_l)
   struct group_statistics key;
 
   key.id = *gv;
+  key.criterion = CMP_EQ;
 
   for (var = 0; var < l->n_dep; ++var) 
     {
       double levene_z;
       union value *v = &c->data[l->v_dep[var]->fv];
       struct group_statistics *gs;
-      gs = hsh_find(hash[var],&key);
-      assert(gs);
-      assert(0 == compare_values(&gs->id, &key.id, l->v_indep->width));
+      gs = get_group(var,&key); 
+      if ( 0 == gs ) 
+       continue;
 
       /* FIXME: handle SYSMIS properly */
 
@@ -333,3 +353,45 @@ levene2_postcalc (void *_l)
 }
 
 
+/* Return the group belonging to the v_th dependent variable
+   which matches the key */
+static struct group_statistics *
+get_group(int v, struct group_statistics *key)
+{
+  struct group_statistics *gs;
+  gs = hsh_find(hash[v],key);
+
+
+  if ( ( !gs )  && inequality_compare) 
+    {
+      /* Here we degrade to a linear search.
+        This would seem inefficient.  However, it should only ever happen 
+        with the T-TEST, for which there are exactly two groups */
+
+      struct hsh_iterator hi;
+
+      assert( hsh_count(hash[v]) == 2 ) ;
+      for(gs = (struct group_statistics *) hsh_first(hash[v],&hi);
+         gs != 0 ;
+         gs = (struct group_statistics *) hsh_next(hash[v],&hi) )
+       {
+         int cmp;
+
+         cmp = compare_values(&gs->id, &key->id, 0);
+
+         assert( cmp != 0 ); /* or else the hash would have found something */
+
+         if ( cmp == -1 && 
+              ( gs->criterion == CMP_GT || gs->criterion == CMP_GE ) 
+            ) 
+           break;
+
+         if ( cmp == 1 && 
+              ( gs->criterion == CMP_LT || gs->criterion == CMP_LE ) 
+            ) 
+           break;
+       }
+    }
+
+  return gs;
+}
index ad1d45cafa48ad18cd0dab176f8521abdbc62a70..1e860834d6f3e4abc55bc8240533d854fd904dfc 100644 (file)
 
 #include "val.h"
 
+
+enum comparison
+  {
+    CMP_LE = -2,
+    CMP_LT = -1,
+    CMP_EQ = 0,
+    CMP_GT = 1,
+    CMP_GE = 2
+  };
+
 /* Statistics for grouped data */
 struct group_statistics
   {
     /* The value of the independent variable for this group */
     union value id;
 
+    /* The criterium matching for comparing with id */
+    enum comparison criterion;
+
     /* The arithmetic mean */
     double mean;
 
index 3f80214494bde1013c85f05713accbe7fe6df559..f9012555fbedaaa617b0f4cd6bf44d8508ff614a 100644 (file)
@@ -36,7 +36,6 @@
 #include "value-labels.h"
 #include "var.h"
 #include "vfm.h"
-#include "pool.h"
 #include "hash.h"
 #include "stats.h"
 #include "t-test.h"
 
 static struct cmd_t_test cmd;
 
-
-static struct pool *t_test_pool ;
-
 /* Variable for the GROUPS subcommand, if given. */
-static struct variable *groups;
+static struct variable *indep_var;
 
 /* GROUPS: Number of values specified by the user; the values
    specified if any. */
 
-static int n_groups_values;
+static int n_group_values;
 static union value groups_values[2];
+static enum comparison criteria[2];
 
 
 /* PAIRS: Number of pairs to be compared ; each pair. */
@@ -93,12 +90,11 @@ struct pair
   /* The std deviation of the differences */
   double std_dev_diff;
 };
-static struct pair *pairs=0;
 
+static struct pair *pairs=0;
 
 static int parse_value (union value * v, int type) ;
 
-
 /* Structures and Functions for the Statistics Summary Box */
 struct ssbox;
 typedef void populate_ssbox_func(struct ssbox *ssb,
@@ -275,12 +271,10 @@ cmd_t_test(void)
       break;
     case T_IND_SAMPLES:
       procedure(group_precalc,group_calc,group_postcalc, NULL);
-      levene(groups, cmd.n_variables, cmd.v_variables);
+      levene(indep_var, cmd.n_variables, cmd.v_variables);
       break;
     }
 
-  t_test_pool = pool_create ();
-
   ssbox_create(&stat_summary_box,&cmd,mode);
   ssbox_populate(&stat_summary_box,&cmd);
   ssbox_finalize(&stat_summary_box);
@@ -292,11 +286,6 @@ cmd_t_test(void)
   trbox_populate(&test_results_box,&cmd);
   trbox_finalize(&test_results_box);
 
-  pool_destroy (t_test_pool);
-
-  t_test_pool=0;
-
-
   n_pairs=0;
   free(pairs);
   pairs=0;
@@ -318,6 +307,7 @@ cmd_t_test(void)
 static int
 tts_custom_groups (struct cmd_t_test *cmd UNUSED)
 {
+
   lex_match('=');
 
   if (token != T_ALL && 
@@ -328,27 +318,28 @@ tts_custom_groups (struct cmd_t_test *cmd UNUSED)
     return 0;
   }
 
-  groups = parse_variable ();
-  if (!groups)
+  indep_var = parse_variable ();
+  if (!indep_var)
     {
       lex_error ("expecting variable name in GROUPS subcommand");
       return 0;
     }
 
-  if (groups->type == T_STRING && groups->width > MAX_SHORT_STRING)
+  if (indep_var->type == T_STRING && indep_var->width > MAX_SHORT_STRING)
     {
       msg (SE, _("Long string variable %s is not valid here."),
-          groups->name);
+          indep_var->name);
       return 0;
     }
 
   if (!lex_match ('('))
     {
-      if (groups->type == NUMERIC)
+      if (indep_var->type == NUMERIC)
        {
-         n_groups_values = 2;
          groups_values[0].f = 1;
          groups_values[1].f = 2;
+         criteria[0] = criteria[1] = CMP_EQ;
+         n_group_values = 2;
          return 1;
        }
       else
@@ -359,21 +350,27 @@ tts_custom_groups (struct cmd_t_test *cmd UNUSED)
        }
     }
 
-  if (!parse_value (&groups_values[0],groups->type))
-    return 0;
-  n_groups_values = 1;
+  if (!parse_value (&groups_values[0],indep_var->type))
+      return 0;
 
   lex_match (',');
   if (lex_match (')'))
-    return 1;
+    {
+      criteria[0] =  CMP_LE;
+      criteria[1] =  CMP_GT;
+      groups_values[1] = groups_values[0];
+      n_group_values = 1;
+      return 1;
+    }
 
-  if (!parse_value (&groups_values[1],groups->type))
+  if (!parse_value (&groups_values[1],indep_var->type))
     return 0;
-  n_groups_values = 2;
-
+  
+  n_group_values = 2;
   if (!lex_force_match (')'))
     return 0;
 
+  criteria[0] = criteria[1] = CMP_EQ;
   return 1;
 }
 
@@ -644,7 +641,7 @@ ssbox_independent_samples_init(struct ssbox *this,
   ssbox_base_init(this, hsize,vsize);
   tab_title (this->t, 0, _("Group Statistics"));
   tab_vline(this->t,0,1,0,vsize);
-  tab_text (this->t, 1, 0, TAB_CENTER | TAT_TITLE, groups->name);
+  tab_text (this->t, 1, 0, TAB_CENTER | TAT_TITLE, indep_var->name);
   tab_text (this->t, 2, 0, TAB_CENTER | TAT_TITLE, _("N"));
   tab_text (this->t, 3, 0, TAB_CENTER | TAT_TITLE, _("Mean"));
   tab_text (this->t, 4, 0, TAB_CENTER | TAT_TITLE, _("Std. Deviation"));
@@ -659,18 +656,26 @@ ssbox_independent_samples_populate(struct ssbox *ssb,
 {
   int i;
 
+  char *val_lab0=0;
   char *val_lab1=0;
-  char *val_lab2=0;
 
-  if ( groups->type == NUMERIC ) 
+  char prefix[2][3]={"",""};
+
+  if ( indep_var->type == NUMERIC ) 
     {
-      val_lab1 = val_labs_find( groups->val_labs,groups_values[0]); 
-      val_lab2 = val_labs_find( groups->val_labs,groups_values[1]);
+      val_lab0 = val_labs_find( indep_var->val_labs,groups_values[0]); 
+      val_lab1 = val_labs_find( indep_var->val_labs,groups_values[1]);
     }
   else
     {
-      val_lab1 = groups_values[0].s;
-      val_lab2 = groups_values[1].s;
+      val_lab0 = groups_values[0].s;
+      val_lab1 = groups_values[1].s;
+    }
+
+  if (n_group_values == 1) 
+    {
+      strcpy(prefix[0],"< ");
+      strcpy(prefix[1],">=");
     }
 
   assert(ssb->t);
@@ -681,16 +686,20 @@ ssbox_independent_samples_populate(struct ssbox *ssb,
 
       tab_text (ssb->t, 0, i*2+1, TAB_LEFT, cmd->v_variables[i]->name);
 
-      if (val_lab1)
-       tab_text (ssb->t, 1, i*2+1, TAB_LEFT, val_lab1);
+      if (val_lab0)
+       tab_text (ssb->t, 1, i*2+1, TAB_LEFT | TAT_PRINTF, 
+                 "%s%s", prefix[0], val_lab0);
       else
-       tab_float(ssb->t, 1 ,i*2+1, TAB_LEFT, groups_values[0].f, 2,0);
+       tab_text (ssb->t, 1, i*2+1, TAB_LEFT | TAT_PRINTF, 
+                 "%s%g", prefix[0], groups_values[0].f); 
 
 
-      if (val_lab2)
-       tab_text (ssb->t, 1, i*2+1+1, TAB_LEFT, val_lab2);
+      if (val_lab1)
+       tab_text (ssb->t, 1, i*2+1+1, TAB_LEFT | TAT_PRINTF, 
+                 "%s%s", prefix[1], val_lab1);
       else
-       tab_float(ssb->t, 1 ,i*2+1+1, TAB_LEFT, groups_values[1].f,2,0);
+       tab_text (ssb->t, 1, i*2+1+1, TAB_LEFT | TAT_PRINTF, 
+                 "%s%g", prefix[1], groups_values[1].f); 
 
       /* Fill in the group statistics */
       for ( g=0; g < 2 ; ++g ) 
@@ -1567,16 +1576,40 @@ paired_postcalc (void *aux UNUSED)
     }
 }
 
+/* Return the group # corresponding to the 
+   independent variable with the value val 
+*/
 static int
-get_group(const union value *val, struct variable *var)
+get_group(const union value *val, struct variable *indep)
 {
-  if ( 0 == compare_values(val,&groups_values[0],var->width) )
-    return 0;
-  else if (0 == compare_values(val,&groups_values[1],var->width) )
-    return 1;
+  int i; 
 
-  /* Never reached */
-  assert(0);
+  for (i = 0; i < 2  ; ++i )
+    {
+      const int cmp = compare_values(val,&groups_values[i],indep->width) ;
+      switch ( criteria[i])
+       {
+       case CMP_EQ: 
+         if ( 0 == cmp )   return i;
+         break;           
+       case CMP_LT:       
+         if ( 0 >  cmp )  return i;
+         break;           
+       case CMP_LE:       
+         if ( cmp <= 0 )   return i;
+         break;
+       case CMP_GT:
+         if ( cmp > 0 ) return i;
+         break;
+       case CMP_GE:
+         if ( cmp >= 0 ) return i;
+         break;
+       default:
+         assert(0);
+       };
+    }
+
+  /* No groups matched */
   return -1;
 }
 
@@ -1597,10 +1630,15 @@ group_precalc (void *aux UNUSED)
 
       for (j=0 ; j < 2 ; ++j)
        {
-         ttpr->gs[j].sum=0;
-         ttpr->gs[j].n=0;
-         ttpr->gs[j].ssq=0;
-         ttpr->gs[j].id = groups_values[j];
+         ttpr->gs[j].sum = 0;
+         ttpr->gs[j].n = 0;
+         ttpr->gs[j].ssq = 0;
+       
+         if ( n_group_values == 2 ) 
+           ttpr->gs[j].id = groups_values[j];
+         else
+           ttpr->gs[j].id = groups_values[0];
+         ttpr->gs[j].criterion = criteria[j];
        }
     }
 
@@ -1610,16 +1648,22 @@ static int
 group_calc (struct ccase *c, void *aux UNUSED)
 {
   int i;
-  union value *gv = &c->data[groups->fv];
+  int g;
+  union value *gv = &c->data[indep_var->fv];
 
   double weight = dict_get_case_weight(default_dict,c);
 
-  gv = &c->data[groups->fv];
+  gv = &c->data[indep_var->fv];
+
+  g = get_group(gv,indep_var);
+
+  /* If the independent variable doesn't match either of the values 
+     for this case then move on to the next case */
+  if (g == -1 ) 
+    return 0;
 
   for(i=0; i< cmd.n_variables ; ++i) 
     {
-      int g = get_group(gv,groups);
-
       struct group_statistics *gs = &cmd.v_variables[i]->p.t_t.gs[g];
 
       union value *val=&c->data[cmd.v_variables[i]->fv];
index 5b7249df76eef49b52ae4121bd8e65dda8c34c30..229b5e06e8d67b8fe63ae4746cc35e180e6c8ff2 100644 (file)
@@ -24,6 +24,7 @@ TESTS = command/aggregate.sh \
        command/t-test-1s.sh \
        command/t-test-pairs.sh \
        command/t-test-groups.sh \
+       command/t-test-1-indep-val.sh \
        command/weight.sh \
        bugs/alpha-freq.sh \
        bugs/compute-fmt.sh \
diff --git a/tests/command/t-test-1-indep-val.sh b/tests/command/t-test-1-indep-val.sh
new file mode 100755 (executable)
index 0000000..972818a
--- /dev/null
@@ -0,0 +1,119 @@
+#!/bin/sh
+
+# This program tests that the T-TEST /GROUPS command works properly 
+# when a single value in the independent variable is given.
+
+TEMPDIR=/tmp/pspp-tst-$$
+
+here=`pwd`;
+
+# ensure that top_srcdir is absolute
+cd $top_srcdir; top_srcdir=`pwd`
+
+export STAT_CONFIG_PATH=$top_srcdir/config
+
+
+cleanup()
+{
+     rm -rf $TEMPDIR
+}
+
+
+fail()
+{
+    echo $activity
+    echo FAILED
+    cleanup;
+    exit 1;
+}
+
+
+no_result()
+{
+    echo $activity
+    echo NO RESULT;
+    cleanup;
+    exit 2;
+}
+
+pass()
+{
+    cleanup;
+    exit 0;
+}
+
+mkdir -p $TEMPDIR
+
+cd $TEMPDIR
+
+activity="create program"
+cat > $TEMPDIR/out.stat <<EOF
+data list list /indep * dep *.
+begin data.
+       1        6
+       1        6
+       1        7
+       1        6
+       1       13
+       1        4
+       1        7
+       1        9
+       1        7
+       1       12
+       1       11
+       2       11
+       2        9
+       2        8
+       2        4
+       2       16
+       2        9
+       2        9
+       2        5
+       2        4
+       2       10
+       2       14
+end data.
+t-test /groups=indep(1.514) /var=dep.
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+
+activity="run program"
+$here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+if [ $? -ne 0 ] ; then no_result ; fi
+
+
+activity="compare output"
+diff -B -b $TEMPDIR/pspp.list - <<EOF
+1.1 DATA LIST.  Reading free-form data from the command file.
++--------+------+
+|Variable|Format|
+#========#======#
+|INDEP   |F8.0  |
+|DEP     |F8.0  |
++--------+------+
+
+2.1 T-TEST.  Group Statistics
+#===========#==#====#==============#========#
+#     INDEP | N|Mean|Std. Deviation|SE. Mean#
+#===========#==#====#==============#========#
+#DEP < 1.514|11|8.00|         2.864|    .863#
+#    >=1.514|11|9.00|         3.821|   1.152#
+#===========#==#====#==============#========#
+
+2.2 T-TEST.  Independent Samples Test
+#==============================#=========#===============================================================================#
+#                              #Levene's |                          t-test for Equality of Means                         #
+#                              #----+----+-----+------+---------------+---------------+---------------------+------------#
+#                              #    |    |     |      |               |               |                     |    95%     #
+#                              #    |    |     |      |               |               |                     +------+-----#
+#                              #  F |Sig.|  t  |  df  |Sig. (2-tailed)|Mean Difference|Std. Error Difference| Lower|Upper#
+#==============================#====#====#=====#======#===============#===============#=====================#======#=====#
+#DEPEqual variances assumed    #.172|.683|-.695|    20|           .495|         -1.000|                1.440|-4.003|2.003#
+#   Equal variances not assumed#    |    |-.695|18.539|           .496|         -1.000|                1.440|-4.018|2.018#
+#==============================#====#====#=====#======#===============#===============#=====================#======#=====#
+EOF
+if [ $? -ne 0 ] ; then fail ; fi
+
+
+pass
index a8dfdd6c2eed8ea0fa02213f34a4be0b807accb2..487ff30b3d4c6fec68ebf6834d79920d7ea05960 100755 (executable)
@@ -49,19 +49,22 @@ activity="create program"
 cat > $TEMPDIR/out.stat <<EOF
 data list list /id * indep * dep1 * dep2 *.
 begin data.
-1  1 1 3
-2  1 2 4
-3  1 2 4 
-4  1 2 4 
-5  1 3 5
-6  2 3 1
-7  2 4 2
-8  2 4 2
-9  2 4 2
-10 2 5 3
+1  1.1 1 3
+2  1.1 2 4
+3  1.1 2 4 
+4  1.1 2 4 
+5  1.1 3 5
+6  2.1 3 1
+7  2.1 4 2
+8  2.1 4 2
+9  2.1 4 2
+10 2.1 5 3
+11 3.1 2 2
 end data.
 
-t-test /GROUPS=indep(1,2) /var=dep1 dep2.
+* Note that this last case should be IGNORED since it doesn't have a dependent variable of either 1 or 2
+
+t-test /GROUPS=indep(1.1,2.1) /var=dep1 dep2.
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
@@ -86,10 +89,10 @@ diff -B -b $TEMPDIR/pspp.list - <<EOF
 #==========#=#====#==============#========#
 #     INDEP|N|Mean|Std. Deviation|SE. Mean#
 #==========#=#====#==============#========#
-#DEP1 1    |5|2.00|          .707|    .316#
-#     2    |5|4.00|          .707|    .316#
-#DEP2 1    |5|4.00|          .707|    .316#
-#     2    |5|2.00|          .707|    .316#
+#DEP1 1.1  |5|2.00|          .707|    .316#
+#     2.1  |5|4.00|          .707|    .316#
+#DEP2 1.1  |5|4.00|          .707|    .316#
+#     2.1  |5|2.00|          .707|    .316#
 #==========#=#====#==============#========#
 
 2.2 T-TEST.  Independent Samples Test