Re-enabled saving of the current file.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 29 Jul 2006 05:57:26 +0000 (05:57 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 29 Jul 2006 05:57:26 +0000 (05:57 +0000)
po/de.po
po/pspp.pot
src/ui/gui/menu-actions.c
src/ui/gui/psppire-case-file.c
src/ui/gui/psppire-case-file.h
src/ui/gui/psppire-data-store.c

index 47c0180e2b8e6aaecfc01e7e55322db868783c93..dabaa739ce5e4da224715267c30e15d5990fbd6c 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.4.2\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
 msgstr ""
 "Project-Id-Version: PSPP 0.4.2\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-07-15 18:15+0800\n"
+"POT-Creation-Date: 2006-07-29 13:49+0800\n"
 "PO-Revision-Date: 2006-05-26 17:49+0800\n"
 "Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
 "Language-Team: German <pspp-dev@gnu.org>\n"
 "PO-Revision-Date: 2006-05-26 17:49+0800\n"
 "Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
 "Language-Team: German <pspp-dev@gnu.org>\n"
@@ -332,50 +332,52 @@ msgstr ""
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
 
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
 
-#: src/data/format.c:74
+#: src/data/format.c:98
 #, c-format
 #, c-format
-msgid "Format specifies a bad type (%d)"
+msgid "Format %s specifies an odd width %d, but an even width is required."
 msgstr ""
 
 msgstr ""
 
-#: src/data/format.c:85
+#: src/data/format.c:106
 #, c-format
 #, c-format
-msgid "Format %s specifies an odd width %d, but an even width is required."
+msgid ""
+"Format %s specifies a bad number of implied decimal places %d.  Format type %"
+"s allows up to 16 implied decimal places."
 msgstr ""
 
 msgstr ""
 
-#: src/data/format.c:93
+#: src/data/format.c:114
 #, c-format
 msgid ""
 #, c-format
 msgid ""
-"Format %s specifies a bad number of implied decimal places %d.  Input format "
-"%s allows up to 16 implied decimal places."
+"Format %s specifies %d decimal places, but format type %s does not allow for "
+"decimal places."
 msgstr ""
 
 msgstr ""
 
-#: src/data/format.c:122
+#: src/data/format.c:139
 #, c-format
 msgid "Format %s may not be used for input."
 msgstr ""
 
 #, c-format
 msgid "Format %s may not be used for input."
 msgstr ""
 
-#: src/data/format.c:128
+#: src/data/format.c:145
 #, c-format
 msgid ""
 "Input format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
 #, c-format
 msgid ""
 "Input format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/data/format.c:138
+#: src/data/format.c:155
 #, c-format
 msgid ""
 "Input format %s is invalid because it specifies more decimal places than the "
 "field width."
 msgstr ""
 
 #, c-format
 msgid ""
 "Input format %s is invalid because it specifies more decimal places than the "
 "field width."
 msgstr ""
 
-#: src/data/format.c:165
+#: src/data/format.c:179
 #, c-format
 msgid ""
 "Output format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
 #, c-format
 msgid ""
 "Output format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/data/format.c:175
+#: src/data/format.c:189
 #, c-format
 msgid ""
 "Output format %s is invalid because it specifies as many decimal places as "
 #, c-format
 msgid ""
 "Output format %s is invalid because it specifies as many decimal places as "
@@ -383,24 +385,24 @@ msgid ""
 "d instead."
 msgstr ""
 
 "d instead."
 msgstr ""
 
-#: src/data/format.c:197
+#: src/data/format.c:211
 #, c-format
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
 #, c-format
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
-#: src/data/format.c:198 src/data/por-file-reader.c:481
+#: src/data/format.c:212 src/data/por-file-reader.c:481
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1192 src/ui/gui/psppire-var-store.c:451
 msgid "String"
 msgstr "Zeichenkette"
 
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1192 src/ui/gui/psppire-var-store.c:451
 msgid "String"
 msgstr "Zeichenkette"
 
-#: src/data/format.c:198 src/data/por-file-reader.c:481
+#: src/data/format.c:212 src/data/por-file-reader.c:481
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1053 src/ui/gui/psppire-var-store.c:444
 msgid "Numeric"
 msgstr "Nummer"
 
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1053 src/ui/gui/psppire-var-store.c:444
 msgid "Numeric"
 msgstr "Nummer"
 
-#: src/data/format.c:199 src/data/sys-file-reader.c:1222
+#: src/data/format.c:213 src/data/sys-file-reader.c:1222
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
@@ -408,7 +410,7 @@ msgstr "Nummer"
 msgid "numeric"
 msgstr "numerisch"
 
 msgid "numeric"
 msgstr "numerisch"
 
-#: src/data/format.c:199 src/data/sys-file-reader.c:1222
+#: src/data/format.c:213 src/data/sys-file-reader.c:1222
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/data/variable.c:50
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/data/variable.c:50
 #: src/language/dictionary/apply-dictionary.c:76
@@ -417,7 +419,7 @@ msgstr "numerisch"
 msgid "string"
 msgstr "kette"
 
 msgid "string"
 msgstr "kette"
 
-#: src/data/format.c:218
+#: src/data/format.c:232
 #, c-format
 msgid "String variable with width %d not compatible with format %s."
 msgstr ""
 #, c-format
 msgid "String variable with width %d not compatible with format %s."
 msgstr ""
@@ -1062,9 +1064,9 @@ msgid "Error executing command: %s."
 msgstr ""
 
 #: src/language/command.c:799 src/language/data-io/matrix-data.c:539
 msgstr ""
 
 #: src/language/command.c:799 src/language/data-io/matrix-data.c:539
-#: src/language/data-io/print.c:342 src/language/data-io/print.c:1040
-#: src/language/dictionary/vector.c:201 src/language/lexer/lexer.c:453
-#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:62
+#: src/language/data-io/print-space.c:76 src/language/dictionary/vector.c:201
+#: src/language/lexer/lexer.c:453 src/language/stats/autorecode.c:154
+#: src/language/xforms/select-if.c:62
 msgid "expecting end of command"
 msgstr ""
 
 msgid "expecting end of command"
 msgstr ""
 
@@ -1127,140 +1129,88 @@ msgid ""
 "commands."
 msgstr ""
 
 "commands."
 msgstr ""
 
-#: src/language/data-io/data-list.c:154
+#: src/language/data-io/data-list.c:162
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
-#: src/language/data-io/data-list.c:189
+#: src/language/data-io/data-list.c:197
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
-#: src/language/data-io/data-list.c:338 src/language/data-io/print.c:303
-#, c-format
-msgid ""
-"The record number specified, %ld, is before the previous record, %d.  Data "
-"fields must be listed in order of increasing record number."
-msgstr ""
-
-#: src/language/data-io/data-list.c:367
-msgid ""
-"SPSS-like or FORTRAN-like format specification expected after variable names."
-msgstr ""
-
-#: src/language/data-io/data-list.c:378
-msgid "At least one variable must be specified."
-msgstr ""
-
-#: src/language/data-io/data-list.c:383 src/language/data-io/print.c:335
-msgid ""
-"Variables are specified on records that should not exist according to "
-"RECORDS subcommand."
-msgstr ""
-
-#: src/language/data-io/data-list.c:416 src/language/data-io/data-list.c:430
-#: src/language/data-io/print.c:527 src/language/data-io/print.c:540
-msgid "Column positions for fields must be positive."
-msgstr ""
-
-#: src/language/data-io/data-list.c:435
-msgid "The ending column for a field must be greater than the starting column."
-msgstr ""
-
-#: src/language/data-io/data-list.c:449
-#, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %d fields."
-msgstr ""
-
-#: src/language/data-io/data-list.c:469 src/language/data-io/print.c:568
-msgid "A format specifier on this line has extra characters on the end."
-msgstr ""
-
-#: src/language/data-io/data-list.c:484 src/language/data-io/print.c:584
-msgid "The value for number of decimal places must be at least 1."
-msgstr ""
-
-#: src/language/data-io/data-list.c:498 src/language/data-io/print.c:597
-#, c-format
-msgid "Input format %s doesn't accept decimal places."
-msgstr ""
-
-#: src/language/data-io/data-list.c:543 src/language/data-io/data-list.c:639
-#: src/language/data-io/data-list.c:844
+#: src/language/data-io/data-list.c:336 src/language/data-io/data-list.c:471
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
-#: src/language/data-io/data-list.c:548
+#: src/language/data-io/data-list.c:343
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
-#: src/language/data-io/data-list.c:555
+#: src/language/data-io/data-list.c:350
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
-#: src/language/data-io/data-list.c:630
-msgid ""
-"The number of format specifications exceeds the given number of variable "
-"names."
+#: src/language/data-io/data-list.c:371
+msgid "At least one variable must be specified."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/data-list.c:740 src/language/data-io/print.c:773
+#: src/language/data-io/data-list.c:378
 msgid ""
 msgid ""
-"There aren't enough format specifications to match the number of variable "
-"names given."
+"Variables are specified on records that should not exist according to "
+"RECORDS subcommand."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/data-list.c:767 src/language/data-io/data-list.c:882
-#: src/language/data-io/print.c:804 src/language/dictionary/split-file.c:84
+#: src/language/data-io/data-list.c:403 src/language/data-io/data-list.c:503
+#: src/language/data-io/print.c:368 src/language/dictionary/split-file.c:84
 #: src/language/dictionary/sys-file-info.c:144
 #: src/language/dictionary/sys-file-info.c:378
 #: src/language/stats/descriptives.c:894
 msgid "Variable"
 msgstr ""
 
 #: src/language/dictionary/sys-file-info.c:144
 #: src/language/dictionary/sys-file-info.c:378
 #: src/language/stats/descriptives.c:894
 msgid "Variable"
 msgstr ""
 
-#: src/language/data-io/data-list.c:768 src/language/data-io/print.c:805
+#: src/language/data-io/data-list.c:404 src/language/data-io/print.c:369
 msgid "Record"
 msgstr ""
 
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:769 src/language/data-io/print.c:806
+#: src/language/data-io/data-list.c:405 src/language/data-io/print.c:370
 #: src/ui/gui/var-sheet.c:78
 msgid "Columns"
 msgstr "Spalten"
 
 #: src/ui/gui/var-sheet.c:78
 msgid "Columns"
 msgstr "Spalten"
 
-#: src/language/data-io/data-list.c:770 src/language/data-io/data-list.c:883
-#: src/language/data-io/print.c:807
+#: src/language/data-io/data-list.c:406 src/language/data-io/data-list.c:504
+#: src/language/data-io/print.c:371
 msgid "Format"
 msgstr ""
 
 msgid "Format"
 msgstr ""
 
-#: src/language/data-io/data-list.c:785
+#: src/language/data-io/data-list.c:422
 #, c-format
 msgid "Reading %d record from %s."
 msgid_plural "Reading %d records from %s."
 msgstr[0] ""
 msgstr[1] ""
 
 #, c-format
 msgid "Reading %d record from %s."
 msgid_plural "Reading %d records from %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/data-list.c:898
+#: src/language/data-io/data-list.c:517
 #, c-format
 msgid "Reading free-form data from %s."
 msgstr ""
 
 #, c-format
 msgid "Reading free-form data from %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:944
+#: src/language/data-io/data-list.c:563
 msgid "Quoted string extends beyond end of line."
 msgstr ""
 
 msgid "Quoted string extends beyond end of line."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1028
+#: src/language/data-io/data-list.c:648
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1076
+#: src/language/data-io/data-list.c:697
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1112
+#: src/language/data-io/data-list.c:733
 #, c-format
 msgid ""
 "Missing value(s) for all variables from %s onward.  These will be filled "
 #, c-format
 msgid ""
 "Missing value(s) for all variables from %s onward.  These will be filled "
@@ -1367,7 +1317,7 @@ msgstr ""
 msgid "expecting %s or %s"
 msgstr ""
 
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:606 src/language/data-io/print.c:186
+#: src/language/data-io/get.c:606 src/language/data-io/print.c:174
 msgid "expecting a valid subcommand"
 msgstr ""
 
 msgid "expecting a valid subcommand"
 msgstr ""
 
@@ -1688,70 +1638,70 @@ msgstr ""
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
-#: src/language/data-io/print.c:372 src/language/data-io/print.c:389
+#: src/language/data-io/placement-parser.c:88
 #, c-format
 #, c-format
-msgid "%g is not a valid column location."
+msgid ""
+"Number of variables specified (%d) differs from number of variable formats (%"
+"d)."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:383
-#, c-format
-msgid "Column location expected following `%d-'."
+#: src/language/data-io/placement-parser.c:98
+msgid ""
+"SPSS-like or Fortran-like format specification expected after variable names."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:394
+#: src/language/data-io/placement-parser.c:120
 #, c-format
 #, c-format
-msgid ""
-"%d-%ld is not a valid column range.  The second column must be greater than "
-"or equal to the first."
+msgid "The %d columns %d-%d can't be evenly divided into %d fields."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:495
+#: src/language/data-io/placement-parser.c:226
+#: src/language/lexer/format-parser.c:110
+#: src/language/lexer/format-parser.c:129
 #, c-format
 #, c-format
-msgid "Variable %s has width %d so it cannot be output as format %s."
+msgid "Unknown format type \"%s\"."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:515
-#, c-format
-msgid ""
-"%s is not of the same type as %s.  To specify variables of different types "
-"in the same variable list, use a FORTRAN-like format specifier."
+#: src/language/data-io/placement-parser.c:310
+#: src/language/data-io/placement-parser.c:324
+msgid "Column positions for fields must be positive."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:545
-msgid ""
-"The ending column for a field must not be less than the starting column."
+#: src/language/data-io/placement-parser.c:329
+msgid "The ending column for a field must be greater than the starting column."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:617
+#: src/language/data-io/placement-parser.c:364
 #, c-format
 #, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %u fields."
+msgid ""
+"The record number specified, %ld, is at or before the previous record, %d.  "
+"Data fields must be listed in order of increasing record number."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:694
-msgid ""
-"The number of format specifications exceeds the number of variable names "
-"given."
+#: src/language/data-io/print.c:246
+#, c-format
+msgid "Output calls for %d records but %d specified on RECORDS subcommand."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:846
+#: src/language/data-io/print.c:400
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:850
+#: src/language/data-io/print.c:404
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:1080
+#: src/language/data-io/print-space.c:116
 msgid "The expression on PRINT SPACE evaluated to the system-missing value."
 msgstr ""
 
 msgid "The expression on PRINT SPACE evaluated to the system-missing value."
 msgstr ""
 
-#: src/language/data-io/print.c:1083
+#: src/language/data-io/print-space.c:119
 #, c-format
 msgid "The expression on PRINT SPACE evaluated to %g."
 msgstr ""
 #, c-format
 msgid "The expression on PRINT SPACE evaluated to %g."
 msgstr ""
@@ -1776,11 +1726,11 @@ msgstr ""
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
-#: src/language/dictionary/formats.c:91
+#: src/language/dictionary/formats.c:92
 msgid "`(' expected after variable list"
 msgstr ""
 
 msgid "`(' expected after variable list"
 msgstr ""
 
-#: src/language/dictionary/formats.c:101 src/language/dictionary/numeric.c:70
+#: src/language/dictionary/formats.c:102 src/language/dictionary/numeric.c:71
 #: src/language/dictionary/numeric.c:141
 msgid "`)' expected after output format."
 msgstr ""
 #: src/language/dictionary/numeric.c:141
 msgid "`)' expected after output format."
 msgstr ""
@@ -1879,12 +1829,12 @@ msgstr ""
 msgid "`/' or `.' expected."
 msgstr ""
 
 msgid "`/' or `.' expected."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:63
+#: src/language/dictionary/numeric.c:64
 #, c-format
 msgid "Format type %s may not be used with a numeric variable."
 msgstr ""
 
 #, c-format
 msgid "Format type %s may not be used with a numeric variable."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:82 src/language/dictionary/numeric.c:163
+#: src/language/dictionary/numeric.c:83 src/language/dictionary/numeric.c:163
 #: src/language/dictionary/vector.c:163
 #, c-format
 msgid "There is already a variable named %s."
 #: src/language/dictionary/vector.c:163
 #, c-format
 msgid "There is already a variable named %s."
@@ -2181,24 +2131,24 @@ msgid ""
 "system-missing."
 msgstr ""
 
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/parse.c:255
+#: src/language/expressions/parse.c:256
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:267
+#: src/language/expressions/parse.c:268
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:408
+#: src/language/expressions/parse.c:409
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:613
+#: src/language/expressions/parse.c:614
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -2206,128 +2156,108 @@ msgid ""
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:712
+#: src/language/expressions/parse.c:713
 msgid ""
 "The exponentiation operator (\"**\") is left-associative, even though right-"
 "associative semantics are more useful.  That is, \"a**b**c\" equals \"(a**b)"
 "**c\", not as \"a**(b**c)\".  To disable this warning, insert parentheses."
 msgstr ""
 
 msgid ""
 "The exponentiation operator (\"**\") is left-associative, even though right-"
 "associative semantics are more useful.  That is, \"a**b**c\" equals \"(a**b)"
 "**c\", not as \"a**(b**c)\".  To disable this warning, insert parentheses."
 msgstr ""
 
-#: src/language/expressions/parse.c:777
+#: src/language/expressions/parse.c:778
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:819
+#: src/language/expressions/parse.c:826
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:847 src/language/stats/aggregate.c:503
+#: src/language/expressions/parse.c:854 src/language/stats/aggregate.c:503
 msgid "expecting `)'"
 msgstr ""
 
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:854
+#: src/language/expressions/parse.c:861
 msgid "in expression"
 msgstr ""
 
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1030
+#: src/language/expressions/parse.c:1037
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1039
+#: src/language/expressions/parse.c:1046
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1042
+#: src/language/expressions/parse.c:1049
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1052
+#: src/language/expressions/parse.c:1059
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1061
+#: src/language/expressions/parse.c:1068
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1067
+#: src/language/expressions/parse.c:1074
 #, c-format
 msgid ""
 "With %s, using minimum valid argument count of %d does not make sense when "
 "passing only %d arguments in list."
 msgstr ""
 
 #, c-format
 msgid ""
 "With %s, using minimum valid argument count of %d does not make sense when "
 "passing only %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1121
+#: src/language/expressions/parse.c:1128
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1126
+#: src/language/expressions/parse.c:1133
 msgid "Function invocation "
 msgstr ""
 
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1128
+#: src/language/expressions/parse.c:1135
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1158
+#: src/language/expressions/parse.c:1165
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1200
+#: src/language/expressions/parse.c:1207
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1220
+#: src/language/expressions/parse.c:1227
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1223 src/ui/terminal/command-line.c:127
+#: src/language/expressions/parse.c:1230 src/ui/terminal/command-line.c:127
 #: src/ui/terminal/command-line.c:146 src/ui/terminal/command-line.c:158
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
 
 #: src/ui/terminal/command-line.c:146 src/ui/terminal/command-line.c:158
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
 
-#: src/language/expressions/parse.c:1228
+#: src/language/expressions/parse.c:1235
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
-#: src/language/lexer/format-parser.c:66
-msgid "X and T format specifiers not allowed here."
+#: src/language/lexer/format-parser.c:91
+msgid "expecting valid format specifier"
 msgstr ""
 
 msgstr ""
 
-#: src/language/lexer/format-parser.c:74
-#, c-format
-msgid "%.*s is not a valid data format."
-msgstr ""
-
-#: src/language/lexer/format-parser.c:115
-msgid "Format specifier expected."
-msgstr ""
-
-#: src/language/lexer/format-parser.c:127
-#, c-format
-msgid "Data format %s does not specify a width."
-msgstr ""
-
-#: src/language/lexer/format-parser.c:133
-#, c-format
-msgid "String variable width may not exceed %d"
-msgstr ""
-
-#: src/language/lexer/format-parser.c:150
-#, c-format
-msgid "Data format %s is not valid."
+#: src/language/lexer/format-parser.c:124
+msgid "expecting format type"
 msgstr ""
 
 #: src/language/lexer/lexer.c:264
 msgstr ""
 
 #: src/language/lexer/lexer.c:264
@@ -2460,41 +2390,41 @@ msgstr ""
 msgid "%s is not a variable name."
 msgstr ""
 
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:151
+#: src/language/lexer/variable-parser.c:174
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:154
+#: src/language/lexer/variable-parser.c:177
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:158
+#: src/language/lexer/variable-parser.c:181
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:161
+#: src/language/lexer/variable-parser.c:184
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from list."
 msgstr ""
 
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:166
+#: src/language/lexer/variable-parser.c:189
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:271
+#: src/language/lexer/variable-parser.c:294
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:280
+#: src/language/lexer/variable-parser.c:303
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2502,19 +2432,19 @@ msgid ""
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:353
+#: src/language/lexer/variable-parser.c:376
 msgid "incorrect use of TO convention"
 msgstr ""
 
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:396
+#: src/language/lexer/variable-parser.c:419
 msgid "Scratch variables not allowed here."
 msgstr ""
 
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:418
+#: src/language/lexer/variable-parser.c:441
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:423
+#: src/language/lexer/variable-parser.c:446
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -3612,129 +3542,129 @@ msgstr ""
 msgid "Cannot change mode of %s: %s"
 msgstr ""
 
 msgid "Cannot change mode of %s: %s"
 msgstr ""
 
-#: src/language/utilities/set.q:174 src/language/utilities/set.q:176
-#: src/language/utilities/set.q:178 src/language/utilities/set.q:180
-#: src/language/utilities/set.q:182 src/language/utilities/set.q:184
-#: src/language/utilities/set.q:186 src/language/utilities/set.q:188
-#: src/language/utilities/set.q:190
+#: src/language/utilities/set.q:175 src/language/utilities/set.q:177
+#: src/language/utilities/set.q:179 src/language/utilities/set.q:181
+#: src/language/utilities/set.q:183 src/language/utilities/set.q:185
+#: src/language/utilities/set.q:187 src/language/utilities/set.q:189
+#: src/language/utilities/set.q:191
 #, c-format
 msgid "%s is obsolete."
 msgstr ""
 
 #, c-format
 msgid "%s is obsolete."
 msgstr ""
 
-#: src/language/utilities/set.q:193
+#: src/language/utilities/set.q:194
 #, c-format
 msgid "%s is not implemented."
 msgstr ""
 
 #, c-format
 msgid "%s is not implemented."
 msgstr ""
 
-#: src/language/utilities/set.q:196
+#: src/language/utilities/set.q:197
 msgid "Active file compression is not implemented."
 msgstr ""
 
 msgid "Active file compression is not implemented."
 msgstr ""
 
-#: src/language/utilities/set.q:271
+#: src/language/utilities/set.q:272
 #, c-format
 msgid ""
 "CC%c: Custom currency string `%s' does not contain exactly three periods or "
 "commas (not both)."
 msgstr ""
 
 #, c-format
 msgid ""
 "CC%c: Custom currency string `%s' does not contain exactly three periods or "
 "commas (not both)."
 msgstr ""
 
-#: src/language/utilities/set.q:323
+#: src/language/utilities/set.q:324
 msgid "EPOCH must be 1500 or later."
 msgstr ""
 
 msgid "EPOCH must be 1500 or later."
 msgstr ""
 
-#: src/language/utilities/set.q:330
+#: src/language/utilities/set.q:331
 msgid "expecting AUTOMATIC or year"
 msgstr ""
 
 msgid "expecting AUTOMATIC or year"
 msgstr ""
 
-#: src/language/utilities/set.q:351
+#: src/language/utilities/set.q:352
 msgid "LENGTH must be at least 1."
 msgstr ""
 
 msgid "LENGTH must be at least 1."
 msgstr ""
 
-#: src/language/utilities/set.q:395
+#: src/language/utilities/set.q:396
 msgid "WIDTH must be at least 40."
 msgstr ""
 
 msgid "WIDTH must be at least 40."
 msgstr ""
 
-#: src/language/utilities/set.q:417
+#: src/language/utilities/set.q:418
 #, c-format
 msgid ""
 "FORMAT requires numeric output format as an argument.  Specified format %s "
 "is of type string."
 msgstr ""
 
 #, c-format
 msgid ""
 "FORMAT requires numeric output format as an argument.  Specified format %s "
 "is of type string."
 msgstr ""
 
-#: src/language/utilities/set.q:474
+#: src/language/utilities/set.q:475
 msgid "BLANKS is SYSMIS."
 msgstr ""
 
 msgid "BLANKS is SYSMIS."
 msgstr ""
 
-#: src/language/utilities/set.q:476
+#: src/language/utilities/set.q:477
 #, c-format
 msgid "BLANKS is %g."
 msgstr ""
 
 #, c-format
 msgid "BLANKS is %g."
 msgstr ""
 
-#: src/language/utilities/set.q:508
+#: src/language/utilities/set.q:509
 #, c-format
 msgid "CC%c is \"%s\"."
 msgstr ""
 
 #, c-format
 msgid "CC%c is \"%s\"."
 msgstr ""
 
-#: src/language/utilities/set.q:545
+#: src/language/utilities/set.q:546
 #, c-format
 msgid "DECIMAL is \"%c\"."
 msgstr ""
 
 #, c-format
 msgid "DECIMAL is \"%c\"."
 msgstr ""
 
-#: src/language/utilities/set.q:551
+#: src/language/utilities/set.q:552
 #, c-format
 msgid "ENDCMD is \"%c\"."
 msgstr ""
 
 #, c-format
 msgid "ENDCMD is \"%c\"."
 msgstr ""
 
-#: src/language/utilities/set.q:557
+#: src/language/utilities/set.q:558
 #, c-format
 msgid "FORMAT is %s."
 msgstr ""
 
 #, c-format
 msgid "FORMAT is %s."
 msgstr ""
 
-#: src/language/utilities/set.q:563
+#: src/language/utilities/set.q:564
 #, c-format
 msgid "LENGTH is %d."
 msgstr ""
 
 #, c-format
 msgid "LENGTH is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:569
+#: src/language/utilities/set.q:570
 #, c-format
 msgid "MXERRS is %d."
 msgstr ""
 
 #, c-format
 msgid "MXERRS is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:575
+#: src/language/utilities/set.q:576
 #, c-format
 msgid "MXLOOPS is %d."
 msgstr ""
 
 #, c-format
 msgid "MXLOOPS is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:581
+#: src/language/utilities/set.q:582
 #, c-format
 msgid "MXWARNS is %d."
 msgstr ""
 
 #, c-format
 msgid "MXWARNS is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:588
+#: src/language/utilities/set.q:589
 msgid "SCOMPRESSION is ON."
 msgstr ""
 
 msgid "SCOMPRESSION is ON."
 msgstr ""
 
-#: src/language/utilities/set.q:590
+#: src/language/utilities/set.q:591
 msgid "SCOMPRESSION is OFF."
 msgstr ""
 
 msgid "SCOMPRESSION is OFF."
 msgstr ""
 
-#: src/language/utilities/set.q:597
+#: src/language/utilities/set.q:598
 msgid "UNDEFINED is WARN."
 msgstr ""
 
 msgid "UNDEFINED is WARN."
 msgstr ""
 
-#: src/language/utilities/set.q:599
+#: src/language/utilities/set.q:600
 msgid "UNDEFINED is NOWARN."
 msgstr ""
 
 msgid "UNDEFINED is NOWARN."
 msgstr ""
 
-#: src/language/utilities/set.q:607
+#: src/language/utilities/set.q:608
 msgid "WEIGHT is off."
 msgstr ""
 
 msgid "WEIGHT is off."
 msgstr ""
 
-#: src/language/utilities/set.q:609
+#: src/language/utilities/set.q:610
 #, c-format
 msgid "WEIGHT is variable %s."
 msgstr ""
 
 #, c-format
 msgid "WEIGHT is variable %s."
 msgstr ""
 
-#: src/language/utilities/set.q:615
+#: src/language/utilities/set.q:616
 #, c-format
 msgid "WIDTH is %d."
 msgstr ""
 #, c-format
 msgid "WIDTH is %d."
 msgstr ""
@@ -4320,11 +4250,11 @@ msgstr "Falshe Spannweitebeschreibung"
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr "Es gibt noch nicht kein Helpsysteme. Schade!"
 
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr "Es gibt noch nicht kein Helpsysteme. Schade!"
 
-#: src/ui/gui/psppire-data-store.c:695
+#: src/ui/gui/psppire-data-store.c:699
 msgid "var"
 msgstr ""
 
 msgid "var"
 msgstr ""
 
-#: src/ui/gui/psppire-data-store.c:779 src/ui/gui/psppire-var-store.c:518
+#: src/ui/gui/psppire-data-store.c:780 src/ui/gui/psppire-var-store.c:518
 #: src/ui/gui/psppire-var-store.c:528 src/ui/gui/psppire-var-store.c:538
 #: src/ui/gui/psppire-var-store.c:735
 #, c-format
 #: src/ui/gui/psppire-var-store.c:528 src/ui/gui/psppire-var-store.c:538
 #: src/ui/gui/psppire-var-store.c:735
 #, c-format
index add94089e094af2230ea7bea6c4e3eacd05d89a9..18743805d207ce376a33f5e333cf192be6feeebd 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2006-07-15 18:15+0800\n"
+"POT-Creation-Date: 2006-07-29 13:49+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -331,50 +331,52 @@ msgstr ""
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
 
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
 
-#: src/data/format.c:74
+#: src/data/format.c:98
 #, c-format
 #, c-format
-msgid "Format specifies a bad type (%d)"
+msgid "Format %s specifies an odd width %d, but an even width is required."
 msgstr ""
 
 msgstr ""
 
-#: src/data/format.c:85
+#: src/data/format.c:106
 #, c-format
 #, c-format
-msgid "Format %s specifies an odd width %d, but an even width is required."
+msgid ""
+"Format %s specifies a bad number of implied decimal places %d.  Format type %"
+"s allows up to 16 implied decimal places."
 msgstr ""
 
 msgstr ""
 
-#: src/data/format.c:93
+#: src/data/format.c:114
 #, c-format
 msgid ""
 #, c-format
 msgid ""
-"Format %s specifies a bad number of implied decimal places %d.  Input format "
-"%s allows up to 16 implied decimal places."
+"Format %s specifies %d decimal places, but format type %s does not allow for "
+"decimal places."
 msgstr ""
 
 msgstr ""
 
-#: src/data/format.c:122
+#: src/data/format.c:139
 #, c-format
 msgid "Format %s may not be used for input."
 msgstr ""
 
 #, c-format
 msgid "Format %s may not be used for input."
 msgstr ""
 
-#: src/data/format.c:128
+#: src/data/format.c:145
 #, c-format
 msgid ""
 "Input format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
 #, c-format
 msgid ""
 "Input format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/data/format.c:138
+#: src/data/format.c:155
 #, c-format
 msgid ""
 "Input format %s is invalid because it specifies more decimal places than the "
 "field width."
 msgstr ""
 
 #, c-format
 msgid ""
 "Input format %s is invalid because it specifies more decimal places than the "
 "field width."
 msgstr ""
 
-#: src/data/format.c:165
+#: src/data/format.c:179
 #, c-format
 msgid ""
 "Output format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
 #, c-format
 msgid ""
 "Output format %s specifies a bad width %d.  Format %s requires a width "
 "between %d and %d."
 msgstr ""
 
-#: src/data/format.c:175
+#: src/data/format.c:189
 #, c-format
 msgid ""
 "Output format %s is invalid because it specifies as many decimal places as "
 #, c-format
 msgid ""
 "Output format %s is invalid because it specifies as many decimal places as "
@@ -382,24 +384,24 @@ msgid ""
 "d instead."
 msgstr ""
 
 "d instead."
 msgstr ""
 
-#: src/data/format.c:197
+#: src/data/format.c:211
 #, c-format
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
 #, c-format
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
-#: src/data/format.c:198 src/data/por-file-reader.c:481
+#: src/data/format.c:212 src/data/por-file-reader.c:481
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1192 src/ui/gui/psppire-var-store.c:451
 msgid "String"
 msgstr ""
 
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1192 src/ui/gui/psppire-var-store.c:451
 msgid "String"
 msgstr ""
 
-#: src/data/format.c:198 src/data/por-file-reader.c:481
+#: src/data/format.c:212 src/data/por-file-reader.c:481
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1053 src/ui/gui/psppire-var-store.c:444
 msgid "Numeric"
 msgstr ""
 
 #: src/data/sys-file-reader.c:1220 src/data/sys-file-reader.c:1229
 #: src/ui/gui/psppire.glade:1053 src/ui/gui/psppire-var-store.c:444
 msgid "Numeric"
 msgstr ""
 
-#: src/data/format.c:199 src/data/sys-file-reader.c:1222
+#: src/data/format.c:213 src/data/sys-file-reader.c:1222
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
@@ -407,7 +409,7 @@ msgstr ""
 msgid "numeric"
 msgstr ""
 
 msgid "numeric"
 msgstr ""
 
-#: src/data/format.c:199 src/data/sys-file-reader.c:1222
+#: src/data/format.c:213 src/data/sys-file-reader.c:1222
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/data/variable.c:50
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/data/sys-file-reader.c:1367 src/data/sys-file-reader.c:1368
 #: src/data/variable.c:42 src/data/variable.c:50
 #: src/language/dictionary/apply-dictionary.c:76
@@ -416,7 +418,7 @@ msgstr ""
 msgid "string"
 msgstr ""
 
 msgid "string"
 msgstr ""
 
-#: src/data/format.c:218
+#: src/data/format.c:232
 #, c-format
 msgid "String variable with width %d not compatible with format %s."
 msgstr ""
 #, c-format
 msgid "String variable with width %d not compatible with format %s."
 msgstr ""
@@ -1061,9 +1063,9 @@ msgid "Error executing command: %s."
 msgstr ""
 
 #: src/language/command.c:799 src/language/data-io/matrix-data.c:539
 msgstr ""
 
 #: src/language/command.c:799 src/language/data-io/matrix-data.c:539
-#: src/language/data-io/print.c:342 src/language/data-io/print.c:1040
-#: src/language/dictionary/vector.c:201 src/language/lexer/lexer.c:453
-#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:62
+#: src/language/data-io/print-space.c:76 src/language/dictionary/vector.c:201
+#: src/language/lexer/lexer.c:453 src/language/stats/autorecode.c:154
+#: src/language/xforms/select-if.c:62
 msgid "expecting end of command"
 msgstr ""
 
 msgid "expecting end of command"
 msgstr ""
 
@@ -1126,140 +1128,88 @@ msgid ""
 "commands."
 msgstr ""
 
 "commands."
 msgstr ""
 
-#: src/language/data-io/data-list.c:154
+#: src/language/data-io/data-list.c:162
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
 msgid "The END subcommand may only be specified once."
 msgstr ""
 
-#: src/language/data-io/data-list.c:189
+#: src/language/data-io/data-list.c:197
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
 msgid "Only one of FIXED, FREE, or LIST may be specified."
 msgstr ""
 
-#: src/language/data-io/data-list.c:338 src/language/data-io/print.c:303
-#, c-format
-msgid ""
-"The record number specified, %ld, is before the previous record, %d.  Data "
-"fields must be listed in order of increasing record number."
-msgstr ""
-
-#: src/language/data-io/data-list.c:367
-msgid ""
-"SPSS-like or FORTRAN-like format specification expected after variable names."
-msgstr ""
-
-#: src/language/data-io/data-list.c:378
-msgid "At least one variable must be specified."
-msgstr ""
-
-#: src/language/data-io/data-list.c:383 src/language/data-io/print.c:335
-msgid ""
-"Variables are specified on records that should not exist according to "
-"RECORDS subcommand."
-msgstr ""
-
-#: src/language/data-io/data-list.c:416 src/language/data-io/data-list.c:430
-#: src/language/data-io/print.c:527 src/language/data-io/print.c:540
-msgid "Column positions for fields must be positive."
-msgstr ""
-
-#: src/language/data-io/data-list.c:435
-msgid "The ending column for a field must be greater than the starting column."
-msgstr ""
-
-#: src/language/data-io/data-list.c:449
-#, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %d fields."
-msgstr ""
-
-#: src/language/data-io/data-list.c:469 src/language/data-io/print.c:568
-msgid "A format specifier on this line has extra characters on the end."
-msgstr ""
-
-#: src/language/data-io/data-list.c:484 src/language/data-io/print.c:584
-msgid "The value for number of decimal places must be at least 1."
-msgstr ""
-
-#: src/language/data-io/data-list.c:498 src/language/data-io/print.c:597
-#, c-format
-msgid "Input format %s doesn't accept decimal places."
-msgstr ""
-
-#: src/language/data-io/data-list.c:543 src/language/data-io/data-list.c:639
-#: src/language/data-io/data-list.c:844
+#: src/language/data-io/data-list.c:336 src/language/data-io/data-list.c:471
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
 #, c-format
 msgid "%s is a duplicate variable name."
 msgstr ""
 
-#: src/language/data-io/data-list.c:548
+#: src/language/data-io/data-list.c:343
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
 #, c-format
 msgid "There is already a variable %s of a different type."
 msgstr ""
 
-#: src/language/data-io/data-list.c:555
+#: src/language/data-io/data-list.c:350
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
 #, c-format
 msgid "There is already a string variable %s of a different width."
 msgstr ""
 
-#: src/language/data-io/data-list.c:630
-msgid ""
-"The number of format specifications exceeds the given number of variable "
-"names."
+#: src/language/data-io/data-list.c:371
+msgid "At least one variable must be specified."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/data-list.c:740 src/language/data-io/print.c:773
+#: src/language/data-io/data-list.c:378
 msgid ""
 msgid ""
-"There aren't enough format specifications to match the number of variable "
-"names given."
+"Variables are specified on records that should not exist according to "
+"RECORDS subcommand."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/data-list.c:767 src/language/data-io/data-list.c:882
-#: src/language/data-io/print.c:804 src/language/dictionary/split-file.c:84
+#: src/language/data-io/data-list.c:403 src/language/data-io/data-list.c:503
+#: src/language/data-io/print.c:368 src/language/dictionary/split-file.c:84
 #: src/language/dictionary/sys-file-info.c:144
 #: src/language/dictionary/sys-file-info.c:378
 #: src/language/stats/descriptives.c:894
 msgid "Variable"
 msgstr ""
 
 #: src/language/dictionary/sys-file-info.c:144
 #: src/language/dictionary/sys-file-info.c:378
 #: src/language/stats/descriptives.c:894
 msgid "Variable"
 msgstr ""
 
-#: src/language/data-io/data-list.c:768 src/language/data-io/print.c:805
+#: src/language/data-io/data-list.c:404 src/language/data-io/print.c:369
 msgid "Record"
 msgstr ""
 
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:769 src/language/data-io/print.c:806
+#: src/language/data-io/data-list.c:405 src/language/data-io/print.c:370
 #: src/ui/gui/var-sheet.c:78
 msgid "Columns"
 msgstr ""
 
 #: src/ui/gui/var-sheet.c:78
 msgid "Columns"
 msgstr ""
 
-#: src/language/data-io/data-list.c:770 src/language/data-io/data-list.c:883
-#: src/language/data-io/print.c:807
+#: src/language/data-io/data-list.c:406 src/language/data-io/data-list.c:504
+#: src/language/data-io/print.c:371
 msgid "Format"
 msgstr ""
 
 msgid "Format"
 msgstr ""
 
-#: src/language/data-io/data-list.c:785
+#: src/language/data-io/data-list.c:422
 #, c-format
 msgid "Reading %d record from %s."
 msgid_plural "Reading %d records from %s."
 msgstr[0] ""
 msgstr[1] ""
 
 #, c-format
 msgid "Reading %d record from %s."
 msgid_plural "Reading %d records from %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/data-list.c:898
+#: src/language/data-io/data-list.c:517
 #, c-format
 msgid "Reading free-form data from %s."
 msgstr ""
 
 #, c-format
 msgid "Reading free-form data from %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:944
+#: src/language/data-io/data-list.c:563
 msgid "Quoted string extends beyond end of line."
 msgstr ""
 
 msgid "Quoted string extends beyond end of line."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1028
+#: src/language/data-io/data-list.c:648
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
 #, c-format
 msgid "Partial case of %d of %d records discarded."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1076
+#: src/language/data-io/data-list.c:697
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
 #, c-format
 msgid "Partial case discarded.  The first variable missing was %s."
 msgstr ""
 
-#: src/language/data-io/data-list.c:1112
+#: src/language/data-io/data-list.c:733
 #, c-format
 msgid ""
 "Missing value(s) for all variables from %s onward.  These will be filled "
 #, c-format
 msgid ""
 "Missing value(s) for all variables from %s onward.  These will be filled "
@@ -1366,7 +1316,7 @@ msgstr ""
 msgid "expecting %s or %s"
 msgstr ""
 
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:606 src/language/data-io/print.c:186
+#: src/language/data-io/get.c:606 src/language/data-io/print.c:174
 msgid "expecting a valid subcommand"
 msgstr ""
 
 msgid "expecting a valid subcommand"
 msgstr ""
 
@@ -1687,70 +1637,70 @@ msgstr ""
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
 msgid "Syntax error expecting value for %s %s."
 msgstr ""
 
-#: src/language/data-io/print.c:372 src/language/data-io/print.c:389
+#: src/language/data-io/placement-parser.c:88
 #, c-format
 #, c-format
-msgid "%g is not a valid column location."
+msgid ""
+"Number of variables specified (%d) differs from number of variable formats (%"
+"d)."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:383
-#, c-format
-msgid "Column location expected following `%d-'."
+#: src/language/data-io/placement-parser.c:98
+msgid ""
+"SPSS-like or Fortran-like format specification expected after variable names."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:394
+#: src/language/data-io/placement-parser.c:120
 #, c-format
 #, c-format
-msgid ""
-"%d-%ld is not a valid column range.  The second column must be greater than "
-"or equal to the first."
+msgid "The %d columns %d-%d can't be evenly divided into %d fields."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:495
+#: src/language/data-io/placement-parser.c:226
+#: src/language/lexer/format-parser.c:110
+#: src/language/lexer/format-parser.c:129
 #, c-format
 #, c-format
-msgid "Variable %s has width %d so it cannot be output as format %s."
+msgid "Unknown format type \"%s\"."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:515
-#, c-format
-msgid ""
-"%s is not of the same type as %s.  To specify variables of different types "
-"in the same variable list, use a FORTRAN-like format specifier."
+#: src/language/data-io/placement-parser.c:310
+#: src/language/data-io/placement-parser.c:324
+msgid "Column positions for fields must be positive."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:545
-msgid ""
-"The ending column for a field must not be less than the starting column."
+#: src/language/data-io/placement-parser.c:329
+msgid "The ending column for a field must be greater than the starting column."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:617
+#: src/language/data-io/placement-parser.c:364
 #, c-format
 #, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %u fields."
+msgid ""
+"The record number specified, %ld, is at or before the previous record, %d.  "
+"Data fields must be listed in order of increasing record number."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:694
-msgid ""
-"The number of format specifications exceeds the number of variable names "
-"given."
+#: src/language/data-io/print.c:246
+#, c-format
+msgid "Output calls for %d records but %d specified on RECORDS subcommand."
 msgstr ""
 
 msgstr ""
 
-#: src/language/data-io/print.c:846
+#: src/language/data-io/print.c:400
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:850
+#: src/language/data-io/print.c:404
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:1080
+#: src/language/data-io/print-space.c:116
 msgid "The expression on PRINT SPACE evaluated to the system-missing value."
 msgstr ""
 
 msgid "The expression on PRINT SPACE evaluated to the system-missing value."
 msgstr ""
 
-#: src/language/data-io/print.c:1083
+#: src/language/data-io/print-space.c:119
 #, c-format
 msgid "The expression on PRINT SPACE evaluated to %g."
 msgstr ""
 #, c-format
 msgid "The expression on PRINT SPACE evaluated to %g."
 msgstr ""
@@ -1775,11 +1725,11 @@ msgstr ""
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
-#: src/language/dictionary/formats.c:91
+#: src/language/dictionary/formats.c:92
 msgid "`(' expected after variable list"
 msgstr ""
 
 msgid "`(' expected after variable list"
 msgstr ""
 
-#: src/language/dictionary/formats.c:101 src/language/dictionary/numeric.c:70
+#: src/language/dictionary/formats.c:102 src/language/dictionary/numeric.c:71
 #: src/language/dictionary/numeric.c:141
 msgid "`)' expected after output format."
 msgstr ""
 #: src/language/dictionary/numeric.c:141
 msgid "`)' expected after output format."
 msgstr ""
@@ -1878,12 +1828,12 @@ msgstr ""
 msgid "`/' or `.' expected."
 msgstr ""
 
 msgid "`/' or `.' expected."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:63
+#: src/language/dictionary/numeric.c:64
 #, c-format
 msgid "Format type %s may not be used with a numeric variable."
 msgstr ""
 
 #, c-format
 msgid "Format type %s may not be used with a numeric variable."
 msgstr ""
 
-#: src/language/dictionary/numeric.c:82 src/language/dictionary/numeric.c:163
+#: src/language/dictionary/numeric.c:83 src/language/dictionary/numeric.c:163
 #: src/language/dictionary/vector.c:163
 #, c-format
 msgid "There is already a variable named %s."
 #: src/language/dictionary/vector.c:163
 #, c-format
 msgid "There is already a variable named %s."
@@ -2180,24 +2130,24 @@ msgid ""
 "system-missing."
 msgstr ""
 
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/parse.c:255
+#: src/language/expressions/parse.c:256
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:267
+#: src/language/expressions/parse.c:268
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:408
+#: src/language/expressions/parse.c:409
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:613
+#: src/language/expressions/parse.c:614
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -2205,128 +2155,108 @@ msgid ""
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:712
+#: src/language/expressions/parse.c:713
 msgid ""
 "The exponentiation operator (\"**\") is left-associative, even though right-"
 "associative semantics are more useful.  That is, \"a**b**c\" equals \"(a**b)"
 "**c\", not as \"a**(b**c)\".  To disable this warning, insert parentheses."
 msgstr ""
 
 msgid ""
 "The exponentiation operator (\"**\") is left-associative, even though right-"
 "associative semantics are more useful.  That is, \"a**b**c\" equals \"(a**b)"
 "**c\", not as \"a**(b**c)\".  To disable this warning, insert parentheses."
 msgstr ""
 
-#: src/language/expressions/parse.c:777
+#: src/language/expressions/parse.c:778
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:819
+#: src/language/expressions/parse.c:826
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:847 src/language/stats/aggregate.c:503
+#: src/language/expressions/parse.c:854 src/language/stats/aggregate.c:503
 msgid "expecting `)'"
 msgstr ""
 
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:854
+#: src/language/expressions/parse.c:861
 msgid "in expression"
 msgstr ""
 
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1030
+#: src/language/expressions/parse.c:1037
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1039
+#: src/language/expressions/parse.c:1046
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1042
+#: src/language/expressions/parse.c:1049
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1052
+#: src/language/expressions/parse.c:1059
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1061
+#: src/language/expressions/parse.c:1068
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1067
+#: src/language/expressions/parse.c:1074
 #, c-format
 msgid ""
 "With %s, using minimum valid argument count of %d does not make sense when "
 "passing only %d arguments in list."
 msgstr ""
 
 #, c-format
 msgid ""
 "With %s, using minimum valid argument count of %d does not make sense when "
 "passing only %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1121
+#: src/language/expressions/parse.c:1128
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1126
+#: src/language/expressions/parse.c:1133
 msgid "Function invocation "
 msgstr ""
 
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1128
+#: src/language/expressions/parse.c:1135
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1158
+#: src/language/expressions/parse.c:1165
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1200
+#: src/language/expressions/parse.c:1207
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1220
+#: src/language/expressions/parse.c:1227
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1223 src/ui/terminal/command-line.c:127
+#: src/language/expressions/parse.c:1230 src/ui/terminal/command-line.c:127
 #: src/ui/terminal/command-line.c:146 src/ui/terminal/command-line.c:158
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
 
 #: src/ui/terminal/command-line.c:146 src/ui/terminal/command-line.c:158
 #, c-format
 msgid "%s is not yet implemented."
 msgstr ""
 
-#: src/language/expressions/parse.c:1228
+#: src/language/expressions/parse.c:1235
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
-#: src/language/lexer/format-parser.c:66
-msgid "X and T format specifiers not allowed here."
+#: src/language/lexer/format-parser.c:91
+msgid "expecting valid format specifier"
 msgstr ""
 
 msgstr ""
 
-#: src/language/lexer/format-parser.c:74
-#, c-format
-msgid "%.*s is not a valid data format."
-msgstr ""
-
-#: src/language/lexer/format-parser.c:115
-msgid "Format specifier expected."
-msgstr ""
-
-#: src/language/lexer/format-parser.c:127
-#, c-format
-msgid "Data format %s does not specify a width."
-msgstr ""
-
-#: src/language/lexer/format-parser.c:133
-#, c-format
-msgid "String variable width may not exceed %d"
-msgstr ""
-
-#: src/language/lexer/format-parser.c:150
-#, c-format
-msgid "Data format %s is not valid."
+#: src/language/lexer/format-parser.c:124
+msgid "expecting format type"
 msgstr ""
 
 #: src/language/lexer/lexer.c:264
 msgstr ""
 
 #: src/language/lexer/lexer.c:264
@@ -2459,41 +2389,41 @@ msgstr ""
 msgid "%s is not a variable name."
 msgstr ""
 
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:151
+#: src/language/lexer/variable-parser.c:174
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
 #, c-format
 msgid ""
 "%s is not a numeric variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:154
+#: src/language/lexer/variable-parser.c:177
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
 #, c-format
 msgid ""
 "%s is not a string variable.  It will not be included in the variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:158
+#: src/language/lexer/variable-parser.c:181
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:161
+#: src/language/lexer/variable-parser.c:184
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from list."
 msgstr ""
 
 #, c-format
 msgid ""
 "%s and %s are not the same type.  All variables in this variable list must "
 "be of the same type.  %s will be omitted from list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:166
+#: src/language/lexer/variable-parser.c:189
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:271
+#: src/language/lexer/variable-parser.c:294
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:280
+#: src/language/lexer/variable-parser.c:303
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2501,19 +2431,19 @@ msgid ""
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:353
+#: src/language/lexer/variable-parser.c:376
 msgid "incorrect use of TO convention"
 msgstr ""
 
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:396
+#: src/language/lexer/variable-parser.c:419
 msgid "Scratch variables not allowed here."
 msgstr ""
 
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:418
+#: src/language/lexer/variable-parser.c:441
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:423
+#: src/language/lexer/variable-parser.c:446
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -3611,129 +3541,129 @@ msgstr ""
 msgid "Cannot change mode of %s: %s"
 msgstr ""
 
 msgid "Cannot change mode of %s: %s"
 msgstr ""
 
-#: src/language/utilities/set.q:174 src/language/utilities/set.q:176
-#: src/language/utilities/set.q:178 src/language/utilities/set.q:180
-#: src/language/utilities/set.q:182 src/language/utilities/set.q:184
-#: src/language/utilities/set.q:186 src/language/utilities/set.q:188
-#: src/language/utilities/set.q:190
+#: src/language/utilities/set.q:175 src/language/utilities/set.q:177
+#: src/language/utilities/set.q:179 src/language/utilities/set.q:181
+#: src/language/utilities/set.q:183 src/language/utilities/set.q:185
+#: src/language/utilities/set.q:187 src/language/utilities/set.q:189
+#: src/language/utilities/set.q:191
 #, c-format
 msgid "%s is obsolete."
 msgstr ""
 
 #, c-format
 msgid "%s is obsolete."
 msgstr ""
 
-#: src/language/utilities/set.q:193
+#: src/language/utilities/set.q:194
 #, c-format
 msgid "%s is not implemented."
 msgstr ""
 
 #, c-format
 msgid "%s is not implemented."
 msgstr ""
 
-#: src/language/utilities/set.q:196
+#: src/language/utilities/set.q:197
 msgid "Active file compression is not implemented."
 msgstr ""
 
 msgid "Active file compression is not implemented."
 msgstr ""
 
-#: src/language/utilities/set.q:271
+#: src/language/utilities/set.q:272
 #, c-format
 msgid ""
 "CC%c: Custom currency string `%s' does not contain exactly three periods or "
 "commas (not both)."
 msgstr ""
 
 #, c-format
 msgid ""
 "CC%c: Custom currency string `%s' does not contain exactly three periods or "
 "commas (not both)."
 msgstr ""
 
-#: src/language/utilities/set.q:323
+#: src/language/utilities/set.q:324
 msgid "EPOCH must be 1500 or later."
 msgstr ""
 
 msgid "EPOCH must be 1500 or later."
 msgstr ""
 
-#: src/language/utilities/set.q:330
+#: src/language/utilities/set.q:331
 msgid "expecting AUTOMATIC or year"
 msgstr ""
 
 msgid "expecting AUTOMATIC or year"
 msgstr ""
 
-#: src/language/utilities/set.q:351
+#: src/language/utilities/set.q:352
 msgid "LENGTH must be at least 1."
 msgstr ""
 
 msgid "LENGTH must be at least 1."
 msgstr ""
 
-#: src/language/utilities/set.q:395
+#: src/language/utilities/set.q:396
 msgid "WIDTH must be at least 40."
 msgstr ""
 
 msgid "WIDTH must be at least 40."
 msgstr ""
 
-#: src/language/utilities/set.q:417
+#: src/language/utilities/set.q:418
 #, c-format
 msgid ""
 "FORMAT requires numeric output format as an argument.  Specified format %s "
 "is of type string."
 msgstr ""
 
 #, c-format
 msgid ""
 "FORMAT requires numeric output format as an argument.  Specified format %s "
 "is of type string."
 msgstr ""
 
-#: src/language/utilities/set.q:474
+#: src/language/utilities/set.q:475
 msgid "BLANKS is SYSMIS."
 msgstr ""
 
 msgid "BLANKS is SYSMIS."
 msgstr ""
 
-#: src/language/utilities/set.q:476
+#: src/language/utilities/set.q:477
 #, c-format
 msgid "BLANKS is %g."
 msgstr ""
 
 #, c-format
 msgid "BLANKS is %g."
 msgstr ""
 
-#: src/language/utilities/set.q:508
+#: src/language/utilities/set.q:509
 #, c-format
 msgid "CC%c is \"%s\"."
 msgstr ""
 
 #, c-format
 msgid "CC%c is \"%s\"."
 msgstr ""
 
-#: src/language/utilities/set.q:545
+#: src/language/utilities/set.q:546
 #, c-format
 msgid "DECIMAL is \"%c\"."
 msgstr ""
 
 #, c-format
 msgid "DECIMAL is \"%c\"."
 msgstr ""
 
-#: src/language/utilities/set.q:551
+#: src/language/utilities/set.q:552
 #, c-format
 msgid "ENDCMD is \"%c\"."
 msgstr ""
 
 #, c-format
 msgid "ENDCMD is \"%c\"."
 msgstr ""
 
-#: src/language/utilities/set.q:557
+#: src/language/utilities/set.q:558
 #, c-format
 msgid "FORMAT is %s."
 msgstr ""
 
 #, c-format
 msgid "FORMAT is %s."
 msgstr ""
 
-#: src/language/utilities/set.q:563
+#: src/language/utilities/set.q:564
 #, c-format
 msgid "LENGTH is %d."
 msgstr ""
 
 #, c-format
 msgid "LENGTH is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:569
+#: src/language/utilities/set.q:570
 #, c-format
 msgid "MXERRS is %d."
 msgstr ""
 
 #, c-format
 msgid "MXERRS is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:575
+#: src/language/utilities/set.q:576
 #, c-format
 msgid "MXLOOPS is %d."
 msgstr ""
 
 #, c-format
 msgid "MXLOOPS is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:581
+#: src/language/utilities/set.q:582
 #, c-format
 msgid "MXWARNS is %d."
 msgstr ""
 
 #, c-format
 msgid "MXWARNS is %d."
 msgstr ""
 
-#: src/language/utilities/set.q:588
+#: src/language/utilities/set.q:589
 msgid "SCOMPRESSION is ON."
 msgstr ""
 
 msgid "SCOMPRESSION is ON."
 msgstr ""
 
-#: src/language/utilities/set.q:590
+#: src/language/utilities/set.q:591
 msgid "SCOMPRESSION is OFF."
 msgstr ""
 
 msgid "SCOMPRESSION is OFF."
 msgstr ""
 
-#: src/language/utilities/set.q:597
+#: src/language/utilities/set.q:598
 msgid "UNDEFINED is WARN."
 msgstr ""
 
 msgid "UNDEFINED is WARN."
 msgstr ""
 
-#: src/language/utilities/set.q:599
+#: src/language/utilities/set.q:600
 msgid "UNDEFINED is NOWARN."
 msgstr ""
 
 msgid "UNDEFINED is NOWARN."
 msgstr ""
 
-#: src/language/utilities/set.q:607
+#: src/language/utilities/set.q:608
 msgid "WEIGHT is off."
 msgstr ""
 
 msgid "WEIGHT is off."
 msgstr ""
 
-#: src/language/utilities/set.q:609
+#: src/language/utilities/set.q:610
 #, c-format
 msgid "WEIGHT is variable %s."
 msgstr ""
 
 #, c-format
 msgid "WEIGHT is variable %s."
 msgstr ""
 
-#: src/language/utilities/set.q:615
+#: src/language/utilities/set.q:616
 #, c-format
 msgid "WIDTH is %d."
 msgstr ""
 #, c-format
 msgid "WIDTH is %d."
 msgstr ""
@@ -4319,11 +4249,11 @@ msgstr ""
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr ""
 
 msgid "Sorry. The help system hasn't yet been implemented."
 msgstr ""
 
-#: src/ui/gui/psppire-data-store.c:695
+#: src/ui/gui/psppire-data-store.c:699
 msgid "var"
 msgstr ""
 
 msgid "var"
 msgstr ""
 
-#: src/ui/gui/psppire-data-store.c:779 src/ui/gui/psppire-var-store.c:518
+#: src/ui/gui/psppire-data-store.c:780 src/ui/gui/psppire-var-store.c:518
 #: src/ui/gui/psppire-var-store.c:528 src/ui/gui/psppire-var-store.c:538
 #: src/ui/gui/psppire-var-store.c:735
 #, c-format
 #: src/ui/gui/psppire-var-store.c:528 src/ui/gui/psppire-var-store.c:538
 #: src/ui/gui/psppire-var-store.c:735
 #, c-format
index 98d00f63af619c94c5c73504a024b3dce976ce6b..4fe162c762a5139c522221b7cd909975b7707a10 100644 (file)
@@ -281,10 +281,10 @@ recreate_save_handle(struct file_handle **handle)
       char *file_name = gtk_file_chooser_get_filename
        (GTK_FILE_CHOOSER (dialog));
 
       char *file_name = gtk_file_chooser_get_filename
        (GTK_FILE_CHOOSER (dialog));
 
-#if 0
+
       if ( *handle ) 
       if ( *handle ) 
-       destroy_file_handle(*handle, 0);
-#endif
+       fh_free(*handle);
+
       *handle = fh_create_file (handle_name, file_name, fh_default_properties());
 
       psppire_set_window_title(basename(file_name));
       *handle = fh_create_file (handle_name, file_name, fh_default_properties());
 
       psppire_set_window_title(basename(file_name));
index f869e4b0dbf6aaea22383e7735efa8bd56c49397..5ad96ad94b8e85dc9adf86f2827cd0cf8ee7c6dc 100644 (file)
@@ -368,3 +368,18 @@ psppire_case_file_insert_values(PsppireCaseFile *cf,
   return flexifile_resize(FLEXIFILE(cf->flexifile), n_values, before);
 }
 
   return flexifile_resize(FLEXIFILE(cf->flexifile), n_values, before);
 }
 
+
+
+
+/* Fills C with the CASENUMth case.
+   Returns true on success, false otherwise.
+ */
+gboolean
+psppire_case_file_get_case(const PsppireCaseFile *cf, gint casenum, 
+                          struct ccase *c)
+{
+  g_return_val_if_fail(cf, FALSE);
+  g_return_val_if_fail(cf->flexifile, FALSE);
+
+  return flexifile_get_case(FLEXIFILE(cf->flexifile), casenum, c);
+}
index 745b709898ea498f7e70255e27b67c47b3dabfde..fbfa7d750154ab50717261f9f2655ccfdb973525 100644 (file)
@@ -99,6 +99,9 @@ gboolean psppire_case_file_insert_values(PsppireCaseFile *cf, gint n_values, gin
 struct sort_criteria;
 void psppire_case_file_sort(PsppireCaseFile *cf, const struct sort_criteria *);
 
 struct sort_criteria;
 void psppire_case_file_sort(PsppireCaseFile *cf, const struct sort_criteria *);
 
+gboolean psppire_case_file_get_case(const PsppireCaseFile *cf, gint casenum, 
+                                   struct ccase *c);
+
 
 G_END_DECLS
 
 
 G_END_DECLS
 
index 16f709ff302996c0ecab4f80fc8f309dd8892894..5fbfcb48c4c142df2fdb1b2dd1c96e9680c708f7 100644 (file)
@@ -37,6 +37,7 @@
 
 #include "psppire-variable.h"
 #include "psppire-data-store.h"
 
 #include "psppire-variable.h"
 #include "psppire-data-store.h"
+#include "psppire-case-file.h"
 #include "helper.h"
 
 #include <data/dictionary.h>
 #include "helper.h"
 
 #include <data/dictionary.h>
@@ -584,10 +585,13 @@ psppire_data_store_show_labels(PsppireDataStore *store, gboolean show_labels)
 
 
 
 
 
 
+/* FIXME: There's no reason to actually have this function.
+   It should be done by a procedure */
 void
 psppire_data_store_create_system_file(PsppireDataStore *store,
                              struct file_handle *handle)
 {
 void
 psppire_data_store_create_system_file(PsppireDataStore *store,
                              struct file_handle *handle)
 {
+  gint i, var_cnt;
   const struct sfm_write_options wo = {
     true, /* writeable */
     false, /* dont compress */
   const struct sfm_write_options wo = {
     true, /* writeable */
     false, /* dont compress */
@@ -603,9 +607,19 @@ psppire_data_store_create_system_file(PsppireDataStore *store,
   if ( ! writer) 
     return;
 
   if ( ! writer) 
     return;
 
-#if 0
-  psppire_case_array_iterate_case(store->cases, write_case, writer);
-#endif
+
+  var_cnt = psppire_data_store_get_var_count (G_SHEET_MODEL(store));
+
+  for (i = 0 ; i < psppire_case_file_get_case_count(store->case_file); ++i ) 
+    {
+      struct ccase c;
+      
+      case_create (&c, var_cnt);
+      psppire_case_file_get_case (store->case_file, i, &c);
+      sfm_write_case (writer, &c);
+
+      case_destroy (&c);
+    }
 
   sfm_close_writer(writer);
 }
 
   sfm_close_writer(writer);
 }
@@ -707,7 +721,6 @@ geometry_get_sensitivity(const GSheetColumn *geom, gint unit)
 {
   PsppireDataStore *ds = PSPPIRE_DATA_STORE(geom);
 
 {
   PsppireDataStore *ds = PSPPIRE_DATA_STORE(geom);
 
-
   return (unit < psppire_dict_get_var_cnt(ds->dict));
 }
 
   return (unit < psppire_dict_get_var_cnt(ds->dict));
 }
 
@@ -721,7 +734,6 @@ psppire_data_store_sheet_column_init (GSheetColumnIface *iface)
   iface->get_visibility = always_true;
   iface->get_sensitivity = geometry_get_sensitivity;
   iface->get_justification = geometry_get_justification;
   iface->get_visibility = always_true;
   iface->get_sensitivity = geometry_get_sensitivity;
   iface->get_justification = geometry_get_justification;
-
   iface->get_button_label = geometry_get_column_button_label;
 }
 
   iface->get_button_label = geometry_get_column_button_label;
 }