msgstr ""
"Project-Id-Version: PSPP 0.3.1\n"
"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-04-04 20:32+0800\n"
+"POT-Creation-Date: 2006-04-26 13:48-0700\n"
"PO-Revision-Date: 2004-01-23 13:04+0800\n"
"Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
"Language-Team: John Darrington <john@darrington.wattle.id.au>\n"
msgid "%s: Temporary file ended unexpectedly."
msgstr ""
-#: src/data/data-in.c:61
+#: src/data/data-in.c:59
#, c-format
msgid "(column %d"
msgstr ""
-#: src/data/data-in.c:63
+#: src/data/data-in.c:61
#, c-format
msgid "(columns %d-%d"
msgstr ""
-#: src/data/data-in.c:64
+#: src/data/data-in.c:62
#, c-format
msgid ", field type %s) "
msgstr ""
-#: src/data/data-in.c:210
+#: src/data/data-in.c:208
msgid "Field does not form a valid floating-point constant."
msgstr ""
-#: src/data/data-in.c:237
+#: src/data/data-in.c:235
msgid "Field contents followed by garbage."
msgstr ""
-#: src/data/data-in.c:255
+#: src/data/data-in.c:253
msgid "Underflow in floating-point constant."
msgstr ""
-#: src/data/data-in.c:266
+#: src/data/data-in.c:264
msgid "Overflow in floating-point constant."
msgstr ""
-#: src/data/data-in.c:299
+#: src/data/data-in.c:297
msgid "All characters in field must be digits."
msgstr ""
-#: src/data/data-in.c:323
+#: src/data/data-in.c:321
msgid "Unrecognized character in field."
msgstr ""
-#: src/data/data-in.c:341 src/data/data-in.c:587
+#: src/data/data-in.c:339 src/data/data-in.c:585
msgid "Field must have even length."
msgstr ""
-#: src/data/data-in.c:351 src/data/data-in.c:597
+#: src/data/data-in.c:349 src/data/data-in.c:595
msgid "Field must contain only hex digits."
msgstr ""
-#: src/data/data-in.c:390
+#: src/data/data-in.c:388
#, 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/data-in.c:402
+#: src/data/data-in.c:400
msgid "Zoned decimal field contains fewer than 2 characters."
msgstr ""
-#: src/data/data-in.c:410
+#: src/data/data-in.c:408
msgid "Bad sign byte in zoned decimal number."
msgstr ""
-#: src/data/data-in.c:430
+#: src/data/data-in.c:428
msgid "Format error in zoned decimal number."
msgstr ""
-#: src/data/data-in.c:444
+#: src/data/data-in.c:442
msgid "Error in syntax of zoned decimal number."
msgstr ""
-#: src/data/data-in.c:637
+#: src/data/data-in.c:635
msgid "Unexpected end of field."
msgstr ""
-#: src/data/data-in.c:663
+#: src/data/data-in.c:661
msgid "Digit expected in field."
msgstr ""
-#: src/data/data-in.c:688
+#: src/data/data-in.c:686
#, c-format
msgid "Day (%ld) must be between 1 and 31."
msgstr ""
-#: src/data/data-in.c:713
+#: src/data/data-in.c:711
msgid "Delimiter expected between fields in date."
msgstr ""
-#: src/data/data-in.c:746
+#: src/data/data-in.c:744
#, c-format
msgid "Parse error at `%c' expecting %s."
msgstr ""
-#: src/data/data-in.c:760
+#: src/data/data-in.c:758
#, c-format
msgid "Unknown %s `%.*s'."
msgstr ""
-#: src/data/data-in.c:810
+#: src/data/data-in.c:808
#, c-format
msgid "Month (%ld) must be between 1 and 12."
msgstr ""
-#: src/data/data-in.c:814
+#: src/data/data-in.c:812
msgid "month"
msgstr ""
-#: src/data/data-in.c:828
+#: src/data/data-in.c:826
#, c-format
msgid "Year (%ld) must be between 1582 and 19999."
msgstr ""
-#: src/data/data-in.c:839
+#: src/data/data-in.c:837
#, c-format
msgid "Trailing garbage \"%s\" following date."
msgstr ""
-#: src/data/data-in.c:854
+#: src/data/data-in.c:852
#, c-format
msgid "Julian day (%d) must be between 1 and 366."
msgstr ""
-#: src/data/data-in.c:866
+#: src/data/data-in.c:864
#, c-format
msgid "Year (%d) must be between 1582 and 19999."
msgstr ""
-#: src/data/data-in.c:882
+#: src/data/data-in.c:880
#, c-format
msgid "Quarter (%ld) must be between 1 and 4."
msgstr ""
-#: src/data/data-in.c:892
+#: src/data/data-in.c:890
msgid "`Q' expected between quarter and year."
msgstr ""
-#: src/data/data-in.c:908
+#: src/data/data-in.c:906
#, c-format
msgid "Week (%ld) must be between 1 and 53."
msgstr ""
-#: src/data/data-in.c:920
+#: src/data/data-in.c:918
msgid "`WK' expected between week and year."
msgstr ""
-#: src/data/data-in.c:943
+#: src/data/data-in.c:941
msgid "Delimiter expected between fields in time."
msgstr ""
-#: src/data/data-in.c:955
+#: src/data/data-in.c:953
#, c-format
msgid "Hour (%ld) must be positive."
msgstr ""
-#: src/data/data-in.c:967
+#: src/data/data-in.c:965
#, c-format
msgid "Minute (%ld) must be between 0 and 59."
msgstr ""
-#: src/data/data-in.c:1014
+#: src/data/data-in.c:1012
#, c-format
msgid "Hour (%ld) must be between 0 and 23."
msgstr ""
-#: src/data/data-in.c:1042
+#: src/data/data-in.c:1040
msgid "weekday"
msgstr ""
-#: src/data/data-in.c:1373
+#: src/data/data-in.c:1371
#, c-format
msgid "Field too long (%d characters). Truncated after character %d."
msgstr ""
-#: src/data/data-out.c:247
+#: src/data/data-out.c:245
msgid ""
"The N output format cannot be used to output a negative number or the system-"
"missing value."
msgstr ""
-#: src/data/data-out.c:361
+#: src/data/data-out.c:359
#, c-format
msgid ""
"Quality of zoned decimal (Z) output format code is suspect. Check your "
"results. Report bugs to %s."
msgstr ""
-#: src/data/data-out.c:369
+#: src/data/data-out.c:367
msgid "The system-missing value cannot be output as a zoned decimal number."
msgstr ""
-#: src/data/data-out.c:382
+#: src/data/data-out.c:380
#, c-format
msgid "Number %g too big to fit in field with format Z%d.%d."
msgstr ""
-#: src/data/data-out.c:776
+#: src/data/data-out.c:774
#, c-format
msgid "Time value %g too large in magnitude to convert to alphanumeric time."
msgstr ""
-#: src/data/data-out.c:827
+#: src/data/data-out.c:825
#, c-format
msgid "Weekday index %f does not lie between 1 and 7."
msgstr ""
-#: src/data/data-out.c:847
+#: src/data/data-out.c:845
#, c-format
msgid "Month index %f does not lie between 1 and 12."
msgstr ""
-#: src/data/data-out.c:960
+#: src/data/data-out.c:958
#, c-format
msgid ""
"Year %d cannot be represented in four digits for output formatting purposes."
msgid "Can't re-open %s as a %s for %s."
msgstr ""
-#: src/data/filename.c:253
+#: src/data/file-name.c:236
#, c-format
-msgid "Searching for `%s'..."
+msgid "searching for \"%s\" in path \"%s\""
msgstr ""
-#: src/data/filename.c:261 src/data/filename.c:293
-msgid "Search unsuccessful!"
+#: src/data/file-name.c:263
+#, c-format
+msgid "...found \"%s\""
msgstr ""
-#: src/data/filename.c:286
-#, c-format
-msgid "Found `%s'."
+#: src/data/file-name.c:271
+msgid "...not found"
msgstr ""
-#: src/data/filename.c:703
+#: src/data/file-name.c:624
#, c-format
msgid "Not opening pipe file `%s' because SAFER option set."
msgstr ""
msgstr ""
#: src/data/format.c:197 src/data/por-file-reader.c:481
-#: src/data/sys-file-reader.c:994 src/data/sys-file-reader.c:1003
+#: src/data/sys-file-reader.c:997 src/data/sys-file-reader.c:1006
#: src/ui/gui/psppire-var-store.c:435
msgid "String"
msgstr ""
#: src/data/format.c:197 src/data/por-file-reader.c:481
-#: src/data/sys-file-reader.c:994 src/data/sys-file-reader.c:1003
+#: src/data/sys-file-reader.c:997 src/data/sys-file-reader.c:1006
#: src/ui/gui/psppire-var-store.c:428
msgid "Numeric"
msgstr ""
-#: src/data/format.c:198 src/data/sys-file-reader.c:996
-#: src/data/sys-file-reader.c:1141 src/data/sys-file-reader.c:1142
-#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:74
-#: src/language/dictionary/apply-dictionary.c:75
+#: src/data/format.c:198 src/data/sys-file-reader.c:999
+#: src/data/sys-file-reader.c:1144 src/data/sys-file-reader.c:1145
+#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:73
+#: src/language/dictionary/apply-dictionary.c:74
#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
msgid "numeric"
msgstr ""
-#: src/data/format.c:198 src/data/sys-file-reader.c:996
-#: src/data/sys-file-reader.c:1141 src/data/sys-file-reader.c:1142
+#: src/data/format.c:198 src/data/sys-file-reader.c:999
+#: src/data/sys-file-reader.c:1144 src/data/sys-file-reader.c:1145
#: src/data/variable.c:41 src/data/variable.c:49
+#: src/language/dictionary/apply-dictionary.c:73
#: src/language/dictionary/apply-dictionary.c:74
-#: src/language/dictionary/apply-dictionary.c:75
#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
msgid "string"
msgstr ""
msgid "%s: Creating file: %s."
msgstr ""
-#: src/data/por-file-reader.c:100
+#: src/data/por-file-reader.c:93
#, c-format
msgid "portable file %s corrupt at offset %ld: "
msgstr ""
msgid "Bad time string length %d."
msgstr ""
-#: src/data/por-file-reader.c:473 src/data/sys-file-reader.c:986
+#: src/data/por-file-reader.c:473 src/data/sys-file-reader.c:989
#, c-format
msgid "%s: Bad format specifier byte (%d)."
msgstr ""
-#: src/data/por-file-reader.c:480 src/data/sys-file-reader.c:1002
+#: src/data/por-file-reader.c:480 src/data/sys-file-reader.c:1005
#, c-format
msgid "%s variable %s has invalid format specifier %s."
msgstr ""
msgid "Duplicate label for value `%.*s' for variable %s."
msgstr ""
-#: src/data/por-file-writer.c:145
+#: src/data/por-file-writer.c:143
#, c-format
msgid "Invalid decimal digits count %d. Treating as %d."
msgstr ""
-#: src/data/por-file-writer.c:165
+#: src/data/por-file-writer.c:163
#, c-format
msgid ""
"An error occurred while opening \"%s\" for writing as a portable file: %s."
msgstr ""
-#: src/data/por-file-writer.c:449
+#: src/data/por-file-writer.c:447
#, c-format
msgid "An I/O error occurred writing portable file \"%s\"."
msgstr ""
msgid "Could not access definition for terminal `%s'."
msgstr ""
-#: src/data/sys-file-reader.c:134
+#: src/data/sys-file-reader.c:130
msgid "corrupt system file: "
msgstr ""
-#: src/data/sys-file-reader.c:151
+#: src/data/sys-file-reader.c:154
#, c-format
msgid "%s: Closing system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:242
+#: src/data/sys-file-reader.c:245
#, c-format
msgid ""
"An error occurred while opening \"%s\" for reading as a system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:259
+#: src/data/sys-file-reader.c:262
#, c-format
msgid ""
"%s: Index of weighting variable (%d) is not between 0 and number of elements "
"per case (%d)."
msgstr ""
-#: src/data/sys-file-reader.c:268
+#: src/data/sys-file-reader.c:271
#, c-format
msgid ""
"%s: Weighting variable may not be a continuation of a long string variable."
msgstr ""
-#: src/data/sys-file-reader.c:271
+#: src/data/sys-file-reader.c:274
#, c-format
msgid "%s: Weighting variable may not be a string variable."
msgstr ""
-#: src/data/sys-file-reader.c:296
+#: src/data/sys-file-reader.c:299
#, c-format
msgid ""
"%s: Orphaned variable index record (type 4). Type 4 records must always "
"immediately follow type 3 records."
msgstr ""
-#: src/data/sys-file-reader.c:354
+#: src/data/sys-file-reader.c:357
#, c-format
msgid "%s: Invalid subrecord length. Record: 7; Subrecord: 11"
msgstr ""
-#: src/data/sys-file-reader.c:408
+#: src/data/sys-file-reader.c:411
#, c-format
msgid "%s: Trailing garbage in long variable name map."
msgstr ""
-#: src/data/sys-file-reader.c:415
+#: src/data/sys-file-reader.c:418
#, c-format
msgid "%s: Long variable mapping to invalid variable name `%s'."
msgstr ""
-#: src/data/sys-file-reader.c:425
+#: src/data/sys-file-reader.c:428
#, c-format
msgid "%s: Long variable mapping for nonexistent variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:434
+#: src/data/sys-file-reader.c:437
#, c-format
msgid "%s: Duplicate long variable name `%s' within system file."
msgstr ""
-#: src/data/sys-file-reader.c:461
+#: src/data/sys-file-reader.c:464
#, c-format
msgid "%s: Unrecognized record type 7, subtype %d encountered in system file."
msgstr ""
-#: src/data/sys-file-reader.c:486
+#: src/data/sys-file-reader.c:489
#, c-format
msgid "%s: Unrecognized record type %d."
msgstr ""
-#: src/data/sys-file-reader.c:518
+#: src/data/sys-file-reader.c:521
#, c-format
msgid ""
"%s: Bad size (%d) or count (%d) field on record type 7, subtype 3.\tExpected "
"size %d, count 8."
msgstr ""
-#: src/data/sys-file-reader.c:529
+#: src/data/sys-file-reader.c:532
#, c-format
msgid ""
"%s: Floating-point representation in system file is not IEEE-754. PSPP "
"cannot convert between floating-point formats."
msgstr ""
-#: src/data/sys-file-reader.c:545
+#: src/data/sys-file-reader.c:548
#, c-format
msgid ""
"%s: File-indicated endianness (%s) does not match endianness intuited from "
"file header (%s)."
msgstr ""
-#: src/data/sys-file-reader.c:548 src/data/sys-file-reader.c:549
+#: src/data/sys-file-reader.c:551 src/data/sys-file-reader.c:552
msgid "big-endian"
msgstr ""
-#: src/data/sys-file-reader.c:548 src/data/sys-file-reader.c:549
+#: src/data/sys-file-reader.c:551 src/data/sys-file-reader.c:552
msgid "little-endian"
msgstr ""
-#: src/data/sys-file-reader.c:550
+#: src/data/sys-file-reader.c:553
msgid "unknown"
msgstr ""
-#: src/data/sys-file-reader.c:554
+#: src/data/sys-file-reader.c:557
#, c-format
msgid "%s: File-indicated character representation code (%s) is not ASCII."
msgstr ""
-#: src/data/sys-file-reader.c:558
+#: src/data/sys-file-reader.c:561
msgid "DEC Kanji"
msgstr ""
-#: src/data/sys-file-reader.c:558 src/language/dictionary/sys-file-info.c:119
+#: src/data/sys-file-reader.c:561 src/language/dictionary/sys-file-info.c:120
msgid "Unknown"
msgstr ""
-#: src/data/sys-file-reader.c:574
+#: src/data/sys-file-reader.c:577
#, c-format
msgid ""
"%s: Bad size (%d) or count (%d) field on record type 7, subtype 4.\tExpected "
"size %d, count 8."
msgstr ""
-#: src/data/sys-file-reader.c:589
+#: src/data/sys-file-reader.c:592
#, c-format
msgid ""
"%s: File-indicated value is different from internal value for at least one "
"%g; LOWEST: %g, %g."
msgstr ""
-#: src/data/sys-file-reader.c:616
+#: src/data/sys-file-reader.c:619
#, c-format
msgid ""
"%s: Bad magic. Proper system files begin with the four characters `$FL2'. "
"This file will not be read."
msgstr ""
-#: src/data/sys-file-reader.c:658
+#: src/data/sys-file-reader.c:661
#, c-format
msgid ""
"%s: File layout code has unexpected value %d. Value should be 2, in big-"
"endian or little-endian format."
msgstr ""
-#: src/data/sys-file-reader.c:686
+#: src/data/sys-file-reader.c:689
#, c-format
msgid "%s: Number of cases in file (%ld) is not between -1 and %d."
msgstr ""
-#: src/data/sys-file-reader.c:691
+#: src/data/sys-file-reader.c:694
#, c-format
msgid "%s: Compression bias (%g) is not the usual value of 100."
msgstr ""
-#: src/data/sys-file-reader.c:816
+#: src/data/sys-file-reader.c:819
#, c-format
msgid ""
"%s: position %d: String variable does not have proper number of continuation "
"records."
msgstr ""
-#: src/data/sys-file-reader.c:827
+#: src/data/sys-file-reader.c:830
#, c-format
msgid "%s: position %d: Superfluous long string continuation record."
msgstr ""
-#: src/data/sys-file-reader.c:833
+#: src/data/sys-file-reader.c:836
#, c-format
msgid "%s: position %d: Bad variable type code %d."
msgstr ""
-#: src/data/sys-file-reader.c:836
+#: src/data/sys-file-reader.c:839
#, c-format
msgid "%s: position %d: Variable label indicator field is not 0 or 1."
msgstr ""
-#: src/data/sys-file-reader.c:840
+#: src/data/sys-file-reader.c:843
#, c-format
msgid ""
"%s: position %d: Missing value indicator field is not -3, -2, 0, 1, 2, or 3."
msgstr ""
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:848
#, c-format
msgid "%s: position %d: Variable name begins with invalid character."
msgstr ""
-#: src/data/sys-file-reader.c:864
+#: src/data/sys-file-reader.c:867
#, c-format
msgid "%s: Invalid variable name `%s' within system file."
msgstr ""
-#: src/data/sys-file-reader.c:870
+#: src/data/sys-file-reader.c:873
#, c-format
msgid "%s: Duplicate variable name `%s' within system file."
msgstr ""
-#: src/data/sys-file-reader.c:893
+#: src/data/sys-file-reader.c:896
#, c-format
msgid "%s: Variable %s indicates variable label of invalid length %d."
msgstr ""
-#: src/data/sys-file-reader.c:914
+#: src/data/sys-file-reader.c:917
#, c-format
msgid "%s: Long string variable %s may not have missing values."
msgstr ""
-#: src/data/sys-file-reader.c:935
+#: src/data/sys-file-reader.c:938
#, c-format
msgid ""
"%s: String variable %s may not have missing values specified as a range."
msgstr ""
-#: src/data/sys-file-reader.c:962
+#: src/data/sys-file-reader.c:965
#, c-format
msgid "%s: Long string continuation records omitted at end of dictionary."
msgstr ""
-#: src/data/sys-file-reader.c:967
+#: src/data/sys-file-reader.c:970
#, c-format
msgid ""
"%s: System file header indicates %d variable positions but %d were read from "
"file."
msgstr ""
-#: src/data/sys-file-reader.c:992
+#: src/data/sys-file-reader.c:995
#, c-format
msgid "%s: %s variable %s has %s format specifier %s."
msgstr ""
-#: src/data/sys-file-reader.c:1045
+#: src/data/sys-file-reader.c:1048
#, c-format
msgid "%s: Invalid number of labels: %d. Ignoring labels."
msgstr ""
-#: src/data/sys-file-reader.c:1087
+#: src/data/sys-file-reader.c:1090
#, c-format
msgid ""
"%s: Variable index record (type 4) does not immediately follow value label "
"record (type 3) as it should."
msgstr ""
-#: src/data/sys-file-reader.c:1098
+#: src/data/sys-file-reader.c:1101
#, 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/data/sys-file-reader.c:1114
+#: src/data/sys-file-reader.c:1117
#, c-format
msgid ""
"%s: Variable index associated with value label (%d) is not between 1 and the "
"number of values (%d)."
msgstr ""
-#: src/data/sys-file-reader.c:1121
+#: src/data/sys-file-reader.c:1124
#, 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/data/sys-file-reader.c:1126
+#: src/data/sys-file-reader.c:1129
#, c-format
msgid "%s: Value labels are not allowed on long string variables (%s)."
msgstr ""
-#: src/data/sys-file-reader.c:1137
+#: src/data/sys-file-reader.c:1140
#, 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/data/sys-file-reader.c:1178
+#: src/data/sys-file-reader.c:1181
#, c-format
msgid "%s: File contains duplicate label for value %g for variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:1182
+#: src/data/sys-file-reader.c:1185
#, c-format
msgid "%s: File contains duplicate label for value `%.*s' for variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:1224 src/data/sys-file-reader.c:1507
+#: src/data/sys-file-reader.c:1227 src/data/sys-file-reader.c:1510
#, c-format
msgid "%s: Reading system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:1227 src/data/sys-file-reader.c:1345
-#: src/data/sys-file-reader.c:1386
+#: src/data/sys-file-reader.c:1230 src/data/sys-file-reader.c:1348
+#: src/data/sys-file-reader.c:1389
#, c-format
msgid "%s: Unexpected end of file."
msgstr ""
-#: src/data/sys-file-reader.c:1243
+#: src/data/sys-file-reader.c:1246
#, c-format
msgid "%s: Seeking system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:1258
+#: src/data/sys-file-reader.c:1261
#, c-format
msgid "%s: System file contains multiple type 6 (document) records."
msgstr ""
-#: src/data/sys-file-reader.c:1264
+#: src/data/sys-file-reader.c:1267
#, c-format
msgid "%s: Number of document lines (%ld) must be greater than 0."
msgstr ""
-#: src/data/sys-file-reader.c:1298
+#: src/data/sys-file-reader.c:1301
#, c-format
msgid "%s: Error reading file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:1337
+#: src/data/sys-file-reader.c:1340
#, c-format
msgid "%s: Compressed data is corrupted. Data ends in partial case."
msgstr ""
-#: src/data/sys-file-reader.c:1513
+#: src/data/sys-file-reader.c:1516
#, c-format
msgid "%s: Partial record at end of system file."
msgstr ""
-#: src/data/sys-file-writer.c:141
+#: src/data/sys-file-writer.c:139
#, c-format
msgid "Unknown system file version %d. Treating as version %d."
msgstr ""
-#: src/data/sys-file-writer.c:250
+#: src/data/sys-file-writer.c:248
#, c-format
msgid "Error opening \"%s\" for writing as a system file: %s."
msgstr ""
-#: src/data/sys-file-writer.c:897
+#: src/data/sys-file-writer.c:895
#, c-format
msgid "An I/O error occurred writing system file \"%s\"."
msgstr ""
msgid "scratch"
msgstr ""
-#: src/language/command.c:141
+#: src/language/command.c:159
#, c-format
-msgid "%s not allowed inside FILE TYPE/END FILE TYPE."
+msgid "%s may be used only in testing mode."
msgstr ""
-#: src/language/command.c:144
+#: src/language/command.c:164
#, c-format
-msgid "%s not allowed inside FILE TYPE GROUPED/END FILE TYPE."
+msgid "%s may be used only in enhanced syntax mode."
msgstr ""
-#: src/language/command.c:147
-msgid "RECORD TYPE must be the first command inside a FILE TYPE structure."
+#: src/language/command.c:414
+msgid "expecting command name"
msgstr ""
-#: src/language/command.c:194
-msgid "expecting command name"
+#: src/language/command.c:428
+#, c-format
+msgid "Unknown command %s."
+msgstr ""
+
+#: src/language/command.c:550
+msgid "before the active file has been defined"
+msgstr ""
+
+#: src/language/command.c:552
+msgid "after the active file has been defined"
+msgstr ""
+
+#: src/language/command.c:554
+msgid "inside INPUT PROGRAM"
+msgstr ""
+
+#: src/language/command.c:556
+msgid "inside FILE TYPE"
msgstr ""
-#: src/language/command.c:204 src/language/expressions/parse.c:1222
-#: src/ui/terminal/command-line.c:125 src/ui/terminal/command-line.c:144
-#: src/ui/terminal/command-line.c:156
+#: src/language/command.c:561
#, c-format
-msgid "%s is not yet implemented."
+msgid "%s or %s"
msgstr ""
-#: src/language/command.c:223
+#: src/language/command.c:563
#, c-format
-msgid ""
-"%s is not allowed (1) before a command to specify the input program, such as "
-"DATA LIST, (2) between FILE TYPE and END FILE TYPE, (3) between INPUT "
-"PROGRAM and END INPUT PROGRAM."
+msgid "%s, %s, or %s"
msgstr ""
-#: src/language/command.c:227
+#: src/language/command.c:567
#, c-format
-msgid "%s is not allowed within an input program."
+msgid "%s is allowed only %s."
msgstr ""
-#: src/language/command.c:228 src/language/command.c:229
+#: src/language/command.c:572
#, c-format
-msgid "%s is only allowed within an input program."
+msgid "%s is not allowed inside INPUT PROGRAM."
msgstr ""
-#: src/language/command.c:504
+#: src/language/command.c:574
#, c-format
-msgid "Unknown command %s."
+msgid "%s is not allowed inside FILE TYPE."
msgstr ""
-#: src/language/command.c:645 src/language/command.c:776
+#: src/language/command.c:666 src/language/command.c:797
#: src/language/utilities/permissions.c:102
msgid "This command not allowed when the SAFER option is set."
msgstr ""
-#: src/language/command.c:657
+#: src/language/command.c:678
#, c-format
msgid "Error removing `%s': %s."
msgstr ""
-#: src/language/command.c:707
+#: src/language/command.c:728
#, c-format
msgid "Couldn't fork: %s."
msgstr ""
-#: src/language/command.c:749
+#: src/language/command.c:770
#, c-format
msgid "Error executing command: %s."
msgstr ""
-#: src/language/command.c:758 src/language/data-io/matrix-data.c:534
-#: src/language/data-io/print.c:336 src/language/data-io/print.c:1051
+#: src/language/command.c:779 src/language/data-io/matrix-data.c:532
+#: src/language/data-io/print.c:336 src/language/data-io/print.c:1038
#: src/language/dictionary/vector.c:197 src/language/lexer/lexer.c:453
#: src/language/stats/autorecode.c:144 src/language/xforms/select-if.c:57
#: src/language/xforms/select-if.c:137
msgid "expecting end of command"
msgstr ""
-#: src/language/command.c:797
+#: src/language/command.c:818
msgid "No operating system support for this command."
msgstr ""
msgid "This command may not follow ELSE in DO IF...END IF."
msgstr ""
-#: src/language/control/repeat.c:137
+#: src/language/control/repeat.c:135
#, c-format
msgid "Dummy variable name \"%s\" hides dictionary variable \"%s\"."
msgstr ""
-#: src/language/control/repeat.c:143
+#: src/language/control/repeat.c:141
#, c-format
msgid "Dummy variable name \"%s\" is given twice."
msgstr ""
-#: src/language/control/repeat.c:184
+#: src/language/control/repeat.c:182
#, c-format
msgid ""
"Dummy variable \"%s\" had %d substitutions, so \"%s\" must also, but %d were "
"specified."
msgstr ""
-#: src/language/control/repeat.c:453
+#: src/language/control/repeat.c:451
msgid "String expected."
msgstr ""
-#: src/language/control/repeat.c:480
+#: src/language/control/repeat.c:478
msgid "No matching DO REPEAT."
msgstr ""
"fields must be listed in order of increasing record number."
msgstr ""
-#: src/language/data-io/data-list.c:378 src/language/data-io/data-list.c:1727
+#: src/language/data-io/data-list.c:378 src/language/data-io/data-list.c:1729
msgid ""
"SPSS-like or FORTRAN-like format specification expected after variable names."
msgstr ""
#: src/language/data-io/data-list.c:783 src/language/data-io/data-list.c:901
#: src/language/data-io/print.c:798
-#: src/language/dictionary/sys-file-info.c:139
-#: src/language/dictionary/sys-file-info.c:373
-#: src/language/stats/descriptives.c:887 src/procedure.c:886
+#: src/language/dictionary/sys-file-info.c:140
+#: src/language/dictionary/sys-file-info.c:374
+#: src/language/stats/descriptives.c:887 src/procedure.c:878
msgid "Variable"
msgstr ""
"with the system-missing value or blanks, as appropriate."
msgstr ""
-#: src/language/data-io/data-list.c:1390
+#: src/language/data-io/data-list.c:1392
msgid ""
"REPEATING DATA must use the same file as its corresponding DATA LIST or FILE "
"TYPE."
msgstr ""
-#: src/language/data-io/data-list.c:1400 src/language/data-io/data-list.c:1434
-#: src/language/data-io/data-list.c:1447 src/language/data-io/data-list.c:1460
-#: src/language/data-io/data-list.c:1494
+#: src/language/data-io/data-list.c:1402 src/language/data-io/data-list.c:1436
+#: src/language/data-io/data-list.c:1449 src/language/data-io/data-list.c:1462
+#: src/language/data-io/data-list.c:1496
#, c-format
msgid "%s subcommand given multiple times."
msgstr ""
-#: src/language/data-io/data-list.c:1423
+#: src/language/data-io/data-list.c:1425
#, c-format
msgid "STARTS beginning column (%d) exceeds STARTS ending column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1480
+#: src/language/data-io/data-list.c:1482
#, c-format
msgid "CONTINUED beginning column (%d) exceeds CONTINUED ending column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1503
+#: src/language/data-io/data-list.c:1505
#, c-format
msgid "ID beginning column (%ld) must be positive."
msgstr ""
-#: src/language/data-io/data-list.c:1518
+#: src/language/data-io/data-list.c:1520
#, c-format
msgid "ID ending column (%ld) must be positive."
msgstr ""
-#: src/language/data-io/data-list.c:1524
+#: src/language/data-io/data-list.c:1526
#, c-format
msgid "ID ending column (%ld) cannot be less than ID beginning column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1564
+#: src/language/data-io/data-list.c:1566
msgid "Missing required specification STARTS."
msgstr ""
-#: src/language/data-io/data-list.c:1566
+#: src/language/data-io/data-list.c:1568
msgid "Missing required specification OCCURS."
msgstr ""
-#: src/language/data-io/data-list.c:1573
+#: src/language/data-io/data-list.c:1575
msgid "ID specified without CONTINUED."
msgstr ""
-#: src/language/data-io/data-list.c:1584
+#: src/language/data-io/data-list.c:1586
#, c-format
msgid ""
"STARTS beginning column (%d) exceeds default STARTS ending column taken from "
"file's record width (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1597
+#: src/language/data-io/data-list.c:1599
#, c-format
msgid ""
"CONTINUED beginning column (%d) exceeds default CONTINUED ending column "
"taken from file's record width (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1676
+#: src/language/data-io/data-list.c:1678
msgid "String variable not allowed here."
msgstr ""
-#: src/language/data-io/data-list.c:1686
+#: src/language/data-io/data-list.c:1688
#, c-format
msgid "%s (%d) must be at least 1."
msgstr ""
-#: src/language/data-io/data-list.c:1692
+#: src/language/data-io/data-list.c:1694
#, c-format
msgid "Variable or integer expected for %s."
msgstr ""
-#: src/language/data-io/data-list.c:1817
+#: src/language/data-io/data-list.c:1819
#, c-format
msgid "Encountered mismatched record ID \"%s\" expecting \"%s\"."
msgstr ""
-#: src/language/data-io/data-list.c:1849
+#: src/language/data-io/data-list.c:1852
#, c-format
msgid ""
"Variable %s starting in column %d extends beyond physical record length of %"
"d."
msgstr ""
-#: src/language/data-io/data-list.c:1916
+#: src/language/data-io/data-list.c:1919
#, c-format
msgid "Invalid value %d for OCCURS."
msgstr ""
-#: src/language/data-io/data-list.c:1922
+#: src/language/data-io/data-list.c:1925
#, c-format
msgid "Beginning column for STARTS (%d) must be at least 1."
msgstr ""
-#: src/language/data-io/data-list.c:1930
+#: src/language/data-io/data-list.c:1932
#, c-format
msgid "Ending column for STARTS (%d) is less than beginning column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1938
+#: src/language/data-io/data-list.c:1940
#, c-format
msgid "Invalid value %d for LENGTH."
msgstr ""
-#: src/language/data-io/data-list.c:1945
+#: src/language/data-io/data-list.c:1947
#, c-format
msgid "Beginning column for CONTINUED (%d) must be at least 1."
msgstr ""
-#: src/language/data-io/data-list.c:1953
+#: src/language/data-io/data-list.c:1955
#, c-format
msgid "Ending column for CONTINUED (%d) is less than beginning column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1985
+#: src/language/data-io/data-list.c:1987
#, 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/language/data-io/data-list.c:2003
+#: src/language/data-io/data-list.c:2005
#, c-format
msgid "Unexpected end of file with %d repetitions remaining out of %d."
msgstr ""
-#: src/language/data-io/data-reader.c:138
+#: src/language/data-io/data-reader.c:131
#, c-format
msgid "Could not open \"%s\" for reading as a data file: %s."
msgstr ""
-#: src/language/data-io/data-reader.c:175
+#: src/language/data-io/data-reader.c:168
msgid ""
"Unexpected end-of-file while reading data in BEGIN DATA. This probably "
"indicates a missing or misformatted END DATA command. END DATA must appear "
"by itself on a single line with exactly one space between words."
msgstr ""
-#: src/language/data-io/data-reader.c:206
-#: src/language/data-io/data-reader.c:224
+#: src/language/data-io/data-reader.c:199
+#: src/language/data-io/data-reader.c:216
#, c-format
msgid "Error reading file %s: %s."
msgstr ""
-#: src/language/data-io/data-reader.c:227
+#: src/language/data-io/data-reader.c:219
#, c-format
msgid "%s: Partial record at end of file."
msgstr ""
-#: src/language/data-io/data-reader.c:278
+#: src/language/data-io/data-reader.c:270
#, c-format
msgid "Attempt to read beyond end-of-file on file %s."
msgstr ""
-#: src/language/data-io/data-reader.c:281
+#: src/language/data-io/data-reader.c:273
msgid "Attempt to read beyond END DATA."
msgstr ""
-#: src/language/data-io/data-reader.c:425
+#: src/language/data-io/data-reader.c:417
msgid ""
"This command is not valid here since the current input program does not "
"access the inline file."
msgstr ""
-#: src/language/data-io/data-writer.c:70
+#: src/language/data-io/data-writer.c:62
#, c-format
msgid "An error occurred while opening \"%s\" for writing as a data file: %s."
msgstr ""
-#: src/language/data-io/data-writer.c:136
+#: src/language/data-io/data-writer.c:131
#, c-format
msgid "I/O error occurred writing data file \"%s\"."
msgstr ""
msgid "Handle for %s not allowed here."
msgstr ""
-#: src/language/data-io/file-type.c:134
+#: src/language/data-io/file-type.c:149
msgid "MIXED, GROUPED, or NESTED expected."
msgstr ""
-#: src/language/data-io/file-type.c:157
+#: src/language/data-io/file-type.c:172
msgid "The CASE subcommand is not valid on FILE TYPE MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:175
+#: src/language/data-io/file-type.c:190
msgid "WARN or NOWARN expected after WILD."
msgstr ""
-#: src/language/data-io/file-type.c:183
+#: src/language/data-io/file-type.c:198
msgid "The DUPLICATE subcommand is not valid on FILE TYPE MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:197
+#: src/language/data-io/file-type.c:212
msgid "DUPLICATE=CASE is only valid on FILE TYPE NESTED."
msgstr ""
-#: src/language/data-io/file-type.c:206
+#: src/language/data-io/file-type.c:221
#, c-format
msgid "WARN%s expected after DUPLICATE."
msgstr ""
-#: src/language/data-io/file-type.c:207
+#: src/language/data-io/file-type.c:222
msgid ", NOWARN, or CASE"
msgstr ""
-#: src/language/data-io/file-type.c:208
+#: src/language/data-io/file-type.c:223
msgid " or NOWARN"
msgstr ""
-#: src/language/data-io/file-type.c:216
+#: src/language/data-io/file-type.c:231
msgid "The MISSING subcommand is not valid on FILE TYPE MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:228
+#: src/language/data-io/file-type.c:243
msgid "WARN or NOWARN after MISSING."
msgstr ""
-#: src/language/data-io/file-type.c:236
+#: src/language/data-io/file-type.c:251
msgid "ORDERED is only valid on FILE TYPE GROUPED."
msgstr ""
-#: src/language/data-io/file-type.c:247
+#: src/language/data-io/file-type.c:262
msgid "YES or NO expected after ORDERED."
msgstr ""
-#: src/language/data-io/file-type.c:253 src/language/data-io/file-type.c:548
+#: src/language/data-io/file-type.c:268 src/language/data-io/file-type.c:554
msgid "while expecting a valid subcommand"
msgstr ""
-#: src/language/data-io/file-type.c:260
+#: src/language/data-io/file-type.c:275
msgid "The required RECORD subcommand was not present."
msgstr ""
-#: src/language/data-io/file-type.c:268
+#: src/language/data-io/file-type.c:283
msgid "The required CASE subcommand was not present."
msgstr ""
-#: src/language/data-io/file-type.c:274
+#: src/language/data-io/file-type.c:289
msgid "CASE and RECORD must specify different variable names."
msgstr ""
-#: src/language/data-io/file-type.c:332
+#: src/language/data-io/file-type.c:347
msgid "Column value must be positive."
msgstr ""
-#: src/language/data-io/file-type.c:348
+#: src/language/data-io/file-type.c:363
msgid "Ending column precedes beginning column."
msgstr ""
-#: src/language/data-io/file-type.c:368
+#: src/language/data-io/file-type.c:383
msgid "Bad format specifier name."
msgstr ""
-#: src/language/data-io/file-type.c:397 src/language/data-io/file-type.c:586
-msgid ""
-"This command may only appear within a FILE TYPE/END FILE TYPE structure."
-msgstr ""
-
-#: src/language/data-io/file-type.c:420
+#: src/language/data-io/file-type.c:426
msgid "OTHER may appear only on the last RECORD TYPE command."
msgstr ""
-#: src/language/data-io/file-type.c:430
+#: src/language/data-io/file-type.c:436
msgid "No input commands (DATA LIST, REPEATING DATA) for above RECORD TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:481
+#: src/language/data-io/file-type.c:487
msgid ""
"The CASE subcommand is not allowed on the RECORD TYPE command for FILE TYPE "
"MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:491
+#: src/language/data-io/file-type.c:497
msgid ""
"No variable name may be specified for the CASE subcommand on RECORD TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:499
+#: src/language/data-io/file-type.c:505
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/language/data-io/file-type.c:515
+#: src/language/data-io/file-type.c:521
msgid "WARN or NOWARN expected on DUPLICATE subcommand."
msgstr ""
-#: src/language/data-io/file-type.c:529
+#: src/language/data-io/file-type.c:535
msgid "WARN or NOWARN expected on MISSING subcommand."
msgstr ""
-#: src/language/data-io/file-type.c:542
+#: src/language/data-io/file-type.c:548
msgid "YES or NO expected on SPREAD subcommand."
msgstr ""
-#: src/language/data-io/file-type.c:599
+#: src/language/data-io/file-type.c:598
msgid "No input commands (DATA LIST, REPEATING DATA) on above RECORD TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:606
+#: src/language/data-io/file-type.c:605
msgid "No commands between FILE TYPE and END FILE TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:675
+#: src/language/data-io/file-type.c:674
#, c-format
msgid "Unknown record type \"%.*s\"."
msgstr ""
-#: src/language/data-io/file-type.c:699
+#: src/language/data-io/file-type.c:698
#, c-format
msgid "Unknown record type %g."
msgstr ""
-#: src/language/data-io/get.c:108
+#: src/language/data-io/get.c:106
msgid "expecting COMM or TAPE"
msgstr ""
-#: src/language/data-io/get.c:350 src/language/data-io/get.c:364
-#: src/language/data-io/get.c:389
+#: src/language/data-io/get.c:348 src/language/data-io/get.c:362
+#: src/language/data-io/get.c:387
#, c-format
msgid "expecting %s or %s"
msgstr ""
-#: src/language/data-io/get.c:596 src/language/data-io/print.c:180
+#: src/language/data-io/get.c:594 src/language/data-io/print.c:180
msgid "expecting a valid subcommand"
msgstr ""
-#: src/language/data-io/get.c:629
+#: src/language/data-io/get.c:627
#, c-format
msgid ""
"Cannot rename %s as %s because there already exists a variable named %s. To "
"as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
msgstr ""
-#: src/language/data-io/get.c:654
+#: src/language/data-io/get.c:652
msgid "`=' expected after variable list."
msgstr ""
-#: src/language/data-io/get.c:661
+#: src/language/data-io/get.c:659
#, c-format
msgid ""
"Number of variables on left side of `=' (%d) does not match number of "
"variables on right side (%d), in parenthesized group %d of RENAME subcommand."
msgstr ""
-#: src/language/data-io/get.c:674
+#: src/language/data-io/get.c:672
#, c-format
msgid "Requested renaming duplicates variable name %s."
msgstr ""
-#: src/language/data-io/get.c:704
+#: src/language/data-io/get.c:702
msgid "Cannot DROP all variables from dictionary."
msgstr ""
-#: src/language/data-io/get.c:883
+#: src/language/data-io/get.c:879
msgid "The active file may not be specified more than once."
msgstr ""
-#: src/language/data-io/get.c:892
+#: src/language/data-io/get.c:887
msgid "Cannot specify the active file since no active file has been defined."
msgstr ""
-#: src/language/data-io/get.c:900
+#: src/language/data-io/get.c:895
msgid ""
"MATCH FILES may not be used after TEMPORARY when the active file is an input "
"source. Temporary transformations will be made permanent."
msgstr ""
-#: src/language/data-io/get.c:938
+#: src/language/data-io/get.c:933
msgid "Multiple IN subcommands for a single FILE or TABLE."
msgstr ""
-#: src/language/data-io/get.c:958
+#: src/language/data-io/get.c:953
msgid "BY may appear at most once."
msgstr ""
-#: src/language/data-io/get.c:978
+#: src/language/data-io/get.c:973
#, c-format
msgid "File %s lacks BY variable %s."
msgstr ""
-#: src/language/data-io/get.c:992
+#: src/language/data-io/get.c:987
msgid "FIRST may appear at most once."
msgstr ""
-#: src/language/data-io/get.c:1006
+#: src/language/data-io/get.c:1001
msgid "LAST may appear at most once."
msgstr ""
-#: src/language/data-io/get.c:1047
+#: src/language/data-io/get.c:1042
msgid "BY is required when TABLE is specified."
msgstr ""
-#: src/language/data-io/get.c:1052
+#: src/language/data-io/get.c:1047
msgid "BY is required when IN is specified."
msgstr ""
-#: src/language/data-io/get.c:1080
+#: src/language/data-io/get.c:1075
#, c-format
msgid "IN variable name %s duplicates an existing variable name."
msgstr ""
-#: src/language/data-io/get.c:1535
+#: src/language/data-io/get.c:1530
#, c-format
msgid ""
"Variable %s in file %s (%s) has different type or width from the same "
"variable in earlier file (%s)."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:85
-msgid "No matching INPUT PROGRAM command."
+#: src/language/data-io/inpt-pgm.c:98
+msgid "Unexpected end-of-file within INPUT PROGRAM."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:90
+#: src/language/data-io/inpt-pgm.c:107
msgid ""
"No data-input or transformation commands specified between INPUT PROGRAM and "
"END INPUT PROGRAM."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:292 src/language/data-io/inpt-pgm.c:411
-msgid ""
-"This command may only be executed between INPUT PROGRAM and END INPUT "
-"PROGRAM."
-msgstr ""
-
-#: src/language/data-io/inpt-pgm.c:336
+#: src/language/data-io/inpt-pgm.c:354
msgid "COLUMN subcommand multiply specified."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:384
+#: src/language/data-io/inpt-pgm.c:402
msgid ""
"REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr ""
-#: src/language/data-io/list.q:151 src/language/stats/descriptives.c:356
+#: src/language/data-io/list.q:149 src/language/stats/descriptives.c:356
msgid "No variables specified."
msgstr ""
-#: src/language/data-io/list.q:159
+#: src/language/data-io/list.q:157
#, c-format
msgid ""
"The first case (%ld) specified precedes the last case (%ld) specified. The "
"values will be swapped."
msgstr ""
-#: src/language/data-io/list.q:167
+#: src/language/data-io/list.q:165
#, c-format
msgid ""
"The first case (%ld) to list is less than 1. The value is being reset to 1."
msgstr ""
-#: src/language/data-io/list.q:173
+#: src/language/data-io/list.q:171
#, c-format
msgid ""
"The last case (%ld) to list is less than 1. The value is being reset to 1."
msgstr ""
-#: src/language/data-io/list.q:179
+#: src/language/data-io/list.q:177
#, c-format
msgid "The step value %ld is less than 1. The value is being reset to 1."
msgstr ""
-#: src/language/data-io/list.q:205
+#: src/language/data-io/list.q:203
msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
msgstr ""
-#: src/language/data-io/list.q:432
+#: src/language/data-io/list.q:430
msgid "Line"
msgstr ""
-#: src/language/data-io/matrix-data.c:213
+#: src/language/data-io/matrix-data.c:211
msgid "VARIABLES subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:228
+#: src/language/data-io/matrix-data.c:226
msgid "VARNAME_ cannot be explicitly specified on VARIABLES."
msgstr ""
-#: src/language/data-io/matrix-data.c:289
+#: src/language/data-io/matrix-data.c:287
msgid "in FORMAT subcommand"
msgstr ""
-#: src/language/data-io/matrix-data.c:300
+#: src/language/data-io/matrix-data.c:298
msgid "SPLIT subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:307
+#: src/language/data-io/matrix-data.c:305
msgid "in SPLIT subcommand"
msgstr ""
-#: src/language/data-io/matrix-data.c:317
+#: src/language/data-io/matrix-data.c:315
msgid "Split variable may not be named ROWTYPE_ or VARNAME_."
msgstr ""
-#: src/language/data-io/matrix-data.c:351
+#: src/language/data-io/matrix-data.c:349
#, c-format
msgid "Split variable %s is already another type."
msgstr ""
-#: src/language/data-io/matrix-data.c:366
+#: src/language/data-io/matrix-data.c:364
msgid "FACTORS subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:385
+#: src/language/data-io/matrix-data.c:383
#, c-format
msgid "Factor variable %s is already another type."
msgstr ""
-#: src/language/data-io/matrix-data.c:400
+#: src/language/data-io/matrix-data.c:398
msgid "CELLS subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:406
-#: src/language/data-io/matrix-data.c:425
+#: src/language/data-io/matrix-data.c:404
+#: src/language/data-io/matrix-data.c:423
msgid "expecting positive integer"
msgstr ""
-#: src/language/data-io/matrix-data.c:419
+#: src/language/data-io/matrix-data.c:417
msgid "N subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:440
+#: src/language/data-io/matrix-data.c:438
msgid "CONTENTS subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:460
+#: src/language/data-io/matrix-data.c:458
msgid "Nested parentheses not allowed."
msgstr ""
-#: src/language/data-io/matrix-data.c:470
+#: src/language/data-io/matrix-data.c:468
msgid "Mismatched right parenthesis (`(')."
msgstr ""
-#: src/language/data-io/matrix-data.c:475
+#: src/language/data-io/matrix-data.c:473
msgid "Empty parentheses not allowed."
msgstr ""
-#: src/language/data-io/matrix-data.c:488
-#: src/language/data-io/matrix-data.c:496
+#: src/language/data-io/matrix-data.c:486
+#: src/language/data-io/matrix-data.c:494
msgid "in CONTENTS subcommand"
msgstr ""
-#: src/language/data-io/matrix-data.c:503
+#: src/language/data-io/matrix-data.c:501
#, c-format
msgid "Content multiply specified for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:520
+#: src/language/data-io/matrix-data.c:518
msgid "Missing right parenthesis."
msgstr ""
-#: src/language/data-io/matrix-data.c:540
+#: src/language/data-io/matrix-data.c:538
msgid "Missing VARIABLES subcommand."
msgstr ""
-#: src/language/data-io/matrix-data.c:546
+#: src/language/data-io/matrix-data.c:544
msgid ""
"CONTENTS subcommand not specified: assuming file contains only CORR matrix."
msgstr ""
-#: src/language/data-io/matrix-data.c:556
+#: src/language/data-io/matrix-data.c:554
msgid ""
"Missing CELLS subcommand. CELLS is required when ROWTYPE_ is not given in "
"the data and factors are present."
msgstr ""
-#: src/language/data-io/matrix-data.c:564
+#: src/language/data-io/matrix-data.c:562
msgid "Split file values must be present in the data when ROWTYPE_ is present."
msgstr ""
-#: src/language/data-io/matrix-data.c:617
+#: src/language/data-io/matrix-data.c:615
msgid "No continuous variables specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:860
+#: src/language/data-io/matrix-data.c:858
msgid "Scope of string exceeds line."
msgstr ""
-#: src/language/data-io/matrix-data.c:925
+#: src/language/data-io/matrix-data.c:923
#, c-format
msgid "End of line expected %s while reading %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1115
+#: src/language/data-io/matrix-data.c:1113
#, c-format
msgid "expecting value for %s %s"
msgstr ""
-#: src/language/data-io/matrix-data.c:1281
+#: src/language/data-io/matrix-data.c:1278
#, c-format
msgid "Syntax error expecting SPLIT FILE value %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1290
+#: src/language/data-io/matrix-data.c:1287
#, c-format
msgid "Expecting value %g for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1331
-#: src/language/data-io/matrix-data.c:1811
+#: src/language/data-io/matrix-data.c:1328
+#: src/language/data-io/matrix-data.c:1805
#, c-format
msgid "Syntax error expecting factor value %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1340
+#: src/language/data-io/matrix-data.c:1337
#, c-format
msgid "Syntax error expecting value %g for %s %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1587
+#: src/language/data-io/matrix-data.c:1581
#, c-format
msgid "Syntax error %s expecting SPLIT FILE value."
msgstr ""
-#: src/language/data-io/matrix-data.c:1716
+#: src/language/data-io/matrix-data.c:1710
#, c-format
msgid ""
"Expected %d lines of data for %s content; actually saw %d lines. No data "
"will be output for this content."
msgstr ""
-#: src/language/data-io/matrix-data.c:1753
+#: src/language/data-io/matrix-data.c:1747
#, c-format
msgid "Multiply specified ROWTYPE_ %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1758
+#: src/language/data-io/matrix-data.c:1752
#, c-format
msgid "Syntax error %s expecting ROWTYPE_ string."
msgstr ""
-#: src/language/data-io/matrix-data.c:1778
+#: src/language/data-io/matrix-data.c:1772
#, c-format
msgid "Syntax error %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1929
+#: src/language/data-io/matrix-data.c:1923
#, c-format
msgid "Duplicate specification for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1941
+#: src/language/data-io/matrix-data.c:1935
#, c-format
msgid "Too many rows of matrix data for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1989
+#: src/language/data-io/matrix-data.c:1981
#, c-format
msgid "Syntax error expecting value for %s %s."
msgstr ""
msgstr[0] ""
msgstr[1] ""
-#: src/language/data-io/print.c:1091
+#: src/language/data-io/print.c:1078
msgid "The expression on PRINT SPACE evaluated to the system-missing value."
msgstr ""
-#: src/language/data-io/print.c:1094
+#: src/language/data-io/print.c:1081
#, c-format
msgid "The expression on PRINT SPACE evaluated to %g."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:71
+#: src/language/dictionary/apply-dictionary.c:70
#, c-format
msgid "Variable %s is %s in target file, but %s in source file."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:87
+#: src/language/dictionary/apply-dictionary.c:86
#, c-format
msgid "Cannot add value labels from source file to long string variable %s."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:133
+#: src/language/dictionary/apply-dictionary.c:132
#, c-format
msgid ""
"Cannot apply missing values from source file to long string variable %s."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:153
+#: src/language/dictionary/apply-dictionary.c:152
msgid "No matching variables found between the source and target files."
msgstr ""
-#: src/language/dictionary/formats.c:89
+#: src/language/dictionary/formats.c:87
msgid "`(' expected after variable list"
msgstr ""
-#: src/language/dictionary/formats.c:99 src/language/dictionary/numeric.c:68
-#: src/language/dictionary/numeric.c:139
+#: src/language/dictionary/formats.c:97 src/language/dictionary/numeric.c:66
+#: src/language/dictionary/numeric.c:137
msgid "`)' expected after output format."
msgstr ""
-#: src/language/dictionary/missing-values.c:55
-#: src/language/stats/aggregate.c:432
+#: src/language/dictionary/missing-values.c:53
+#: src/language/stats/aggregate.c:434
msgid "expecting `('"
msgstr ""
-#: src/language/dictionary/missing-values.c:71
+#: src/language/dictionary/missing-values.c:69
#, c-format
msgid ""
"Cannot mix numeric variables (e.g. %s) and string variables (e.g. %s) within "
"a single list."
msgstr ""
-#: src/language/dictionary/missing-values.c:111
+#: src/language/dictionary/missing-values.c:109
#, c-format
msgid "Truncating missing value to short string length (%d characters)."
msgstr ""
-#: src/language/dictionary/missing-values.c:130
+#: src/language/dictionary/missing-values.c:128
#, c-format
msgid "Missing values provided are too long to assign to variable of width %d."
msgstr ""
msgid "`/' or `.' expected."
msgstr ""
-#: src/language/dictionary/numeric.c:61
+#: src/language/dictionary/numeric.c:59
#, c-format
msgid "Format type %s may not be used with a numeric variable."
msgstr ""
-#: src/language/dictionary/numeric.c:80 src/language/dictionary/numeric.c:162
+#: src/language/dictionary/numeric.c:78 src/language/dictionary/numeric.c:160
#: src/language/dictionary/vector.c:159
#, c-format
msgid "There is already a variable named %s."
msgstr ""
-#: src/language/dictionary/numeric.c:132
+#: src/language/dictionary/numeric.c:130
#, c-format
msgid "Format type %s may not be used with a string variable."
msgstr ""
msgid "Renaming would duplicate variable name %s."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:100
+#: src/language/dictionary/sys-file-info.c:101
msgid "File:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:102
+#: src/language/dictionary/sys-file-info.c:103
msgid "Label:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:106
+#: src/language/dictionary/sys-file-info.c:107
msgid "No label."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:109
+#: src/language/dictionary/sys-file-info.c:110
msgid "Created:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:112
+#: src/language/dictionary/sys-file-info.c:113
msgid "Endian:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:113
+#: src/language/dictionary/sys-file-info.c:114
msgid "Big."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:113
+#: src/language/dictionary/sys-file-info.c:114
msgid "Little."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:115
msgid "Variables:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:117
+#: src/language/dictionary/sys-file-info.c:118
msgid "Cases:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:120
+#: src/language/dictionary/sys-file-info.c:121
msgid "Type:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:121
+#: src/language/dictionary/sys-file-info.c:122
msgid "System File."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:123
msgid "Weight:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:126
+#: src/language/dictionary/sys-file-info.c:127
msgid "Not weighted."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:128
+#: src/language/dictionary/sys-file-info.c:129
msgid "Mode:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:131
#, c-format
msgid "Compression %s."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:131
msgid "on"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:131
msgid "off"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:140
-#: src/language/dictionary/sys-file-info.c:378
+#: src/language/dictionary/sys-file-info.c:141
+#: src/language/dictionary/sys-file-info.c:379
msgid "Description"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:141
-#: src/language/dictionary/sys-file-info.c:376
+#: src/language/dictionary/sys-file-info.c:142
+#: src/language/dictionary/sys-file-info.c:377
msgid "Position"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:199
+#: src/language/dictionary/sys-file-info.c:200
msgid "The active file does not have a file label."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:202
+#: src/language/dictionary/sys-file-info.c:203
msgid "File label:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:264
+#: src/language/dictionary/sys-file-info.c:265
msgid "No variables to display."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:283
+#: src/language/dictionary/sys-file-info.c:284
msgid "Macros not supported."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:293
+#: src/language/dictionary/sys-file-info.c:294
msgid "The active file dictionary does not contain any documents."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:302
+#: src/language/dictionary/sys-file-info.c:303
msgid "Documents in the active file:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:380
-#: src/language/dictionary/sys-file-info.c:519 src/procedure.c:888
+#: src/language/dictionary/sys-file-info.c:381
+#: src/language/dictionary/sys-file-info.c:520 src/procedure.c:880
#: src/ui/gui/var-sheet.c:71
msgid "Label"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:452
+#: src/language/dictionary/sys-file-info.c:453
#, c-format
msgid "Format: %s"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:459
+#: src/language/dictionary/sys-file-info.c:460
#, c-format
msgid "Print Format: %s"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:462
+#: src/language/dictionary/sys-file-info.c:463
#, c-format
msgid "Write Format: %s"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:474
+#: src/language/dictionary/sys-file-info.c:475
msgid "Missing Values: "
msgstr ""
-#: src/language/dictionary/sys-file-info.c:518
-#: src/language/stats/crosstabs.q:1111 src/language/stats/crosstabs.q:1138
-#: src/language/stats/crosstabs.q:1158 src/language/stats/crosstabs.q:1180
-#: src/language/stats/examine.q:1138 src/language/stats/frequencies.q:1146
-#: src/language/stats/frequencies.q:1267 src/procedure.c:887
+#: src/language/dictionary/sys-file-info.c:519
+#: src/language/stats/crosstabs.q:1109 src/language/stats/crosstabs.q:1136
+#: src/language/stats/crosstabs.q:1156 src/language/stats/crosstabs.q:1178
+#: src/language/stats/examine.q:1141 src/language/stats/frequencies.q:1145
+#: src/language/stats/frequencies.q:1266 src/procedure.c:879
msgid "Value"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:575
+#: src/language/dictionary/sys-file-info.c:576
msgid "No vectors defined."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:590
+#: src/language/dictionary/sys-file-info.c:591
msgid "Vector"
msgstr ""
-#: src/language/dictionary/value-labels.c:121
+#: src/language/dictionary/value-labels.c:118
#, c-format
msgid ""
"It is not possible to assign value labels to long string variables such as %"
"s."
msgstr ""
-#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:590
+#: src/language/dictionary/value-labels.c:154 src/language/lexer/lexer.c:590
msgid "expecting string"
msgstr ""
-#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:604
+#: src/language/dictionary/value-labels.c:163 src/language/lexer/lexer.c:604
msgid "expecting integer"
msgstr ""
-#: src/language/dictionary/value-labels.c:170
+#: src/language/dictionary/value-labels.c:167
#, c-format
msgid "Value label `%g' is not integer."
msgstr ""
-#: src/language/dictionary/value-labels.c:180
+#: src/language/dictionary/value-labels.c:177
msgid "Truncating value label to 60 characters."
msgstr ""
-#: src/language/dictionary/variable-label.c:50
+#: src/language/dictionary/variable-label.c:48
msgid "String expected for variable label."
msgstr ""
-#: src/language/dictionary/variable-label.c:56
+#: src/language/dictionary/variable-label.c:54
msgid "Truncating variable label to 255 characters."
msgstr ""
msgid "expecting number or string"
msgstr ""
-#: src/language/expressions/helpers.c:36
+#: src/language/expressions/helpers.c:37
msgid ""
"One of the arguments to a DATE function is not an integer. The result will "
"be system-missing."
msgstr ""
-#: src/language/expressions/helpers.c:58
+#: src/language/expressions/helpers.c:59
msgid ""
"The week argument to DATE.WKYR is not an integer. The result will be system-"
"missing."
msgstr ""
-#: src/language/expressions/helpers.c:64
+#: src/language/expressions/helpers.c:65
msgid ""
"The week argument to DATE.WKYR is outside the acceptable range of 1 to 53. "
"The result will be system-missing."
msgstr ""
-#: src/language/expressions/helpers.c:86
+#: src/language/expressions/helpers.c:87
msgid ""
"The day argument to DATE.YRDAY is not an integer. The result will be system-"
"missing."
msgstr ""
-#: src/language/expressions/helpers.c:92
+#: src/language/expressions/helpers.c:93
msgid ""
"The day argument to DATE.YRDAY is outside the acceptable range of 1 to 366. "
"The result will be system-missing."
msgstr ""
-#: src/language/expressions/helpers.c:114
+#: src/language/expressions/helpers.c:115
msgid ""
"The year argument to YRMODA is greater than 47516. The result will be "
"system-missing."
msgid "Unknown identifier %s."
msgstr ""
-#: src/language/expressions/parse.c:846 src/language/stats/aggregate.c:488
+#: src/language/expressions/parse.c:846 src/language/stats/aggregate.c:490
msgid "expecting `)'"
msgstr ""
msgid "%s is a PSPP extension."
msgstr ""
+#: src/language/expressions/parse.c:1222 src/ui/terminal/command-line.c:126
+#: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
+#, c-format
+msgid "%s is not yet implemented."
+msgstr ""
+
#: src/language/lexer/format-parser.c:66
msgid "X and T format specifiers not allowed here."
msgstr ""
msgid "expecting identifier"
msgstr ""
-#: src/language/lexer/lexer.c:842
+#: src/language/lexer/lexer.c:861
msgid "<ERROR>"
msgstr ""
-#: src/language/lexer/lexer.c:988
+#: src/language/lexer/lexer.c:1007
msgid "binary"
msgstr ""
-#: src/language/lexer/lexer.c:993
+#: src/language/lexer/lexer.c:1012
msgid "octal"
msgstr ""
-#: src/language/lexer/lexer.c:998
+#: src/language/lexer/lexer.c:1017
msgid "hex"
msgstr ""
-#: src/language/lexer/lexer.c:1008
+#: src/language/lexer/lexer.c:1027
#, c-format
msgid "String of %s digits has %d characters, which is not a multiple of %d."
msgstr ""
-#: src/language/lexer/lexer.c:1037
+#: src/language/lexer/lexer.c:1056
#, c-format
msgid "`%c' is not a valid %s digit."
msgstr ""
-#: src/language/lexer/lexer.c:1068
+#: src/language/lexer/lexer.c:1087
msgid "Unterminated string constant."
msgstr ""
-#: src/language/lexer/lexer.c:1122
+#: src/language/lexer/lexer.c:1141
msgid "Unexpected end of file in string concatenation."
msgstr ""
-#: src/language/lexer/lexer.c:1130
+#: src/language/lexer/lexer.c:1149
msgid "String expected following `+'."
msgstr ""
-#: src/language/lexer/lexer.c:1143
+#: src/language/lexer/lexer.c:1162
#, c-format
msgid "String exceeds 255 characters in length (%d characters)."
msgstr ""
-#: src/language/lexer/lexer.c:1158
+#: src/language/lexer/lexer.c:1177
msgid ""
"Sorry, literal strings may not contain null characters. Replacing with "
"spaces."
msgid "Bad bounds in use of TO convention."
msgstr ""
-#: src/language/line-buffer.c:246
+#: src/language/line-buffer.c:250
#, c-format
msgid "Can't find `%s' in include file search path."
msgstr ""
-#: src/language/line-buffer.c:330
+#: src/language/line-buffer.c:334
#, c-format
msgid "Closing `%s': %s."
msgstr ""
-#: src/language/line-buffer.c:441
+#: src/language/line-buffer.c:445
#, c-format
-msgid "%s: Opening as syntax file."
+msgid "opening \"%s\" as syntax file"
msgstr ""
-#: src/language/line-buffer.c:446
+#: src/language/line-buffer.c:450
#, c-format
msgid "Opening `%s': %s."
msgstr ""
-#: src/language/line-buffer.c:459
+#: src/language/line-buffer.c:463
#, c-format
msgid "Reading `%s': %s."
msgstr ""
-#: src/language/stats/aggregate.c:198
+#: src/language/stats/aggregate.c:200
msgid "while expecting COLUMNWISE"
msgstr ""
-#: src/language/stats/aggregate.c:227
+#: src/language/stats/aggregate.c:229
msgid "expecting BREAK"
msgstr ""
-#: src/language/stats/aggregate.c:232
+#: src/language/stats/aggregate.c:234
msgid ""
"When PRESORTED is specified, specifying sorting directions with (A) or (D) "
"has no effect. Output data will be sorted the same way as the input data."
msgstr ""
-#: src/language/stats/aggregate.c:401
+#: src/language/stats/aggregate.c:403
msgid "expecting aggregation function"
msgstr ""
-#: src/language/stats/aggregate.c:417
+#: src/language/stats/aggregate.c:419
#, c-format
msgid "Unknown aggregation function %s."
msgstr ""
-#: src/language/stats/aggregate.c:469
+#: src/language/stats/aggregate.c:471
#, c-format
msgid "Missing argument %d to %s."
msgstr ""
-#: src/language/stats/aggregate.c:478
+#: src/language/stats/aggregate.c:480
#, c-format
msgid "Arguments to %s must be of same type as source variables."
msgstr ""
-#: src/language/stats/aggregate.c:500
+#: src/language/stats/aggregate.c:502
#, c-format
msgid ""
"Number of source variables (%u) does not match number of target variables (%"
"u)."
msgstr ""
-#: src/language/stats/aggregate.c:516
+#: src/language/stats/aggregate.c:518
#, c-format
msgid ""
"The value arguments passed to the %s function are out-of-order. They will "
"be treated as if they had been specified in the correct order."
msgstr ""
-#: src/language/stats/aggregate.c:583
+#: src/language/stats/aggregate.c:585
#, c-format
msgid ""
"Variable name %s is not unique within the aggregate file dictionary, which "
msgid "Duplicate variable name %s among target variables."
msgstr ""
-#: src/language/stats/crosstabs.q:267
+#: src/language/stats/crosstabs.q:265
msgid ""
"Missing mode REPORT not allowed in general mode. Assuming MISSING=TABLE."
msgstr ""
-#: src/language/stats/crosstabs.q:277
+#: src/language/stats/crosstabs.q:275
msgid "Write mode ALL not allowed in general mode. Assuming WRITE=CELLS."
msgstr ""
-#: src/language/stats/crosstabs.q:333
+#: src/language/stats/crosstabs.q:331
msgid "Too many crosstabulation variables or dimensions."
msgstr ""
-#: src/language/stats/crosstabs.q:343
+#: src/language/stats/crosstabs.q:341
msgid "expecting BY"
msgstr ""
-#: src/language/stats/crosstabs.q:410
+#: src/language/stats/crosstabs.q:408
msgid "VARIABLES must be specified before TABLES."
msgstr ""
-#: src/language/stats/crosstabs.q:447
+#: src/language/stats/crosstabs.q:445
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr ""
-#: src/language/stats/crosstabs.q:812
+#: src/language/stats/crosstabs.q:810
msgid "Summary."
msgstr ""
-#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:923
+#: src/language/stats/crosstabs.q:812 src/language/stats/examine.q:926
msgid "Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:815 src/language/stats/examine.q:857
-#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1517
+#: src/language/stats/crosstabs.q:813 src/language/stats/examine.q:860
+#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1516
msgid "Valid"
msgstr ""
-#: src/language/stats/crosstabs.q:816 src/language/stats/examine.q:858
-#: src/language/stats/frequencies.q:1212 src/language/stats/frequencies.q:1518
+#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:861
+#: src/language/stats/frequencies.q:1211 src/language/stats/frequencies.q:1517
#: src/ui/gui/var-sheet.c:73
msgid "Missing"
msgstr ""
-#: src/language/stats/crosstabs.q:817 src/language/stats/crosstabs.q:1020
-#: src/language/stats/crosstabs.q:1740 src/language/stats/examine.q:859
-#: src/language/stats/frequencies.q:1221 src/language/stats/oneway.q:314
-#: src/language/stats/oneway.q:478 src/language/stats/regression.q:294
+#: src/language/stats/crosstabs.q:815 src/language/stats/crosstabs.q:1018
+#: src/language/stats/crosstabs.q:1738 src/language/stats/examine.q:862
+#: src/language/stats/frequencies.q:1220 src/language/stats/oneway.q:314
+#: src/language/stats/oneway.q:478 src/language/stats/regression.q:308
msgid "Total"
msgstr ""
-#: src/language/stats/crosstabs.q:827 src/language/stats/examine.q:935
-#: src/language/stats/frequencies.q:1516 src/language/stats/oneway.q:400
+#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:938
+#: src/language/stats/frequencies.q:1515 src/language/stats/oneway.q:400
#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1365
msgid "N"
msgstr ""
-#: src/language/stats/crosstabs.q:828 src/language/stats/examine.q:938
-#: src/language/stats/frequencies.q:1148 src/language/stats/frequencies.q:1149
-#: src/language/stats/frequencies.q:1150
+#: src/language/stats/crosstabs.q:826 src/language/stats/examine.q:941
+#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
+#: src/language/stats/frequencies.q:1149
msgid "Percent"
msgstr ""
-#: src/language/stats/crosstabs.q:1070
+#: src/language/stats/crosstabs.q:1068
msgid "count"
msgstr ""
-#: src/language/stats/crosstabs.q:1071
+#: src/language/stats/crosstabs.q:1069
msgid "row %"
msgstr ""
-#: src/language/stats/crosstabs.q:1072
+#: src/language/stats/crosstabs.q:1070
msgid "column %"
msgstr ""
-#: src/language/stats/crosstabs.q:1073
+#: src/language/stats/crosstabs.q:1071
msgid "total %"
msgstr ""
-#: src/language/stats/crosstabs.q:1074
+#: src/language/stats/crosstabs.q:1072
msgid "expected"
msgstr ""
-#: src/language/stats/crosstabs.q:1075
+#: src/language/stats/crosstabs.q:1073
msgid "residual"
msgstr ""
-#: src/language/stats/crosstabs.q:1076
+#: src/language/stats/crosstabs.q:1074
msgid "std. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1075
msgid "adj. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1107
+#: src/language/stats/crosstabs.q:1105
msgid "Chi-square tests."
msgstr ""
-#: src/language/stats/crosstabs.q:1110 src/language/stats/crosstabs.q:1137
-#: src/language/stats/crosstabs.q:1157 src/language/stats/crosstabs.q:1178
-#: src/language/stats/examine.q:1369
+#: src/language/stats/crosstabs.q:1108 src/language/stats/crosstabs.q:1135
+#: src/language/stats/crosstabs.q:1155 src/language/stats/crosstabs.q:1176
+#: src/language/stats/examine.q:1372
msgid "Statistic"
msgstr ""
-#: src/language/stats/crosstabs.q:1112 src/language/stats/oneway.q:287
-#: src/language/stats/oneway.q:690 src/language/stats/regression.q:287
+#: src/language/stats/crosstabs.q:1110 src/language/stats/oneway.q:287
+#: src/language/stats/oneway.q:690 src/language/stats/regression.q:301
#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
#: src/language/stats/t-test.q:1264
msgid "df"
msgstr ""
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1112
msgid "Asymp. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1114
msgid "Exact. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1118
+#: src/language/stats/crosstabs.q:1116
msgid "Exact. Sig. (1-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1133
+#: src/language/stats/crosstabs.q:1131
msgid "Symmetric measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1136 src/language/stats/crosstabs.q:1177
+#: src/language/stats/crosstabs.q:1134 src/language/stats/crosstabs.q:1175
msgid "Category"
msgstr ""
-#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1137 src/language/stats/crosstabs.q:1179
msgid "Asymp. Std. Error"
msgstr ""
-#: src/language/stats/crosstabs.q:1140 src/language/stats/crosstabs.q:1182
+#: src/language/stats/crosstabs.q:1138 src/language/stats/crosstabs.q:1180
msgid "Approx. T"
msgstr ""
-#: src/language/stats/crosstabs.q:1141 src/language/stats/crosstabs.q:1183
+#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
msgid "Approx. Sig."
msgstr ""
-#: src/language/stats/crosstabs.q:1152
+#: src/language/stats/crosstabs.q:1150
msgid "Risk estimate."
msgstr ""
-#: src/language/stats/crosstabs.q:1156
+#: src/language/stats/crosstabs.q:1154
#, c-format
msgid "95%% Confidence Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1159 src/language/stats/t-test.q:984
+#: src/language/stats/crosstabs.q:1157 src/language/stats/t-test.q:984
#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1267
msgid "Lower"
msgstr ""
-#: src/language/stats/crosstabs.q:1160 src/language/stats/t-test.q:985
+#: src/language/stats/crosstabs.q:1158 src/language/stats/t-test.q:985
#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1268
msgid "Upper"
msgstr ""
-#: src/language/stats/crosstabs.q:1174
+#: src/language/stats/crosstabs.q:1172
msgid "Directional measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1179 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1177 src/ui/gui/var-sheet.c:68
msgid "Type"
msgstr ""
-#: src/language/stats/crosstabs.q:1935
+#: src/language/stats/crosstabs.q:1933
msgid "Pearson Chi-Square"
msgstr ""
-#: src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1934
msgid "Likelihood Ratio"
msgstr ""
-#: src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1935
msgid "Fisher's Exact Test"
msgstr ""
-#: src/language/stats/crosstabs.q:1938
+#: src/language/stats/crosstabs.q:1936
msgid "Continuity Correction"
msgstr ""
-#: src/language/stats/crosstabs.q:1939
+#: src/language/stats/crosstabs.q:1937
msgid "Linear-by-Linear Association"
msgstr ""
-#: src/language/stats/crosstabs.q:1976 src/language/stats/crosstabs.q:2046
-#: src/language/stats/crosstabs.q:2105
+#: src/language/stats/crosstabs.q:1974 src/language/stats/crosstabs.q:2044
+#: src/language/stats/crosstabs.q:2103
msgid "N of Valid Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:1992 src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:1990 src/language/stats/crosstabs.q:2119
msgid "Nominal by Nominal"
msgstr ""
-#: src/language/stats/crosstabs.q:1993 src/language/stats/crosstabs.q:2122
+#: src/language/stats/crosstabs.q:1991 src/language/stats/crosstabs.q:2120
msgid "Ordinal by Ordinal"
msgstr ""
-#: src/language/stats/crosstabs.q:1994
+#: src/language/stats/crosstabs.q:1992
msgid "Interval by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1995
+#: src/language/stats/crosstabs.q:1993
msgid "Measure of Agreement"
msgstr ""
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:1998
msgid "Phi"
msgstr ""
-#: src/language/stats/crosstabs.q:2001
+#: src/language/stats/crosstabs.q:1999
msgid "Cramer's V"
msgstr ""
-#: src/language/stats/crosstabs.q:2002
+#: src/language/stats/crosstabs.q:2000
msgid "Contingency Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2003
+#: src/language/stats/crosstabs.q:2001
msgid "Kendall's tau-b"
msgstr ""
-#: src/language/stats/crosstabs.q:2004
+#: src/language/stats/crosstabs.q:2002
msgid "Kendall's tau-c"
msgstr ""
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2003
msgid "Gamma"
msgstr ""
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2004
msgid "Spearman Correlation"
msgstr ""
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2005
msgid "Pearson's R"
msgstr ""
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2006
msgid "Kappa"
msgstr ""
-#: src/language/stats/crosstabs.q:2078
+#: src/language/stats/crosstabs.q:2076
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr ""
-#: src/language/stats/crosstabs.q:2081
+#: src/language/stats/crosstabs.q:2079
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr ""
-#: src/language/stats/crosstabs.q:2089
+#: src/language/stats/crosstabs.q:2087
#, c-format
msgid "For cohort %s = %g"
msgstr ""
-#: src/language/stats/crosstabs.q:2092
+#: src/language/stats/crosstabs.q:2090
#, c-format
msgid "For cohort %s = %.*s"
msgstr ""
-#: src/language/stats/crosstabs.q:2123
+#: src/language/stats/crosstabs.q:2121
msgid "Nominal by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2126
msgid "Lambda"
msgstr ""
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2127
msgid "Goodman and Kruskal tau"
msgstr ""
-#: src/language/stats/crosstabs.q:2130
+#: src/language/stats/crosstabs.q:2128
msgid "Uncertainty Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2131
+#: src/language/stats/crosstabs.q:2129
msgid "Somers' d"
msgstr ""
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2130
msgid "Eta"
msgstr ""
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2135
msgid "Symmetric"
msgstr ""
-#: src/language/stats/crosstabs.q:2138 src/language/stats/crosstabs.q:2139
+#: src/language/stats/crosstabs.q:2136 src/language/stats/crosstabs.q:2137
#, c-format
msgid "%s Dependent"
msgstr ""
-#: src/language/stats/descriptives.c:103 src/language/stats/examine.q:1474
-#: src/language/stats/frequencies.q:120 src/language/stats/oneway.q:401
+#: src/language/stats/descriptives.c:103 src/language/stats/examine.q:1477
+#: src/language/stats/frequencies.q:119 src/language/stats/oneway.q:401
#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1166
msgid "Mean"
msgid "S E Mean"
msgstr ""
-#: src/language/stats/descriptives.c:105 src/language/stats/frequencies.q:124
+#: src/language/stats/descriptives.c:105 src/language/stats/frequencies.q:123
msgid "Std Dev"
msgstr ""
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1554
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1557
+#: src/language/stats/frequencies.q:124
msgid "Variance"
msgstr ""
-#: src/language/stats/descriptives.c:107 src/language/stats/examine.q:1661
-#: src/language/stats/frequencies.q:126
+#: src/language/stats/descriptives.c:107 src/language/stats/examine.q:1664
+#: src/language/stats/frequencies.q:125
msgid "Kurtosis"
msgstr ""
msgid "S E Kurt"
msgstr ""
-#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1641
-#: src/language/stats/frequencies.q:128
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1644
+#: src/language/stats/frequencies.q:127
msgid "Skewness"
msgstr ""
msgid "S E Skew"
msgstr ""
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1602
-#: src/language/stats/frequencies.q:130
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1605
+#: src/language/stats/frequencies.q:129
msgid "Range"
msgstr ""
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1579
-#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:413
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1582
+#: src/language/stats/frequencies.q:130 src/language/stats/oneway.q:413
msgid "Minimum"
msgstr ""
-#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1590
-#: src/language/stats/frequencies.q:132 src/language/stats/oneway.q:414
+#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1593
+#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:414
msgid "Maximum"
msgstr ""
-#: src/language/stats/descriptives.c:114 src/language/stats/frequencies.q:133
+#: src/language/stats/descriptives.c:114 src/language/stats/frequencies.q:132
msgid "Sum"
msgstr ""
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr ""
-#: src/language/stats/examine.q:478 src/language/stats/examine.q:490
+#: src/language/stats/examine.q:481 src/language/stats/examine.q:493
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr ""
-#: src/language/stats/examine.q:917
+#: src/language/stats/examine.q:920
msgid "Case Processing Summary"
msgstr ""
-#: src/language/stats/examine.q:1123
+#: src/language/stats/examine.q:1126
msgid "Extreme Values"
msgstr ""
-#: src/language/stats/examine.q:1139
+#: src/language/stats/examine.q:1142
msgid "Case Number"
msgstr ""
-#: src/language/stats/examine.q:1224
+#: src/language/stats/examine.q:1227
msgid "Highest"
msgstr ""
-#: src/language/stats/examine.q:1229
+#: src/language/stats/examine.q:1232
msgid "Lowest"
msgstr ""
-#: src/language/stats/examine.q:1370 src/language/stats/oneway.q:403
-#: src/language/stats/oneway.q:688 src/language/stats/regression.q:191
+#: src/language/stats/examine.q:1373 src/language/stats/oneway.q:403
+#: src/language/stats/oneway.q:688 src/language/stats/regression.q:205
msgid "Std. Error"
msgstr ""
-#: src/language/stats/examine.q:1372 src/language/stats/oneway.q:417
+#: src/language/stats/examine.q:1375 src/language/stats/oneway.q:417
msgid "Descriptives"
msgstr ""
-#: src/language/stats/examine.q:1492 src/language/stats/oneway.q:408
+#: src/language/stats/examine.q:1495 src/language/stats/oneway.q:408
#, c-format
msgid "%g%% Confidence Interval for Mean"
msgstr ""
-#: src/language/stats/examine.q:1498 src/language/stats/oneway.q:410
+#: src/language/stats/examine.q:1501 src/language/stats/oneway.q:410
msgid "Lower Bound"
msgstr ""
-#: src/language/stats/examine.q:1509 src/language/stats/oneway.q:411
+#: src/language/stats/examine.q:1512 src/language/stats/oneway.q:411
msgid "Upper Bound"
msgstr ""
-#: src/language/stats/examine.q:1521
+#: src/language/stats/examine.q:1524
#, c-format
msgid "5%% Trimmed Mean"
msgstr ""
-#: src/language/stats/examine.q:1532 src/language/stats/frequencies.q:122
+#: src/language/stats/examine.q:1535 src/language/stats/frequencies.q:121
msgid "Median"
msgstr ""
-#: src/language/stats/examine.q:1566 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1569 src/language/stats/oneway.q:402
#: src/language/stats/t-test.q:684 src/language/stats/t-test.q:707
#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1167
msgid "Std. Deviation"
msgstr ""
-#: src/language/stats/examine.q:1614
+#: src/language/stats/examine.q:1617
msgid "Interquartile Range"
msgstr ""
-#: src/language/stats/examine.q:1766
+#: src/language/stats/examine.q:1769
#, c-format
msgid "Boxplot of %s vs. %s"
msgstr ""
-#: src/language/stats/examine.q:1791
+#: src/language/stats/examine.q:1794
msgid "Boxplot"
msgstr ""
-#: src/language/stats/examine.q:1833
+#: src/language/stats/examine.q:1836
#, c-format
msgid "Normal Q-Q Plot of %s"
msgstr ""
-#: src/language/stats/examine.q:1834 src/language/stats/examine.q:1840
+#: src/language/stats/examine.q:1837 src/language/stats/examine.q:1843
msgid "Observed Value"
msgstr ""
-#: src/language/stats/examine.q:1835
+#: src/language/stats/examine.q:1838
msgid "Expected Normal"
msgstr ""
-#: src/language/stats/examine.q:1838
+#: src/language/stats/examine.q:1841
#, c-format
msgid "Detrended Normal Q-Q Plot of %s"
msgstr ""
-#: src/language/stats/examine.q:1841
+#: src/language/stats/examine.q:1844
msgid "Dev from Normal"
msgstr ""
-#: src/language/stats/examine.q:1960 src/language/stats/examine.q:1982
-#: src/language/stats/frequencies.q:1528
+#: src/language/stats/examine.q:1963 src/language/stats/examine.q:1985
+#: src/language/stats/frequencies.q:1527
msgid "Percentiles"
msgstr ""
-#: src/language/stats/examine.q:2107
+#: src/language/stats/examine.q:2110
msgid "Tukey's Hinges"
msgstr ""
msgid "Could not create temporary file for FLIP."
msgstr ""
-#: src/language/stats/flip.c:301 src/language/stats/flip.c:371
+#: src/language/stats/flip.c:301 src/language/stats/flip.c:367
#, c-format
msgid "Error writing FLIP file: %s."
msgstr ""
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:414
#, c-format
msgid "Error rewinding FLIP file: %s."
msgstr ""
-#: src/language/stats/flip.c:425
+#: src/language/stats/flip.c:421
msgid "Error creating FLIP source file."
msgstr ""
-#: src/language/stats/flip.c:437
+#: src/language/stats/flip.c:433
#, c-format
msgid "Error reading FLIP file: %s."
msgstr ""
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:457
#, c-format
msgid "Error seeking FLIP source file: %s."
msgstr ""
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:465
#, c-format
msgid "Error writing FLIP source file: %s."
msgstr ""
-#: src/language/stats/flip.c:484
+#: src/language/stats/flip.c:480
#, c-format
msgid "Error rewinding FLIP source file: %s."
msgstr ""
-#: src/language/stats/flip.c:532
+#: src/language/stats/flip.c:528
#, c-format
msgid "Error reading FLIP temporary file: %s."
msgstr ""
-#: src/language/stats/flip.c:535
+#: src/language/stats/flip.c:531
msgid "Unexpected end of file reading FLIP temporary file."
msgstr ""
-#: src/language/stats/frequencies.q:121
+#: src/language/stats/frequencies.q:120
msgid "S.E. Mean"
msgstr ""
-#: src/language/stats/frequencies.q:123
+#: src/language/stats/frequencies.q:122
msgid "Mode"
msgstr ""
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/frequencies.q:126
msgid "S.E. Kurt"
msgstr ""
-#: src/language/stats/frequencies.q:129
+#: src/language/stats/frequencies.q:128
msgid "S.E. Skew"
msgstr ""
-#: src/language/stats/frequencies.q:405
+#: src/language/stats/frequencies.q:404
msgid ""
"At most one of BARCHART, HISTOGRAM, or HBAR should be given. HBAR will be "
"assumed. Argument values will be given precedence increasing along the "
"order given."
msgstr ""
-#: src/language/stats/frequencies.q:488
+#: src/language/stats/frequencies.q:487
#, c-format
msgid ""
"MAX must be greater than or equal to MIN, if both are specified. However, "
"MIN was specified as %g and MAX as %g. MIN and MAX will be ignored."
msgstr ""
-#: src/language/stats/frequencies.q:811
+#: src/language/stats/frequencies.q:810
msgid ""
"Upper limit of integer mode value range must be greater than lower limit."
msgstr ""
-#: src/language/stats/frequencies.q:824
+#: src/language/stats/frequencies.q:823
#, c-format
msgid "Variable %s specified multiple times on VARIABLES subcommand."
msgstr ""
-#: src/language/stats/frequencies.q:830
+#: src/language/stats/frequencies.q:829
#, c-format
msgid "Integer mode specified, but %s is not a numeric variable."
msgstr ""
-#: src/language/stats/frequencies.q:896
+#: src/language/stats/frequencies.q:895
msgid "`)' expected after GROUPED interval list."
msgstr ""
-#: src/language/stats/frequencies.q:908
+#: src/language/stats/frequencies.q:907
#, c-format
msgid "Variables %s specified on GROUPED but not on VARIABLES."
msgstr ""
-#: src/language/stats/frequencies.q:915
+#: src/language/stats/frequencies.q:914
#, c-format
msgid "Variables %s specified multiple times on GROUPED subcommand."
msgstr ""
-#: src/language/stats/frequencies.q:1145 src/language/stats/frequencies.q:1237
-#: src/language/stats/frequencies.q:1238 src/language/stats/frequencies.q:1270
+#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1236
+#: src/language/stats/frequencies.q:1237 src/language/stats/frequencies.q:1269
msgid "Cum"
msgstr ""
-#: src/language/stats/frequencies.q:1147 src/output/charts/plot-hist.c:129
+#: src/language/stats/frequencies.q:1146 src/output/charts/plot-hist.c:129
msgid "Frequency"
msgstr ""
-#: src/language/stats/frequencies.q:1167
+#: src/language/stats/frequencies.q:1166
msgid "Value Label"
msgstr ""
-#: src/language/stats/frequencies.q:1268
+#: src/language/stats/frequencies.q:1267
msgid "Freq"
msgstr ""
-#: src/language/stats/frequencies.q:1269 src/language/stats/frequencies.q:1271
+#: src/language/stats/frequencies.q:1268 src/language/stats/frequencies.q:1270
msgid "Pct"
msgstr ""
-#: src/language/stats/frequencies.q:1490
+#: src/language/stats/frequencies.q:1489
#, c-format
msgid "No valid data for variable %s; statistics not displayed."
msgstr ""
-#: src/language/stats/means.q:104
+#: src/language/stats/means.q:102
msgid "Missing required subcommand TABLES."
msgstr ""
-#: src/language/stats/means.q:138
+#: src/language/stats/means.q:136
msgid "TABLES subcommand may not appear more than once."
msgstr ""
msgid "`%s' is not a variable name"
msgstr ""
-#: src/language/stats/oneway.q:286 src/language/stats/regression.q:286
+#: src/language/stats/oneway.q:286 src/language/stats/regression.q:300
msgid "Sum of Squares"
msgstr ""
-#: src/language/stats/oneway.q:288 src/language/stats/regression.q:288
+#: src/language/stats/oneway.q:288 src/language/stats/regression.q:302
msgid "Mean Square"
msgstr ""
-#: src/language/stats/oneway.q:289 src/language/stats/regression.q:289
+#: src/language/stats/oneway.q:289 src/language/stats/regression.q:303
#: src/language/stats/t-test.q:977
msgid "F"
msgstr ""
#: src/language/stats/oneway.q:290 src/language/stats/oneway.q:544
-#: src/language/stats/regression.q:194 src/language/stats/regression.q:290
+#: src/language/stats/regression.q:208 src/language/stats/regression.q:304
msgid "Significance"
msgstr ""
msgid "Within Groups"
msgstr ""
-#: src/language/stats/oneway.q:360 src/language/stats/regression.q:316
+#: src/language/stats/oneway.q:360 src/language/stats/regression.q:330
msgid "ANOVA"
msgstr ""
msgid "Value of Contrast"
msgstr ""
-#: src/language/stats/oneway.q:689 src/language/stats/regression.q:193
+#: src/language/stats/oneway.q:689 src/language/stats/regression.q:207
#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
#: src/language/stats/t-test.q:1263
msgid "t"
msgid "Does not assume equal"
msgstr ""
-#: src/language/stats/rank.q:244
+#: src/language/stats/rank.q:245
#, c-format
msgid "Variable %s already exists."
msgstr ""
-#: src/language/stats/rank.q:249
+#: src/language/stats/rank.q:250
msgid "Too many variables in INTO clause."
msgstr ""
-#: src/language/stats/regression.q:145
+#: src/language/stats/regression.q:159
msgid "R"
msgstr ""
-#: src/language/stats/regression.q:146
+#: src/language/stats/regression.q:160
msgid "R Square"
msgstr ""
-#: src/language/stats/regression.q:147
+#: src/language/stats/regression.q:161
msgid "Adjusted R Square"
msgstr ""
-#: src/language/stats/regression.q:148
+#: src/language/stats/regression.q:162
msgid "Std. Error of the Estimate"
msgstr ""
-#: src/language/stats/regression.q:153
+#: src/language/stats/regression.q:167
msgid "Model Summary"
msgstr ""
-#: src/language/stats/regression.q:190
+#: src/language/stats/regression.q:204
msgid "B"
msgstr ""
-#: src/language/stats/regression.q:192
+#: src/language/stats/regression.q:206
msgid "Beta"
msgstr ""
-#: src/language/stats/regression.q:195
+#: src/language/stats/regression.q:209
msgid "(Constant)"
msgstr ""
-#: src/language/stats/regression.q:255
+#: src/language/stats/regression.q:269
msgid "Coefficients"
msgstr ""
-#: src/language/stats/regression.q:292
+#: src/language/stats/regression.q:306
msgid "Regression"
msgstr ""
-#: src/language/stats/regression.q:293
+#: src/language/stats/regression.q:307
msgid "Residual"
msgstr ""
-#: src/language/stats/regression.q:371
+#: src/language/stats/regression.q:385
msgid "Model"
msgstr ""
-#: src/language/stats/regression.q:372
+#: src/language/stats/regression.q:386
msgid "Covariances"
msgstr ""
-#: src/language/stats/regression.q:387
+#: src/language/stats/regression.q:401
msgid "Coefficient Correlations"
msgstr ""
-#: src/language/stats/regression.q:885
+#: src/language/stats/regression.q:1157
msgid "Dependent variable must be numeric."
msgstr ""
msgstr ""
#: src/language/utilities/include.c:43
-msgid "expecting filename"
+msgid "expecting file name"
msgstr ""
#: src/language/utilities/permissions.c:77
msgid "WIDTH is %d."
msgstr ""
-#: src/language/utilities/title.c:59
-#, c-format
-msgid "%s before: %s\n"
-msgstr ""
-
-#: src/language/utilities/title.c:59
-msgid "<none>"
-msgstr ""
-
-#: src/language/utilities/title.c:71
+#: src/language/utilities/title.c:68
#, c-format
msgid "%s: `.' expected after string."
msgstr ""
-#: src/language/utilities/title.c:87
-#, c-format
-msgid "%s after: %s\n"
-msgstr ""
-
-#: src/language/utilities/title.c:142
+#: src/language/utilities/title.c:138
#, c-format
msgid "Document entered %s by %s:"
msgstr ""
msgid "Type mismatch. Cannot store %s data in %s variable %s."
msgstr ""
-#: src/language/xforms/sample.c:77
+#: src/language/xforms/sample.c:75
msgid "The sampling factor must be between 0 and 1 exclusive."
msgstr ""
-#: src/language/xforms/sample.c:97
+#: src/language/xforms/sample.c:95
#, c-format
msgid "Cannot sample %d observations from a population of %d."
msgstr ""
msgid "Empirical with averaging"
msgstr ""
-#: src/math/sort.c:431
+#: src/math/sort.c:430
#, 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.)"
msgstr ""
-#: src/message.c:89
-msgid "Terminating execution of syntax file due to error."
-msgstr ""
-
-#: src/message.c:91
-#, c-format
-msgid "Errors (%d) exceeds limit (%d)."
-msgstr ""
-
-#: src/message.c:94
-#, c-format
-msgid "Warnings (%d) exceed limit (%d)."
-msgstr ""
-
-#: src/message.c:143 src/message.c:150 src/message.c:153
-msgid "error"
-msgstr ""
-
-#: src/message.c:144 src/message.c:151 src/message.c:154
-msgid "warning"
-msgstr ""
-
-#: src/message.c:145 src/message.c:155
-msgid "note"
-msgstr ""
-
-#: src/message.c:147 src/message.c:148
-msgid "installation error"
-msgstr ""
-
#: src/output/afm.c:150
#, c-format
msgid "opening font metrics file \"%s\""
msgid "unexpected end of line expecting string"
msgstr ""
-#: src/output/ascii.c:161
+#: src/output/ascii.c:160
#, c-format
msgid "ascii: opening output file \"%s\""
msgstr ""
-#: src/output/ascii.c:172
+#: src/output/ascii.c:171
#, c-format
msgid ""
"ascii: page excluding margins and headers must be at least 59 characters "
"wide by 15 lines long, but as configured is only %d characters by %d lines"
msgstr ""
-#: src/output/ascii.c:233
+#: src/output/ascii.c:232
#, c-format
msgid "ascii: closing output file \"%s\""
msgstr ""
-#: src/output/ascii.c:285
+#: src/output/ascii.c:284
#, c-format
msgid ""
"ascii: bad index value for `box' key: syntax is box[INDEX], 0 <= INDEX < %d "
"decimal, with INDEX expressed in base 4"
msgstr ""
-#: src/output/ascii.c:292
+#: src/output/ascii.c:291
#, c-format
msgid "ascii: multiple values for %s"
msgstr ""
-#: src/output/ascii.c:300
+#: src/output/ascii.c:299
#, c-format
msgid "ascii: unknown parameter `%s'"
msgstr ""
-#: src/output/ascii.c:314
+#: src/output/ascii.c:313
#, c-format
msgid "ascii: positive integer required as `%s' value"
msgstr ""
-#: src/output/ascii.c:340
+#: src/output/ascii.c:339
msgid "ascii: `emphasis' value must be `bold', `underline', or `none'"
msgstr ""
-#: src/output/ascii.c:353
+#: src/output/ascii.c:352
#, c-format
msgid "ascii: zero or positive integer required as `%s' value"
msgstr ""
-#: src/output/ascii.c:384
+#: src/output/ascii.c:383
#, c-format
msgid "ascii: boolean value expected for `%s'"
msgstr ""
-#: src/output/ascii.c:473
+#: src/output/ascii.c:472
#, c-format
msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
msgstr ""
-#: src/output/ascii.c:683 src/output/postscript.c:832
+#: src/output/ascii.c:682 src/output/postscript.c:831
#, c-format
msgid "%s - Page %d"
msgstr ""
-#: src/output/ascii.c:727
+#: src/output/ascii.c:726
msgid "ascii: charts are unsupported by this driver"
msgstr ""
msgid "HISTOGRAM"
msgstr ""
-#: src/output/html.c:68
+#: src/output/html.c:66
#, c-format
msgid "opening HTML output file: %s"
msgstr ""
-#: src/output/html.c:79
+#: src/output/html.c:77
msgid "PSPP Output"
msgstr ""
-#: src/output/html.c:165
+#: src/output/html.c:163
#, c-format
msgid "unknown configuration parameter `%s' for HTML device driver"
msgstr ""
-#: src/output/output.c:166
+#: src/output/output.c:165
#, c-format
-msgid "Unknown output driver `%s'."
+msgid "unknown output driver `%s'"
msgstr ""
-#: src/output/output.c:168
+#: src/output/output.c:167
#, c-format
-msgid "Output driver `%s' referenced but never defined."
+msgid "output driver `%s' referenced but never defined"
msgstr ""
#: src/output/output.c:261
-msgid "Using default output driver configuration."
+msgid "using default output driver configuration"
msgstr ""
-#: src/output/output.c:296
-msgid ""
-"Cannot find output initialization file. Use `-vvvvv' to view search path."
+#: src/output/output.c:293
+msgid "cannot find output initialization file (use `-vv' to view search path)"
msgstr ""
-#: src/output/output.c:304 src/output/output.c:1067
+#: src/output/output.c:301
#, c-format
-msgid "Opening %s: %s."
+msgid "cannot open \"%s\""
msgstr ""
-#: src/output/output.c:315 src/output/output.c:1078
+#: src/output/output.c:313
#, c-format
-msgid "Reading %s: %s."
+msgid "reading \"%s\""
msgstr ""
-#: src/output/output.c:337 src/output/output.c:503
-msgid "Syntax error."
+#: src/output/output.c:335
+msgid "syntax error"
msgstr ""
-#: src/output/output.c:347
+#: src/output/output.c:344
#, c-format
-msgid "Closing %s: %s."
+msgid "error closing \"%s\""
msgstr ""
-#: src/output/output.c:355
-msgid "No output drivers are active."
+#: src/output/output.c:352
+msgid "no active output drivers"
msgstr ""
-#: src/output/output.c:358
-msgid "Error reading device definition file."
+#: src/output/output.c:355
+msgid "error reading device definition file"
msgstr ""
-#: src/output/output.c:475
+#: src/output/output.c:472
#, c-format
msgid ""
"Driver classes:\n"
"\t"
msgstr ""
-#: src/output/output.c:604
-msgid "Syntax error in string constant."
+#: src/output/output.c:504
+#, c-format
+msgid "syntax error parsing options for \"%s\" driver"
msgstr ""
-#: src/output/output.c:639
-msgid "Syntax error in options."
+#: src/output/output.c:521
+#, c-format
+msgid ""
+"reached end of options inside quoted string parsing options for \"%s\" driver"
msgstr ""
-#: src/output/output.c:649
-msgid "Syntax error in options (`=' expected)."
+#: src/output/output.c:594
+#, c-format
+msgid "syntax error in string constant parsing options for \"%s\" driver"
msgstr ""
-#: src/output/output.c:656
-msgid "Syntax error in options (value expected after `=')."
+#: src/output/output.c:639
+#, c-format
+msgid "syntax error expecting `=' parsing options for driver \"%s\""
msgstr ""
-#: src/output/output.c:698
+#: src/output/output.c:692
#, c-format
-msgid "Unknown output driver class `%s'."
+msgid "unknown output driver class `%s'"
msgstr ""
-#: src/output/output.c:719
+#: src/output/output.c:714
#, c-format
-msgid "Unknown device type `%s'."
+msgid "unknown device type `%s'"
msgstr ""
-#: src/output/output.c:738
+#: src/output/output.c:733
#, c-format
-msgid "Can't initialize output driver `%s' of class `%s'."
+msgid "cannot initialize output driver `%s' of class `%s'"
msgstr ""
-#: src/output/output.c:783
-msgid "Driver definition line missing driver name or class name"
+#: src/output/output.c:779
+msgid "driver definition line missing driver name or class name"
msgstr ""
-#: src/output/output.c:929
+#: src/output/output.c:926
#, c-format
-msgid "Unit \"%s\" is unknown in dimension \"%s\"."
+msgid "unit \"%s\" is unknown in dimension \"%s\""
msgstr ""
-#: src/output/output.c:944
+#: src/output/output.c:941
#, c-format
-msgid "Bad dimension \"%s\"."
+msgid "bad dimension \"%s\""
msgstr ""
-#: src/output/output.c:970
+#: src/output/output.c:967
#, c-format
-msgid "`x' expected in paper size `%s'."
+msgid "`x' expected in paper size `%s'"
msgstr ""
-#: src/output/output.c:980
+#: src/output/output.c:977
#, c-format
-msgid "Trailing garbage `%s' on paper size `%s'."
+msgid "trailing garbage `%s' on paper size `%s'"
msgstr ""
-#: src/output/output.c:1029
-msgid "Paper size name must not be empty."
+#: src/output/output.c:1021
+msgid "paper size name cannot be empty"
msgstr ""
-#: src/output/output.c:1060
-msgid "Cannot find `papersize' configuration file."
+#: src/output/output.c:1039
+msgid "cannot find `papersize' configuration file"
msgstr ""
-#: src/output/output.c:1105
-msgid "Syntax error in paper size definition."
+#: src/output/output.c:1046
+#, c-format
+msgid "error opening \"%s\""
msgstr ""
-#: src/output/output.c:1134
-msgid "Error reading paper size definition file."
+#: src/output/output.c:1057
+#, c-format
+msgid "error reading \"%s\""
msgstr ""
-#: src/output/postscript.c:164
+#: src/output/output.c:1085
+msgid "syntax error in paper size definition"
+msgstr ""
+
+#: src/output/output.c:1097
+msgid "error reading paper size definition file"
+msgstr ""
+
+#: src/output/postscript.c:163
#, c-format
msgid "opening PostScript output file \"%s\""
msgstr ""
-#: src/output/postscript.c:202
+#: src/output/postscript.c:201
#, c-format
msgid ""
"The defined PostScript page is not long enough to hold margins and headers, "
"lines of each font at the default size of %d.%03d points."
msgstr ""
-#: src/output/postscript.c:250
+#: src/output/postscript.c:249
#, c-format
msgid "closing PostScript output file \"%s\""
msgstr ""
-#: src/output/postscript.c:310
+#: src/output/postscript.c:309
#, c-format
msgid "unknown configuration parameter `%s' for PostScript device driver"
msgstr ""
-#: src/output/postscript.c:326
+#: src/output/postscript.c:325
#, c-format
msgid ""
"unknown orientation `%s' (valid orientations are `portrait' and `landscape')"
msgstr ""
-#: src/output/postscript.c:338
+#: src/output/postscript.c:337
#, c-format
msgid "boolean value expected for %s"
msgstr ""
-#: src/output/postscript.c:351
+#: src/output/postscript.c:350
#, c-format
msgid "positive integer value required for `%s'"
msgstr ""
-#: src/output/postscript.c:356
+#: src/output/postscript.c:355
#, c-format
msgid "default font size must be at least 1 point (value of 1000 for key `%s')"
msgstr ""
-#: src/output/postscript.c:388
+#: src/output/postscript.c:387
#, c-format
msgid "value for `%s' must be a dimension of positive length (i.e., `1in')"
msgstr ""
-#: src/output/postscript.c:1182
+#: src/output/postscript.c:1181
#, c-format
msgid "\"%s\": bad font specification"
msgstr ""
-#: src/output/postscript.c:1190
+#: src/output/postscript.c:1189
#, c-format
msgid "could not find AFM file \"%s\""
msgstr ""
-#: src/output/postscript.c:1204
+#: src/output/postscript.c:1203
#, c-format
msgid "could not find font \"%s\""
msgstr ""
-#: src/output/postscript.c:1213
+#: src/output/postscript.c:1212
#, c-format
msgid "could not find encoding \"%s\""
msgstr ""
-#: src/output/postscript.c:1313
+#: src/output/postscript.c:1312
#, c-format
msgid "cannot open font file \"%s\""
msgstr ""
-#: src/output/postscript.c:1354
+#: src/output/postscript.c:1353
#, c-format
msgid "reading font file \"%s\""
msgstr ""
-#: src/output/postscript.c:1376
+#: src/output/postscript.c:1375
#, c-format
msgid "cannot open font encoding file \"%s\""
msgstr ""
-#: src/output/postscript.c:1405
+#: src/output/postscript.c:1404
msgid "invalid numeric format"
msgstr ""
-#: src/output/table.c:239
+#: src/output/table.c:236
#, c-format
msgid "bad vline: x=%d+%d=%d y=(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
msgstr ""
-#: src/output/table.c:310
+#: src/output/table.c:307
#, c-format
msgid ""
"bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
msgid "Font Selection"
msgstr ""
-#: src/ui/gui/message-dialog.c:78
+#: src/ui/gui/message-dialog.c:75
msgid "Script Error"
msgstr ""
-#: src/ui/gui/message-dialog.c:83
-msgid "Installation Error"
-msgstr ""
-
-#: src/ui/gui/message-dialog.c:88
+#: src/ui/gui/message-dialog.c:79
msgid "Data File Error"
msgstr ""
-#: src/ui/gui/message-dialog.c:95
+#: src/ui/gui/message-dialog.c:84
msgid "PSPP Error"
msgstr ""
-#: src/ui/gui/message-dialog.c:155
-msgid "Terminating NOW due to fatal error"
-msgstr ""
-
#: src/ui/gui/missing-val-dialog.c:113 src/ui/gui/missing-val-dialog.c:158
msgid "Incorrect value for variable type"
msgstr ""
msgid "Scale"
msgstr ""
-#: src/ui/terminal/command-line.c:213
+#: src/ui/terminal/command-line.c:214
#, c-format
msgid ""
"PSPP, a program for statistical analysis of sample data.\n"
"\n"
msgstr ""
-#: src/ui/terminal/command-line.c:247
+#: src/ui/terminal/command-line.c:248
#, c-format
msgid ""
"\n"
"Report bugs to <%s>.\n"
msgstr ""
-#: src/ui/terminal/main.c:154
-msgid "This command not executed. Stopping here to avoid cascading failures."
-msgstr ""
-
-#: src/ui/terminal/main.c:164
-msgid "This command not executed."
-msgstr ""
-
-#: src/ui/terminal/main.c:168
-msgid ""
-"Skipping the rest of this command. Part of this command may have been "
-"executed."
-msgstr ""
-
-#: src/ui/terminal/main.c:173
+#: src/ui/terminal/main.c:111
msgid ""
-"Skipping the rest of this command. This command was fully executed up to "
-"this point."
-msgstr ""
-
-#: src/ui/terminal/main.c:178
-msgid ""
-"Trailing garbage was encountered following this command. The command was "
-"fully executed to this point."
-msgstr ""
-
-#: src/ui/terminal/main.c:194
-msgid "The rest of this command has been discarded."
+"Stopping syntax file processing here to avoid a cascade of dependent command "
+"failures."
msgstr ""
#~ msgid "Text color must be in range 0-15."
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-04-04 20:32+0800\n"
+"POT-Creation-Date: 2006-04-26 13:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "%s: Temporary file ended unexpectedly."
msgstr ""
-#: src/data/data-in.c:61
+#: src/data/data-in.c:59
#, c-format
msgid "(column %d"
msgstr ""
-#: src/data/data-in.c:63
+#: src/data/data-in.c:61
#, c-format
msgid "(columns %d-%d"
msgstr ""
-#: src/data/data-in.c:64
+#: src/data/data-in.c:62
#, c-format
msgid ", field type %s) "
msgstr ""
-#: src/data/data-in.c:210
+#: src/data/data-in.c:208
msgid "Field does not form a valid floating-point constant."
msgstr ""
-#: src/data/data-in.c:237
+#: src/data/data-in.c:235
msgid "Field contents followed by garbage."
msgstr ""
-#: src/data/data-in.c:255
+#: src/data/data-in.c:253
msgid "Underflow in floating-point constant."
msgstr ""
-#: src/data/data-in.c:266
+#: src/data/data-in.c:264
msgid "Overflow in floating-point constant."
msgstr ""
-#: src/data/data-in.c:299
+#: src/data/data-in.c:297
msgid "All characters in field must be digits."
msgstr ""
-#: src/data/data-in.c:323
+#: src/data/data-in.c:321
msgid "Unrecognized character in field."
msgstr ""
-#: src/data/data-in.c:341 src/data/data-in.c:587
+#: src/data/data-in.c:339 src/data/data-in.c:585
msgid "Field must have even length."
msgstr ""
-#: src/data/data-in.c:351 src/data/data-in.c:597
+#: src/data/data-in.c:349 src/data/data-in.c:595
msgid "Field must contain only hex digits."
msgstr ""
-#: src/data/data-in.c:390
+#: src/data/data-in.c:388
#, 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/data-in.c:402
+#: src/data/data-in.c:400
msgid "Zoned decimal field contains fewer than 2 characters."
msgstr ""
-#: src/data/data-in.c:410
+#: src/data/data-in.c:408
msgid "Bad sign byte in zoned decimal number."
msgstr ""
-#: src/data/data-in.c:430
+#: src/data/data-in.c:428
msgid "Format error in zoned decimal number."
msgstr ""
-#: src/data/data-in.c:444
+#: src/data/data-in.c:442
msgid "Error in syntax of zoned decimal number."
msgstr ""
-#: src/data/data-in.c:637
+#: src/data/data-in.c:635
msgid "Unexpected end of field."
msgstr ""
-#: src/data/data-in.c:663
+#: src/data/data-in.c:661
msgid "Digit expected in field."
msgstr ""
-#: src/data/data-in.c:688
+#: src/data/data-in.c:686
#, c-format
msgid "Day (%ld) must be between 1 and 31."
msgstr ""
-#: src/data/data-in.c:713
+#: src/data/data-in.c:711
msgid "Delimiter expected between fields in date."
msgstr ""
-#: src/data/data-in.c:746
+#: src/data/data-in.c:744
#, c-format
msgid "Parse error at `%c' expecting %s."
msgstr ""
-#: src/data/data-in.c:760
+#: src/data/data-in.c:758
#, c-format
msgid "Unknown %s `%.*s'."
msgstr ""
-#: src/data/data-in.c:810
+#: src/data/data-in.c:808
#, c-format
msgid "Month (%ld) must be between 1 and 12."
msgstr ""
-#: src/data/data-in.c:814
+#: src/data/data-in.c:812
msgid "month"
msgstr ""
-#: src/data/data-in.c:828
+#: src/data/data-in.c:826
#, c-format
msgid "Year (%ld) must be between 1582 and 19999."
msgstr ""
-#: src/data/data-in.c:839
+#: src/data/data-in.c:837
#, c-format
msgid "Trailing garbage \"%s\" following date."
msgstr ""
-#: src/data/data-in.c:854
+#: src/data/data-in.c:852
#, c-format
msgid "Julian day (%d) must be between 1 and 366."
msgstr ""
-#: src/data/data-in.c:866
+#: src/data/data-in.c:864
#, c-format
msgid "Year (%d) must be between 1582 and 19999."
msgstr ""
-#: src/data/data-in.c:882
+#: src/data/data-in.c:880
#, c-format
msgid "Quarter (%ld) must be between 1 and 4."
msgstr ""
-#: src/data/data-in.c:892
+#: src/data/data-in.c:890
msgid "`Q' expected between quarter and year."
msgstr ""
-#: src/data/data-in.c:908
+#: src/data/data-in.c:906
#, c-format
msgid "Week (%ld) must be between 1 and 53."
msgstr ""
-#: src/data/data-in.c:920
+#: src/data/data-in.c:918
msgid "`WK' expected between week and year."
msgstr ""
-#: src/data/data-in.c:943
+#: src/data/data-in.c:941
msgid "Delimiter expected between fields in time."
msgstr ""
-#: src/data/data-in.c:955
+#: src/data/data-in.c:953
#, c-format
msgid "Hour (%ld) must be positive."
msgstr ""
-#: src/data/data-in.c:967
+#: src/data/data-in.c:965
#, c-format
msgid "Minute (%ld) must be between 0 and 59."
msgstr ""
-#: src/data/data-in.c:1014
+#: src/data/data-in.c:1012
#, c-format
msgid "Hour (%ld) must be between 0 and 23."
msgstr ""
-#: src/data/data-in.c:1042
+#: src/data/data-in.c:1040
msgid "weekday"
msgstr ""
-#: src/data/data-in.c:1373
+#: src/data/data-in.c:1371
#, c-format
msgid "Field too long (%d characters). Truncated after character %d."
msgstr ""
-#: src/data/data-out.c:247
+#: src/data/data-out.c:245
msgid ""
"The N output format cannot be used to output a negative number or the system-"
"missing value."
msgstr ""
-#: src/data/data-out.c:361
+#: src/data/data-out.c:359
#, c-format
msgid ""
"Quality of zoned decimal (Z) output format code is suspect. Check your "
"results. Report bugs to %s."
msgstr ""
-#: src/data/data-out.c:369
+#: src/data/data-out.c:367
msgid "The system-missing value cannot be output as a zoned decimal number."
msgstr ""
-#: src/data/data-out.c:382
+#: src/data/data-out.c:380
#, c-format
msgid "Number %g too big to fit in field with format Z%d.%d."
msgstr ""
-#: src/data/data-out.c:776
+#: src/data/data-out.c:774
#, c-format
msgid "Time value %g too large in magnitude to convert to alphanumeric time."
msgstr ""
-#: src/data/data-out.c:827
+#: src/data/data-out.c:825
#, c-format
msgid "Weekday index %f does not lie between 1 and 7."
msgstr ""
-#: src/data/data-out.c:847
+#: src/data/data-out.c:845
#, c-format
msgid "Month index %f does not lie between 1 and 12."
msgstr ""
-#: src/data/data-out.c:960
+#: src/data/data-out.c:958
#, c-format
msgid ""
"Year %d cannot be represented in four digits for output formatting purposes."
msgid "Can't re-open %s as a %s for %s."
msgstr ""
-#: src/data/filename.c:253
+#: src/data/file-name.c:236
#, c-format
-msgid "Searching for `%s'..."
+msgid "searching for \"%s\" in path \"%s\""
msgstr ""
-#: src/data/filename.c:261 src/data/filename.c:293
-msgid "Search unsuccessful!"
+#: src/data/file-name.c:263
+#, c-format
+msgid "...found \"%s\""
msgstr ""
-#: src/data/filename.c:286
-#, c-format
-msgid "Found `%s'."
+#: src/data/file-name.c:271
+msgid "...not found"
msgstr ""
-#: src/data/filename.c:703
+#: src/data/file-name.c:624
#, c-format
msgid "Not opening pipe file `%s' because SAFER option set."
msgstr ""
msgstr ""
#: src/data/format.c:197 src/data/por-file-reader.c:481
-#: src/data/sys-file-reader.c:994 src/data/sys-file-reader.c:1003
+#: src/data/sys-file-reader.c:997 src/data/sys-file-reader.c:1006
#: src/ui/gui/psppire-var-store.c:435
msgid "String"
msgstr ""
#: src/data/format.c:197 src/data/por-file-reader.c:481
-#: src/data/sys-file-reader.c:994 src/data/sys-file-reader.c:1003
+#: src/data/sys-file-reader.c:997 src/data/sys-file-reader.c:1006
#: src/ui/gui/psppire-var-store.c:428
msgid "Numeric"
msgstr ""
-#: src/data/format.c:198 src/data/sys-file-reader.c:996
-#: src/data/sys-file-reader.c:1141 src/data/sys-file-reader.c:1142
-#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:74
-#: src/language/dictionary/apply-dictionary.c:75
+#: src/data/format.c:198 src/data/sys-file-reader.c:999
+#: src/data/sys-file-reader.c:1144 src/data/sys-file-reader.c:1145
+#: src/data/variable.c:41 src/language/dictionary/apply-dictionary.c:73
+#: src/language/dictionary/apply-dictionary.c:74
#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
msgid "numeric"
msgstr ""
-#: src/data/format.c:198 src/data/sys-file-reader.c:996
-#: src/data/sys-file-reader.c:1141 src/data/sys-file-reader.c:1142
+#: src/data/format.c:198 src/data/sys-file-reader.c:999
+#: src/data/sys-file-reader.c:1144 src/data/sys-file-reader.c:1145
#: src/data/variable.c:41 src/data/variable.c:49
+#: src/language/dictionary/apply-dictionary.c:73
#: src/language/dictionary/apply-dictionary.c:74
-#: src/language/dictionary/apply-dictionary.c:75
#: src/language/xforms/recode.c:465 src/language/xforms/recode.c:466
msgid "string"
msgstr ""
msgid "%s: Creating file: %s."
msgstr ""
-#: src/data/por-file-reader.c:100
+#: src/data/por-file-reader.c:93
#, c-format
msgid "portable file %s corrupt at offset %ld: "
msgstr ""
msgid "Bad time string length %d."
msgstr ""
-#: src/data/por-file-reader.c:473 src/data/sys-file-reader.c:986
+#: src/data/por-file-reader.c:473 src/data/sys-file-reader.c:989
#, c-format
msgid "%s: Bad format specifier byte (%d)."
msgstr ""
-#: src/data/por-file-reader.c:480 src/data/sys-file-reader.c:1002
+#: src/data/por-file-reader.c:480 src/data/sys-file-reader.c:1005
#, c-format
msgid "%s variable %s has invalid format specifier %s."
msgstr ""
msgid "Duplicate label for value `%.*s' for variable %s."
msgstr ""
-#: src/data/por-file-writer.c:145
+#: src/data/por-file-writer.c:143
#, c-format
msgid "Invalid decimal digits count %d. Treating as %d."
msgstr ""
-#: src/data/por-file-writer.c:165
+#: src/data/por-file-writer.c:163
#, c-format
msgid ""
"An error occurred while opening \"%s\" for writing as a portable file: %s."
msgstr ""
-#: src/data/por-file-writer.c:449
+#: src/data/por-file-writer.c:447
#, c-format
msgid "An I/O error occurred writing portable file \"%s\"."
msgstr ""
msgid "Could not access definition for terminal `%s'."
msgstr ""
-#: src/data/sys-file-reader.c:134
+#: src/data/sys-file-reader.c:130
msgid "corrupt system file: "
msgstr ""
-#: src/data/sys-file-reader.c:151
+#: src/data/sys-file-reader.c:154
#, c-format
msgid "%s: Closing system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:242
+#: src/data/sys-file-reader.c:245
#, c-format
msgid ""
"An error occurred while opening \"%s\" for reading as a system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:259
+#: src/data/sys-file-reader.c:262
#, c-format
msgid ""
"%s: Index of weighting variable (%d) is not between 0 and number of elements "
"per case (%d)."
msgstr ""
-#: src/data/sys-file-reader.c:268
+#: src/data/sys-file-reader.c:271
#, c-format
msgid ""
"%s: Weighting variable may not be a continuation of a long string variable."
msgstr ""
-#: src/data/sys-file-reader.c:271
+#: src/data/sys-file-reader.c:274
#, c-format
msgid "%s: Weighting variable may not be a string variable."
msgstr ""
-#: src/data/sys-file-reader.c:296
+#: src/data/sys-file-reader.c:299
#, c-format
msgid ""
"%s: Orphaned variable index record (type 4). Type 4 records must always "
"immediately follow type 3 records."
msgstr ""
-#: src/data/sys-file-reader.c:354
+#: src/data/sys-file-reader.c:357
#, c-format
msgid "%s: Invalid subrecord length. Record: 7; Subrecord: 11"
msgstr ""
-#: src/data/sys-file-reader.c:408
+#: src/data/sys-file-reader.c:411
#, c-format
msgid "%s: Trailing garbage in long variable name map."
msgstr ""
-#: src/data/sys-file-reader.c:415
+#: src/data/sys-file-reader.c:418
#, c-format
msgid "%s: Long variable mapping to invalid variable name `%s'."
msgstr ""
-#: src/data/sys-file-reader.c:425
+#: src/data/sys-file-reader.c:428
#, c-format
msgid "%s: Long variable mapping for nonexistent variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:434
+#: src/data/sys-file-reader.c:437
#, c-format
msgid "%s: Duplicate long variable name `%s' within system file."
msgstr ""
-#: src/data/sys-file-reader.c:461
+#: src/data/sys-file-reader.c:464
#, c-format
msgid "%s: Unrecognized record type 7, subtype %d encountered in system file."
msgstr ""
-#: src/data/sys-file-reader.c:486
+#: src/data/sys-file-reader.c:489
#, c-format
msgid "%s: Unrecognized record type %d."
msgstr ""
-#: src/data/sys-file-reader.c:518
+#: src/data/sys-file-reader.c:521
#, c-format
msgid ""
"%s: Bad size (%d) or count (%d) field on record type 7, subtype 3.\tExpected "
"size %d, count 8."
msgstr ""
-#: src/data/sys-file-reader.c:529
+#: src/data/sys-file-reader.c:532
#, c-format
msgid ""
"%s: Floating-point representation in system file is not IEEE-754. PSPP "
"cannot convert between floating-point formats."
msgstr ""
-#: src/data/sys-file-reader.c:545
+#: src/data/sys-file-reader.c:548
#, c-format
msgid ""
"%s: File-indicated endianness (%s) does not match endianness intuited from "
"file header (%s)."
msgstr ""
-#: src/data/sys-file-reader.c:548 src/data/sys-file-reader.c:549
+#: src/data/sys-file-reader.c:551 src/data/sys-file-reader.c:552
msgid "big-endian"
msgstr ""
-#: src/data/sys-file-reader.c:548 src/data/sys-file-reader.c:549
+#: src/data/sys-file-reader.c:551 src/data/sys-file-reader.c:552
msgid "little-endian"
msgstr ""
-#: src/data/sys-file-reader.c:550
+#: src/data/sys-file-reader.c:553
msgid "unknown"
msgstr ""
-#: src/data/sys-file-reader.c:554
+#: src/data/sys-file-reader.c:557
#, c-format
msgid "%s: File-indicated character representation code (%s) is not ASCII."
msgstr ""
-#: src/data/sys-file-reader.c:558
+#: src/data/sys-file-reader.c:561
msgid "DEC Kanji"
msgstr ""
-#: src/data/sys-file-reader.c:558 src/language/dictionary/sys-file-info.c:119
+#: src/data/sys-file-reader.c:561 src/language/dictionary/sys-file-info.c:120
msgid "Unknown"
msgstr ""
-#: src/data/sys-file-reader.c:574
+#: src/data/sys-file-reader.c:577
#, c-format
msgid ""
"%s: Bad size (%d) or count (%d) field on record type 7, subtype 4.\tExpected "
"size %d, count 8."
msgstr ""
-#: src/data/sys-file-reader.c:589
+#: src/data/sys-file-reader.c:592
#, c-format
msgid ""
"%s: File-indicated value is different from internal value for at least one "
"%g; LOWEST: %g, %g."
msgstr ""
-#: src/data/sys-file-reader.c:616
+#: src/data/sys-file-reader.c:619
#, c-format
msgid ""
"%s: Bad magic. Proper system files begin with the four characters `$FL2'. "
"This file will not be read."
msgstr ""
-#: src/data/sys-file-reader.c:658
+#: src/data/sys-file-reader.c:661
#, c-format
msgid ""
"%s: File layout code has unexpected value %d. Value should be 2, in big-"
"endian or little-endian format."
msgstr ""
-#: src/data/sys-file-reader.c:686
+#: src/data/sys-file-reader.c:689
#, c-format
msgid "%s: Number of cases in file (%ld) is not between -1 and %d."
msgstr ""
-#: src/data/sys-file-reader.c:691
+#: src/data/sys-file-reader.c:694
#, c-format
msgid "%s: Compression bias (%g) is not the usual value of 100."
msgstr ""
-#: src/data/sys-file-reader.c:816
+#: src/data/sys-file-reader.c:819
#, c-format
msgid ""
"%s: position %d: String variable does not have proper number of continuation "
"records."
msgstr ""
-#: src/data/sys-file-reader.c:827
+#: src/data/sys-file-reader.c:830
#, c-format
msgid "%s: position %d: Superfluous long string continuation record."
msgstr ""
-#: src/data/sys-file-reader.c:833
+#: src/data/sys-file-reader.c:836
#, c-format
msgid "%s: position %d: Bad variable type code %d."
msgstr ""
-#: src/data/sys-file-reader.c:836
+#: src/data/sys-file-reader.c:839
#, c-format
msgid "%s: position %d: Variable label indicator field is not 0 or 1."
msgstr ""
-#: src/data/sys-file-reader.c:840
+#: src/data/sys-file-reader.c:843
#, c-format
msgid ""
"%s: position %d: Missing value indicator field is not -3, -2, 0, 1, 2, or 3."
msgstr ""
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:848
#, c-format
msgid "%s: position %d: Variable name begins with invalid character."
msgstr ""
-#: src/data/sys-file-reader.c:864
+#: src/data/sys-file-reader.c:867
#, c-format
msgid "%s: Invalid variable name `%s' within system file."
msgstr ""
-#: src/data/sys-file-reader.c:870
+#: src/data/sys-file-reader.c:873
#, c-format
msgid "%s: Duplicate variable name `%s' within system file."
msgstr ""
-#: src/data/sys-file-reader.c:893
+#: src/data/sys-file-reader.c:896
#, c-format
msgid "%s: Variable %s indicates variable label of invalid length %d."
msgstr ""
-#: src/data/sys-file-reader.c:914
+#: src/data/sys-file-reader.c:917
#, c-format
msgid "%s: Long string variable %s may not have missing values."
msgstr ""
-#: src/data/sys-file-reader.c:935
+#: src/data/sys-file-reader.c:938
#, c-format
msgid ""
"%s: String variable %s may not have missing values specified as a range."
msgstr ""
-#: src/data/sys-file-reader.c:962
+#: src/data/sys-file-reader.c:965
#, c-format
msgid "%s: Long string continuation records omitted at end of dictionary."
msgstr ""
-#: src/data/sys-file-reader.c:967
+#: src/data/sys-file-reader.c:970
#, c-format
msgid ""
"%s: System file header indicates %d variable positions but %d were read from "
"file."
msgstr ""
-#: src/data/sys-file-reader.c:992
+#: src/data/sys-file-reader.c:995
#, c-format
msgid "%s: %s variable %s has %s format specifier %s."
msgstr ""
-#: src/data/sys-file-reader.c:1045
+#: src/data/sys-file-reader.c:1048
#, c-format
msgid "%s: Invalid number of labels: %d. Ignoring labels."
msgstr ""
-#: src/data/sys-file-reader.c:1087
+#: src/data/sys-file-reader.c:1090
#, c-format
msgid ""
"%s: Variable index record (type 4) does not immediately follow value label "
"record (type 3) as it should."
msgstr ""
-#: src/data/sys-file-reader.c:1098
+#: src/data/sys-file-reader.c:1101
#, 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/data/sys-file-reader.c:1114
+#: src/data/sys-file-reader.c:1117
#, c-format
msgid ""
"%s: Variable index associated with value label (%d) is not between 1 and the "
"number of values (%d)."
msgstr ""
-#: src/data/sys-file-reader.c:1121
+#: src/data/sys-file-reader.c:1124
#, 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/data/sys-file-reader.c:1126
+#: src/data/sys-file-reader.c:1129
#, c-format
msgid "%s: Value labels are not allowed on long string variables (%s)."
msgstr ""
-#: src/data/sys-file-reader.c:1137
+#: src/data/sys-file-reader.c:1140
#, 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/data/sys-file-reader.c:1178
+#: src/data/sys-file-reader.c:1181
#, c-format
msgid "%s: File contains duplicate label for value %g for variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:1182
+#: src/data/sys-file-reader.c:1185
#, c-format
msgid "%s: File contains duplicate label for value `%.*s' for variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:1224 src/data/sys-file-reader.c:1507
+#: src/data/sys-file-reader.c:1227 src/data/sys-file-reader.c:1510
#, c-format
msgid "%s: Reading system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:1227 src/data/sys-file-reader.c:1345
-#: src/data/sys-file-reader.c:1386
+#: src/data/sys-file-reader.c:1230 src/data/sys-file-reader.c:1348
+#: src/data/sys-file-reader.c:1389
#, c-format
msgid "%s: Unexpected end of file."
msgstr ""
-#: src/data/sys-file-reader.c:1243
+#: src/data/sys-file-reader.c:1246
#, c-format
msgid "%s: Seeking system file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:1258
+#: src/data/sys-file-reader.c:1261
#, c-format
msgid "%s: System file contains multiple type 6 (document) records."
msgstr ""
-#: src/data/sys-file-reader.c:1264
+#: src/data/sys-file-reader.c:1267
#, c-format
msgid "%s: Number of document lines (%ld) must be greater than 0."
msgstr ""
-#: src/data/sys-file-reader.c:1298
+#: src/data/sys-file-reader.c:1301
#, c-format
msgid "%s: Error reading file: %s."
msgstr ""
-#: src/data/sys-file-reader.c:1337
+#: src/data/sys-file-reader.c:1340
#, c-format
msgid "%s: Compressed data is corrupted. Data ends in partial case."
msgstr ""
-#: src/data/sys-file-reader.c:1513
+#: src/data/sys-file-reader.c:1516
#, c-format
msgid "%s: Partial record at end of system file."
msgstr ""
-#: src/data/sys-file-writer.c:141
+#: src/data/sys-file-writer.c:139
#, c-format
msgid "Unknown system file version %d. Treating as version %d."
msgstr ""
-#: src/data/sys-file-writer.c:250
+#: src/data/sys-file-writer.c:248
#, c-format
msgid "Error opening \"%s\" for writing as a system file: %s."
msgstr ""
-#: src/data/sys-file-writer.c:897
+#: src/data/sys-file-writer.c:895
#, c-format
msgid "An I/O error occurred writing system file \"%s\"."
msgstr ""
msgid "scratch"
msgstr ""
-#: src/language/command.c:141
+#: src/language/command.c:159
#, c-format
-msgid "%s not allowed inside FILE TYPE/END FILE TYPE."
+msgid "%s may be used only in testing mode."
msgstr ""
-#: src/language/command.c:144
+#: src/language/command.c:164
#, c-format
-msgid "%s not allowed inside FILE TYPE GROUPED/END FILE TYPE."
+msgid "%s may be used only in enhanced syntax mode."
msgstr ""
-#: src/language/command.c:147
-msgid "RECORD TYPE must be the first command inside a FILE TYPE structure."
+#: src/language/command.c:414
+msgid "expecting command name"
msgstr ""
-#: src/language/command.c:194
-msgid "expecting command name"
+#: src/language/command.c:428
+#, c-format
+msgid "Unknown command %s."
+msgstr ""
+
+#: src/language/command.c:550
+msgid "before the active file has been defined"
+msgstr ""
+
+#: src/language/command.c:552
+msgid "after the active file has been defined"
+msgstr ""
+
+#: src/language/command.c:554
+msgid "inside INPUT PROGRAM"
+msgstr ""
+
+#: src/language/command.c:556
+msgid "inside FILE TYPE"
msgstr ""
-#: src/language/command.c:204 src/language/expressions/parse.c:1222
-#: src/ui/terminal/command-line.c:125 src/ui/terminal/command-line.c:144
-#: src/ui/terminal/command-line.c:156
+#: src/language/command.c:561
#, c-format
-msgid "%s is not yet implemented."
+msgid "%s or %s"
msgstr ""
-#: src/language/command.c:223
+#: src/language/command.c:563
#, c-format
-msgid ""
-"%s is not allowed (1) before a command to specify the input program, such as "
-"DATA LIST, (2) between FILE TYPE and END FILE TYPE, (3) between INPUT "
-"PROGRAM and END INPUT PROGRAM."
+msgid "%s, %s, or %s"
msgstr ""
-#: src/language/command.c:227
+#: src/language/command.c:567
#, c-format
-msgid "%s is not allowed within an input program."
+msgid "%s is allowed only %s."
msgstr ""
-#: src/language/command.c:228 src/language/command.c:229
+#: src/language/command.c:572
#, c-format
-msgid "%s is only allowed within an input program."
+msgid "%s is not allowed inside INPUT PROGRAM."
msgstr ""
-#: src/language/command.c:504
+#: src/language/command.c:574
#, c-format
-msgid "Unknown command %s."
+msgid "%s is not allowed inside FILE TYPE."
msgstr ""
-#: src/language/command.c:645 src/language/command.c:776
+#: src/language/command.c:666 src/language/command.c:797
#: src/language/utilities/permissions.c:102
msgid "This command not allowed when the SAFER option is set."
msgstr ""
-#: src/language/command.c:657
+#: src/language/command.c:678
#, c-format
msgid "Error removing `%s': %s."
msgstr ""
-#: src/language/command.c:707
+#: src/language/command.c:728
#, c-format
msgid "Couldn't fork: %s."
msgstr ""
-#: src/language/command.c:749
+#: src/language/command.c:770
#, c-format
msgid "Error executing command: %s."
msgstr ""
-#: src/language/command.c:758 src/language/data-io/matrix-data.c:534
-#: src/language/data-io/print.c:336 src/language/data-io/print.c:1051
+#: src/language/command.c:779 src/language/data-io/matrix-data.c:532
+#: src/language/data-io/print.c:336 src/language/data-io/print.c:1038
#: src/language/dictionary/vector.c:197 src/language/lexer/lexer.c:453
#: src/language/stats/autorecode.c:144 src/language/xforms/select-if.c:57
#: src/language/xforms/select-if.c:137
msgid "expecting end of command"
msgstr ""
-#: src/language/command.c:797
+#: src/language/command.c:818
msgid "No operating system support for this command."
msgstr ""
msgid "This command may not follow ELSE in DO IF...END IF."
msgstr ""
-#: src/language/control/repeat.c:137
+#: src/language/control/repeat.c:135
#, c-format
msgid "Dummy variable name \"%s\" hides dictionary variable \"%s\"."
msgstr ""
-#: src/language/control/repeat.c:143
+#: src/language/control/repeat.c:141
#, c-format
msgid "Dummy variable name \"%s\" is given twice."
msgstr ""
-#: src/language/control/repeat.c:184
+#: src/language/control/repeat.c:182
#, c-format
msgid ""
"Dummy variable \"%s\" had %d substitutions, so \"%s\" must also, but %d were "
"specified."
msgstr ""
-#: src/language/control/repeat.c:453
+#: src/language/control/repeat.c:451
msgid "String expected."
msgstr ""
-#: src/language/control/repeat.c:480
+#: src/language/control/repeat.c:478
msgid "No matching DO REPEAT."
msgstr ""
"fields must be listed in order of increasing record number."
msgstr ""
-#: src/language/data-io/data-list.c:378 src/language/data-io/data-list.c:1727
+#: src/language/data-io/data-list.c:378 src/language/data-io/data-list.c:1729
msgid ""
"SPSS-like or FORTRAN-like format specification expected after variable names."
msgstr ""
#: src/language/data-io/data-list.c:783 src/language/data-io/data-list.c:901
#: src/language/data-io/print.c:798
-#: src/language/dictionary/sys-file-info.c:139
-#: src/language/dictionary/sys-file-info.c:373
-#: src/language/stats/descriptives.c:887 src/procedure.c:886
+#: src/language/dictionary/sys-file-info.c:140
+#: src/language/dictionary/sys-file-info.c:374
+#: src/language/stats/descriptives.c:887 src/procedure.c:878
msgid "Variable"
msgstr ""
"with the system-missing value or blanks, as appropriate."
msgstr ""
-#: src/language/data-io/data-list.c:1390
+#: src/language/data-io/data-list.c:1392
msgid ""
"REPEATING DATA must use the same file as its corresponding DATA LIST or FILE "
"TYPE."
msgstr ""
-#: src/language/data-io/data-list.c:1400 src/language/data-io/data-list.c:1434
-#: src/language/data-io/data-list.c:1447 src/language/data-io/data-list.c:1460
-#: src/language/data-io/data-list.c:1494
+#: src/language/data-io/data-list.c:1402 src/language/data-io/data-list.c:1436
+#: src/language/data-io/data-list.c:1449 src/language/data-io/data-list.c:1462
+#: src/language/data-io/data-list.c:1496
#, c-format
msgid "%s subcommand given multiple times."
msgstr ""
-#: src/language/data-io/data-list.c:1423
+#: src/language/data-io/data-list.c:1425
#, c-format
msgid "STARTS beginning column (%d) exceeds STARTS ending column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1480
+#: src/language/data-io/data-list.c:1482
#, c-format
msgid "CONTINUED beginning column (%d) exceeds CONTINUED ending column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1503
+#: src/language/data-io/data-list.c:1505
#, c-format
msgid "ID beginning column (%ld) must be positive."
msgstr ""
-#: src/language/data-io/data-list.c:1518
+#: src/language/data-io/data-list.c:1520
#, c-format
msgid "ID ending column (%ld) must be positive."
msgstr ""
-#: src/language/data-io/data-list.c:1524
+#: src/language/data-io/data-list.c:1526
#, c-format
msgid "ID ending column (%ld) cannot be less than ID beginning column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1564
+#: src/language/data-io/data-list.c:1566
msgid "Missing required specification STARTS."
msgstr ""
-#: src/language/data-io/data-list.c:1566
+#: src/language/data-io/data-list.c:1568
msgid "Missing required specification OCCURS."
msgstr ""
-#: src/language/data-io/data-list.c:1573
+#: src/language/data-io/data-list.c:1575
msgid "ID specified without CONTINUED."
msgstr ""
-#: src/language/data-io/data-list.c:1584
+#: src/language/data-io/data-list.c:1586
#, c-format
msgid ""
"STARTS beginning column (%d) exceeds default STARTS ending column taken from "
"file's record width (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1597
+#: src/language/data-io/data-list.c:1599
#, c-format
msgid ""
"CONTINUED beginning column (%d) exceeds default CONTINUED ending column "
"taken from file's record width (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1676
+#: src/language/data-io/data-list.c:1678
msgid "String variable not allowed here."
msgstr ""
-#: src/language/data-io/data-list.c:1686
+#: src/language/data-io/data-list.c:1688
#, c-format
msgid "%s (%d) must be at least 1."
msgstr ""
-#: src/language/data-io/data-list.c:1692
+#: src/language/data-io/data-list.c:1694
#, c-format
msgid "Variable or integer expected for %s."
msgstr ""
-#: src/language/data-io/data-list.c:1817
+#: src/language/data-io/data-list.c:1819
#, c-format
msgid "Encountered mismatched record ID \"%s\" expecting \"%s\"."
msgstr ""
-#: src/language/data-io/data-list.c:1849
+#: src/language/data-io/data-list.c:1852
#, c-format
msgid ""
"Variable %s starting in column %d extends beyond physical record length of %"
"d."
msgstr ""
-#: src/language/data-io/data-list.c:1916
+#: src/language/data-io/data-list.c:1919
#, c-format
msgid "Invalid value %d for OCCURS."
msgstr ""
-#: src/language/data-io/data-list.c:1922
+#: src/language/data-io/data-list.c:1925
#, c-format
msgid "Beginning column for STARTS (%d) must be at least 1."
msgstr ""
-#: src/language/data-io/data-list.c:1930
+#: src/language/data-io/data-list.c:1932
#, c-format
msgid "Ending column for STARTS (%d) is less than beginning column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1938
+#: src/language/data-io/data-list.c:1940
#, c-format
msgid "Invalid value %d for LENGTH."
msgstr ""
-#: src/language/data-io/data-list.c:1945
+#: src/language/data-io/data-list.c:1947
#, c-format
msgid "Beginning column for CONTINUED (%d) must be at least 1."
msgstr ""
-#: src/language/data-io/data-list.c:1953
+#: src/language/data-io/data-list.c:1955
#, c-format
msgid "Ending column for CONTINUED (%d) is less than beginning column (%d)."
msgstr ""
-#: src/language/data-io/data-list.c:1985
+#: src/language/data-io/data-list.c:1987
#, 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/language/data-io/data-list.c:2003
+#: src/language/data-io/data-list.c:2005
#, c-format
msgid "Unexpected end of file with %d repetitions remaining out of %d."
msgstr ""
-#: src/language/data-io/data-reader.c:138
+#: src/language/data-io/data-reader.c:131
#, c-format
msgid "Could not open \"%s\" for reading as a data file: %s."
msgstr ""
-#: src/language/data-io/data-reader.c:175
+#: src/language/data-io/data-reader.c:168
msgid ""
"Unexpected end-of-file while reading data in BEGIN DATA. This probably "
"indicates a missing or misformatted END DATA command. END DATA must appear "
"by itself on a single line with exactly one space between words."
msgstr ""
-#: src/language/data-io/data-reader.c:206
-#: src/language/data-io/data-reader.c:224
+#: src/language/data-io/data-reader.c:199
+#: src/language/data-io/data-reader.c:216
#, c-format
msgid "Error reading file %s: %s."
msgstr ""
-#: src/language/data-io/data-reader.c:227
+#: src/language/data-io/data-reader.c:219
#, c-format
msgid "%s: Partial record at end of file."
msgstr ""
-#: src/language/data-io/data-reader.c:278
+#: src/language/data-io/data-reader.c:270
#, c-format
msgid "Attempt to read beyond end-of-file on file %s."
msgstr ""
-#: src/language/data-io/data-reader.c:281
+#: src/language/data-io/data-reader.c:273
msgid "Attempt to read beyond END DATA."
msgstr ""
-#: src/language/data-io/data-reader.c:425
+#: src/language/data-io/data-reader.c:417
msgid ""
"This command is not valid here since the current input program does not "
"access the inline file."
msgstr ""
-#: src/language/data-io/data-writer.c:70
+#: src/language/data-io/data-writer.c:62
#, c-format
msgid "An error occurred while opening \"%s\" for writing as a data file: %s."
msgstr ""
-#: src/language/data-io/data-writer.c:136
+#: src/language/data-io/data-writer.c:131
#, c-format
msgid "I/O error occurred writing data file \"%s\"."
msgstr ""
msgid "Handle for %s not allowed here."
msgstr ""
-#: src/language/data-io/file-type.c:134
+#: src/language/data-io/file-type.c:149
msgid "MIXED, GROUPED, or NESTED expected."
msgstr ""
-#: src/language/data-io/file-type.c:157
+#: src/language/data-io/file-type.c:172
msgid "The CASE subcommand is not valid on FILE TYPE MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:175
+#: src/language/data-io/file-type.c:190
msgid "WARN or NOWARN expected after WILD."
msgstr ""
-#: src/language/data-io/file-type.c:183
+#: src/language/data-io/file-type.c:198
msgid "The DUPLICATE subcommand is not valid on FILE TYPE MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:197
+#: src/language/data-io/file-type.c:212
msgid "DUPLICATE=CASE is only valid on FILE TYPE NESTED."
msgstr ""
-#: src/language/data-io/file-type.c:206
+#: src/language/data-io/file-type.c:221
#, c-format
msgid "WARN%s expected after DUPLICATE."
msgstr ""
-#: src/language/data-io/file-type.c:207
+#: src/language/data-io/file-type.c:222
msgid ", NOWARN, or CASE"
msgstr ""
-#: src/language/data-io/file-type.c:208
+#: src/language/data-io/file-type.c:223
msgid " or NOWARN"
msgstr ""
-#: src/language/data-io/file-type.c:216
+#: src/language/data-io/file-type.c:231
msgid "The MISSING subcommand is not valid on FILE TYPE MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:228
+#: src/language/data-io/file-type.c:243
msgid "WARN or NOWARN after MISSING."
msgstr ""
-#: src/language/data-io/file-type.c:236
+#: src/language/data-io/file-type.c:251
msgid "ORDERED is only valid on FILE TYPE GROUPED."
msgstr ""
-#: src/language/data-io/file-type.c:247
+#: src/language/data-io/file-type.c:262
msgid "YES or NO expected after ORDERED."
msgstr ""
-#: src/language/data-io/file-type.c:253 src/language/data-io/file-type.c:548
+#: src/language/data-io/file-type.c:268 src/language/data-io/file-type.c:554
msgid "while expecting a valid subcommand"
msgstr ""
-#: src/language/data-io/file-type.c:260
+#: src/language/data-io/file-type.c:275
msgid "The required RECORD subcommand was not present."
msgstr ""
-#: src/language/data-io/file-type.c:268
+#: src/language/data-io/file-type.c:283
msgid "The required CASE subcommand was not present."
msgstr ""
-#: src/language/data-io/file-type.c:274
+#: src/language/data-io/file-type.c:289
msgid "CASE and RECORD must specify different variable names."
msgstr ""
-#: src/language/data-io/file-type.c:332
+#: src/language/data-io/file-type.c:347
msgid "Column value must be positive."
msgstr ""
-#: src/language/data-io/file-type.c:348
+#: src/language/data-io/file-type.c:363
msgid "Ending column precedes beginning column."
msgstr ""
-#: src/language/data-io/file-type.c:368
+#: src/language/data-io/file-type.c:383
msgid "Bad format specifier name."
msgstr ""
-#: src/language/data-io/file-type.c:397 src/language/data-io/file-type.c:586
-msgid ""
-"This command may only appear within a FILE TYPE/END FILE TYPE structure."
-msgstr ""
-
-#: src/language/data-io/file-type.c:420
+#: src/language/data-io/file-type.c:426
msgid "OTHER may appear only on the last RECORD TYPE command."
msgstr ""
-#: src/language/data-io/file-type.c:430
+#: src/language/data-io/file-type.c:436
msgid "No input commands (DATA LIST, REPEATING DATA) for above RECORD TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:481
+#: src/language/data-io/file-type.c:487
msgid ""
"The CASE subcommand is not allowed on the RECORD TYPE command for FILE TYPE "
"MIXED."
msgstr ""
-#: src/language/data-io/file-type.c:491
+#: src/language/data-io/file-type.c:497
msgid ""
"No variable name may be specified for the CASE subcommand on RECORD TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:499
+#: src/language/data-io/file-type.c:505
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/language/data-io/file-type.c:515
+#: src/language/data-io/file-type.c:521
msgid "WARN or NOWARN expected on DUPLICATE subcommand."
msgstr ""
-#: src/language/data-io/file-type.c:529
+#: src/language/data-io/file-type.c:535
msgid "WARN or NOWARN expected on MISSING subcommand."
msgstr ""
-#: src/language/data-io/file-type.c:542
+#: src/language/data-io/file-type.c:548
msgid "YES or NO expected on SPREAD subcommand."
msgstr ""
-#: src/language/data-io/file-type.c:599
+#: src/language/data-io/file-type.c:598
msgid "No input commands (DATA LIST, REPEATING DATA) on above RECORD TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:606
+#: src/language/data-io/file-type.c:605
msgid "No commands between FILE TYPE and END FILE TYPE."
msgstr ""
-#: src/language/data-io/file-type.c:675
+#: src/language/data-io/file-type.c:674
#, c-format
msgid "Unknown record type \"%.*s\"."
msgstr ""
-#: src/language/data-io/file-type.c:699
+#: src/language/data-io/file-type.c:698
#, c-format
msgid "Unknown record type %g."
msgstr ""
-#: src/language/data-io/get.c:108
+#: src/language/data-io/get.c:106
msgid "expecting COMM or TAPE"
msgstr ""
-#: src/language/data-io/get.c:350 src/language/data-io/get.c:364
-#: src/language/data-io/get.c:389
+#: src/language/data-io/get.c:348 src/language/data-io/get.c:362
+#: src/language/data-io/get.c:387
#, c-format
msgid "expecting %s or %s"
msgstr ""
-#: src/language/data-io/get.c:596 src/language/data-io/print.c:180
+#: src/language/data-io/get.c:594 src/language/data-io/print.c:180
msgid "expecting a valid subcommand"
msgstr ""
-#: src/language/data-io/get.c:629
+#: src/language/data-io/get.c:627
#, c-format
msgid ""
"Cannot rename %s as %s because there already exists a variable named %s. To "
"as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
msgstr ""
-#: src/language/data-io/get.c:654
+#: src/language/data-io/get.c:652
msgid "`=' expected after variable list."
msgstr ""
-#: src/language/data-io/get.c:661
+#: src/language/data-io/get.c:659
#, c-format
msgid ""
"Number of variables on left side of `=' (%d) does not match number of "
"variables on right side (%d), in parenthesized group %d of RENAME subcommand."
msgstr ""
-#: src/language/data-io/get.c:674
+#: src/language/data-io/get.c:672
#, c-format
msgid "Requested renaming duplicates variable name %s."
msgstr ""
-#: src/language/data-io/get.c:704
+#: src/language/data-io/get.c:702
msgid "Cannot DROP all variables from dictionary."
msgstr ""
-#: src/language/data-io/get.c:883
+#: src/language/data-io/get.c:879
msgid "The active file may not be specified more than once."
msgstr ""
-#: src/language/data-io/get.c:892
+#: src/language/data-io/get.c:887
msgid "Cannot specify the active file since no active file has been defined."
msgstr ""
-#: src/language/data-io/get.c:900
+#: src/language/data-io/get.c:895
msgid ""
"MATCH FILES may not be used after TEMPORARY when the active file is an input "
"source. Temporary transformations will be made permanent."
msgstr ""
-#: src/language/data-io/get.c:938
+#: src/language/data-io/get.c:933
msgid "Multiple IN subcommands for a single FILE or TABLE."
msgstr ""
-#: src/language/data-io/get.c:958
+#: src/language/data-io/get.c:953
msgid "BY may appear at most once."
msgstr ""
-#: src/language/data-io/get.c:978
+#: src/language/data-io/get.c:973
#, c-format
msgid "File %s lacks BY variable %s."
msgstr ""
-#: src/language/data-io/get.c:992
+#: src/language/data-io/get.c:987
msgid "FIRST may appear at most once."
msgstr ""
-#: src/language/data-io/get.c:1006
+#: src/language/data-io/get.c:1001
msgid "LAST may appear at most once."
msgstr ""
-#: src/language/data-io/get.c:1047
+#: src/language/data-io/get.c:1042
msgid "BY is required when TABLE is specified."
msgstr ""
-#: src/language/data-io/get.c:1052
+#: src/language/data-io/get.c:1047
msgid "BY is required when IN is specified."
msgstr ""
-#: src/language/data-io/get.c:1080
+#: src/language/data-io/get.c:1075
#, c-format
msgid "IN variable name %s duplicates an existing variable name."
msgstr ""
-#: src/language/data-io/get.c:1535
+#: src/language/data-io/get.c:1530
#, c-format
msgid ""
"Variable %s in file %s (%s) has different type or width from the same "
"variable in earlier file (%s)."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:85
-msgid "No matching INPUT PROGRAM command."
+#: src/language/data-io/inpt-pgm.c:98
+msgid "Unexpected end-of-file within INPUT PROGRAM."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:90
+#: src/language/data-io/inpt-pgm.c:107
msgid ""
"No data-input or transformation commands specified between INPUT PROGRAM and "
"END INPUT PROGRAM."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:292 src/language/data-io/inpt-pgm.c:411
-msgid ""
-"This command may only be executed between INPUT PROGRAM and END INPUT "
-"PROGRAM."
-msgstr ""
-
-#: src/language/data-io/inpt-pgm.c:336
+#: src/language/data-io/inpt-pgm.c:354
msgid "COLUMN subcommand multiply specified."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:384
+#: src/language/data-io/inpt-pgm.c:402
msgid ""
"REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr ""
-#: src/language/data-io/list.q:151 src/language/stats/descriptives.c:356
+#: src/language/data-io/list.q:149 src/language/stats/descriptives.c:356
msgid "No variables specified."
msgstr ""
-#: src/language/data-io/list.q:159
+#: src/language/data-io/list.q:157
#, c-format
msgid ""
"The first case (%ld) specified precedes the last case (%ld) specified. The "
"values will be swapped."
msgstr ""
-#: src/language/data-io/list.q:167
+#: src/language/data-io/list.q:165
#, c-format
msgid ""
"The first case (%ld) to list is less than 1. The value is being reset to 1."
msgstr ""
-#: src/language/data-io/list.q:173
+#: src/language/data-io/list.q:171
#, c-format
msgid ""
"The last case (%ld) to list is less than 1. The value is being reset to 1."
msgstr ""
-#: src/language/data-io/list.q:179
+#: src/language/data-io/list.q:177
#, c-format
msgid "The step value %ld is less than 1. The value is being reset to 1."
msgstr ""
-#: src/language/data-io/list.q:205
+#: src/language/data-io/list.q:203
msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
msgstr ""
-#: src/language/data-io/list.q:432
+#: src/language/data-io/list.q:430
msgid "Line"
msgstr ""
-#: src/language/data-io/matrix-data.c:213
+#: src/language/data-io/matrix-data.c:211
msgid "VARIABLES subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:228
+#: src/language/data-io/matrix-data.c:226
msgid "VARNAME_ cannot be explicitly specified on VARIABLES."
msgstr ""
-#: src/language/data-io/matrix-data.c:289
+#: src/language/data-io/matrix-data.c:287
msgid "in FORMAT subcommand"
msgstr ""
-#: src/language/data-io/matrix-data.c:300
+#: src/language/data-io/matrix-data.c:298
msgid "SPLIT subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:307
+#: src/language/data-io/matrix-data.c:305
msgid "in SPLIT subcommand"
msgstr ""
-#: src/language/data-io/matrix-data.c:317
+#: src/language/data-io/matrix-data.c:315
msgid "Split variable may not be named ROWTYPE_ or VARNAME_."
msgstr ""
-#: src/language/data-io/matrix-data.c:351
+#: src/language/data-io/matrix-data.c:349
#, c-format
msgid "Split variable %s is already another type."
msgstr ""
-#: src/language/data-io/matrix-data.c:366
+#: src/language/data-io/matrix-data.c:364
msgid "FACTORS subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:385
+#: src/language/data-io/matrix-data.c:383
#, c-format
msgid "Factor variable %s is already another type."
msgstr ""
-#: src/language/data-io/matrix-data.c:400
+#: src/language/data-io/matrix-data.c:398
msgid "CELLS subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:406
-#: src/language/data-io/matrix-data.c:425
+#: src/language/data-io/matrix-data.c:404
+#: src/language/data-io/matrix-data.c:423
msgid "expecting positive integer"
msgstr ""
-#: src/language/data-io/matrix-data.c:419
+#: src/language/data-io/matrix-data.c:417
msgid "N subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:440
+#: src/language/data-io/matrix-data.c:438
msgid "CONTENTS subcommand multiply specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:460
+#: src/language/data-io/matrix-data.c:458
msgid "Nested parentheses not allowed."
msgstr ""
-#: src/language/data-io/matrix-data.c:470
+#: src/language/data-io/matrix-data.c:468
msgid "Mismatched right parenthesis (`(')."
msgstr ""
-#: src/language/data-io/matrix-data.c:475
+#: src/language/data-io/matrix-data.c:473
msgid "Empty parentheses not allowed."
msgstr ""
-#: src/language/data-io/matrix-data.c:488
-#: src/language/data-io/matrix-data.c:496
+#: src/language/data-io/matrix-data.c:486
+#: src/language/data-io/matrix-data.c:494
msgid "in CONTENTS subcommand"
msgstr ""
-#: src/language/data-io/matrix-data.c:503
+#: src/language/data-io/matrix-data.c:501
#, c-format
msgid "Content multiply specified for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:520
+#: src/language/data-io/matrix-data.c:518
msgid "Missing right parenthesis."
msgstr ""
-#: src/language/data-io/matrix-data.c:540
+#: src/language/data-io/matrix-data.c:538
msgid "Missing VARIABLES subcommand."
msgstr ""
-#: src/language/data-io/matrix-data.c:546
+#: src/language/data-io/matrix-data.c:544
msgid ""
"CONTENTS subcommand not specified: assuming file contains only CORR matrix."
msgstr ""
-#: src/language/data-io/matrix-data.c:556
+#: src/language/data-io/matrix-data.c:554
msgid ""
"Missing CELLS subcommand. CELLS is required when ROWTYPE_ is not given in "
"the data and factors are present."
msgstr ""
-#: src/language/data-io/matrix-data.c:564
+#: src/language/data-io/matrix-data.c:562
msgid "Split file values must be present in the data when ROWTYPE_ is present."
msgstr ""
-#: src/language/data-io/matrix-data.c:617
+#: src/language/data-io/matrix-data.c:615
msgid "No continuous variables specified."
msgstr ""
-#: src/language/data-io/matrix-data.c:860
+#: src/language/data-io/matrix-data.c:858
msgid "Scope of string exceeds line."
msgstr ""
-#: src/language/data-io/matrix-data.c:925
+#: src/language/data-io/matrix-data.c:923
#, c-format
msgid "End of line expected %s while reading %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1115
+#: src/language/data-io/matrix-data.c:1113
#, c-format
msgid "expecting value for %s %s"
msgstr ""
-#: src/language/data-io/matrix-data.c:1281
+#: src/language/data-io/matrix-data.c:1278
#, c-format
msgid "Syntax error expecting SPLIT FILE value %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1290
+#: src/language/data-io/matrix-data.c:1287
#, c-format
msgid "Expecting value %g for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1331
-#: src/language/data-io/matrix-data.c:1811
+#: src/language/data-io/matrix-data.c:1328
+#: src/language/data-io/matrix-data.c:1805
#, c-format
msgid "Syntax error expecting factor value %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1340
+#: src/language/data-io/matrix-data.c:1337
#, c-format
msgid "Syntax error expecting value %g for %s %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1587
+#: src/language/data-io/matrix-data.c:1581
#, c-format
msgid "Syntax error %s expecting SPLIT FILE value."
msgstr ""
-#: src/language/data-io/matrix-data.c:1716
+#: src/language/data-io/matrix-data.c:1710
#, c-format
msgid ""
"Expected %d lines of data for %s content; actually saw %d lines. No data "
"will be output for this content."
msgstr ""
-#: src/language/data-io/matrix-data.c:1753
+#: src/language/data-io/matrix-data.c:1747
#, c-format
msgid "Multiply specified ROWTYPE_ %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1758
+#: src/language/data-io/matrix-data.c:1752
#, c-format
msgid "Syntax error %s expecting ROWTYPE_ string."
msgstr ""
-#: src/language/data-io/matrix-data.c:1778
+#: src/language/data-io/matrix-data.c:1772
#, c-format
msgid "Syntax error %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1929
+#: src/language/data-io/matrix-data.c:1923
#, c-format
msgid "Duplicate specification for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1941
+#: src/language/data-io/matrix-data.c:1935
#, c-format
msgid "Too many rows of matrix data for %s."
msgstr ""
-#: src/language/data-io/matrix-data.c:1989
+#: src/language/data-io/matrix-data.c:1981
#, c-format
msgid "Syntax error expecting value for %s %s."
msgstr ""
msgstr[0] ""
msgstr[1] ""
-#: src/language/data-io/print.c:1091
+#: src/language/data-io/print.c:1078
msgid "The expression on PRINT SPACE evaluated to the system-missing value."
msgstr ""
-#: src/language/data-io/print.c:1094
+#: src/language/data-io/print.c:1081
#, c-format
msgid "The expression on PRINT SPACE evaluated to %g."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:71
+#: src/language/dictionary/apply-dictionary.c:70
#, c-format
msgid "Variable %s is %s in target file, but %s in source file."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:87
+#: src/language/dictionary/apply-dictionary.c:86
#, c-format
msgid "Cannot add value labels from source file to long string variable %s."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:133
+#: src/language/dictionary/apply-dictionary.c:132
#, c-format
msgid ""
"Cannot apply missing values from source file to long string variable %s."
msgstr ""
-#: src/language/dictionary/apply-dictionary.c:153
+#: src/language/dictionary/apply-dictionary.c:152
msgid "No matching variables found between the source and target files."
msgstr ""
-#: src/language/dictionary/formats.c:89
+#: src/language/dictionary/formats.c:87
msgid "`(' expected after variable list"
msgstr ""
-#: src/language/dictionary/formats.c:99 src/language/dictionary/numeric.c:68
-#: src/language/dictionary/numeric.c:139
+#: src/language/dictionary/formats.c:97 src/language/dictionary/numeric.c:66
+#: src/language/dictionary/numeric.c:137
msgid "`)' expected after output format."
msgstr ""
-#: src/language/dictionary/missing-values.c:55
-#: src/language/stats/aggregate.c:432
+#: src/language/dictionary/missing-values.c:53
+#: src/language/stats/aggregate.c:434
msgid "expecting `('"
msgstr ""
-#: src/language/dictionary/missing-values.c:71
+#: src/language/dictionary/missing-values.c:69
#, c-format
msgid ""
"Cannot mix numeric variables (e.g. %s) and string variables (e.g. %s) within "
"a single list."
msgstr ""
-#: src/language/dictionary/missing-values.c:111
+#: src/language/dictionary/missing-values.c:109
#, c-format
msgid "Truncating missing value to short string length (%d characters)."
msgstr ""
-#: src/language/dictionary/missing-values.c:130
+#: src/language/dictionary/missing-values.c:128
#, c-format
msgid "Missing values provided are too long to assign to variable of width %d."
msgstr ""
msgid "`/' or `.' expected."
msgstr ""
-#: src/language/dictionary/numeric.c:61
+#: src/language/dictionary/numeric.c:59
#, c-format
msgid "Format type %s may not be used with a numeric variable."
msgstr ""
-#: src/language/dictionary/numeric.c:80 src/language/dictionary/numeric.c:162
+#: src/language/dictionary/numeric.c:78 src/language/dictionary/numeric.c:160
#: src/language/dictionary/vector.c:159
#, c-format
msgid "There is already a variable named %s."
msgstr ""
-#: src/language/dictionary/numeric.c:132
+#: src/language/dictionary/numeric.c:130
#, c-format
msgid "Format type %s may not be used with a string variable."
msgstr ""
msgid "Renaming would duplicate variable name %s."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:100
+#: src/language/dictionary/sys-file-info.c:101
msgid "File:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:102
+#: src/language/dictionary/sys-file-info.c:103
msgid "Label:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:106
+#: src/language/dictionary/sys-file-info.c:107
msgid "No label."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:109
+#: src/language/dictionary/sys-file-info.c:110
msgid "Created:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:112
+#: src/language/dictionary/sys-file-info.c:113
msgid "Endian:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:113
+#: src/language/dictionary/sys-file-info.c:114
msgid "Big."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:113
+#: src/language/dictionary/sys-file-info.c:114
msgid "Little."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:115
msgid "Variables:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:117
+#: src/language/dictionary/sys-file-info.c:118
msgid "Cases:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:120
+#: src/language/dictionary/sys-file-info.c:121
msgid "Type:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:121
+#: src/language/dictionary/sys-file-info.c:122
msgid "System File."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:123
msgid "Weight:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:126
+#: src/language/dictionary/sys-file-info.c:127
msgid "Not weighted."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:128
+#: src/language/dictionary/sys-file-info.c:129
msgid "Mode:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:131
#, c-format
msgid "Compression %s."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:131
msgid "on"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:131
msgid "off"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:140
-#: src/language/dictionary/sys-file-info.c:378
+#: src/language/dictionary/sys-file-info.c:141
+#: src/language/dictionary/sys-file-info.c:379
msgid "Description"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:141
-#: src/language/dictionary/sys-file-info.c:376
+#: src/language/dictionary/sys-file-info.c:142
+#: src/language/dictionary/sys-file-info.c:377
msgid "Position"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:199
+#: src/language/dictionary/sys-file-info.c:200
msgid "The active file does not have a file label."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:202
+#: src/language/dictionary/sys-file-info.c:203
msgid "File label:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:264
+#: src/language/dictionary/sys-file-info.c:265
msgid "No variables to display."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:283
+#: src/language/dictionary/sys-file-info.c:284
msgid "Macros not supported."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:293
+#: src/language/dictionary/sys-file-info.c:294
msgid "The active file dictionary does not contain any documents."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:302
+#: src/language/dictionary/sys-file-info.c:303
msgid "Documents in the active file:"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:380
-#: src/language/dictionary/sys-file-info.c:519 src/procedure.c:888
+#: src/language/dictionary/sys-file-info.c:381
+#: src/language/dictionary/sys-file-info.c:520 src/procedure.c:880
#: src/ui/gui/var-sheet.c:71
msgid "Label"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:452
+#: src/language/dictionary/sys-file-info.c:453
#, c-format
msgid "Format: %s"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:459
+#: src/language/dictionary/sys-file-info.c:460
#, c-format
msgid "Print Format: %s"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:462
+#: src/language/dictionary/sys-file-info.c:463
#, c-format
msgid "Write Format: %s"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:474
+#: src/language/dictionary/sys-file-info.c:475
msgid "Missing Values: "
msgstr ""
-#: src/language/dictionary/sys-file-info.c:518
-#: src/language/stats/crosstabs.q:1111 src/language/stats/crosstabs.q:1138
-#: src/language/stats/crosstabs.q:1158 src/language/stats/crosstabs.q:1180
-#: src/language/stats/examine.q:1138 src/language/stats/frequencies.q:1146
-#: src/language/stats/frequencies.q:1267 src/procedure.c:887
+#: src/language/dictionary/sys-file-info.c:519
+#: src/language/stats/crosstabs.q:1109 src/language/stats/crosstabs.q:1136
+#: src/language/stats/crosstabs.q:1156 src/language/stats/crosstabs.q:1178
+#: src/language/stats/examine.q:1141 src/language/stats/frequencies.q:1145
+#: src/language/stats/frequencies.q:1266 src/procedure.c:879
msgid "Value"
msgstr ""
-#: src/language/dictionary/sys-file-info.c:575
+#: src/language/dictionary/sys-file-info.c:576
msgid "No vectors defined."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:590
+#: src/language/dictionary/sys-file-info.c:591
msgid "Vector"
msgstr ""
-#: src/language/dictionary/value-labels.c:121
+#: src/language/dictionary/value-labels.c:118
#, c-format
msgid ""
"It is not possible to assign value labels to long string variables such as %"
"s."
msgstr ""
-#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:590
+#: src/language/dictionary/value-labels.c:154 src/language/lexer/lexer.c:590
msgid "expecting string"
msgstr ""
-#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:604
+#: src/language/dictionary/value-labels.c:163 src/language/lexer/lexer.c:604
msgid "expecting integer"
msgstr ""
-#: src/language/dictionary/value-labels.c:170
+#: src/language/dictionary/value-labels.c:167
#, c-format
msgid "Value label `%g' is not integer."
msgstr ""
-#: src/language/dictionary/value-labels.c:180
+#: src/language/dictionary/value-labels.c:177
msgid "Truncating value label to 60 characters."
msgstr ""
-#: src/language/dictionary/variable-label.c:50
+#: src/language/dictionary/variable-label.c:48
msgid "String expected for variable label."
msgstr ""
-#: src/language/dictionary/variable-label.c:56
+#: src/language/dictionary/variable-label.c:54
msgid "Truncating variable label to 255 characters."
msgstr ""
msgid "expecting number or string"
msgstr ""
-#: src/language/expressions/helpers.c:36
+#: src/language/expressions/helpers.c:37
msgid ""
"One of the arguments to a DATE function is not an integer. The result will "
"be system-missing."
msgstr ""
-#: src/language/expressions/helpers.c:58
+#: src/language/expressions/helpers.c:59
msgid ""
"The week argument to DATE.WKYR is not an integer. The result will be system-"
"missing."
msgstr ""
-#: src/language/expressions/helpers.c:64
+#: src/language/expressions/helpers.c:65
msgid ""
"The week argument to DATE.WKYR is outside the acceptable range of 1 to 53. "
"The result will be system-missing."
msgstr ""
-#: src/language/expressions/helpers.c:86
+#: src/language/expressions/helpers.c:87
msgid ""
"The day argument to DATE.YRDAY is not an integer. The result will be system-"
"missing."
msgstr ""
-#: src/language/expressions/helpers.c:92
+#: src/language/expressions/helpers.c:93
msgid ""
"The day argument to DATE.YRDAY is outside the acceptable range of 1 to 366. "
"The result will be system-missing."
msgstr ""
-#: src/language/expressions/helpers.c:114
+#: src/language/expressions/helpers.c:115
msgid ""
"The year argument to YRMODA is greater than 47516. The result will be "
"system-missing."
msgid "Unknown identifier %s."
msgstr ""
-#: src/language/expressions/parse.c:846 src/language/stats/aggregate.c:488
+#: src/language/expressions/parse.c:846 src/language/stats/aggregate.c:490
msgid "expecting `)'"
msgstr ""
msgid "%s is a PSPP extension."
msgstr ""
+#: src/language/expressions/parse.c:1222 src/ui/terminal/command-line.c:126
+#: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
+#, c-format
+msgid "%s is not yet implemented."
+msgstr ""
+
#: src/language/lexer/format-parser.c:66
msgid "X and T format specifiers not allowed here."
msgstr ""
msgid "expecting identifier"
msgstr ""
-#: src/language/lexer/lexer.c:842
+#: src/language/lexer/lexer.c:861
msgid "<ERROR>"
msgstr ""
-#: src/language/lexer/lexer.c:988
+#: src/language/lexer/lexer.c:1007
msgid "binary"
msgstr ""
-#: src/language/lexer/lexer.c:993
+#: src/language/lexer/lexer.c:1012
msgid "octal"
msgstr ""
-#: src/language/lexer/lexer.c:998
+#: src/language/lexer/lexer.c:1017
msgid "hex"
msgstr ""
-#: src/language/lexer/lexer.c:1008
+#: src/language/lexer/lexer.c:1027
#, c-format
msgid "String of %s digits has %d characters, which is not a multiple of %d."
msgstr ""
-#: src/language/lexer/lexer.c:1037
+#: src/language/lexer/lexer.c:1056
#, c-format
msgid "`%c' is not a valid %s digit."
msgstr ""
-#: src/language/lexer/lexer.c:1068
+#: src/language/lexer/lexer.c:1087
msgid "Unterminated string constant."
msgstr ""
-#: src/language/lexer/lexer.c:1122
+#: src/language/lexer/lexer.c:1141
msgid "Unexpected end of file in string concatenation."
msgstr ""
-#: src/language/lexer/lexer.c:1130
+#: src/language/lexer/lexer.c:1149
msgid "String expected following `+'."
msgstr ""
-#: src/language/lexer/lexer.c:1143
+#: src/language/lexer/lexer.c:1162
#, c-format
msgid "String exceeds 255 characters in length (%d characters)."
msgstr ""
-#: src/language/lexer/lexer.c:1158
+#: src/language/lexer/lexer.c:1177
msgid ""
"Sorry, literal strings may not contain null characters. Replacing with "
"spaces."
msgid "Bad bounds in use of TO convention."
msgstr ""
-#: src/language/line-buffer.c:246
+#: src/language/line-buffer.c:250
#, c-format
msgid "Can't find `%s' in include file search path."
msgstr ""
-#: src/language/line-buffer.c:330
+#: src/language/line-buffer.c:334
#, c-format
msgid "Closing `%s': %s."
msgstr ""
-#: src/language/line-buffer.c:441
+#: src/language/line-buffer.c:445
#, c-format
-msgid "%s: Opening as syntax file."
+msgid "opening \"%s\" as syntax file"
msgstr ""
-#: src/language/line-buffer.c:446
+#: src/language/line-buffer.c:450
#, c-format
msgid "Opening `%s': %s."
msgstr ""
-#: src/language/line-buffer.c:459
+#: src/language/line-buffer.c:463
#, c-format
msgid "Reading `%s': %s."
msgstr ""
-#: src/language/stats/aggregate.c:198
+#: src/language/stats/aggregate.c:200
msgid "while expecting COLUMNWISE"
msgstr ""
-#: src/language/stats/aggregate.c:227
+#: src/language/stats/aggregate.c:229
msgid "expecting BREAK"
msgstr ""
-#: src/language/stats/aggregate.c:232
+#: src/language/stats/aggregate.c:234
msgid ""
"When PRESORTED is specified, specifying sorting directions with (A) or (D) "
"has no effect. Output data will be sorted the same way as the input data."
msgstr ""
-#: src/language/stats/aggregate.c:401
+#: src/language/stats/aggregate.c:403
msgid "expecting aggregation function"
msgstr ""
-#: src/language/stats/aggregate.c:417
+#: src/language/stats/aggregate.c:419
#, c-format
msgid "Unknown aggregation function %s."
msgstr ""
-#: src/language/stats/aggregate.c:469
+#: src/language/stats/aggregate.c:471
#, c-format
msgid "Missing argument %d to %s."
msgstr ""
-#: src/language/stats/aggregate.c:478
+#: src/language/stats/aggregate.c:480
#, c-format
msgid "Arguments to %s must be of same type as source variables."
msgstr ""
-#: src/language/stats/aggregate.c:500
+#: src/language/stats/aggregate.c:502
#, c-format
msgid ""
"Number of source variables (%u) does not match number of target variables (%"
"u)."
msgstr ""
-#: src/language/stats/aggregate.c:516
+#: src/language/stats/aggregate.c:518
#, c-format
msgid ""
"The value arguments passed to the %s function are out-of-order. They will "
"be treated as if they had been specified in the correct order."
msgstr ""
-#: src/language/stats/aggregate.c:583
+#: src/language/stats/aggregate.c:585
#, c-format
msgid ""
"Variable name %s is not unique within the aggregate file dictionary, which "
msgid "Duplicate variable name %s among target variables."
msgstr ""
-#: src/language/stats/crosstabs.q:267
+#: src/language/stats/crosstabs.q:265
msgid ""
"Missing mode REPORT not allowed in general mode. Assuming MISSING=TABLE."
msgstr ""
-#: src/language/stats/crosstabs.q:277
+#: src/language/stats/crosstabs.q:275
msgid "Write mode ALL not allowed in general mode. Assuming WRITE=CELLS."
msgstr ""
-#: src/language/stats/crosstabs.q:333
+#: src/language/stats/crosstabs.q:331
msgid "Too many crosstabulation variables or dimensions."
msgstr ""
-#: src/language/stats/crosstabs.q:343
+#: src/language/stats/crosstabs.q:341
msgid "expecting BY"
msgstr ""
-#: src/language/stats/crosstabs.q:410
+#: src/language/stats/crosstabs.q:408
msgid "VARIABLES must be specified before TABLES."
msgstr ""
-#: src/language/stats/crosstabs.q:447
+#: src/language/stats/crosstabs.q:445
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr ""
-#: src/language/stats/crosstabs.q:812
+#: src/language/stats/crosstabs.q:810
msgid "Summary."
msgstr ""
-#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:923
+#: src/language/stats/crosstabs.q:812 src/language/stats/examine.q:926
msgid "Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:815 src/language/stats/examine.q:857
-#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1517
+#: src/language/stats/crosstabs.q:813 src/language/stats/examine.q:860
+#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1516
msgid "Valid"
msgstr ""
-#: src/language/stats/crosstabs.q:816 src/language/stats/examine.q:858
-#: src/language/stats/frequencies.q:1212 src/language/stats/frequencies.q:1518
+#: src/language/stats/crosstabs.q:814 src/language/stats/examine.q:861
+#: src/language/stats/frequencies.q:1211 src/language/stats/frequencies.q:1517
#: src/ui/gui/var-sheet.c:73
msgid "Missing"
msgstr ""
-#: src/language/stats/crosstabs.q:817 src/language/stats/crosstabs.q:1020
-#: src/language/stats/crosstabs.q:1740 src/language/stats/examine.q:859
-#: src/language/stats/frequencies.q:1221 src/language/stats/oneway.q:314
-#: src/language/stats/oneway.q:478 src/language/stats/regression.q:294
+#: src/language/stats/crosstabs.q:815 src/language/stats/crosstabs.q:1018
+#: src/language/stats/crosstabs.q:1738 src/language/stats/examine.q:862
+#: src/language/stats/frequencies.q:1220 src/language/stats/oneway.q:314
+#: src/language/stats/oneway.q:478 src/language/stats/regression.q:308
msgid "Total"
msgstr ""
-#: src/language/stats/crosstabs.q:827 src/language/stats/examine.q:935
-#: src/language/stats/frequencies.q:1516 src/language/stats/oneway.q:400
+#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:938
+#: src/language/stats/frequencies.q:1515 src/language/stats/oneway.q:400
#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1365
msgid "N"
msgstr ""
-#: src/language/stats/crosstabs.q:828 src/language/stats/examine.q:938
-#: src/language/stats/frequencies.q:1148 src/language/stats/frequencies.q:1149
-#: src/language/stats/frequencies.q:1150
+#: src/language/stats/crosstabs.q:826 src/language/stats/examine.q:941
+#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
+#: src/language/stats/frequencies.q:1149
msgid "Percent"
msgstr ""
-#: src/language/stats/crosstabs.q:1070
+#: src/language/stats/crosstabs.q:1068
msgid "count"
msgstr ""
-#: src/language/stats/crosstabs.q:1071
+#: src/language/stats/crosstabs.q:1069
msgid "row %"
msgstr ""
-#: src/language/stats/crosstabs.q:1072
+#: src/language/stats/crosstabs.q:1070
msgid "column %"
msgstr ""
-#: src/language/stats/crosstabs.q:1073
+#: src/language/stats/crosstabs.q:1071
msgid "total %"
msgstr ""
-#: src/language/stats/crosstabs.q:1074
+#: src/language/stats/crosstabs.q:1072
msgid "expected"
msgstr ""
-#: src/language/stats/crosstabs.q:1075
+#: src/language/stats/crosstabs.q:1073
msgid "residual"
msgstr ""
-#: src/language/stats/crosstabs.q:1076
+#: src/language/stats/crosstabs.q:1074
msgid "std. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1075
msgid "adj. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1107
+#: src/language/stats/crosstabs.q:1105
msgid "Chi-square tests."
msgstr ""
-#: src/language/stats/crosstabs.q:1110 src/language/stats/crosstabs.q:1137
-#: src/language/stats/crosstabs.q:1157 src/language/stats/crosstabs.q:1178
-#: src/language/stats/examine.q:1369
+#: src/language/stats/crosstabs.q:1108 src/language/stats/crosstabs.q:1135
+#: src/language/stats/crosstabs.q:1155 src/language/stats/crosstabs.q:1176
+#: src/language/stats/examine.q:1372
msgid "Statistic"
msgstr ""
-#: src/language/stats/crosstabs.q:1112 src/language/stats/oneway.q:287
-#: src/language/stats/oneway.q:690 src/language/stats/regression.q:287
+#: src/language/stats/crosstabs.q:1110 src/language/stats/oneway.q:287
+#: src/language/stats/oneway.q:690 src/language/stats/regression.q:301
#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
#: src/language/stats/t-test.q:1264
msgid "df"
msgstr ""
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1112
msgid "Asymp. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1114
msgid "Exact. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1118
+#: src/language/stats/crosstabs.q:1116
msgid "Exact. Sig. (1-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1133
+#: src/language/stats/crosstabs.q:1131
msgid "Symmetric measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1136 src/language/stats/crosstabs.q:1177
+#: src/language/stats/crosstabs.q:1134 src/language/stats/crosstabs.q:1175
msgid "Category"
msgstr ""
-#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1137 src/language/stats/crosstabs.q:1179
msgid "Asymp. Std. Error"
msgstr ""
-#: src/language/stats/crosstabs.q:1140 src/language/stats/crosstabs.q:1182
+#: src/language/stats/crosstabs.q:1138 src/language/stats/crosstabs.q:1180
msgid "Approx. T"
msgstr ""
-#: src/language/stats/crosstabs.q:1141 src/language/stats/crosstabs.q:1183
+#: src/language/stats/crosstabs.q:1139 src/language/stats/crosstabs.q:1181
msgid "Approx. Sig."
msgstr ""
-#: src/language/stats/crosstabs.q:1152
+#: src/language/stats/crosstabs.q:1150
msgid "Risk estimate."
msgstr ""
-#: src/language/stats/crosstabs.q:1156
+#: src/language/stats/crosstabs.q:1154
#, c-format
msgid "95%% Confidence Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1159 src/language/stats/t-test.q:984
+#: src/language/stats/crosstabs.q:1157 src/language/stats/t-test.q:984
#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1267
msgid "Lower"
msgstr ""
-#: src/language/stats/crosstabs.q:1160 src/language/stats/t-test.q:985
+#: src/language/stats/crosstabs.q:1158 src/language/stats/t-test.q:985
#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1268
msgid "Upper"
msgstr ""
-#: src/language/stats/crosstabs.q:1174
+#: src/language/stats/crosstabs.q:1172
msgid "Directional measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1179 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1177 src/ui/gui/var-sheet.c:68
msgid "Type"
msgstr ""
-#: src/language/stats/crosstabs.q:1935
+#: src/language/stats/crosstabs.q:1933
msgid "Pearson Chi-Square"
msgstr ""
-#: src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1934
msgid "Likelihood Ratio"
msgstr ""
-#: src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1935
msgid "Fisher's Exact Test"
msgstr ""
-#: src/language/stats/crosstabs.q:1938
+#: src/language/stats/crosstabs.q:1936
msgid "Continuity Correction"
msgstr ""
-#: src/language/stats/crosstabs.q:1939
+#: src/language/stats/crosstabs.q:1937
msgid "Linear-by-Linear Association"
msgstr ""
-#: src/language/stats/crosstabs.q:1976 src/language/stats/crosstabs.q:2046
-#: src/language/stats/crosstabs.q:2105
+#: src/language/stats/crosstabs.q:1974 src/language/stats/crosstabs.q:2044
+#: src/language/stats/crosstabs.q:2103
msgid "N of Valid Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:1992 src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:1990 src/language/stats/crosstabs.q:2119
msgid "Nominal by Nominal"
msgstr ""
-#: src/language/stats/crosstabs.q:1993 src/language/stats/crosstabs.q:2122
+#: src/language/stats/crosstabs.q:1991 src/language/stats/crosstabs.q:2120
msgid "Ordinal by Ordinal"
msgstr ""
-#: src/language/stats/crosstabs.q:1994
+#: src/language/stats/crosstabs.q:1992
msgid "Interval by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1995
+#: src/language/stats/crosstabs.q:1993
msgid "Measure of Agreement"
msgstr ""
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:1998
msgid "Phi"
msgstr ""
-#: src/language/stats/crosstabs.q:2001
+#: src/language/stats/crosstabs.q:1999
msgid "Cramer's V"
msgstr ""
-#: src/language/stats/crosstabs.q:2002
+#: src/language/stats/crosstabs.q:2000
msgid "Contingency Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2003
+#: src/language/stats/crosstabs.q:2001
msgid "Kendall's tau-b"
msgstr ""
-#: src/language/stats/crosstabs.q:2004
+#: src/language/stats/crosstabs.q:2002
msgid "Kendall's tau-c"
msgstr ""
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2003
msgid "Gamma"
msgstr ""
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2004
msgid "Spearman Correlation"
msgstr ""
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2005
msgid "Pearson's R"
msgstr ""
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2006
msgid "Kappa"
msgstr ""
-#: src/language/stats/crosstabs.q:2078
+#: src/language/stats/crosstabs.q:2076
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr ""
-#: src/language/stats/crosstabs.q:2081
+#: src/language/stats/crosstabs.q:2079
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr ""
-#: src/language/stats/crosstabs.q:2089
+#: src/language/stats/crosstabs.q:2087
#, c-format
msgid "For cohort %s = %g"
msgstr ""
-#: src/language/stats/crosstabs.q:2092
+#: src/language/stats/crosstabs.q:2090
#, c-format
msgid "For cohort %s = %.*s"
msgstr ""
-#: src/language/stats/crosstabs.q:2123
+#: src/language/stats/crosstabs.q:2121
msgid "Nominal by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2126
msgid "Lambda"
msgstr ""
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2127
msgid "Goodman and Kruskal tau"
msgstr ""
-#: src/language/stats/crosstabs.q:2130
+#: src/language/stats/crosstabs.q:2128
msgid "Uncertainty Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2131
+#: src/language/stats/crosstabs.q:2129
msgid "Somers' d"
msgstr ""
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2130
msgid "Eta"
msgstr ""
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2135
msgid "Symmetric"
msgstr ""
-#: src/language/stats/crosstabs.q:2138 src/language/stats/crosstabs.q:2139
+#: src/language/stats/crosstabs.q:2136 src/language/stats/crosstabs.q:2137
#, c-format
msgid "%s Dependent"
msgstr ""
-#: src/language/stats/descriptives.c:103 src/language/stats/examine.q:1474
-#: src/language/stats/frequencies.q:120 src/language/stats/oneway.q:401
+#: src/language/stats/descriptives.c:103 src/language/stats/examine.q:1477
+#: src/language/stats/frequencies.q:119 src/language/stats/oneway.q:401
#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1166
msgid "Mean"
msgid "S E Mean"
msgstr ""
-#: src/language/stats/descriptives.c:105 src/language/stats/frequencies.q:124
+#: src/language/stats/descriptives.c:105 src/language/stats/frequencies.q:123
msgid "Std Dev"
msgstr ""
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1554
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1557
+#: src/language/stats/frequencies.q:124
msgid "Variance"
msgstr ""
-#: src/language/stats/descriptives.c:107 src/language/stats/examine.q:1661
-#: src/language/stats/frequencies.q:126
+#: src/language/stats/descriptives.c:107 src/language/stats/examine.q:1664
+#: src/language/stats/frequencies.q:125
msgid "Kurtosis"
msgstr ""
msgid "S E Kurt"
msgstr ""
-#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1641
-#: src/language/stats/frequencies.q:128
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.q:1644
+#: src/language/stats/frequencies.q:127
msgid "Skewness"
msgstr ""
msgid "S E Skew"
msgstr ""
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1602
-#: src/language/stats/frequencies.q:130
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1605
+#: src/language/stats/frequencies.q:129
msgid "Range"
msgstr ""
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1579
-#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:413
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1582
+#: src/language/stats/frequencies.q:130 src/language/stats/oneway.q:413
msgid "Minimum"
msgstr ""
-#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1590
-#: src/language/stats/frequencies.q:132 src/language/stats/oneway.q:414
+#: src/language/stats/descriptives.c:113 src/language/stats/examine.q:1593
+#: src/language/stats/frequencies.q:131 src/language/stats/oneway.q:414
msgid "Maximum"
msgstr ""
-#: src/language/stats/descriptives.c:114 src/language/stats/frequencies.q:133
+#: src/language/stats/descriptives.c:114 src/language/stats/frequencies.q:132
msgid "Sum"
msgstr ""
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr ""
-#: src/language/stats/examine.q:478 src/language/stats/examine.q:490
+#: src/language/stats/examine.q:481 src/language/stats/examine.q:493
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr ""
-#: src/language/stats/examine.q:917
+#: src/language/stats/examine.q:920
msgid "Case Processing Summary"
msgstr ""
-#: src/language/stats/examine.q:1123
+#: src/language/stats/examine.q:1126
msgid "Extreme Values"
msgstr ""
-#: src/language/stats/examine.q:1139
+#: src/language/stats/examine.q:1142
msgid "Case Number"
msgstr ""
-#: src/language/stats/examine.q:1224
+#: src/language/stats/examine.q:1227
msgid "Highest"
msgstr ""
-#: src/language/stats/examine.q:1229
+#: src/language/stats/examine.q:1232
msgid "Lowest"
msgstr ""
-#: src/language/stats/examine.q:1370 src/language/stats/oneway.q:403
-#: src/language/stats/oneway.q:688 src/language/stats/regression.q:191
+#: src/language/stats/examine.q:1373 src/language/stats/oneway.q:403
+#: src/language/stats/oneway.q:688 src/language/stats/regression.q:205
msgid "Std. Error"
msgstr ""
-#: src/language/stats/examine.q:1372 src/language/stats/oneway.q:417
+#: src/language/stats/examine.q:1375 src/language/stats/oneway.q:417
msgid "Descriptives"
msgstr ""
-#: src/language/stats/examine.q:1492 src/language/stats/oneway.q:408
+#: src/language/stats/examine.q:1495 src/language/stats/oneway.q:408
#, c-format
msgid "%g%% Confidence Interval for Mean"
msgstr ""
-#: src/language/stats/examine.q:1498 src/language/stats/oneway.q:410
+#: src/language/stats/examine.q:1501 src/language/stats/oneway.q:410
msgid "Lower Bound"
msgstr ""
-#: src/language/stats/examine.q:1509 src/language/stats/oneway.q:411
+#: src/language/stats/examine.q:1512 src/language/stats/oneway.q:411
msgid "Upper Bound"
msgstr ""
-#: src/language/stats/examine.q:1521
+#: src/language/stats/examine.q:1524
#, c-format
msgid "5%% Trimmed Mean"
msgstr ""
-#: src/language/stats/examine.q:1532 src/language/stats/frequencies.q:122
+#: src/language/stats/examine.q:1535 src/language/stats/frequencies.q:121
msgid "Median"
msgstr ""
-#: src/language/stats/examine.q:1566 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1569 src/language/stats/oneway.q:402
#: src/language/stats/t-test.q:684 src/language/stats/t-test.q:707
#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1167
msgid "Std. Deviation"
msgstr ""
-#: src/language/stats/examine.q:1614
+#: src/language/stats/examine.q:1617
msgid "Interquartile Range"
msgstr ""
-#: src/language/stats/examine.q:1766
+#: src/language/stats/examine.q:1769
#, c-format
msgid "Boxplot of %s vs. %s"
msgstr ""
-#: src/language/stats/examine.q:1791
+#: src/language/stats/examine.q:1794
msgid "Boxplot"
msgstr ""
-#: src/language/stats/examine.q:1833
+#: src/language/stats/examine.q:1836
#, c-format
msgid "Normal Q-Q Plot of %s"
msgstr ""
-#: src/language/stats/examine.q:1834 src/language/stats/examine.q:1840
+#: src/language/stats/examine.q:1837 src/language/stats/examine.q:1843
msgid "Observed Value"
msgstr ""
-#: src/language/stats/examine.q:1835
+#: src/language/stats/examine.q:1838
msgid "Expected Normal"
msgstr ""
-#: src/language/stats/examine.q:1838
+#: src/language/stats/examine.q:1841
#, c-format
msgid "Detrended Normal Q-Q Plot of %s"
msgstr ""
-#: src/language/stats/examine.q:1841
+#: src/language/stats/examine.q:1844
msgid "Dev from Normal"
msgstr ""
-#: src/language/stats/examine.q:1960 src/language/stats/examine.q:1982
-#: src/language/stats/frequencies.q:1528
+#: src/language/stats/examine.q:1963 src/language/stats/examine.q:1985
+#: src/language/stats/frequencies.q:1527
msgid "Percentiles"
msgstr ""
-#: src/language/stats/examine.q:2107
+#: src/language/stats/examine.q:2110
msgid "Tukey's Hinges"
msgstr ""
msgid "Could not create temporary file for FLIP."
msgstr ""
-#: src/language/stats/flip.c:301 src/language/stats/flip.c:371
+#: src/language/stats/flip.c:301 src/language/stats/flip.c:367
#, c-format
msgid "Error writing FLIP file: %s."
msgstr ""
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:414
#, c-format
msgid "Error rewinding FLIP file: %s."
msgstr ""
-#: src/language/stats/flip.c:425
+#: src/language/stats/flip.c:421
msgid "Error creating FLIP source file."
msgstr ""
-#: src/language/stats/flip.c:437
+#: src/language/stats/flip.c:433
#, c-format
msgid "Error reading FLIP file: %s."
msgstr ""
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:457
#, c-format
msgid "Error seeking FLIP source file: %s."
msgstr ""
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:465
#, c-format
msgid "Error writing FLIP source file: %s."
msgstr ""
-#: src/language/stats/flip.c:484
+#: src/language/stats/flip.c:480
#, c-format
msgid "Error rewinding FLIP source file: %s."
msgstr ""
-#: src/language/stats/flip.c:532
+#: src/language/stats/flip.c:528
#, c-format
msgid "Error reading FLIP temporary file: %s."
msgstr ""
-#: src/language/stats/flip.c:535
+#: src/language/stats/flip.c:531
msgid "Unexpected end of file reading FLIP temporary file."
msgstr ""
-#: src/language/stats/frequencies.q:121
+#: src/language/stats/frequencies.q:120
msgid "S.E. Mean"
msgstr ""
-#: src/language/stats/frequencies.q:123
+#: src/language/stats/frequencies.q:122
msgid "Mode"
msgstr ""
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/frequencies.q:126
msgid "S.E. Kurt"
msgstr ""
-#: src/language/stats/frequencies.q:129
+#: src/language/stats/frequencies.q:128
msgid "S.E. Skew"
msgstr ""
-#: src/language/stats/frequencies.q:405
+#: src/language/stats/frequencies.q:404
msgid ""
"At most one of BARCHART, HISTOGRAM, or HBAR should be given. HBAR will be "
"assumed. Argument values will be given precedence increasing along the "
"order given."
msgstr ""
-#: src/language/stats/frequencies.q:488
+#: src/language/stats/frequencies.q:487
#, c-format
msgid ""
"MAX must be greater than or equal to MIN, if both are specified. However, "
"MIN was specified as %g and MAX as %g. MIN and MAX will be ignored."
msgstr ""
-#: src/language/stats/frequencies.q:811
+#: src/language/stats/frequencies.q:810
msgid ""
"Upper limit of integer mode value range must be greater than lower limit."
msgstr ""
-#: src/language/stats/frequencies.q:824
+#: src/language/stats/frequencies.q:823
#, c-format
msgid "Variable %s specified multiple times on VARIABLES subcommand."
msgstr ""
-#: src/language/stats/frequencies.q:830
+#: src/language/stats/frequencies.q:829
#, c-format
msgid "Integer mode specified, but %s is not a numeric variable."
msgstr ""
-#: src/language/stats/frequencies.q:896
+#: src/language/stats/frequencies.q:895
msgid "`)' expected after GROUPED interval list."
msgstr ""
-#: src/language/stats/frequencies.q:908
+#: src/language/stats/frequencies.q:907
#, c-format
msgid "Variables %s specified on GROUPED but not on VARIABLES."
msgstr ""
-#: src/language/stats/frequencies.q:915
+#: src/language/stats/frequencies.q:914
#, c-format
msgid "Variables %s specified multiple times on GROUPED subcommand."
msgstr ""
-#: src/language/stats/frequencies.q:1145 src/language/stats/frequencies.q:1237
-#: src/language/stats/frequencies.q:1238 src/language/stats/frequencies.q:1270
+#: src/language/stats/frequencies.q:1144 src/language/stats/frequencies.q:1236
+#: src/language/stats/frequencies.q:1237 src/language/stats/frequencies.q:1269
msgid "Cum"
msgstr ""
-#: src/language/stats/frequencies.q:1147 src/output/charts/plot-hist.c:129
+#: src/language/stats/frequencies.q:1146 src/output/charts/plot-hist.c:129
msgid "Frequency"
msgstr ""
-#: src/language/stats/frequencies.q:1167
+#: src/language/stats/frequencies.q:1166
msgid "Value Label"
msgstr ""
-#: src/language/stats/frequencies.q:1268
+#: src/language/stats/frequencies.q:1267
msgid "Freq"
msgstr ""
-#: src/language/stats/frequencies.q:1269 src/language/stats/frequencies.q:1271
+#: src/language/stats/frequencies.q:1268 src/language/stats/frequencies.q:1270
msgid "Pct"
msgstr ""
-#: src/language/stats/frequencies.q:1490
+#: src/language/stats/frequencies.q:1489
#, c-format
msgid "No valid data for variable %s; statistics not displayed."
msgstr ""
-#: src/language/stats/means.q:104
+#: src/language/stats/means.q:102
msgid "Missing required subcommand TABLES."
msgstr ""
-#: src/language/stats/means.q:138
+#: src/language/stats/means.q:136
msgid "TABLES subcommand may not appear more than once."
msgstr ""
msgid "`%s' is not a variable name"
msgstr ""
-#: src/language/stats/oneway.q:286 src/language/stats/regression.q:286
+#: src/language/stats/oneway.q:286 src/language/stats/regression.q:300
msgid "Sum of Squares"
msgstr ""
-#: src/language/stats/oneway.q:288 src/language/stats/regression.q:288
+#: src/language/stats/oneway.q:288 src/language/stats/regression.q:302
msgid "Mean Square"
msgstr ""
-#: src/language/stats/oneway.q:289 src/language/stats/regression.q:289
+#: src/language/stats/oneway.q:289 src/language/stats/regression.q:303
#: src/language/stats/t-test.q:977
msgid "F"
msgstr ""
#: src/language/stats/oneway.q:290 src/language/stats/oneway.q:544
-#: src/language/stats/regression.q:194 src/language/stats/regression.q:290
+#: src/language/stats/regression.q:208 src/language/stats/regression.q:304
msgid "Significance"
msgstr ""
msgid "Within Groups"
msgstr ""
-#: src/language/stats/oneway.q:360 src/language/stats/regression.q:316
+#: src/language/stats/oneway.q:360 src/language/stats/regression.q:330
msgid "ANOVA"
msgstr ""
msgid "Value of Contrast"
msgstr ""
-#: src/language/stats/oneway.q:689 src/language/stats/regression.q:193
+#: src/language/stats/oneway.q:689 src/language/stats/regression.q:207
#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
#: src/language/stats/t-test.q:1263
msgid "t"
msgid "Does not assume equal"
msgstr ""
-#: src/language/stats/rank.q:244
+#: src/language/stats/rank.q:245
#, c-format
msgid "Variable %s already exists."
msgstr ""
-#: src/language/stats/rank.q:249
+#: src/language/stats/rank.q:250
msgid "Too many variables in INTO clause."
msgstr ""
-#: src/language/stats/regression.q:145
+#: src/language/stats/regression.q:159
msgid "R"
msgstr ""
-#: src/language/stats/regression.q:146
+#: src/language/stats/regression.q:160
msgid "R Square"
msgstr ""
-#: src/language/stats/regression.q:147
+#: src/language/stats/regression.q:161
msgid "Adjusted R Square"
msgstr ""
-#: src/language/stats/regression.q:148
+#: src/language/stats/regression.q:162
msgid "Std. Error of the Estimate"
msgstr ""
-#: src/language/stats/regression.q:153
+#: src/language/stats/regression.q:167
msgid "Model Summary"
msgstr ""
-#: src/language/stats/regression.q:190
+#: src/language/stats/regression.q:204
msgid "B"
msgstr ""
-#: src/language/stats/regression.q:192
+#: src/language/stats/regression.q:206
msgid "Beta"
msgstr ""
-#: src/language/stats/regression.q:195
+#: src/language/stats/regression.q:209
msgid "(Constant)"
msgstr ""
-#: src/language/stats/regression.q:255
+#: src/language/stats/regression.q:269
msgid "Coefficients"
msgstr ""
-#: src/language/stats/regression.q:292
+#: src/language/stats/regression.q:306
msgid "Regression"
msgstr ""
-#: src/language/stats/regression.q:293
+#: src/language/stats/regression.q:307
msgid "Residual"
msgstr ""
-#: src/language/stats/regression.q:371
+#: src/language/stats/regression.q:385
msgid "Model"
msgstr ""
-#: src/language/stats/regression.q:372
+#: src/language/stats/regression.q:386
msgid "Covariances"
msgstr ""
-#: src/language/stats/regression.q:387
+#: src/language/stats/regression.q:401
msgid "Coefficient Correlations"
msgstr ""
-#: src/language/stats/regression.q:885
+#: src/language/stats/regression.q:1157
msgid "Dependent variable must be numeric."
msgstr ""
msgstr ""
#: src/language/utilities/include.c:43
-msgid "expecting filename"
+msgid "expecting file name"
msgstr ""
#: src/language/utilities/permissions.c:77
msgid "WIDTH is %d."
msgstr ""
-#: src/language/utilities/title.c:59
-#, c-format
-msgid "%s before: %s\n"
-msgstr ""
-
-#: src/language/utilities/title.c:59
-msgid "<none>"
-msgstr ""
-
-#: src/language/utilities/title.c:71
+#: src/language/utilities/title.c:68
#, c-format
msgid "%s: `.' expected after string."
msgstr ""
-#: src/language/utilities/title.c:87
-#, c-format
-msgid "%s after: %s\n"
-msgstr ""
-
-#: src/language/utilities/title.c:142
+#: src/language/utilities/title.c:138
#, c-format
msgid "Document entered %s by %s:"
msgstr ""
msgid "Type mismatch. Cannot store %s data in %s variable %s."
msgstr ""
-#: src/language/xforms/sample.c:77
+#: src/language/xforms/sample.c:75
msgid "The sampling factor must be between 0 and 1 exclusive."
msgstr ""
-#: src/language/xforms/sample.c:97
+#: src/language/xforms/sample.c:95
#, c-format
msgid "Cannot sample %d observations from a population of %d."
msgstr ""
msgid "Empirical with averaging"
msgstr ""
-#: src/math/sort.c:431
+#: src/math/sort.c:430
#, 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.)"
msgstr ""
-#: src/message.c:89
-msgid "Terminating execution of syntax file due to error."
-msgstr ""
-
-#: src/message.c:91
-#, c-format
-msgid "Errors (%d) exceeds limit (%d)."
-msgstr ""
-
-#: src/message.c:94
-#, c-format
-msgid "Warnings (%d) exceed limit (%d)."
-msgstr ""
-
-#: src/message.c:143 src/message.c:150 src/message.c:153
-msgid "error"
-msgstr ""
-
-#: src/message.c:144 src/message.c:151 src/message.c:154
-msgid "warning"
-msgstr ""
-
-#: src/message.c:145 src/message.c:155
-msgid "note"
-msgstr ""
-
-#: src/message.c:147 src/message.c:148
-msgid "installation error"
-msgstr ""
-
#: src/output/afm.c:150
#, c-format
msgid "opening font metrics file \"%s\""
msgid "unexpected end of line expecting string"
msgstr ""
-#: src/output/ascii.c:161
+#: src/output/ascii.c:160
#, c-format
msgid "ascii: opening output file \"%s\""
msgstr ""
-#: src/output/ascii.c:172
+#: src/output/ascii.c:171
#, c-format
msgid ""
"ascii: page excluding margins and headers must be at least 59 characters "
"wide by 15 lines long, but as configured is only %d characters by %d lines"
msgstr ""
-#: src/output/ascii.c:233
+#: src/output/ascii.c:232
#, c-format
msgid "ascii: closing output file \"%s\""
msgstr ""
-#: src/output/ascii.c:285
+#: src/output/ascii.c:284
#, c-format
msgid ""
"ascii: bad index value for `box' key: syntax is box[INDEX], 0 <= INDEX < %d "
"decimal, with INDEX expressed in base 4"
msgstr ""
-#: src/output/ascii.c:292
+#: src/output/ascii.c:291
#, c-format
msgid "ascii: multiple values for %s"
msgstr ""
-#: src/output/ascii.c:300
+#: src/output/ascii.c:299
#, c-format
msgid "ascii: unknown parameter `%s'"
msgstr ""
-#: src/output/ascii.c:314
+#: src/output/ascii.c:313
#, c-format
msgid "ascii: positive integer required as `%s' value"
msgstr ""
-#: src/output/ascii.c:340
+#: src/output/ascii.c:339
msgid "ascii: `emphasis' value must be `bold', `underline', or `none'"
msgstr ""
-#: src/output/ascii.c:353
+#: src/output/ascii.c:352
#, c-format
msgid "ascii: zero or positive integer required as `%s' value"
msgstr ""
-#: src/output/ascii.c:384
+#: src/output/ascii.c:383
#, c-format
msgid "ascii: boolean value expected for `%s'"
msgstr ""
-#: src/output/ascii.c:473
+#: src/output/ascii.c:472
#, c-format
msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
msgstr ""
-#: src/output/ascii.c:683 src/output/postscript.c:832
+#: src/output/ascii.c:682 src/output/postscript.c:831
#, c-format
msgid "%s - Page %d"
msgstr ""
-#: src/output/ascii.c:727
+#: src/output/ascii.c:726
msgid "ascii: charts are unsupported by this driver"
msgstr ""
msgid "HISTOGRAM"
msgstr ""
-#: src/output/html.c:68
+#: src/output/html.c:66
#, c-format
msgid "opening HTML output file: %s"
msgstr ""
-#: src/output/html.c:79
+#: src/output/html.c:77
msgid "PSPP Output"
msgstr ""
-#: src/output/html.c:165
+#: src/output/html.c:163
#, c-format
msgid "unknown configuration parameter `%s' for HTML device driver"
msgstr ""
-#: src/output/output.c:166
+#: src/output/output.c:165
#, c-format
-msgid "Unknown output driver `%s'."
+msgid "unknown output driver `%s'"
msgstr ""
-#: src/output/output.c:168
+#: src/output/output.c:167
#, c-format
-msgid "Output driver `%s' referenced but never defined."
+msgid "output driver `%s' referenced but never defined"
msgstr ""
#: src/output/output.c:261
-msgid "Using default output driver configuration."
+msgid "using default output driver configuration"
msgstr ""
-#: src/output/output.c:296
-msgid ""
-"Cannot find output initialization file. Use `-vvvvv' to view search path."
+#: src/output/output.c:293
+msgid "cannot find output initialization file (use `-vv' to view search path)"
msgstr ""
-#: src/output/output.c:304 src/output/output.c:1067
+#: src/output/output.c:301
#, c-format
-msgid "Opening %s: %s."
+msgid "cannot open \"%s\""
msgstr ""
-#: src/output/output.c:315 src/output/output.c:1078
+#: src/output/output.c:313
#, c-format
-msgid "Reading %s: %s."
+msgid "reading \"%s\""
msgstr ""
-#: src/output/output.c:337 src/output/output.c:503
-msgid "Syntax error."
+#: src/output/output.c:335
+msgid "syntax error"
msgstr ""
-#: src/output/output.c:347
+#: src/output/output.c:344
#, c-format
-msgid "Closing %s: %s."
+msgid "error closing \"%s\""
msgstr ""
-#: src/output/output.c:355
-msgid "No output drivers are active."
+#: src/output/output.c:352
+msgid "no active output drivers"
msgstr ""
-#: src/output/output.c:358
-msgid "Error reading device definition file."
+#: src/output/output.c:355
+msgid "error reading device definition file"
msgstr ""
-#: src/output/output.c:475
+#: src/output/output.c:472
#, c-format
msgid ""
"Driver classes:\n"
"\t"
msgstr ""
-#: src/output/output.c:604
-msgid "Syntax error in string constant."
+#: src/output/output.c:504
+#, c-format
+msgid "syntax error parsing options for \"%s\" driver"
msgstr ""
-#: src/output/output.c:639
-msgid "Syntax error in options."
+#: src/output/output.c:521
+#, c-format
+msgid ""
+"reached end of options inside quoted string parsing options for \"%s\" driver"
msgstr ""
-#: src/output/output.c:649
-msgid "Syntax error in options (`=' expected)."
+#: src/output/output.c:594
+#, c-format
+msgid "syntax error in string constant parsing options for \"%s\" driver"
msgstr ""
-#: src/output/output.c:656
-msgid "Syntax error in options (value expected after `=')."
+#: src/output/output.c:639
+#, c-format
+msgid "syntax error expecting `=' parsing options for driver \"%s\""
msgstr ""
-#: src/output/output.c:698
+#: src/output/output.c:692
#, c-format
-msgid "Unknown output driver class `%s'."
+msgid "unknown output driver class `%s'"
msgstr ""
-#: src/output/output.c:719
+#: src/output/output.c:714
#, c-format
-msgid "Unknown device type `%s'."
+msgid "unknown device type `%s'"
msgstr ""
-#: src/output/output.c:738
+#: src/output/output.c:733
#, c-format
-msgid "Can't initialize output driver `%s' of class `%s'."
+msgid "cannot initialize output driver `%s' of class `%s'"
msgstr ""
-#: src/output/output.c:783
-msgid "Driver definition line missing driver name or class name"
+#: src/output/output.c:779
+msgid "driver definition line missing driver name or class name"
msgstr ""
-#: src/output/output.c:929
+#: src/output/output.c:926
#, c-format
-msgid "Unit \"%s\" is unknown in dimension \"%s\"."
+msgid "unit \"%s\" is unknown in dimension \"%s\""
msgstr ""
-#: src/output/output.c:944
+#: src/output/output.c:941
#, c-format
-msgid "Bad dimension \"%s\"."
+msgid "bad dimension \"%s\""
msgstr ""
-#: src/output/output.c:970
+#: src/output/output.c:967
#, c-format
-msgid "`x' expected in paper size `%s'."
+msgid "`x' expected in paper size `%s'"
msgstr ""
-#: src/output/output.c:980
+#: src/output/output.c:977
#, c-format
-msgid "Trailing garbage `%s' on paper size `%s'."
+msgid "trailing garbage `%s' on paper size `%s'"
msgstr ""
-#: src/output/output.c:1029
-msgid "Paper size name must not be empty."
+#: src/output/output.c:1021
+msgid "paper size name cannot be empty"
msgstr ""
-#: src/output/output.c:1060
-msgid "Cannot find `papersize' configuration file."
+#: src/output/output.c:1039
+msgid "cannot find `papersize' configuration file"
msgstr ""
-#: src/output/output.c:1105
-msgid "Syntax error in paper size definition."
+#: src/output/output.c:1046
+#, c-format
+msgid "error opening \"%s\""
msgstr ""
-#: src/output/output.c:1134
-msgid "Error reading paper size definition file."
+#: src/output/output.c:1057
+#, c-format
+msgid "error reading \"%s\""
msgstr ""
-#: src/output/postscript.c:164
+#: src/output/output.c:1085
+msgid "syntax error in paper size definition"
+msgstr ""
+
+#: src/output/output.c:1097
+msgid "error reading paper size definition file"
+msgstr ""
+
+#: src/output/postscript.c:163
#, c-format
msgid "opening PostScript output file \"%s\""
msgstr ""
-#: src/output/postscript.c:202
+#: src/output/postscript.c:201
#, c-format
msgid ""
"The defined PostScript page is not long enough to hold margins and headers, "
"lines of each font at the default size of %d.%03d points."
msgstr ""
-#: src/output/postscript.c:250
+#: src/output/postscript.c:249
#, c-format
msgid "closing PostScript output file \"%s\""
msgstr ""
-#: src/output/postscript.c:310
+#: src/output/postscript.c:309
#, c-format
msgid "unknown configuration parameter `%s' for PostScript device driver"
msgstr ""
-#: src/output/postscript.c:326
+#: src/output/postscript.c:325
#, c-format
msgid ""
"unknown orientation `%s' (valid orientations are `portrait' and `landscape')"
msgstr ""
-#: src/output/postscript.c:338
+#: src/output/postscript.c:337
#, c-format
msgid "boolean value expected for %s"
msgstr ""
-#: src/output/postscript.c:351
+#: src/output/postscript.c:350
#, c-format
msgid "positive integer value required for `%s'"
msgstr ""
-#: src/output/postscript.c:356
+#: src/output/postscript.c:355
#, c-format
msgid "default font size must be at least 1 point (value of 1000 for key `%s')"
msgstr ""
-#: src/output/postscript.c:388
+#: src/output/postscript.c:387
#, c-format
msgid "value for `%s' must be a dimension of positive length (i.e., `1in')"
msgstr ""
-#: src/output/postscript.c:1182
+#: src/output/postscript.c:1181
#, c-format
msgid "\"%s\": bad font specification"
msgstr ""
-#: src/output/postscript.c:1190
+#: src/output/postscript.c:1189
#, c-format
msgid "could not find AFM file \"%s\""
msgstr ""
-#: src/output/postscript.c:1204
+#: src/output/postscript.c:1203
#, c-format
msgid "could not find font \"%s\""
msgstr ""
-#: src/output/postscript.c:1213
+#: src/output/postscript.c:1212
#, c-format
msgid "could not find encoding \"%s\""
msgstr ""
-#: src/output/postscript.c:1313
+#: src/output/postscript.c:1312
#, c-format
msgid "cannot open font file \"%s\""
msgstr ""
-#: src/output/postscript.c:1354
+#: src/output/postscript.c:1353
#, c-format
msgid "reading font file \"%s\""
msgstr ""
-#: src/output/postscript.c:1376
+#: src/output/postscript.c:1375
#, c-format
msgid "cannot open font encoding file \"%s\""
msgstr ""
-#: src/output/postscript.c:1405
+#: src/output/postscript.c:1404
msgid "invalid numeric format"
msgstr ""
-#: src/output/table.c:239
+#: src/output/table.c:236
#, c-format
msgid "bad vline: x=%d+%d=%d y=(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
msgstr ""
-#: src/output/table.c:310
+#: src/output/table.c:307
#, c-format
msgid ""
"bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
msgid "Font Selection"
msgstr ""
-#: src/ui/gui/message-dialog.c:78
+#: src/ui/gui/message-dialog.c:75
msgid "Script Error"
msgstr ""
-#: src/ui/gui/message-dialog.c:83
-msgid "Installation Error"
-msgstr ""
-
-#: src/ui/gui/message-dialog.c:88
+#: src/ui/gui/message-dialog.c:79
msgid "Data File Error"
msgstr ""
-#: src/ui/gui/message-dialog.c:95
+#: src/ui/gui/message-dialog.c:84
msgid "PSPP Error"
msgstr ""
-#: src/ui/gui/message-dialog.c:155
-msgid "Terminating NOW due to fatal error"
-msgstr ""
-
#: src/ui/gui/missing-val-dialog.c:113 src/ui/gui/missing-val-dialog.c:158
msgid "Incorrect value for variable type"
msgstr ""
msgid "Scale"
msgstr ""
-#: src/ui/terminal/command-line.c:213
+#: src/ui/terminal/command-line.c:214
#, c-format
msgid ""
"PSPP, a program for statistical analysis of sample data.\n"
"\n"
msgstr ""
-#: src/ui/terminal/command-line.c:247
+#: src/ui/terminal/command-line.c:248
#, c-format
msgid ""
"\n"
"Report bugs to <%s>.\n"
msgstr ""
-#: src/ui/terminal/main.c:154
-msgid "This command not executed. Stopping here to avoid cascading failures."
-msgstr ""
-
-#: src/ui/terminal/main.c:164
-msgid "This command not executed."
-msgstr ""
-
-#: src/ui/terminal/main.c:168
-msgid ""
-"Skipping the rest of this command. Part of this command may have been "
-"executed."
-msgstr ""
-
-#: src/ui/terminal/main.c:173
+#: src/ui/terminal/main.c:111
msgid ""
-"Skipping the rest of this command. This command was fully executed up to "
-"this point."
-msgstr ""
-
-#: src/ui/terminal/main.c:178
-msgid ""
-"Trailing garbage was encountered following this command. The command was "
-"fully executed to this point."
-msgstr ""
-
-#: src/ui/terminal/main.c:194
-msgid "The rest of this command has been discarded."
+"Stopping syntax file processing here to avoid a cascade of dependent command "
+"failures."
msgstr ""
+Wed Apr 26 12:58:46 2006 Ben Pfaff <blp@gnu.org>
+
+ Improve the way we handle the various parsing "states". Until now
+ we've hard-coded the state transitions in the command definition
+ file, but that's error-prone and, worse, it's redundant--we can
+ figure out what state we're in anyhow. We can cleanly handle
+ INPUT PROGRAM and FILE TYPE with a nested command-processing loop.
+
+ * procedure.c (case_source_is_complex): Removed.
+ (discard_variables) No need to set pgm_state anymore.
+
Tue Apr 25 11:06:49 2006 Ben Pfaff <blp@gnu.org>
Finish reforming error message support. In this phase, move
+Wed Apr 26 13:06:42 2006 Ben Pfaff <blp@gnu.org>
+
+ Work on readline completion.
+
+ * command.c: (pspp_completion_function) Removed.
+ (pspp_attempted_completion_function) New function.
+ (command_generator) New function.
+
+Wed Apr 26 13:04:48 2006 Ben Pfaff <blp@gnu.org>
+
+ Improve the way we handle the various parsing "states". Until now
+ we've hard-coded the state transitions in the command definition
+ file, but that's error-prone and, worse, it's redundant--we can
+ figure out what state we're in anyhow. We can cleanly handle
+ INPUT PROGRAM and FILE TYPE with a nested command-processing loop.
+
+ * command.c: (cmd_result_is_success) New function.
+ (cmd_result_is_failure) New function.
+ (enum states) New enum.
+ (enum flags) New enum.
+ (struct command) Add states, flags members. Remove transition,
+ skip_entire_name, debug members. Renamed func member as function.
+ (macro DEFCMD) Removed.
+ (macro DBGCMD) Removed.
+ (macro SPCCMD) Removed.
+ (macro UNIMPL) Removed.
+ (macro DEF_CMD) New.
+ (macro UNIMPL_CMD) New.
+ (macro COMMAND_CNT) Changed to static const var, renamed
+ command_cnt. Updated all references.
+ (FILE_TYPE_okay) Removed.
+ (cmd_parse) Rewrote in terms of do_parse_command().
+ (do_parse_command) New function.
+ (find_command) New function.
+ (unknown_command_error) Use struct string to simplify code.
+ (parse_command_name) Recognize comment command names. Handle
+ flags. Don't reject testing-mode-only commands here--let higher
+ level do it.
+ (verify_valid_command) New function.
+ (cmd_comment) New function.
+
+ * command.def: Completely rewritten and now sensibly organized.
+
+ * command.h: (enum STATE_*) Renamed CMD_STATE_*.
+ (CMD_*) Now "enum cmd_result". Added CMD_QUIT. New
+ CMD_END_SUBLOOP. Removed CMD_TRAILING_GARBAGE, CMD_PART_SUCCESS,
+ CMD_PART_SUCCESS_MAYBE and replaced all references by CMD_FAILURE.
+ Added CMD_NOT_IMPLEMENTED.
+ (macro DEFCMD) Removed.
+ (macro DBGCMD) Removed.
+ (macro SPCCMD) Removed.
+ (macro UNIMPL) Removed.
+ (macro DEF_CMD) New.
+ (macro UNIMPL_CMD) New.
+
Mon Apr 3 11:03:36 2006 Ben Pfaff <blp@gnu.org>
* list.q: (write_all_headers) Adapt to new html and output
02110-1301, USA. */
#include <config.h>
-#include <libpspp/message.h>
+
#include <language/command.h>
+
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <errno.h>
#include <unistd.h>
+
+#include <data/dictionary.h>
+#include <data/settings.h>
+#include <data/variable.h>
+#include <language/lexer/lexer.h>
#include <libpspp/alloc.h>
#include <libpspp/compiler.h>
-#include <data/dictionary.h>
#include <libpspp/message.h>
-#include <language/lexer/lexer.h>
-#include <data/settings.h>
-#include <output/manager.h>
+#include <libpspp/message.h>
#include <libpspp/str.h>
+#include <output/manager.h>
#include <output/table.h>
-#include <data/variable.h>
#include <procedure.h>
#if HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
+#if HAVE_READLINE
+#include <readline/readline.h>
+#endif
+
#include "gettext.h"
#define _(msgid) gettext (msgid)
#define N_(msgid) msgid
\f
-/* Global variables. */
+/* Returns true if RESULT indicates success,
+ false otherwise. */
+bool
+cmd_result_is_success (enum cmd_result result)
+{
+ return (result == CMD_SUCCESS || result == CMD_EOF
+ || result == CMD_QUIT || result == CMD_END_SUBLOOP);
+}
-/* A STATE_* constant giving the current program state. */
-int pgm_state;
+/* Returns true if RESULT indicates failure,
+ false otherwise. */
+bool
+cmd_result_is_failure (enum cmd_result result)
+{
+ return !cmd_result_is_success (result);
+}
\f
-/* Static variables. */
+/* Command processing states. */
+enum states
+ {
+ S_INITIAL = 0x01, /* Allowed before active file defined. */
+ S_DATA = 0x02, /* Allowed after active file defined. */
+ S_INPUT_PROGRAM = 0x04, /* Allowed in INPUT PROGRAM. */
+ S_FILE_TYPE = 0x08, /* Allowed in FILE TYPE. */
+ S_ANY = 0x0f /* Allowed anywhere. */
+ };
+
+/* Other command requirements. */
+enum flags
+ {
+ F_ENHANCED = 0x10, /* Allowed only in enhanced syntax mode. */
+ F_TESTING = 0x20, /* Allowed only in testing mode. */
+ F_KEEP_FINAL_TOKEN = 0x40 /* Don't skip final token in command name. */
+ };
/* A single command. */
struct command
{
+ enum states states; /* States in which command is allowed. */
+ enum flags flags; /* Other command requirements. */
const char *name; /* Command name. */
- int transition[4]; /* Transitions to make from each state. */
- int (*func) (void); /* Function to call. */
- int skip_entire_name; /* If zero, we don't skip the
- final token in the command name. */
- short debug; /* Set if this cmd available only in test mode*/
+ int (*function) (void); /* Function to call. */
};
/* Define the command array. */
-#define DEFCMD(NAME, T1, T2, T3, T4, FUNC) \
- {NAME, {T1, T2, T3, T4}, FUNC, 1, 0},
-#define DBGCMD(NAME, T1, T2, T3, T4, FUNC) \
- {NAME, {T1, T2, T3, T4}, FUNC, 1, 1},
-#define SPCCMD(NAME, T1, T2, T3, T4, FUNC) \
- {NAME, {T1, T2, T3, T4}, FUNC, 0, 0},
-#define UNIMPL(NAME, T1, T2, T3, T4, DESC) \
- {NAME, {T1, T2, T3, T4}, NULL, 1, 0},
+#define DEF_CMD(STATES, FLAGS, NAME, FUNCTION) {STATES, FLAGS, NAME, FUNCTION},
+#define UNIMPL_CMD(NAME, DESCRIPTION) {S_ANY, 0, NAME, NULL},
static const struct command commands[] =
{
#include "command.def"
};
-#undef DEFCMD
-#undef DBGCMD
-#undef UNIMPL
+#undef DEF_CMD
+#undef UNIMPL_CMD
+static const size_t command_cnt = sizeof commands / sizeof *commands;
-/* Complete the line using the name of a command,
- * based upon the current prg_state
- */
-char *
-pspp_completion_function (const char *text, int state)
-{
- static int skip=0;
- const struct command *cmd = 0;
-
- for(;;)
- {
- if ( state + skip >= sizeof(commands)/ sizeof(struct command))
- {
- skip = 0;
- return 0;
- }
-
- cmd = &commands[state + skip];
-
- if ( cmd->transition[pgm_state] == STATE_ERROR || ( cmd->debug && ! get_testing_mode () ) )
- {
- skip++;
- continue;
- }
-
- if ( text == 0 || 0 == strncasecmp (cmd->name, text, strlen(text)))
- {
- break;
- }
-
- skip++;
- }
-
-
- return xstrdup(cmd->name);
-}
-
-
-
-#define COMMAND_CNT (sizeof commands / sizeof *commands)
+static bool verify_valid_command (const struct command *, enum cmd_state);
+static const struct command *find_command (const char *name);
\f
/* Command parser. */
static const struct command *parse_command_name (void);
+static enum cmd_result do_parse_command (enum cmd_state);
-/* Determines whether command C is appropriate to call in this
- part of a FILE TYPE structure. */
-static int
-FILE_TYPE_okay (const struct command *c UNUSED)
-#if 0
+/* Parses an entire command, from command name to terminating
+ dot. On failure, skips to the terminating dot.
+ Returns the command's success or failure result. */
+enum cmd_result
+cmd_parse (enum cmd_state state)
{
- int okay = 0;
+ int result;
- if (c->func != cmd_record_type
- && c->func != cmd_data_list
- && c->func != cmd_repeating_data
- && c->func != cmd_end_file_type)
- msg (SE, _("%s not allowed inside FILE TYPE/END FILE TYPE."), c->name);
- /* FIXME */
- else if (c->func == cmd_repeating_data && fty.type == FTY_GROUPED)
- msg (SE, _("%s not allowed inside FILE TYPE GROUPED/END FILE TYPE."),
- c->name);
- else if (!fty.had_rec_type && c->func != cmd_record_type)
- msg (SE, _("RECORD TYPE must be the first command inside a "
- "FILE TYPE structure."));
- else
- okay = 1;
+ som_new_series ();
- if (c->func == cmd_record_type)
- fty.had_rec_type = 1;
+ result = do_parse_command (state);
+ if (cmd_result_is_failure (result))
+ lex_discard_rest_of_command ();
- return okay;
-}
-#else
-{
- return 1;
+ unset_cmd_algorithm ();
+ dict_clear_aux (default_dict);
+
+ return result;
}
-#endif
-/* Parses an entire PSPP command. This includes everything from the
- command name to the terminating dot. Does most of its work by
- passing it off to the respective command dispatchers. Only called
- by parse() in main.c. */
-int
-cmd_parse (void)
+/* Parses an entire command, from command name to terminating
+ dot. */
+static enum cmd_result
+do_parse_command (enum cmd_state state)
{
- const struct command *cp; /* Iterator used to find the proper command. */
-
-#if C_ALLOCA
- /* The generic alloca package performs garbage collection when it is
- called with an argument of zero. */
- alloca (0);
-#endif /* C_ALLOCA */
+ const struct command *command;
+ enum cmd_result result;
/* Null commands can result from extra empty lines. */
if (token == '.')
return CMD_SUCCESS;
- /* Parse comments. */
- if ((token == T_ID && !strcasecmp (tokid, "COMMENT"))
- || token == T_EXP || token == '*' || token == '[')
- {
- lex_skip_comment ();
- return CMD_SUCCESS;
- }
-
- /* Otherwise the line must begin with a command name, which is
- always an ID token. */
- if (token != T_ID)
- {
- lex_error (_("expecting command name"));
- return CMD_FAILURE;
- }
-
/* Parse the command name. */
- cp = parse_command_name ();
- if (cp == NULL)
+ command = parse_command_name ();
+ if (command == NULL)
return CMD_FAILURE;
- if (cp->func == NULL)
+ else if (command->function == NULL)
+ return CMD_NOT_IMPLEMENTED;
+ else if ((command->flags & F_TESTING) && !get_testing_mode ())
{
- msg (SE, _("%s is not yet implemented."), cp->name);
- while (token && token != '.')
- lex_get ();
- return CMD_SUCCESS;
+ msg (SE, _("%s may be used only in testing mode."), command->name);
+ return CMD_FAILURE;
}
-
- /* If we're in a FILE TYPE structure, only certain commands can be
- allowed. */
- if (pgm_state == STATE_INPUT
- && case_source_is_class (vfm_source, &file_type_source_class)
- && !FILE_TYPE_okay (cp))
- return CMD_FAILURE;
-
- /* Certain state transitions are not allowed. Check for these. */
- assert (pgm_state >= 0 && pgm_state < STATE_ERROR);
- if (cp->transition[pgm_state] == STATE_ERROR)
+ else if ((command->flags & F_ENHANCED) && get_syntax () != ENHANCED)
{
- static const char *state_name[4] =
- {
- N_("%s is not allowed (1) before a command to specify the "
- "input program, such as DATA LIST, (2) between FILE TYPE "
- "and END FILE TYPE, (3) between INPUT PROGRAM and END "
- "INPUT PROGRAM."),
- N_("%s is not allowed within an input program."),
- N_("%s is only allowed within an input program."),
- N_("%s is only allowed within an input program."),
- };
-
- msg (SE, gettext (state_name[pgm_state]), cp->name);
- return CMD_FAILURE;
+ msg (SE, _("%s may be used only in enhanced syntax mode."),
+ command->name);
+ return CMD_FAILURE;
}
+ else if (!verify_valid_command (command, state))
+ return CMD_FAILURE;
- /* The structured output manager numbers all its tables. Increment
- the major table number for each separate procedure. */
- som_new_series ();
-
- {
- int result;
-
- /* Call the command dispatcher. */
- msg_set_command_name (cp->name);
- tab_set_command_name (cp->name);
- result = cp->func ();
- msg_set_command_name (NULL);
- tab_set_command_name (NULL);
+ /* Execute command. */
+ msg_set_command_name (command->name);
+ tab_set_command_name (command->name);
+ result = command->function ();
+ tab_set_command_name (NULL);
+ msg_set_command_name (NULL);
- /* Perform the state transition if the command completed
- successfully (at least in part). */
- if (result != CMD_FAILURE && result != CMD_CASCADING_FAILURE)
- {
- pgm_state = cp->transition[pgm_state];
-
- if (pgm_state == STATE_ERROR)
- {
- discard_variables ();
- pgm_state = STATE_INIT;
- }
- }
-
- /* Pass the command's success value up to the caller. */
- return result;
- }
+ return result;
}
static size_t
static int
conflicting_3char_prefix_command (const struct command *cmd)
{
- assert (cmd >= commands && cmd < commands + COMMAND_CNT);
+ assert (cmd >= commands && cmd < commands + command_cnt);
return ((cmd > commands
&& conflicting_3char_prefixes (cmd[-1].name, cmd[0].name))
- || (cmd < commands + COMMAND_CNT
+ || (cmd < commands + command_cnt
&& conflicting_3char_prefixes (cmd[0].name, cmd[1].name)));
}
cmd_match_count = 0;
*dash_possible = 0;
- for (cmd = commands; cmd < commands + COMMAND_CNT; cmd++)
+ for (cmd = commands; cmd < commands + command_cnt; cmd++)
if (cmd_match_words (cmd, words, word_cnt, dash_possible) != MISMATCH)
cmd_match_count++;
{
const struct command *cmd;
- for (cmd = commands; cmd < commands + COMMAND_CNT; cmd++)
+ for (cmd = commands; cmd < commands + command_cnt; cmd++)
if (cmd_match_words (cmd, words, word_cnt, NULL) == COMPLETE_MATCH)
return cmd;
return NULL;
}
+/* Returns the command with the given exact NAME.
+ Aborts if no such command exists. */
+static const struct command *
+find_command (const char *name)
+{
+ const struct command *cmd;
+
+ for (cmd = commands; cmd < commands + command_cnt; cmd++)
+ if (!strcmp (cmd->name, name))
+ return cmd;
+ abort ();
+}
+
/* Frees the WORD_CNT words in WORDS. */
static void
free_words (char *words[], size_t word_cnt)
static void
unknown_command_error (char *const words[], size_t word_cnt)
{
- size_t idx;
- size_t words_len;
- char *name, *cp;
-
- words_len = 0;
- for (idx = 0; idx < word_cnt; idx++)
- words_len += strlen (words[idx]);
-
- cp = name = xmalloc (words_len + word_cnt + 16);
- for (idx = 0; idx < word_cnt; idx++)
+ if (word_cnt == 0)
+ lex_error (_("expecting command name"));
+ else
{
- if (idx != 0)
- *cp++ = ' ';
- cp = stpcpy (cp, words[idx]);
- }
- *cp = '\0';
+ struct string s;
+ size_t i;
+
+ ds_init (&s, 0);
+ for (i = 0; i < word_cnt; i++)
+ {
+ if (i != 0)
+ ds_putc (&s, ' ');
+ ds_puts (&s, words[i]);
+ }
- msg (SE, _("Unknown command %s."), name);
+ msg (SE, _("Unknown command %s."), ds_c_str (&s));
- free (name);
+ ds_destroy (&s);
+ }
}
-
/* Parse the command name and return a pointer to the corresponding
struct command if successful.
If not successful, return a null pointer. */
int complete_word_cnt;
int dash_possible;
+ if (token == T_EXP || token == '*' || token == '[')
+ return find_command ("COMMENT");
+
dash_possible = 0;
word_cnt = complete_word_cnt = 0;
while (token == T_ID || (dash_possible && token == '-'))
int cmd_match_cnt;
assert (word_cnt < sizeof words / sizeof *words);
- if (token == T_ID)
- words[word_cnt] = xstrdup (ds_c_str (&tokstr));
- else
+ if (token == T_ID)
+ {
+ words[word_cnt] = xstrdup (ds_c_str (&tokstr));
+ str_uppercase (words[word_cnt]);
+ }
+ else if (token == '-')
words[word_cnt] = xstrdup ("-");
- str_uppercase (words[word_cnt]);
word_cnt++;
cmd_match_cnt = count_matching_commands (words, word_cnt,
const struct command *command = get_complete_match (words, word_cnt);
if (command != NULL)
{
- if (command->skip_entire_name)
+ if (!(command->flags & F_KEEP_FINAL_TOKEN))
lex_get ();
- if ( command->debug & !get_testing_mode () )
- goto error;
free_words (words, word_cnt);
return command;
}
/* Figure out how many words we want to keep.
We normally want to swallow the entire command. */
pushback_word_cnt = complete_word_cnt + 1;
- if (!command->skip_entire_name)
+ if (command->flags & F_KEEP_FINAL_TOKEN)
pushback_word_cnt--;
/* FIXME: We only support one-token pushback. */
free (words[word_cnt]);
}
- if ( command->debug && !get_testing_mode () )
- goto error;
-
free_words (words, word_cnt);
return command;
}
-error:
+ /* We didn't get a valid command name. */
unknown_command_error (words, word_cnt);
free_words (words, word_cnt);
return NULL;
}
+
+/* Returns true if COMMAND is allowed in STATE,
+ false otherwise.
+ If COMMAND is not allowed, emits an appropriate error
+ message. */
+static bool
+verify_valid_command (const struct command *command, enum cmd_state state)
+{
+ if ((state == CMD_STATE_INITIAL && command->states & S_INITIAL)
+ || (state == CMD_STATE_DATA && command->states & S_DATA)
+ || (state == CMD_STATE_INPUT_PROGRAM
+ && command->states & S_INPUT_PROGRAM)
+ || (state == CMD_STATE_FILE_TYPE && command->states & S_FILE_TYPE))
+ return true;
+
+ if (state == CMD_STATE_INITIAL || state == CMD_STATE_DATA)
+ {
+ const char *allowed[3];
+ int allowed_cnt;
+ char *s;
+
+ allowed_cnt = 0;
+ if (command->states & S_INITIAL)
+ allowed[allowed_cnt++] = _("before the active file has been defined");
+ else if (command->states & S_DATA)
+ allowed[allowed_cnt++] = _("after the active file has been defined");
+ if (command->states & S_INPUT_PROGRAM)
+ allowed[allowed_cnt++] = _("inside INPUT PROGRAM");
+ if (command->states & S_FILE_TYPE)
+ allowed[allowed_cnt++] = _("inside FILE TYPE");
+
+ if (allowed_cnt == 1)
+ s = xstrdup (allowed[0]);
+ else if (allowed_cnt == 2)
+ s = xasprintf (_("%s or %s"), allowed[0], allowed[1]);
+ else if (allowed_cnt == 3)
+ s = xasprintf (_("%s, %s, or %s"), allowed[0], allowed[1], allowed[2]);
+ else
+ abort ();
+
+ msg (SE, _("%s is allowed only %s."), command->name, s);
+
+ free (s);
+ }
+ else if (state == CMD_STATE_INPUT_PROGRAM)
+ msg (SE, _("%s is not allowed inside INPUT PROGRAM."), command->name);
+ else if (state == CMD_STATE_FILE_TYPE)
+ msg (SE, _("%s is not allowed inside FILE TYPE."), command->name);
+
+ return false;
+}
+\f
+/* Readline command name completion. */
+
+#if HAVE_READLINE
+static char *command_generator (const char *text, int state);
+
+/* Returns a set of completions for TEXT.
+ This is of the proper form for assigning to
+ rl_attempted_completion_function. */
+char **
+pspp_attempted_completion_function (const char *text,
+ int start, int end UNUSED)
+{
+ if (start == 0)
+ {
+ /* Complete command name at start of line. */
+ return rl_completion_matches (text, command_generator);
+ }
+ else
+ {
+ /* Otherwise don't do any completion. */
+ rl_attempted_completion_over = 1;
+ return NULL;
+ }
+}
+
+/* If STATE is 0, returns the first command name matching TEXT.
+ Otherwise, returns the next command name matching TEXT.
+ Returns a null pointer when no matches are left. */
+static char *
+command_generator (const char *text, int state)
+{
+ static const struct command *cmd;
+
+ if (!state)
+ cmd = commands;
+
+ for (; cmd < commands + command_cnt; cmd++)
+ if (!memcasecmp (cmd->name, text, strlen (text))
+ && (!(cmd->flags & F_TESTING) || get_testing_mode ())
+ && (!(cmd->flags & F_ENHANCED) || get_syntax () == ENHANCED))
+ return xstrdup (cmd++->name);
+
+ return NULL;
+}
+#endif /* HAVE_READLINE */
\f
/* Simple commands. */
int
cmd_finish (void)
{
- return CMD_EOF;
+ return CMD_QUIT;
}
/* Parses the N command. */
if (token != '.')
{
lex_error (_("expecting end of command"));
- return CMD_TRAILING_GARBAGE;
+ return CMD_FAILURE;
}
}
else
if (lex_look_ahead () == '.')
{
lex_get ();
- code = shell () ? CMD_PART_SUCCESS_MAYBE : CMD_SUCCESS;
+ code = shell () ? CMD_FAILURE : CMD_SUCCESS;
}
else
code = run_command ();
return CMD_SUCCESS;
}
+
+/* Parses a comment. */
+int
+cmd_comment (void)
+{
+ lex_skip_comment ();
+ return CMD_SUCCESS;
+}
/* PSPP - computes sample statistics.
- Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+ Copyright (C) 2006 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
-/* State abbreviations. */
-#define INIT STATE_INIT
-#define INPU STATE_INPUT
-#define TRAN STATE_TRANS
-#define PROC STATE_PROC
-#define ERRO STATE_ERROR
+/* Utility commands acceptable anywhere. */
+DEF_CMD (S_ANY, F_ENHANCED, "CLOSE FILE HANDLE", cmd_close_file_handle)
+DEF_CMD (S_ANY, F_KEEP_FINAL_TOKEN, "COMMENT", cmd_comment)
+DEF_CMD (S_ANY, 0, "ECHO", cmd_echo)
+DEF_CMD (S_ANY, 0, "ERASE", cmd_erase)
+DEF_CMD (S_ANY, 0, "EXIT", cmd_finish)
+DEF_CMD (S_ANY, 0, "FILE HANDLE", cmd_file_handle)
+DEF_CMD (S_ANY, F_KEEP_FINAL_TOKEN, "FILE LABEL", cmd_file_label)
+DEF_CMD (S_ANY, 0, "FINISH", cmd_finish)
+DEF_CMD (S_ANY, 0, "HOST", cmd_host)
+DEF_CMD (S_ANY, 0, "INCLUDE", cmd_include)
+DEF_CMD (S_ANY, 0, "N OF CASES", cmd_n_of_cases)
+DEF_CMD (S_ANY, 0, "N", cmd_n_of_cases)
+DEF_CMD (S_ANY, 0, "NEW FILE", cmd_new_file)
+DEF_CMD (S_ANY, 0, "PERMISSIONS", cmd_permissions)
+DEF_CMD (S_ANY, 0, "Q", cmd_finish)
+DEF_CMD (S_ANY, 0, "QUIT", cmd_finish)
+DEF_CMD (S_ANY, 0, "SET", cmd_set)
+DEF_CMD (S_ANY, 0, "SHOW", cmd_show)
+DEF_CMD (S_ANY, F_KEEP_FINAL_TOKEN, "SUBTITLE", cmd_subtitle)
+DEF_CMD (S_ANY, 0, "SYSFILE INFO", cmd_sysfile_info)
+DEF_CMD (S_ANY, F_KEEP_FINAL_TOKEN, "TITLE", cmd_title)
-UNIMPL ("ACF", ERRO, ERRO, ERRO, ERRO, "Autocorrelation function")
-UNIMPL ("ADD FILES", ERRO, ERRO, ERRO, ERRO, "Add files to dictionary")
-DEFCMD ("ADD VALUE LABELS", ERRO, INPU, TRAN, TRAN, cmd_add_value_labels)
-DEFCMD ("AGGREGATE", ERRO, ERRO, PROC, TRAN, cmd_aggregate)
-UNIMPL ("ALSCAL", ERRO, ERRO, ERRO, ERRO, "Multidimensional scaling")
-UNIMPL ("ANOVA", ERRO, ERRO, ERRO, ERRO, "Factorial analysis of variance")
-DEFCMD ("APPLY DICTIONARY", ERRO, ERRO, TRAN, TRAN, cmd_apply_dictionary)
-DEFCMD ("AUTORECODE", ERRO, ERRO, PROC, PROC, cmd_autorecode)
-SPCCMD ("BEGIN DATA", ERRO, ERRO, PROC, PROC, cmd_begin_data)
-DEFCMD ("BREAK", ERRO, INPU, TRAN, TRAN, cmd_break)
-UNIMPL ("CASEPLOT", ERRO, ERRO, ERRO, ERRO, "Plot time series")
-UNIMPL ("CASESTOVARS", ERRO, ERRO, ERRO, ERRO, "Restructure complex data")
-UNIMPL ("CCF", ERRO, ERRO, ERRO, ERRO, "Time series cross correlation")
-DEFCMD ("CLEAR TRANSFORMATIONS", ERRO, INPU, TRAN, TRAN, cmd_clear_transformations)
-DEFCMD ("CLOSE FILE HANDLE", INIT, INPU, TRAN, PROC, cmd_close_file_handle)
-UNIMPL ("CLUSTER", ERRO, ERRO, ERRO, ERRO, "Hierachial clustering")
-DEFCMD ("COMPUTE", ERRO, INPU, TRAN, TRAN, cmd_compute)
-UNIMPL ("CONJOINT", ERRO, ERRO, ERRO, ERRO, "Analyse full concept data")
-DEFCMD ("CORRELATIONS", ERRO, ERRO, PROC, PROC, cmd_correlations)
-DEFCMD ("COUNT", ERRO, INPU, TRAN, TRAN, cmd_count)
-UNIMPL ("COXREG", ERRO, ERRO, ERRO, ERRO, "Cox proportional hazards regression")
-UNIMPL ("CREATE", ERRO, ERRO, ERRO, ERRO, "Create time series data")
-DEFCMD ("CROSSTABS", ERRO, ERRO, PROC, PROC, cmd_crosstabs)
-UNIMPL ("CURVEFIT", ERRO, ERRO, ERRO, ERRO, "Fit curve to line plot")
-DEFCMD ("DATA LIST", TRAN, INPU, TRAN, TRAN, cmd_data_list)
-UNIMPL ("DATE", ERRO, ERRO, ERRO, ERRO, "Create time series data")
-DBGCMD ("DEBUG CASEFILE", INIT, INPU, TRAN, PROC, cmd_debug_casefile)
-DBGCMD ("DEBUG EVALUATE", INIT, INPU, TRAN, PROC, cmd_debug_evaluate)
-DBGCMD ("DEBUG MOMENTS", INIT, INPU, TRAN, PROC, cmd_debug_moments)
-DBGCMD ("DEBUG POOL", INIT, INPU, TRAN, PROC, cmd_debug_pool)
-DEFCMD ("DESCRIPTIVES", ERRO, ERRO, PROC, PROC, cmd_descriptives)
-UNIMPL ("DISCRIMINANT", ERRO, ERRO, ERRO, ERRO, "Linear discriminant analysis")
-DEFCMD ("DISPLAY", ERRO, INPU, TRAN, PROC, cmd_display)
-SPCCMD ("DOCUMENT", ERRO, INPU, TRAN, TRAN, cmd_document)
-DEFCMD ("DO IF", ERRO, INPU, TRAN, TRAN, cmd_do_if)
-DEFCMD ("DO REPEAT", ERRO, INPU, TRAN, TRAN, cmd_do_repeat)
-DEFCMD ("DROP DOCUMENTS", INIT, INPU, TRAN, PROC, cmd_drop_documents)
-DEFCMD ("ECHO", INIT, INPU, TRAN, PROC, cmd_echo)
-UNIMPL ("EDIT", ERRO, ERRO, ERRO, ERRO, "obsolete")
-DEFCMD ("ELSE", ERRO, INPU, TRAN, TRAN, cmd_else)
-DEFCMD ("ELSE IF", ERRO, INPU, TRAN, TRAN, cmd_else_if)
-DEFCMD ("END CASE", ERRO, INPU, ERRO, ERRO, cmd_end_case)
-DEFCMD ("END FILE", ERRO, INPU, ERRO, ERRO, cmd_end_file)
-UNIMPL ("END FILE TYPE", ERRO, TRAN, ERRO, ERRO, "Ends complex data input")
-DEFCMD ("END IF", ERRO, INPU, TRAN, TRAN, cmd_end_if)
-DEFCMD ("END INPUT PROGRAM", ERRO, TRAN, ERRO, ERRO, cmd_end_input_program)
-DEFCMD ("END LOOP", ERRO, INPU, TRAN, TRAN, cmd_end_loop)
-DEFCMD ("END REPEAT", ERRO, INPU, TRAN, TRAN, cmd_end_repeat)
-DEFCMD ("ERASE", INIT, INPU, TRAN, PROC, cmd_erase)
-DEFCMD ("EXAMINE", ERRO, ERRO, PROC, PROC, cmd_examine)
-DEFCMD ("EXECUTE", ERRO, ERRO, PROC, PROC, cmd_execute)
-DEFCMD ("EXIT", INIT, INPU, TRAN, PROC, cmd_finish)
-DEFCMD ("EXPORT", ERRO, ERRO, PROC, PROC, cmd_export)
-UNIMPL ("FACTOR", ERRO, ERRO, ERRO, ERRO, "Factor analysis")
-DEFCMD ("FILE HANDLE", INIT, INPU, TRAN, PROC, cmd_file_handle)
-SPCCMD ("FILE LABEL", INIT, INPU, TRAN, PROC, cmd_file_label)
-UNIMPL ("FILE TYPE", INPU, ERRO, INPU, INPU, "Complex data input")
-DEFCMD ("FILTER", ERRO, ERRO, TRAN, TRAN, cmd_filter)
-DEFCMD ("FINISH", INIT, INPU, TRAN, PROC, cmd_finish)
-UNIMPL ("FIT", ERRO, ERRO, ERRO, ERRO, "Goodness of Fit")
-DEFCMD ("FLIP", ERRO, ERRO, PROC, PROC, cmd_flip)
-DEFCMD ("FORMATS", INIT, INPU, TRAN, PROC, cmd_formats)
-DEFCMD ("FREQUENCIES", ERRO, ERRO, PROC, PROC, cmd_frequencies)
-DEFCMD ("GET", TRAN, ERRO, TRAN, TRAN, cmd_get)
-UNIMPL ("GET TRANSLATE", ERRO, ERRO, ERRO, ERRO, "Read other file formats")
-UNIMPL ("GLM", ERRO, ERRO, ERRO, ERRO, "General Linear Model")
-UNIMPL ("GRAPH", ERRO, ERRO, ERRO, ERRO, "Draw graphs")
-DEFCMD ("HOST", INIT, INPU, TRAN, PROC, cmd_host)
-DEFCMD ("IF", ERRO, INPU, TRAN, TRAN, cmd_if)
-UNIMPL ("IGRAPH", ERRO, ERRO, ERRO, ERRO, "Interactive graphs")
-DEFCMD ("IMPORT", TRAN, ERRO, TRAN, TRAN, cmd_import)
-DEFCMD ("INCLUDE", INIT, INPU, TRAN, PROC, cmd_include)
-UNIMPL ("INFO", ERRO, ERRO, ERRO, ERRO, "Local Documentation")
-DEFCMD ("INPUT PROGRAM", INPU, ERRO, INPU, INPU, cmd_input_program)
-UNIMPL ("KEYED DATA LIST", ERRO, ERRO, ERRO, ERRO, "Read nonsequential data")
-UNIMPL ("KM", ERRO, ERRO, ERRO, ERRO, "Kaplan-Meier")
-DEFCMD ("LEAVE", ERRO, INPU, TRAN, TRAN, cmd_leave)
-DEFCMD ("LIST", ERRO, ERRO, PROC, PROC, cmd_list)
-UNIMPL ("LOGISTIC REGRESSION", ERRO, ERRO, ERRO, ERRO, "Regression Analysis")
-DEFCMD ("LOOP", ERRO, INPU, TRAN, TRAN, cmd_loop)
-DEFCMD ("MATCH FILES", TRAN, ERRO, TRAN, PROC, cmd_match_files)
-DEFCMD ("MATRIX DATA", TRAN, ERRO, TRAN, TRAN, cmd_matrix_data)
-UNIMPL ("MCONVERT", ERRO, ERRO, ERRO, ERRO, "Convert covariance/correlation matrices")
-DEFCMD ("MEANS", ERRO, ERRO, PROC, PROC, cmd_means)
-DEFCMD ("MISSING VALUES", ERRO, INPU, TRAN, TRAN, cmd_missing_values)
-DEFCMD ("MODIFY VARS", ERRO, ERRO, TRAN, PROC, cmd_modify_vars)
-UNIMPL ("MULT RESPONSE", ERRO, ERRO, ERRO, ERRO, "Multiple reponse analysis")
-UNIMPL ("MVA", ERRO, ERRO, ERRO, ERRO, "Missing value analysis")
-DEFCMD ("NEW FILE", INIT, ERRO, INIT, INIT, cmd_new_file)
-DEFCMD ("N", INIT, INPU, TRAN, TRAN, cmd_n_of_cases)
-DEFCMD ("N OF CASES", INIT, INPU, TRAN, TRAN, cmd_n_of_cases)
-UNIMPL ("NLR", ERRO, ERRO, ERRO, ERRO, "Non Linear Regression")
-UNIMPL ("NONPAR CORR", ERRO, ERRO, ERRO, ERRO, "Nonparametric correlation")
-UNIMPL ("NPAR TESTS", ERRO, ERRO, ERRO, ERRO, "Nonparametric tests")
-UNIMPL ("NUMBERED", ERRO, ERRO, ERRO, ERRO, "")
-DEFCMD ("NUMERIC", ERRO, INPU, TRAN, TRAN, cmd_numeric)
-DEFCMD ("ONEWAY", ERRO, ERRO, PROC, PROC, cmd_oneway)
-UNIMPL ("PACF", ERRO, ERRO, ERRO, ERRO, "Partial autocorrelation")
-UNIMPL ("PARTIAL CORR", ERRO, ERRO, ERRO, ERRO, "Partial correlation")
-DEFCMD ("PEARSON CORRELATIONS", ERRO, ERRO, PROC, PROC, cmd_correlations)
-DEFCMD ("PERMISSIONS", INIT, INPU, TRAN, PROC, cmd_permissions)
-UNIMPL ("POINT", ERRO, ERRO, ERRO, ERRO, "Marker in keyed file")
-UNIMPL ("PPLOT", ERRO, ERRO, ERRO, ERRO, "Plot time series variables")
-UNIMPL ("PREDICT", ERRO, ERRO, ERRO, ERRO, "Specify forecast period")
-UNIMPL ("PRESERVE", ERRO, ERRO, ERRO, ERRO, "Push settings")
-DEFCMD ("PRINT EJECT", ERRO, INPU, TRAN, TRAN, cmd_print_eject)
-DEFCMD ("PRINT", ERRO, INPU, TRAN, TRAN, cmd_print)
-DEFCMD ("PRINT FORMATS", ERRO, INPU, TRAN, TRAN, cmd_print_formats)
-DEFCMD ("PRINT SPACE", ERRO, INPU, TRAN, TRAN, cmd_print_space)
-UNIMPL ("PROCEDURE OUTPUT", ERRO, ERRO, ERRO, ERRO, "Specify output file")
-UNIMPL ("PROBIT", ERRO, ERRO, ERRO, ERRO, "Probit analysis")
-DEFCMD ("PROCESS IF", ERRO, ERRO, TRAN, TRAN, cmd_process_if)
-UNIMPL ("PROXIMITIES", ERRO, ERRO, ERRO, ERRO, "Pairwise similarity")
-DEFCMD ("Q", INIT, INPU, TRAN, PROC, cmd_finish)
-UNIMPL ("QUICK CLUSTER", ERRO, ERRO, ERRO, ERRO, "Fast clustering")
-DEFCMD ("QUIT", INIT, INPU, TRAN, PROC, cmd_finish)
-UNIMPL ("RANK", ERRO, ERRO, ERRO, ERRO, "Create rank scores")
-DEFCMD ("RECODE", ERRO, INPU, TRAN, TRAN, cmd_recode)
-DEFCMD ("RECORD TYPE", ERRO, INPU, ERRO, ERRO, cmd_record_type)
-UNIMPL ("REFORMAT", ERRO, ERRO, ERRO, ERRO, "Read obsolete files")
-DEFCMD ("REGRESSION", ERRO, ERRO, PROC, PROC, cmd_regression)
-DEFCMD ("RENAME VARIABLES", ERRO, INPU, TRAN, PROC, cmd_rename_variables)
-UNIMPL ("REPEATING DATA", ERRO, INPU, ERRO, ERRO, "Specify multiple cases per input record")
-UNIMPL ("REPORT", ERRO, ERRO, ERRO, ERRO, "Pretty print working file")
-DEFCMD ("REREAD", ERRO, INPU, ERRO, ERRO, cmd_reread)
-UNIMPL ("RESTORE", ERRO, ERRO, ERRO, ERRO, "Restore settings")
-UNIMPL ("ROC", ERRO, ERRO, ERRO, ERRO, "Receiver operating characteristic")
-UNIMPL ("RMV", ERRO, ERRO, ERRO, ERRO, "Replace missing values")
-DEFCMD ("SAMPLE", ERRO, ERRO, TRAN, TRAN, cmd_sample)
-DEFCMD ("SAVE", ERRO, ERRO, PROC, PROC, cmd_save)
-UNIMPL ("SAVE TRANSLATE", ERRO, ERRO, ERRO, ERRO, "Save to foriegn format")
-UNIMPL ("SCRIPT", ERRO, ERRO, ERRO, ERRO, "Run script file")
-DEFCMD ("SELECT IF", ERRO, ERRO, TRAN, TRAN, cmd_select_if)
-DEFCMD ("SET", INIT, INPU, TRAN, PROC, cmd_set)
-DEFCMD ("SHOW", INIT, INPU, TRAN, PROC, cmd_show)
-DEFCMD ("SORT CASES", ERRO, ERRO, PROC, PROC, cmd_sort_cases)
-DEFCMD ("SORT", ERRO, ERRO, PROC, PROC, cmd_sort_cases)
-UNIMPL ("SPCHART", ERRO, ERRO, ERRO, ERRO, "Plot control charts")
-DEFCMD ("SPLIT FILE", ERRO, INPU, TRAN, TRAN, cmd_split_file)
-DEFCMD ("STRING", ERRO, INPU, TRAN, TRAN, cmd_string)
-SPCCMD ("SUBTITLE", INIT, INPU, TRAN, PROC, cmd_subtitle)
-UNIMPL ("SUMMARIZE", ERRO, ERRO, ERRO, ERRO, "Univariate statistics")
-UNIMPL ("SURVIVAL", ERRO, ERRO, ERRO, ERRO, "Survival analysis")
-DEFCMD ("SYSFILE INFO", INIT, INPU, TRAN, PROC, cmd_sysfile_info)
-DEFCMD ("TEMPORARY", ERRO, ERRO, TRAN, TRAN, cmd_temporary)
-SPCCMD ("TITLE", INIT, INPU, TRAN, PROC, cmd_title)
-UNIMPL ("TSET", ERRO, ERRO, ERRO, ERRO, "Set time sequence variables")
-UNIMPL ("TSHOW", ERRO, ERRO, ERRO, ERRO, "Show time sequence variables")
-UNIMPL ("TSPLOT", ERRO, ERRO, ERRO, ERRO, "Plot time sequence variables")
-DEFCMD ("T-TEST", ERRO, ERRO, PROC, PROC, cmd_t_test)
-UNIMPL ("UNIANOVA", ERRO, ERRO, ERRO, ERRO, "Univariate analysis")
-UNIMPL ("UNNUMBERED", ERRO, ERRO, ERRO, ERRO, "obsolete")
-UNIMPL ("UPDATE", ERRO, ERRO, ERRO, ERRO, "Update working file")
-DEFCMD ("USE", ERRO, ERRO, TRAN, TRAN, cmd_use)
-DEFCMD ("VALUE LABELS", ERRO, INPU, TRAN, TRAN, cmd_value_labels)
-DEFCMD ("VARIABLE LABELS", ERRO, INPU, TRAN, TRAN, cmd_variable_labels)
-DEFCMD ("VARIABLE ALIGNMENT", ERRO, INPU, TRAN, TRAN, cmd_variable_alignment)
-DEFCMD ("VARIABLE LEVEL", ERRO, INPU, TRAN, TRAN, cmd_variable_level)
-DEFCMD ("VARIABLE WIDTH", ERRO, INPU, TRAN, TRAN, cmd_variable_width)
-UNIMPL ("VARSTOCASES", ERRO, ERRO, ERRO, ERRO, "Restructure complex data")
-DEFCMD ("VECTOR", ERRO, INPU, TRAN, TRAN, cmd_vector)
-UNIMPL ("VERIFY", ERRO, ERRO, ERRO, ERRO, "Report time series")
-DEFCMD ("WEIGHT", ERRO, INPU, TRAN, TRAN, cmd_weight)
-DEFCMD ("WRITE", ERRO, INPU, TRAN, TRAN, cmd_write)
-DEFCMD ("WRITE FORMATS", ERRO, INPU, TRAN, TRAN, cmd_write_formats)
-DEFCMD ("XEXPORT", ERRO, INPU, TRAN, TRAN, cmd_xexport)
-DEFCMD ("XSAVE", ERRO, INPU, TRAN, TRAN, cmd_xsave)
+/* Commands that define (or replace) the active file. */
+DEF_CMD (S_INITIAL | S_DATA | S_INPUT_PROGRAM | S_FILE_TYPE, 0, "DATA LIST", cmd_data_list)
+DEF_CMD (S_INITIAL | S_DATA, 0, "GET", cmd_get)
+DEF_CMD (S_INITIAL | S_DATA, 0, "IMPORT", cmd_import)
+DEF_CMD (S_INITIAL | S_DATA, 0, "INPUT PROGRAM", cmd_input_program)
+DEF_CMD (S_INITIAL | S_DATA, 0, "MATRIX DATA", cmd_matrix_data)
+
+/* Transformations and utilities that may appear after active
+ file definition or within INPUT PROGRAM. */
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "ADD VALUE LABELS", cmd_add_value_labels)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "APPLY DICTIONARY", cmd_apply_dictionary)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "BREAK", cmd_break)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "COMPUTE", cmd_compute)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "DISPLAY", cmd_display)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, F_KEEP_FINAL_TOKEN, "DOCUMENT", cmd_document)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "DO IF", cmd_do_if)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "DO REPEAT", cmd_do_repeat)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "END REPEAT", cmd_end_repeat)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "DROP DOCUMENTS", cmd_drop_documents)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "ELSE IF", cmd_else_if)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "ELSE", cmd_else)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "END IF", cmd_end_if)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "END LOOP", cmd_end_loop)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "FORMATS", cmd_formats)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "IF", cmd_if)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "LEAVE", cmd_leave)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "LOOP", cmd_loop)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "MISSING VALUES", cmd_missing_values)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "NUMERIC", cmd_numeric)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "PRINT EJECT", cmd_print_eject)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "PRINT FORMATS", cmd_print_formats)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "PRINT SPACE", cmd_print_space)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "PRINT", cmd_print)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "RECODE", cmd_recode)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "SELECT IF", cmd_select_if)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "SPLIT FILE", cmd_split_file)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "STRING", cmd_string)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "VALUE LABELS", cmd_value_labels)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "VARIABLE ALIGNMENT", cmd_variable_alignment)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "VARIABLE LABELS", cmd_variable_labels)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "VARIABLE LEVEL", cmd_variable_level)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "VARIABLE WIDTH", cmd_variable_width)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "VECTOR", cmd_vector)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "WEIGHT", cmd_weight)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "WRITE FORMATS", cmd_write_formats)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "WRITE", cmd_write)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, F_ENHANCED, "XEXPORT", cmd_xexport)
+DEF_CMD (S_DATA | S_INPUT_PROGRAM, 0, "XSAVE", cmd_xsave)
+
+/* Commands that may appear after active file definition. */
+DEF_CMD (S_DATA, 0, "AGGREGATE", cmd_aggregate)
+DEF_CMD (S_DATA, 0, "AUTORECODE", cmd_autorecode)
+DEF_CMD (S_DATA, F_KEEP_FINAL_TOKEN, "BEGIN DATA", cmd_begin_data)
+DEF_CMD (S_DATA, 0, "CLEAR TRANSFORMATIONS", cmd_clear_transformations)
+DEF_CMD (S_DATA, 0, "CORRELATIONS", cmd_correlations)
+DEF_CMD (S_DATA, 0, "COUNT", cmd_count)
+DEF_CMD (S_DATA, 0, "CROSSTABS", cmd_crosstabs)
+DEF_CMD (S_DATA, 0, "DESCRIPTIVES", cmd_descriptives)
+DEF_CMD (S_DATA, 0, "EXAMINE", cmd_examine)
+DEF_CMD (S_DATA, 0, "EXECUTE", cmd_execute)
+DEF_CMD (S_DATA, 0, "EXPORT", cmd_export)
+DEF_CMD (S_DATA, 0, "FILTER", cmd_filter)
+DEF_CMD (S_DATA, 0, "FLIP", cmd_flip)
+DEF_CMD (S_DATA, 0, "FREQUENCIES", cmd_frequencies)
+DEF_CMD (S_DATA, 0, "LIST", cmd_list)
+DEF_CMD (S_DATA, 0, "MATCH FILES", cmd_match_files)
+DEF_CMD (S_DATA, 0, "MEANS", cmd_means)
+DEF_CMD (S_DATA, 0, "MODIFY VARS", cmd_modify_vars)
+DEF_CMD (S_DATA, 0, "ONEWAY", cmd_oneway)
+DEF_CMD (S_DATA, 0, "PEARSON CORRELATIONS", cmd_correlations)
+DEF_CMD (S_DATA, 0, "PROCESS IF", cmd_process_if)
+DEF_CMD (S_DATA, 0, "REGRESSION", cmd_regression)
+DEF_CMD (S_DATA, 0, "RENAME VARIABLES", cmd_rename_variables)
+DEF_CMD (S_DATA, 0, "SAMPLE", cmd_sample)
+DEF_CMD (S_DATA, 0, "SAVE", cmd_save)
+DEF_CMD (S_DATA, 0, "SORT CASES", cmd_sort_cases)
+DEF_CMD (S_DATA, 0, "SORT", cmd_sort_cases)
+DEF_CMD (S_DATA, 0, "T-TEST", cmd_t_test)
+DEF_CMD (S_DATA, 0, "TEMPORARY", cmd_temporary)
+DEF_CMD (S_DATA, 0, "USE", cmd_use)
+
+/* FILE TYPE. */
+DEF_CMD (S_FILE_TYPE, 0, "RECORD TYPE", cmd_record_type)
+
+/* Commands valid only with INPUT PROGRAM. */
+DEF_CMD (S_INPUT_PROGRAM, 0, "END CASE", cmd_end_case)
+DEF_CMD (S_INPUT_PROGRAM, 0, "END FILE", cmd_end_file)
+DEF_CMD (S_INPUT_PROGRAM, 0, "END INPUT PROGRAM", cmd_end_input_program)
+DEF_CMD (S_INPUT_PROGRAM, 0, "REREAD", cmd_reread)
+
+/* Commands for testing PSPP. */
+DEF_CMD (S_ANY, F_TESTING, "DEBUG CASEFILE", cmd_debug_casefile)
+DEF_CMD (S_ANY, F_TESTING, "DEBUG EVALUATE", cmd_debug_evaluate)
+DEF_CMD (S_ANY, F_TESTING, "DEBUG MOMENTS", cmd_debug_moments)
+DEF_CMD (S_ANY, F_TESTING, "DEBUG POOL", cmd_debug_pool)
+
+/* Unimplemented commands. */
+UNIMPL_CMD ("ACF", "Autocorrelation function")
+UNIMPL_CMD ("ADD FILES", "Add files to dictionary")
+UNIMPL_CMD ("ALSCAL", "Multidimensional scaling")
+UNIMPL_CMD ("ANOVA", "Factorial analysis of variance")
+UNIMPL_CMD ("CASEPLOT", "Plot time series")
+UNIMPL_CMD ("CASESTOVARS", "Restructure complex data")
+UNIMPL_CMD ("CCF", "Time series cross correlation")
+UNIMPL_CMD ("CLUSTER", "Hierachial clustering")
+UNIMPL_CMD ("CONJOINT", "Analyse full concept data")
+UNIMPL_CMD ("COXREG", "Cox proportional hazards regression")
+UNIMPL_CMD ("CREATE", "Create time series data")
+UNIMPL_CMD ("CURVEFIT", "Fit curve to line plot")
+UNIMPL_CMD ("DATE", "Create time series data")
+UNIMPL_CMD ("DISCRIMINANT", "Linear discriminant analysis")
+UNIMPL_CMD ("EDIT", "obsolete")
+UNIMPL_CMD ("END FILE TYPE", "Ends complex data input")
+UNIMPL_CMD ("FACTOR", "Factor analysis")
+UNIMPL_CMD ("FILE TYPE", "Complex data input")
+UNIMPL_CMD ("FIT", "Goodness of Fit")
+UNIMPL_CMD ("GET TRANSLATE", "Read other file formats")
+UNIMPL_CMD ("GLM", "General Linear Model")
+UNIMPL_CMD ("GRAPH", "Draw graphs")
+UNIMPL_CMD ("IGRAPH", "Interactive graphs")
+UNIMPL_CMD ("INFO", "Local Documentation")
+UNIMPL_CMD ("KEYED DATA LIST", "Read nonsequential data")
+UNIMPL_CMD ("KM", "Kaplan-Meier")
+UNIMPL_CMD ("LOGISTIC REGRESSION", "Regression Analysis")
+UNIMPL_CMD ("MCONVERT", "Convert covariance/correlation matrices")
+UNIMPL_CMD ("MULT RESPONSE", "Multiple reponse analysis")
+UNIMPL_CMD ("MVA", "Missing value analysis")
+UNIMPL_CMD ("NLR", "Non Linear Regression")
+UNIMPL_CMD ("NONPAR CORR", "Nonparametric correlation")
+UNIMPL_CMD ("NPAR TESTS", "Nonparametric tests")
+UNIMPL_CMD ("NUMBERED", "")
+UNIMPL_CMD ("PACF", "Partial autocorrelation")
+UNIMPL_CMD ("PARTIAL CORR", "Partial correlation")
+UNIMPL_CMD ("POINT", "Marker in keyed file")
+UNIMPL_CMD ("PPLOT", "Plot time series variables")
+UNIMPL_CMD ("PREDICT", "Specify forecast period")
+UNIMPL_CMD ("PRESERVE", "Push settings")
+UNIMPL_CMD ("PROBIT", "Probit analysis")
+UNIMPL_CMD ("PROCEDURE OUTPUT", "Specify output file")
+UNIMPL_CMD ("PROXIMITIES", "Pairwise similarity")
+UNIMPL_CMD ("QUICK CLUSTER", "Fast clustering")
+UNIMPL_CMD ("RANK", "Create rank scores")
+UNIMPL_CMD ("REFORMAT", "Read obsolete files")
+UNIMPL_CMD ("REPEATING DATA", "Specify multiple cases per input record")
+UNIMPL_CMD ("REPORT", "Pretty print working file")
+UNIMPL_CMD ("RESTORE", "Restore settings")
+UNIMPL_CMD ("RMV", "Replace missing values")
+UNIMPL_CMD ("ROC", "Receiver operating characteristic")
+UNIMPL_CMD ("SAVE TRANSLATE", "Save to foriegn format")
+UNIMPL_CMD ("SCRIPT", "Run script file")
+UNIMPL_CMD ("SPCHART", "Plot control charts")
+UNIMPL_CMD ("SUMMARIZE", "Univariate statistics")
+UNIMPL_CMD ("SURVIVAL", "Survival analysis")
+UNIMPL_CMD ("TSET", "Set time sequence variables")
+UNIMPL_CMD ("TSHOW", "Show time sequence variables")
+UNIMPL_CMD ("TSPLOT", "Plot time sequence variables")
+UNIMPL_CMD ("UNIANOVA", "Univariate analysis")
+UNIMPL_CMD ("UNNUMBERED", "obsolete")
+UNIMPL_CMD ("UPDATE", "Update working file")
+UNIMPL_CMD ("VARSTOCASES", "Restructure complex data")
+UNIMPL_CMD ("VERIFY", "Report time series")
/* PSPP - computes sample statistics.
- Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
-#if !command_h
-#define command_h 1
+#ifndef COMMAND_H
+#define COMMAND_H 1
-/* Current program state. */
-enum
- {
- STATE_INIT, /* Initialization state. */
- STATE_INPUT, /* Input state. */
- STATE_TRANS, /* Transformation state. */
- STATE_PROC, /* Procedure state. */
- STATE_ERROR /* Invalid state transition. */
- };
+#include <stdbool.h>
/* Command return values. */
-enum
+enum cmd_result
{
/* Successful return values. */
- CMD_SUCCESS = 0x1000, /* Successfully parsed and executed. */
- CMD_EOF, /* Requested exit. */
+ CMD_SUCCESS = 1, /* Successfully parsed and executed. */
+ CMD_EOF, /* No commands left. */
+ CMD_QUIT, /* Requested exit. */
+ CMD_END_SUBLOOP, /* End of INPUT PROGRAM or FILE TYPE. */
- /* Various kinds of failures, in increasing order of severity. */
- CMD_TRAILING_GARBAGE, /* Followed by garbage. */
- CMD_PART_SUCCESS, /* Fully executed up to error. */
- CMD_PART_SUCCESS_MAYBE, /* May have been partially executed. */
+ /* Various kinds of failures. */
CMD_FAILURE, /* Not executed at all. */
+ CMD_NOT_IMPLEMENTED, /* Command not implemented. */
CMD_CASCADING_FAILURE /* Serious error: don't continue. */
};
-extern int pgm_state;
+bool cmd_result_is_success (enum cmd_result);
+bool cmd_result_is_failure (enum cmd_result);
+
+/* Command processing state. */
+enum cmd_state
+ {
+ CMD_STATE_INITIAL, /* No active file yet defined. */
+ CMD_STATE_DATA, /* Active file has been defined. */
+ CMD_STATE_INPUT_PROGRAM, /* Inside INPUT PROGRAM. */
+ CMD_STATE_FILE_TYPE /* Inside FILE TYPE. */
+ };
-char *pspp_completion_function (const char *text, int state);
+#if HAVE_READLINE
+char **pspp_attempted_completion_function (const char *, int start, int end);
+#endif
-int cmd_parse (void);
+enum cmd_result cmd_parse (enum cmd_state);
/* Prototype all the command functions. */
-#define DEFCMD(NAME, T1, T2, T3, T4, FUNC) \
- int FUNC (void);
-#define SPCCMD(NAME, T1, T2, T3, T4, FUNC) \
- int FUNC (void);
-#define DBGCMD(NAME, T1, T2, T3, T4, FUNC) \
- int FUNC (void);
-#define UNIMPL(NAME, T1, T2, T3, T4, DESC)
+#define DEF_CMD(STATES, FLAGS, NAME, FUNCTION) int FUNCTION (void);
+#define UNIMPL_CMD(NAME, DESCRIPTION)
#include "command.def"
-#undef DEFCMD
-#undef SPCCMD
-#undef UNIMPL
-#undef DBGCMD
+#undef DEF_CMD
+#undef UNIMPL_CMD
-#endif /* !command_h */
+#endif /* command.h */
if (!ok)
loop->max_pass_count = 0;
- return ok ? CMD_SUCCESS : CMD_PART_SUCCESS;
+ return ok ? CMD_SUCCESS : CMD_FAILURE;
}
/* Parses END LOOP. */
ctl_stack_pop (loop);
- return ok ? CMD_SUCCESS : CMD_PART_SUCCESS;
+ return ok ? CMD_SUCCESS : CMD_FAILURE;
}
/* Parses BREAK. */
+Wed Apr 26 13:41:05 2006 Ben Pfaff <blp@gnu.org>
+
+Wed Apr 26 13:16:28 2006 Ben Pfaff <blp@gnu.org>
+
+ Improve the way we handle the various parsing "states". Until now
+ we've hard-coded the state transitions in the command definition
+ file, but that's error-prone and, worse, it's redundant--we can
+ figure out what state we're in anyhow. We can cleanly handle
+ INPUT PROGRAM and FILE TYPE with a nested command-processing loop.
+
+ * data-list.c: (cmd_data_list) Use in_file_type() or
+ in_input_program() in place of case_source_is_class() or
+ case_source_is_complex().
+
+ * file-type.c: NB: Not really fixed except minimally to compile,
+ because it doesn't work anyway.
+ (in_file_type) New function.
+ (cmd_record_type) No need to check that we're in FILE TYPE.
+ (cmd_end_file_type) Ditto.
+ (var file_type_source_class) Make static.
+
+ * get.c: (cmd_match_files) Check vfm_source instead of pgm_state.
+
+ * inpt-pgm.c: (in_input_program) New function.
+ (cmd_input_program) Rewrite to include nested command processing
+ loop.
+ (cmd_end_input_program) Just return CMD_END_SUBLOOP.
+ (var input_program_source_class) Make static.
+ (cmd_end_case) No need to check that we're in INPUT PROGRAM.
+ (cmd_end_file) Ditto.
+
+ * automake.mk (src_language_data_io_libdata_io_a_SOURCES): Add
+ file-type.h, inpt-pgm.h.
+
+ * file-type.h: New file.
+
+ * inpt-pgm.h: New file.
+
Tue Apr 25 13:11:55 2006 Ben Pfaff <blp@gnu.org>
* print.c: Don't special-case MS-DOS line terminators.
src_language_data_io_libdata_io_a_SOURCES = \
src/language/data-io/data-list.c \
src/language/data-io/file-type.c \
+ src/language/data-io/file-type.h \
src/language/data-io/get.c \
src/language/data-io/inpt-pgm.c \
+ src/language/data-io/inpt-pgm.h \
src/language/data-io/print.c \
src/language/data-io/matrix-data.c \
src/language/data-io/data-list.h \
02110-1301, USA. */
#include <config.h>
-#include <language/data-io/data-list.h>
-#include <libpspp/message.h>
+
+#include "data-list.h"
+
#include <ctype.h>
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
-#include <libpspp/alloc.h>
+
#include <data/case.h>
-#include <language/command.h>
-#include <libpspp/compiler.h>
#include <data/data-in.h>
-#include <language/data-io/data-reader.h>
#include <data/dictionary.h>
-#include <libpspp/message.h>
-#include <language/data-io/file-handle.h>
#include <data/format.h>
+#include <data/settings.h>
+#include <data/variable.h>
+#include <language/command.h>
+#include <language/data-io/data-list.h>
+#include <language/data-io/data-reader.h>
+#include <language/data-io/file-handle.h>
+#include <language/data-io/file-type.h>
+#include <language/data-io/inpt-pgm.h>
#include <language/lexer/lexer.h>
+#include <libpspp/alloc.h>
+#include <libpspp/compiler.h>
+#include <libpspp/message.h>
+#include <libpspp/message.h>
#include <libpspp/misc.h>
-#include <data/settings.h>
#include <libpspp/str.h>
#include <output/table.h>
-#include <data/variable.h>
#include <procedure.h>
-#include "data-list.h"
-
#include "gettext.h"
#define _(msgid) gettext (msgid)
\f
int table = -1; /* Print table if nonzero, -1=undecided. */
struct file_handle *fh = fh_inline_file ();
- if (!case_source_is_complex (vfm_source))
+ if (!in_input_program () && !in_file_type ())
discard_variables ();
dls = xmalloc (sizeof *dls);
fh = fh_parse (FH_REF_FILE | FH_REF_INLINE);
if (fh == NULL)
goto error;
- if (case_source_is_class (vfm_source, &file_type_source_class)
- && fh != fh_get_default_handle ())
+ if (in_file_type () && fh != fh_get_default_handle ())
{
msg (SE, _("DATA LIST must use the same file "
"as the enclosing FILE TYPE."));
{
convert_fmt_ItoO (&input, &v->print);
v->write = v->print;
- if (!case_source_is_complex (vfm_source))
+ if (!in_input_program () && !in_file_type ())
v->init = 0;
}
else
return 0;
}
- if (!case_source_is_complex (vfm_source))
+ if (!in_input_program () && !in_file_type ())
v->init = 0;
spec = xmalloc (sizeof *spec);
}
v->print = v->write = output;
- if (!case_source_is_complex (vfm_source))
+ if (!in_input_program () && !in_file_type ())
v->init = 0;
spec = xmalloc (sizeof *spec);
bool saw_id = false; /* Saw ID subcommand? */
struct file_handle *const fh = fh_get_default_handle ();
- assert (case_source_is_complex (vfm_source));
+ assert (in_input_program () || in_file_type ());
rpd = xmalloc (sizeof *rpd);
rpd->reader = dfm_open_reader (fh);
02110-1301, USA. */
#include <config.h>
+
+#include <language/data-io/file-type.h>
+
#include <stdlib.h>
-#include <libpspp/alloc.h>
+
#include <data/case.h>
-#include <language/command.h>
-#include <libpspp/compiler.h>
#include <data/data-in.h>
-#include <language/data-io/data-reader.h>
#include <data/dictionary.h>
-#include <libpspp/message.h>
-#include <language/data-io/file-handle.h>
#include <data/format.h>
+#include <data/variable.h>
+#include <language/command.h>
+#include <language/data-io/data-reader.h>
+#include <language/data-io/file-handle.h>
#include <language/lexer/lexer.h>
+#include <libpspp/alloc.h>
+#include <libpspp/compiler.h>
+#include <libpspp/message.h>
#include <libpspp/str.h>
-#include <data/variable.h>
#include <procedure.h>
#include "gettext.h"
static int parse_col_spec (struct col_spec *, const char *);
static void create_col_var (struct col_spec *c);
+static const struct case_source_class file_type_source_class;
+
+static bool inside_file_type;
+
+/* Returns true if we're parsing the inside of a FILE TYPE...END
+ FILE TYPE construct, false otherwise. */
+bool
+in_file_type (void)
+{
+ return inside_file_type;
+}
int cmd_file_type (void);
struct file_type_pgm *fty;
struct record_type *rct;
- /* Make sure we're inside a FILE TYPE structure. */
- if (pgm_state != STATE_INPUT
- || !case_source_is_class (vfm_source, &file_type_source_class))
- {
- msg (SE, _("This command may only appear within a "
- "FILE TYPE/END FILE TYPE structure."));
- return CMD_CASCADING_FAILURE;
- }
-
fty = vfm_source->aux;
/* Initialize the record_type structure. */
{
struct file_type_pgm *fty;
- if (pgm_state != STATE_INPUT
- || case_source_is_class (vfm_source, &file_type_source_class))
- {
- msg (SE, _("This command may only appear within a "
- "FILE TYPE/END FILE TYPE structure."));
- return CMD_CASCADING_FAILURE;
- }
fty = vfm_source->aux;
fty->case_size = dict_get_case_size (default_dict);
}
}
-const struct case_source_class file_type_source_class =
+static const struct case_source_class file_type_source_class =
{
"FILE TYPE",
NULL,
--- /dev/null
+/* PSPP - computes sample statistics.
+ Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+ Written by Ben Pfaff <blp@gnu.org>.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+#ifndef FILE_TYPE_H
+#define FILE_TYPE_H 1
+
+#include <stdbool.h>
+
+bool in_file_type (void);
+void cancel_file_type (void);
+
+#endif /* file-type.h */
}
used_active_file = true;
- assert (pgm_state != STATE_INPUT);
- if (pgm_state == STATE_INIT)
+ if (vfm_source == NULL)
{
msg (SE, _("Cannot specify the active file since no active "
"file has been defined."));
02110-1301, USA. */
#include <config.h>
-#include <libpspp/message.h>
+
+#include <language/data-io/inpt-pgm.h>
+
#include <float.h>
#include <stdlib.h>
-#include <libpspp/alloc.h>
+
#include <data/case.h>
+#include <data/dictionary.h>
+#include <data/variable.h>
#include <language/command.h>
-#include <libpspp/compiler.h>
#include <language/data-io/data-list.h>
#include <language/data-io/data-reader.h>
-#include <data/dictionary.h>
-#include <libpspp/message.h>
-#include <language/expressions/public.h>
#include <language/data-io/file-handle.h>
+#include <language/expressions/public.h>
#include <language/lexer/lexer.h>
+#include <libpspp/alloc.h>
+#include <libpspp/compiler.h>
+#include <libpspp/message.h>
+#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/str.h>
-#include <data/variable.h>
#include <procedure.h>
#include "gettext.h"
static trns_proc_func end_case_trns_proc, reread_trns_proc, end_file_trns_proc;
static trns_free_func reread_trns_free;
+static const struct case_source_class input_program_source_class;
+static bool inside_input_program;
-int
-cmd_input_program (void)
+/* Returns true if we're parsing the inside of a INPUT
+ PROGRAM...END INPUT PROGRAM construct, false otherwise. */
+bool
+in_input_program (void)
{
- discard_variables ();
-
- /* FIXME: we shouldn't do this here, but I'm afraid that other
- code will check the class of vfm_source. */
- vfm_source = create_case_source (&input_program_source_class, NULL);
-
- return lex_end_of_command ();
+ return inside_input_program;
}
int
-cmd_end_input_program (void)
+cmd_input_program (void)
{
struct input_program_pgm *inp;
size_t i;
- if (!case_source_is_class (vfm_source, &input_program_source_class))
+ discard_variables ();
+ if (token != '.')
+ return lex_end_of_command ();
+
+ inside_input_program = true;
+ for (;;)
{
- msg (SE, _("No matching INPUT PROGRAM command."));
- return CMD_CASCADING_FAILURE;
+ enum cmd_result result;
+ lex_get ();
+ result = cmd_parse (CMD_STATE_INPUT_PROGRAM);
+ if (result == CMD_END_SUBLOOP)
+ break;
+ if (result == CMD_EOF || result == CMD_QUIT || result == CMD_CASCADING_FAILURE)
+ {
+ if (result == CMD_EOF)
+ msg (SE, _("Unexpected end-of-file within INPUT PROGRAM."));
+ discard_variables ();
+ inside_input_program = false;
+ return result;
+ }
}
-
+ inside_input_program = false;
+
if (dict_get_next_value_idx (default_dict) == 0)
msg (SW, _("No data-input or transformation commands specified "
- "between INPUT PROGRAM and END INPUT PROGRAM."));
+ "between INPUT PROGRAM and END INPUT PROGRAM."));
/* Mark the boundary between INPUT PROGRAM transformations and
ordinary transformations. */
assert (inp->init[i] != -1);
inp->case_size = dict_get_case_size (default_dict);
- /* Put inp into vfm_source for later use. */
- vfm_source->aux = inp;
+ /* Create vfm_source. */
+ vfm_source = create_case_source (&input_program_source_class, inp);
- return lex_end_of_command ();
+ return CMD_SUCCESS;
+}
+
+int
+cmd_end_input_program (void)
+{
+ assert (in_input_program ());
+ return CMD_END_SUBLOOP;
}
/* Initializes case C. Called before the first case is read. */
}
}
-const struct case_source_class input_program_source_class =
+static const struct case_source_class input_program_source_class =
{
"INPUT PROGRAM",
NULL,
int
cmd_end_case (void)
{
- if (!case_source_is_class (vfm_source, &input_program_source_class))
- {
- msg (SE, _("This command may only be executed between INPUT PROGRAM "
- "and END INPUT PROGRAM."));
- return CMD_CASCADING_FAILURE;
- }
-
+ assert (in_input_program ());
add_transformation (end_case_trns_proc, NULL, NULL);
return lex_end_of_command ();
int
cmd_end_file (void)
{
- if (!case_source_is_class (vfm_source, &input_program_source_class))
- {
- msg (SE, _("This command may only be executed between INPUT PROGRAM "
- "and END INPUT PROGRAM."));
- return CMD_CASCADING_FAILURE;
- }
+ assert (in_input_program ());
add_transformation (end_file_trns_proc, NULL, NULL);
--- /dev/null
+/* PSPP - computes sample statistics.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+ Written by Ben Pfaff <blp@gnu.org>.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+#ifndef INPT_PGM_H
+#define INPT_PGM_H 1
+
+#include <stdbool.h>
+
+bool in_input_program (void);
+void cancel_input_program (void);
+
+#endif /* inpt-pgm.h */
break;
if (!parse_variables (default_dict, &v, &cv, PV_NUMERIC))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
type = v[0]->type;
if (!lex_match ('('))
fail:
free (v);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
struct variable **v;
size_t nv;
- int retval = CMD_PART_SUCCESS_MAYBE;
+ int retval = CMD_FAILURE;
bool deferred_errors = false;
while (token != '.')
done:
free (v);
if (deferred_errors)
- retval = CMD_PART_SUCCESS_MAYBE;
+ retval = CMD_FAILURE;
return retval;
}
do
{
if (!parse_DATA_LIST_vars (&v, &nv, PV_NONE))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
/* Get the optional format specification. */
if (lex_match ('('))
for (i = 0; i < nv; i++)
free (v[i]);
free (v);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
/* Parses the STRING command. */
do
{
if (!parse_DATA_LIST_vars (&v, &nv, PV_NONE))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
if (!lex_force_match ('(')
|| !parse_format_specifier (&f, 0))
for (i = 0; i < nv; i++)
free (v[i]);
free (v);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
/* Parses the LEAVE command. */
free (vars);
}
- if (token != '.')
- {
- lex_error (NULL);
- return CMD_TRAILING_GARBAGE;
- }
+ if (parse_err)
+ return CMD_FAILURE;
- return parse_err ? CMD_PART_SUCCESS_MAYBE : CMD_SUCCESS;
+ return lex_end_of_command ();
lossage:
free (vars);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
/* Verifies that none of the VAR_CNT variables in VARS are long
if (!parse_variables (default_dict, &v, &nv, PV_NONE))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
if ( lex_force_match('(') )
{
size_t i;
if (!parse_variables (default_dict, &v, &nv, PV_NONE))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
if ( lex_force_match('(') )
{
size_t i;
if (!parse_variables (default_dict, &v, &nv, PV_NONE))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
if ( lex_force_match('(') )
{
size_t i;
if (!parse_variables (default_dict, &v, &nv, PV_NONE))
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
if (token != T_STRING)
{
msg (SE, _("String expected for variable label."));
free (v);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
if (ds_length (&tokstr) > 255)
{
fail:
free (vecnames);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
+Wed Apr 26 13:30:41 2006 Ben Pfaff <blp@gnu.org>
+
+ * lexer.c: (lex_discard_rest_of_command) New function.
+
Mon Apr 24 14:12:08 2006 Ben Pfaff <blp@gnu.org>
* q2c.c: Use exit.h from gnulib instead of checking for and
if (token != '.')
{
lex_error (_("expecting end of command"));
- return CMD_TRAILING_GARBAGE;
+ return CMD_FAILURE;
}
else
return CMD_SUCCESS;
{
prog = p;
}
+
+/* Discards the rest of the current command.
+ When we're reading commands from a file, we skip tokens until
+ a terminal dot or EOF.
+ When we're reading commands interactively from the user,
+ that's just discarding the current line, because presumably
+ the user doesn't want to finish typing a command that will be
+ ignored anyway. */
+void
+lex_discard_rest_of_command (void)
+{
+ if (!getl_is_interactive ())
+ {
+ while (token != T_STOP && token != '.')
+ lex_get ();
+ }
+ else
+ lex_discard_line ();
+}
\f
/* Weird line reading functions. */
const char *lex_rest_of_line (int *end_dot);
void lex_discard_line (void);
void lex_set_prog (char *p);
+void lex_discard_rest_of_command (void);
/* Weird line reading functions. */
bool lex_get_line (void);
goto found;
}
lex_error (NULL);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
found: ;
}
else
{
lex_error (NULL);
- return CMD_PART_SUCCESS_MAYBE;
+ return CMD_FAILURE;
}
lex_match ('/');
|| !parse_dst_vars (trns))
{
recode_trns_free (trns);
- return CMD_PART_SUCCESS;
+ return CMD_FAILURE;
}
/* Ensure that all the output strings are at least as wide
}
}
-/* Returns nonzero if a case source is "complex". */
-int
-case_source_is_complex (const struct case_source *source)
-{
- return source != NULL && (source->class == &input_program_source_class
- || source->class == &file_type_source_class);
-}
-
/* Returns nonzero if CLASS is the class of SOURCE. */
int
case_source_is_class (const struct case_source *source,
process_if_expr = NULL;
cancel_temporary ();
-
- pgm_state = STATE_INIT;
}
};
extern const struct case_source_class storage_source_class;
-extern const struct case_source_class file_type_source_class;
-extern const struct case_source_class input_program_source_class;
struct dictionary;
struct case_source *create_case_source (const struct case_source_class *,
void *);
void free_case_source (struct case_source *);
-int case_source_is_complex (const struct case_source *);
int case_source_is_class (const struct case_source *,
const struct case_source_class *);
+Wed Apr 26 13:34:54 2006 Ben Pfaff <blp@gnu.org>
+
+ Improve command name completion in readline.
+
+ * read-line.c (readln_initialize): Set up readline to only break
+ words for completion at new-line. That way we can complete a
+ whole command name. Also, set rl_attempted_completion_function
+ instead of rl_completion_entry_function so we can disable
+ completing on file names, which is usually not what we want in
+ PSPP.
+
+Wed Apr 26 13:31:00 2006 Ben Pfaff <blp@gnu.org>
+
+ Improve the way we handle the various parsing "states". Until now
+ we've hard-coded the state transitions in the command definition
+ file, but that's error-prone and, worse, it's redundant--we can
+ figure out what state we're in anyhow. We can cleanly handle
+ INPUT PROGRAM and FILE TYPE with a nested command-processing loop.
+
+ * automake.mk (src_ui_terminal_pspp_LDADD): Move libui earlier to
+ avoid link errors.
+
+ * main.c (main): Handle new CMD_* results.
+ (execute_command) Move most per-command actions into cmd_parse().
+ (handle_error) Removed. cmd_parse() handles command failure.
+
Tue Apr 25 11:08:17 2006 Ben Pfaff <blp@gnu.org>
Finish reforming error message support. In this phase, move
src/procedure.h
src_ui_terminal_pspp_LDADD = \
+ $(top_builddir)/src/ui/terminal/libui.a \
$(top_builddir)/src/language/expressions/libexpressions.a \
$(top_builddir)/src/language/liblanguage.a \
$(top_builddir)/src/language/tests/libtests.a \
$(top_builddir)/src/output/liboutput.a \
$(top_builddir)/src/math/libpspp_math.a \
$(top_builddir)/src/math/linreg/libpspp_linreg.a \
- $(top_builddir)/src/ui/terminal/libui.a \
$(top_builddir)/lib/linreg/liblinreg.a \
$(top_builddir)/lib/gsl-extras/libgsl-extras.a \
$(top_builddir)/src/data/libdata.a \
#include "command-line.h"
#include "msg-ui.h"
#include "progname.h"
+#include "procedure.h"
#include "read-line.h"
#include <data/dictionary.h>
static void i18n_init (void);
static void fpu_init (void);
-static void handle_error (int code);
static int execute_command (void);
static void terminate (bool success) NO_RETURN;
for (;;)
{
- int retval;
-
- check_msg_count ();
-
- retval = execute_command ();
- if (retval == CMD_EOF)
+ int result = execute_command ();
+ if (result == CMD_EOF || result == CMD_QUIT)
break;
- if (retval != CMD_SUCCESS)
- handle_error (retval);
+ if (result == CMD_CASCADING_FAILURE && !getl_is_interactive ())
+ {
+ msg (SE, _("Stopping syntax file processing here to avoid "
+ "a cascade of dependent command failures."));
+ getl_abort_noninteractive ();
+ }
+ else
+ check_msg_count ();
}
}
terminate (!any_errors ());
}
-/* Parse and execute a command, returning its return code. */
+/* Parses a command and returns the result. */
static int
execute_command (void)
{
- int result;
-
/* Read the command's first token.
The first token is part of the first line of the command. */
getl_set_prompt_style (GETL_PROMPT_FIRST);
Any lines read after the first token must be continuation
lines. */
getl_set_prompt_style (GETL_PROMPT_LATER);
- result = cmd_parse ();
-
- /* Unset the /ALGORITHM subcommand if it was used */
- unset_cmd_algorithm ();
-
- /* Clear any auxiliary data from the dictionary. */
- dict_clear_aux (default_dict);
-
- return result;
-}
-
-/* Print an error message corresponding to the command return code
- CODE. */
-static void
-handle_error (int code)
-{
- if (code == CMD_CASCADING_FAILURE && !getl_is_interactive ())
- {
- msg (SW, _("This command not executed. Stopping here "
- "to avoid cascading failures."));
- getl_abort_noninteractive ();
- return;
- }
-
- switch (code)
- {
- case CMD_FAILURE:
- case CMD_CASCADING_FAILURE:
- msg (SW, _("This command not executed."));
- break;
-
- case CMD_PART_SUCCESS_MAYBE:
- msg (SW, _("Skipping the rest of this command. Part of "
- "this command may have been executed."));
- break;
-
- case CMD_PART_SUCCESS:
- msg (SW, _("Skipping the rest of this command. This "
- "command was fully executed up to this point."));
- break;
-
- case CMD_TRAILING_GARBAGE:
- msg (SW, _("Trailing garbage was encountered following "
- "this command. The command was fully executed "
- "to this point."));
- break;
-
- default:
- abort ();
- }
-
- if (!getl_is_interactive ())
- {
- while (token != T_STOP && token != '.')
- lex_get ();
- }
- else
- {
- msg (SW, _("The rest of this command has been discarded."));
- lex_discard_line ();
- }
+ return cmd_parse (vfm_source != NULL ? CMD_STATE_DATA : CMD_STATE_INITIAL);
}
\f
static void
{
initialised = true;
-#if HAVE_READLINE
- rl_completion_entry_function = pspp_completion_function;
+#if HAVE_READLINE
+ rl_basic_word_break_characters = "\n";
+ rl_attempted_completion_function = pspp_attempted_completion_function;
#ifdef unix
if (history_file == NULL)
{
+Wed Apr 26 13:36:42 2006 Ben Pfaff <blp@gnu.org>
+
+ * command/missing-values.sh: Update output to match behavior
+ changes.
+
Mon Apr 3 12:32:36 2006 Ben Pfaff <blp@gnu.org>
* Updated tests to match changes in output formatting.
activity="compare error messages"
diff -w $TEMPDIR/errs - <<EOF
$TEMPDIR/missing-values.stat:34: error: MISSING VALUES: Missing values provided are too long to assign to variable of width 3.
-$TEMPDIR/missing-values.stat:34: warning: Skipping the rest of this command. Part of this command may have been executed.
$TEMPDIR/missing-values.stat:37: error: MISSING VALUES: Syntax error expecting string at \`THRU'.
$TEMPDIR/missing-values.stat:37: error: MISSING VALUES: THRU is not a variable name.
-$TEMPDIR/missing-values.stat:37: warning: Skipping the rest of this command. Part of this command may have been executed.
$TEMPDIR/missing-values.stat:40: error: MISSING VALUES: Cannot mix numeric variables (e.g. num1) and string variables (e.g. str1) within a single list.
-$TEMPDIR/missing-values.stat:40: warning: Skipping the rest of this command. Part of this command may have been executed.
EOF
if [ $? -ne 0 ] ; then fail ; fi