pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp doc/ChangeLog doc/statistics.texi glade/Ch...


From: John Darrington
Subject: [Pspp-cvs] pspp doc/ChangeLog doc/statistics.texi glade/Ch...
Date: Fri, 19 Oct 2007 05:51:14 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Changes by:     John Darrington <jmd>   07/10/19 05:51:13

Modified files:
        doc            : ChangeLog statistics.texi 
        glade          : ChangeLog automake.mk psppire.xml 
        po             : de.po en_GB.po pspp.pot 
        src/ui/gui     : ChangeLog automake.mk data-editor.c 
                         data-editor.h glade-register.c 
Added files:
        glade          : acr.c 
        src/ui/gui     : oneway-anova-dialog.c oneway-anova-dialog.h 
                         oneway.glade psppire-acr.c psppire-acr.h 

Log message:
        Implemented a dialog box for the ONEWAY command.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/doc/ChangeLog?cvsroot=pspp&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/pspp/doc/statistics.texi?cvsroot=pspp&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/pspp/glade/ChangeLog?cvsroot=pspp&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/pspp/glade/automake.mk?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/glade/psppire.xml?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/glade/acr.c?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/po/de.po?cvsroot=pspp&r1=1.71&r2=1.72
http://cvs.savannah.gnu.org/viewcvs/pspp/po/en_GB.po?cvsroot=pspp&r1=1.87&r2=1.88
http://cvs.savannah.gnu.org/viewcvs/pspp/po/pspp.pot?cvsroot=pspp&r1=1.156&r2=1.157
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/ChangeLog?cvsroot=pspp&r1=1.94&r2=1.95
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/automake.mk?cvsroot=pspp&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/data-editor.c?cvsroot=pspp&r1=1.53&r2=1.54
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/data-editor.h?cvsroot=pspp&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/glade-register.c?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/oneway-anova-dialog.c?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/oneway-anova-dialog.h?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/oneway.glade?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/psppire-acr.c?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/psppire-acr.h?cvsroot=pspp&rev=1.1

Patches:
Index: doc/ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/doc/ChangeLog,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- doc/ChangeLog       28 Jul 2007 00:40:52 -0000      1.48
+++ doc/ChangeLog       19 Oct 2007 05:51:12 -0000      1.49
@@ -1,3 +1,9 @@
+2007-10-19 John Darrington <address@hidden>
+
+       * statistics.texi: Changed /CONTRASTS to /CONTRAST in ONEWAY which
+       is what the command accepts. 
+       
+
 2007-07-28 John Darrington <address@hidden>
 
        * statistics.texi: Made the documentation for T-TEST match 

Index: doc/statistics.texi
===================================================================
RCS file: /sources/pspp/pspp/doc/statistics.texi,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- doc/statistics.texi 1 Aug 2007 03:33:15 -0000       1.18
+++ doc/statistics.texi 19 Oct 2007 05:51:12 -0000      1.19
@@ -730,7 +730,7 @@
 ONEWAY
         [/VARIABLES = ] var_list BY var
         /address@hidden,address@hidden @{EXCLUDE,address@hidden
-        /CONTRASTS= value1 [, value2] ... [,valueN]
+        /CONTRAST= value1 [, value2] ... [,valueN]
         /address@hidden,address@hidden
 
 @end display
@@ -756,7 +756,7 @@
 variables and their groups.
 @end itemize
 
-The @code{CONTRASTS} subcommand is used when you anticipate certain
+The @code{CONTRAST} subcommand is used when you anticipate certain
 differences between the groups.
 The subcommand must be followed by a list of numerals which are the
 coefficients of the groups to be tested.
@@ -764,7 +764,7 @@
 groups (or values of the independent variable).
 If the total sum of the coefficients are not zero, then PSPP will
 display a warning, but will proceed with the analysis.
-The @code{CONTRASTS} subcommand may be given up to 10 times in order
+The @code{CONTRAST} subcommand may be given up to 10 times in order
 to specify different contrast tests.
 @setfilename ignored
 

Index: glade/ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/glade/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- glade/ChangeLog     27 Sep 2007 03:20:53 -0000      1.3
+++ glade/ChangeLog     19 Oct 2007 05:51:12 -0000      1.4
@@ -1,3 +1,8 @@
+2007-10-19 John Darrington <address@hidden>
+
+       * acr.c (new file)
+       * psppire.xml: Added entry for PsppireAcr widget
+
 2007-09-26  Ben Pfaff  <address@hidden>
 
        * automake.mk (libglade_psppire_la_CFLAGS): Enable VPATH build by

Index: glade/automake.mk
===================================================================
RCS file: /sources/pspp/pspp/glade/automake.mk,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- glade/automake.mk   27 Sep 2007 03:20:53 -0000      1.6
+++ glade/automake.mk   19 Oct 2007 05:51:12 -0000      1.7
@@ -13,6 +13,8 @@
        glade/dialog.c \
        glade/bbox.c \
        glade/selector.c \
+       glade/acr.c \
+       src/ui/gui/psppire-acr.c \
        src/ui/gui/psppire-buttonbox.c \
        src/ui/gui/psppire-hbuttonbox.c \
        src/ui/gui/psppire-vbuttonbox.c \

Index: glade/psppire.xml
===================================================================
RCS file: /sources/pspp/pspp/glade/psppire.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- glade/psppire.xml   30 Apr 2007 08:58:14 -0000      1.6
+++ glade/psppire.xml   19 Oct 2007 05:51:12 -0000      1.7
@@ -181,6 +181,22 @@
 
 
 
+    <glade-widget-class name="PsppireAcr" generic-name="psppire-acr" 
title="Add-Change-Remove">
+
+      
<post-create-function>glade_psppire_acr_post_create</post-create-function>
+      
<get-children-function>glade_psppire_acr_get_children</get-children-function>
+
+      
<get-internal-child-function>glade_psppire_acr_get_internal_child</get-internal-child-function>
+
+
+    <properties>
+      <property id="child"                disabled="True" />
+      <property id="homogeneous"          disabled="True" />
+      <property id="visible" ignore="True" default="True" />
+    </properties>
+
+    </glade-widget-class>
+
   </glade-widget-classes>
  
 
@@ -190,6 +206,7 @@
   <glade-widget-class-ref name="PsppireVButtonBox"/>
   <glade-widget-class-ref name="PsppireKeypad"/>
   <glade-widget-class-ref name="PsppireSelector"/>
+  <glade-widget-class-ref name="PsppireAcr"/>
  </glade-widget-group>
 
 

Index: po/de.po
===================================================================
RCS file: /sources/pspp/pspp/po/de.po,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- po/de.po    12 Oct 2007 04:49:25 -0000      1.71
+++ po/de.po    19 Oct 2007 05:51:12 -0000      1.72
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: PSPP 0.4.3\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-10-10 21:49-0700\n"
+"POT-Creation-Date: 2007-10-17 20:48+0800\n"
 "PO-Revision-Date: 2006-07-28 19:32+0800\n"
 "Last-Translator: John Darrington <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -47,6 +47,12 @@
 msgid "Date %04d-%d-%d is before the earliest acceptable date of 1582-10-15."
 msgstr ""
 
+#: src/data/casereader-filter.c:221
+msgid ""
+"At least one case in the data read had a weight value that was user-missing, "
+"system-missing, zero, or negative.  These case(s) were ignored."
+msgstr ""
+
 #: src/data/case-tmpfile.c:57
 msgid "failed to create temporary file"
 msgstr ""
@@ -67,137 +73,131 @@
 msgid "writing to temporary file"
 msgstr ""
 
-#: src/data/casereader-filter.c:221
-msgid ""
-"At least one case in the data read had a weight value that was user-missing, "
-"system-missing, zero, or negative.  These case(s) were ignored."
-msgstr ""
-
-#: src/data/data-in.c:269 src/data/data-in.c:459
+#: src/data/data-in.c:267 src/data/data-in.c:457
 msgid "Field contents are not numeric."
 msgstr ""
 
-#: src/data/data-in.c:271 src/data/data-in.c:461
+#: src/data/data-in.c:269 src/data/data-in.c:459
 msgid "Number followed by garbage."
 msgstr ""
 
-#: src/data/data-in.c:282
+#: src/data/data-in.c:280
 msgid "Invalid numeric syntax."
 msgstr ""
 
-#: src/data/data-in.c:291 src/data/data-in.c:474
+#: src/data/data-in.c:289 src/data/data-in.c:472
 msgid "Too-large number set to system-missing."
 msgstr ""
 
-#: src/data/data-in.c:296 src/data/data-in.c:479
+#: src/data/data-in.c:294 src/data/data-in.c:477
 msgid "Too-small number set to zero."
 msgstr ""
 
-#: src/data/data-in.c:322
+#: src/data/data-in.c:320
 msgid "All characters in field must be digits."
 msgstr ""
 
-#: src/data/data-in.c:345
+#: src/data/data-in.c:343
 msgid "Unrecognized character in field."
 msgstr ""
 
-#: src/data/data-in.c:369 src/data/data-in.c:633
+#: src/data/data-in.c:367 src/data/data-in.c:631
 msgid "Field must have even length."
 msgstr ""
 
-#: src/data/data-in.c:374 src/data/data-in.c:639
+#: src/data/data-in.c:372 src/data/data-in.c:637
 msgid "Field must contain only hex digits."
 msgstr ""
 
-#: src/data/data-in.c:678 src/data/data-in.c:725
+#: src/data/data-in.c:676 src/data/data-in.c:723
 msgid "Syntax error in date field."
 msgstr ""
 
-#: src/data/data-in.c:694
+#: src/data/data-in.c:692
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr ""
 
-#: src/data/data-in.c:741
+#: src/data/data-in.c:739
 msgid "Delimiter expected between fields in date."
 msgstr ""
 
-#: src/data/data-in.c:815
+#: src/data/data-in.c:813
 msgid ""
 "Unrecognized month format.  Months may be specified as Arabic or Roman "
 "numerals or as at least 3 letters of their English names."
 msgstr ""
 
-#: src/data/data-in.c:842
+#: src/data/data-in.c:840
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data/data-in.c:854
+#: src/data/data-in.c:852
 #, c-format
 msgid "Trailing garbage \"%.*s\" following date."
 msgstr ""
 
-#: src/data/data-in.c:870
+#: src/data/data-in.c:868
 msgid "Julian day must have exactly three digits."
 msgstr ""
 
-#: src/data/data-in.c:875
+#: src/data/data-in.c:873
 #, c-format
 msgid "Julian day (%ld) must be between 1 and 366."
 msgstr ""
 
-#: src/data/data-in.c:899
+#: src/data/data-in.c:897
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr ""
 
-#: src/data/data-in.c:919
+#: src/data/data-in.c:917
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr ""
 
-#: src/data/data-in.c:932
+#: src/data/data-in.c:930
 msgid "Delimiter expected between fields in time."
 msgstr ""
 
-#: src/data/data-in.c:952
+#: src/data/data-in.c:950
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr ""
 
-#: src/data/data-in.c:992
+#: src/data/data-in.c:990
 msgid ""
 "Unrecognized weekday name.  At least the first two letters of an English "
 "weekday name must be specified."
 msgstr ""
 
-#: src/data/data-in.c:1130
+#: src/data/data-in.c:1128
 #, c-format
 msgid "`%c' expected in date field."
 msgstr ""
 
-#: src/data/data-in.c:1171
+#: src/data/data-in.c:1169
 #, c-format
 msgid "column %d"
 msgstr "Spalten %d"
 
-#: src/data/data-in.c:1173
+#: src/data/data-in.c:1171
 #, fuzzy, c-format
 msgid "columns %d-%d"
 msgstr "Spalten"
 
-#: src/data/data-in.c:1177
+#: src/data/data-in.c:1175
 #, c-format
 msgid "%s field) "
 msgstr ""
 
-#: src/data/data-out.c:467
+#: src/data/data-out.c:466
 #, c-format
 msgid "Weekday number %f is not between 1 and 7."
 msgstr ""
 
-#: src/data/data-out.c:488
+#: src/data/data-out.c:487
 #, c-format
 msgid "Month number %f is not between 1 and 12."
 msgstr ""
@@ -228,21 +228,21 @@
 msgid "Can't re-open %s as a %s for %s."
 msgstr ""
 
-#: src/data/file-name.c:128
+#: src/data/file-name.c:130
 #, c-format
 msgid "searching for \"%s\" in path \"%s\""
 msgstr ""
 
-#: src/data/file-name.c:142
+#: src/data/file-name.c:144
 #, c-format
 msgid "...found \"%s\""
 msgstr ""
 
-#: src/data/file-name.c:149
+#: src/data/file-name.c:151
 msgid "...not found"
 msgstr ""
 
-#: src/data/file-name.c:239
+#: src/data/file-name.c:241
 #, c-format
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
@@ -305,33 +305,33 @@
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
-#: src/data/format.c:318 src/data/sys-file-reader.c:631
-#: src/ui/gui/data-editor.glade:1285 src/ui/gui/psppire-var-store.c:493
-#: src/ui/gui/psppire.glade:2176
+#: src/data/format.c:318 src/data/sys-file-reader.c:630
+#: src/ui/gui/data-editor.glade:1285 src/ui/gui/psppire.glade:2176
+#: src/ui/gui/psppire-var-store.c:493
 msgid "String"
 msgstr "Zeichenkette"
 
-#: src/data/format.c:318 src/data/sys-file-reader.c:631
-#: src/ui/gui/data-editor.glade:1174 src/ui/gui/psppire-var-store.c:486
-#: src/ui/gui/psppire.glade:2131
+#: src/data/format.c:318 src/data/sys-file-reader.c:630
+#: src/ui/gui/data-editor.glade:1174 src/ui/gui/psppire.glade:2131
+#: src/ui/gui/psppire-var-store.c:486
 msgid "Numeric"
 msgstr "Nummer"
 
-#: src/data/format.c:319 src/data/sys-file-reader.c:1106
-#: src/data/sys-file-reader.c:1108
+#: src/data/format.c:319 src/data/sys-file-reader.c:1105
+#: src/data/sys-file-reader.c:1107
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
-#: src/language/xforms/recode.c:472 src/language/xforms/recode.c:473
-#: src/language/xforms/recode.c:485 src/language/xforms/recode.c:486
+#: src/language/xforms/recode.c:471 src/language/xforms/recode.c:472
+#: src/language/xforms/recode.c:484 src/language/xforms/recode.c:485
 msgid "numeric"
 msgstr "numerisch"
 
-#: src/data/format.c:319 src/data/sys-file-reader.c:1106
-#: src/data/sys-file-reader.c:1108
+#: src/data/format.c:319 src/data/sys-file-reader.c:1105
+#: src/data/sys-file-reader.c:1107
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
-#: src/language/xforms/recode.c:472 src/language/xforms/recode.c:473
-#: src/language/xforms/recode.c:485 src/language/xforms/recode.c:486
+#: src/language/xforms/recode.c:471 src/language/xforms/recode.c:472
+#: src/language/xforms/recode.c:484 src/language/xforms/recode.c:485
 msgid "string"
 msgstr "kette"
 
@@ -340,12 +340,12 @@
 msgid "String variable with width %d is not compatible with format %s."
 msgstr ""
 
-#: src/data/make-file.c:57
+#: src/data/make-file.c:58
 #, c-format
 msgid "%s: Creating temporary file: %s."
 msgstr ""
 
-#: src/data/make-file.c:99
+#: src/data/make-file.c:100
 #, c-format
 msgid "%s: Creating file: %s."
 msgstr ""
@@ -408,12 +408,12 @@
 
 #: src/data/por-file-reader.c:518
 #, c-format
-msgid "Bad date string length %d."
+msgid "Bad date string length %zu."
 msgstr ""
 
 #: src/data/por-file-reader.c:520
 #, c-format
-msgid "Bad time string length %d."
+msgid "Bad time string length %zu."
 msgstr ""
 
 #: src/data/por-file-reader.c:562
@@ -519,443 +519,443 @@
 msgid "Variable suffix too large."
 msgstr ""
 
-#: src/data/sys-file-reader.c:212
+#: src/data/sys-file-reader.c:211
 #, c-format
 msgid "Error opening \"%s\" for reading as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:242
+#: src/data/sys-file-reader.c:241
 msgid "Misplaced type 4 record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:253
+#: src/data/sys-file-reader.c:252
 #, c-format
 msgid "Unrecognized record type %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:292
+#: src/data/sys-file-reader.c:291
 #, c-format
 msgid "File header claims %d variable positions but %d were read from file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:326
+#: src/data/sys-file-reader.c:325
 #, c-format
 msgid "Error closing system file \"%s\": %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:391 src/data/sys-file-reader.c:401
+#: src/data/sys-file-reader.c:390 src/data/sys-file-reader.c:400
 #, fuzzy
 msgid "This is not an SPSS system file."
 msgstr "\"%s\" ist kein Systemdatei und kein Tragbardatei."
 
-#: src/data/sys-file-reader.c:420
+#: src/data/sys-file-reader.c:419
 #, c-format
 msgid ""
 "Compression bias (%g) is not the usual value of 100, or system file uses "
 "unrecognized floating-point format."
 msgstr ""
 
-#: src/data/sys-file-reader.c:489
+#: src/data/sys-file-reader.c:488
 #, c-format
 msgid "Invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:493
+#: src/data/sys-file-reader.c:492
 #, c-format
 msgid "Bad variable width %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:497
+#: src/data/sys-file-reader.c:496
 #, c-format
 msgid "Duplicate variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:505
+#: src/data/sys-file-reader.c:504
 msgid "Variable label indicator field is not 0 or 1."
 msgstr ""
 
-#: src/data/sys-file-reader.c:513
+#: src/data/sys-file-reader.c:512
 #, c-format
-msgid "Variable %s has label of invalid length %u."
+msgid "Variable %s has label of invalid length %zu."
 msgstr ""
 
-#: src/data/sys-file-reader.c:532
+#: src/data/sys-file-reader.c:531
 msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:547
+#: src/data/sys-file-reader.c:546
 msgid "String missing value indicator field is not 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:557
+#: src/data/sys-file-reader.c:556
 #, c-format
 msgid "Long string variable %s may not have missing values."
 msgstr ""
 
-#: src/data/sys-file-reader.c:578
+#: src/data/sys-file-reader.c:577
 msgid "Missing string continuation record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:612
+#: src/data/sys-file-reader.c:611
 #, c-format
-msgid "Unknown variable format %d."
+msgid "Unknown variable format %<PRIu8>."
 msgstr ""
 
-#: src/data/sys-file-reader.c:630
+#: src/data/sys-file-reader.c:629
 #, c-format
 msgid "%s variable %s has invalid %s format %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:633
+#: src/data/sys-file-reader.c:632
 msgid "print"
 msgstr "drucken"
 
-#: src/data/sys-file-reader.c:633
+#: src/data/sys-file-reader.c:632
 msgid "write"
 msgstr "schreiben"
 
-#: src/data/sys-file-reader.c:637
+#: src/data/sys-file-reader.c:636
 msgid "Suppressing further invalid format warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:655
+#: src/data/sys-file-reader.c:654
 msgid "Weighting variable must be numeric."
 msgstr ""
 
-#: src/data/sys-file-reader.c:669
+#: src/data/sys-file-reader.c:668
 msgid "Multiple type 6 (document) records."
 msgstr ""
 
-#: src/data/sys-file-reader.c:673
+#: src/data/sys-file-reader.c:672
 #, c-format
 msgid "Number of document lines (%d) must be greater than 0."
 msgstr ""
 
-#: src/data/sys-file-reader.c:681
+#: src/data/sys-file-reader.c:680
 msgid "Document line contains null byte."
 msgstr ""
 
-#: src/data/sys-file-reader.c:748
+#: src/data/sys-file-reader.c:747
 #, c-format
 msgid "Unrecognized record type 7, subtype %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:773
+#: src/data/sys-file-reader.c:772
 #, c-format
-msgid "Bad size (%u) or count (%u) field on record type 7, subtype 3."
+msgid "Bad size (%zu) or count (%zu) field on record type 7, subtype 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:793
+#: src/data/sys-file-reader.c:792
 #, c-format
 msgid ""
 "Floating-point representation indicated by system file (%d) differs from "
 "expected (%d)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:806
+#: src/data/sys-file-reader.c:805
 msgid "little-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:806
+#: src/data/sys-file-reader.c:805
 msgid "big-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:807
+#: src/data/sys-file-reader.c:806
 #, c-format
 msgid ""
 "Integer format indicated by system file (%s) differs from expected (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:823
+#: src/data/sys-file-reader.c:822
 #, c-format
-msgid "Bad size (%u) or count (%u) on extension 4."
+msgid "Bad size (%zu) or count (%zu) on extension 4."
 msgstr ""
 
-#: src/data/sys-file-reader.c:827
+#: src/data/sys-file-reader.c:826
 #, c-format
 msgid "File specifies unexpected value %g as SYSMIS."
 msgstr ""
 
-#: src/data/sys-file-reader.c:829
+#: src/data/sys-file-reader.c:828
 #, c-format
 msgid "File specifies unexpected value %g as HIGHEST."
 msgstr ""
 
-#: src/data/sys-file-reader.c:831
+#: src/data/sys-file-reader.c:830
 #, c-format
 msgid "File specifies unexpected value %g as LOWEST."
 msgstr ""
 
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:844
 #, c-format
-msgid "Bad size (%u) or count (%u) on extension 11."
+msgid "Bad size (%zu) or count (%zu) on extension 11."
 msgstr ""
 
-#: src/data/sys-file-reader.c:868
+#: src/data/sys-file-reader.c:867
 msgid "Invalid variable display parameters.  Default parameters substituted."
 msgstr ""
 
-#: src/data/sys-file-reader.c:907
+#: src/data/sys-file-reader.c:906
 #, c-format
 msgid "Long variable mapping from %s to invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:917
+#: src/data/sys-file-reader.c:916
 #, c-format
 msgid "Duplicate long variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:972
+#: src/data/sys-file-reader.c:971
 #, c-format
 msgid "%s listed as string of invalid length %s in very length string record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:982
+#: src/data/sys-file-reader.c:981
 #, c-format
 msgid ""
 "%s listed in very long string record with width %s, which requires only one "
 "segment."
 msgstr ""
 
-#: src/data/sys-file-reader.c:988
+#: src/data/sys-file-reader.c:987
 #, c-format
 msgid "Very long string %s overflows dictionary."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1002
+#: src/data/sys-file-reader.c:1001
 #, c-format
 msgid ""
 "Very long string with width %ld has segment %d of width %d (expected %d)"
 msgstr ""
 
-#: src/data/sys-file-reader.c:1047
+#: src/data/sys-file-reader.c:1046
 #, c-format
 msgid "Invalid number of labels: %d.  Ignoring labels."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1078
+#: src/data/sys-file-reader.c:1077
 msgid ""
 "Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1085
+#: src/data/sys-file-reader.c:1084
 #, c-format
 msgid ""
 "Number of variables associated with a value label (%d) is not between 1 and "
-"the number of variables (%u)."
+"the number of variables (%zu)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1095
+#: src/data/sys-file-reader.c:1094
 #, c-format
 msgid "Value labels are not allowed on long string variables (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1102
+#: src/data/sys-file-reader.c:1101
 #, c-format
 msgid ""
 "Variables associated with value label are not all of identical type.  "
 "Variable %s is %s, but variable %s is %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1135
+#: src/data/sys-file-reader.c:1134
 #, c-format
 msgid "Duplicate value label for %g on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1138
+#: src/data/sys-file-reader.c:1137
 #, c-format
 msgid "Duplicate value label for \"%.*s\" on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1216
+#: src/data/sys-file-reader.c:1215
 msgid "File ends in partial case."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1224
+#: src/data/sys-file-reader.c:1223
 #, c-format
 msgid "Error reading case from file %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1321 src/data/sys-file-reader.c:1357
+#: src/data/sys-file-reader.c:1320 src/data/sys-file-reader.c:1356
 msgid "Compressed data is corrupt."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1444
+#: src/data/sys-file-reader.c:1443
 #, c-format
 msgid "Variable index %d not in valid range 1...%d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1449
+#: src/data/sys-file-reader.c:1448
 #, c-format
 msgid "Variable index %d refers to long string continuation."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1535
+#: src/data/sys-file-reader.c:1534
 #, c-format
 msgid "Suppressed %d additional variable map warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1548
+#: src/data/sys-file-reader.c:1547
 #, c-format
 msgid "Variable map refers to unknown variable %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1624
+#: src/data/sys-file-reader.c:1623
 #, c-format
 msgid "System error: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1626
+#: src/data/sys-file-reader.c:1625
 msgid "Unexpected end of file."
 msgstr "plotzlich ist der Datei beendet"
 
-#: src/data/sys-file-writer.c:161
+#: src/data/sys-file-writer.c:160
 #, c-format
 msgid "Unknown system file version %d. Treating as version %d."
 msgstr ""
 
-#: src/data/sys-file-writer.c:177
+#: src/data/sys-file-writer.c:176
 #, c-format
 msgid "Error opening \"%s\" for writing as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-writer.c:726
+#: src/data/sys-file-writer.c:725
 #, c-format
 msgid "An I/O error occurred writing system file \"%s\"."
 msgstr ""
 
-#: src/data/variable.c:230
+#: src/data/variable.c:231
 #, c-format
 msgid ""
 "Character `%c' (in %s) may not appear as the first character in a variable "
 "name."
 msgstr ""
 
-#: src/data/variable.c:242
+#: src/data/variable.c:243
 #, c-format
 msgid "Character `%c' (in %s) may not appear in a variable name."
 msgstr ""
 
-#: src/data/variable.c:270
+#: src/data/variable.c:271
 msgid "Variable name cannot be empty string."
 msgstr "Ein Variablename darf nicht eines leeres Kette sein."
 
-#: src/data/variable.c:276
+#: src/data/variable.c:277
 #, c-format
 msgid "Variable name %s exceeds %d-character limit."
 msgstr "Der Variabelname %s ist große als %d Buchstaben."
 
-#: src/data/variable.c:284
+#: src/data/variable.c:285
 #, c-format
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 
-#: src/data/variable.c:1002
+#: src/data/variable.c:1003
 msgid "ordinary"
 msgstr ""
 
-#: src/data/variable.c:1004
+#: src/data/variable.c:1005
 msgid "system"
 msgstr ""
 
-#: src/data/variable.c:1006
+#: src/data/variable.c:1007
 msgid "scratch"
 msgstr ""
 
-#: src/language/command.c:206
+#: src/language/command.c:208
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
-#: src/language/command.c:212
+#: src/language/command.c:214
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
-#: src/language/command.c:218
+#: src/language/command.c:220
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
-#: src/language/command.c:246
+#: src/language/command.c:248
 msgid "Error encountered while ERROR=STOP is effective."
 msgstr ""
 
-#: src/language/command.c:487
+#: src/language/command.c:489
 msgid "expecting command name"
 msgstr ""
 
-#: src/language/command.c:501
+#: src/language/command.c:503
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
-#: src/language/command.c:628
+#: src/language/command.c:630
 msgid "before the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:630
+#: src/language/command.c:632
 msgid "after the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:632
+#: src/language/command.c:634
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
-#: src/language/command.c:634
+#: src/language/command.c:636
 msgid "inside FILE TYPE"
 msgstr ""
 
-#: src/language/command.c:639
+#: src/language/command.c:641
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
-#: src/language/command.c:641
+#: src/language/command.c:643
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
-#: src/language/command.c:645
+#: src/language/command.c:647
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
-#: src/language/command.c:650
+#: src/language/command.c:652
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
-#: src/language/command.c:652
+#: src/language/command.c:654
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
-#: src/language/command.c:731 src/language/command.c:839
+#: src/language/command.c:733 src/language/command.c:841
 #: src/language/utilities/permissions.c:98
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/language/command.c:743
+#: src/language/command.c:745
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/language/command.c:793
+#: src/language/command.c:795
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/language/command.c:808
+#: src/language/command.c:810
 msgid "Interactive shell not supported on this platform."
 msgstr ""
 
-#: src/language/command.c:820
+#: src/language/command.c:822
 msgid "Command shell not supported on this platform."
 msgstr ""
 
-#: src/language/command.c:826
+#: src/language/command.c:828
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
@@ -979,7 +979,7 @@
 msgid "This command may not follow ELSE in DO IF...END IF."
 msgstr ""
 
-#: src/language/control/loop.c:212
+#: src/language/control/loop.c:213
 msgid "Only one index clause may be specified."
 msgstr ""
 
@@ -1065,25 +1065,25 @@
 msgstr ""
 
 #: src/language/data-io/data-list.c:429 src/language/data-io/data-list.c:538
-#: src/language/data-io/print.c:394 src/language/dictionary/split-file.c:83
-#: src/language/dictionary/sys-file-info.c:160
-#: src/language/dictionary/sys-file-info.c:388
-#: src/language/dictionary/sys-file-info.c:632
+#: src/language/data-io/print.c:395 src/language/dictionary/split-file.c:84
+#: src/language/dictionary/sys-file-info.c:158
+#: src/language/dictionary/sys-file-info.c:386
+#: src/language/dictionary/sys-file-info.c:630
 #: src/language/stats/descriptives.c:883 src/ui/gui/dict-display.c:195
 msgid "Variable"
 msgstr ""
 
-#: src/language/data-io/data-list.c:430 src/language/data-io/print.c:395
+#: src/language/data-io/data-list.c:430 src/language/data-io/print.c:396
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:431 src/language/data-io/print.c:396
+#: src/language/data-io/data-list.c:431 src/language/data-io/print.c:397
 #: src/ui/gui/var-sheet.c:72
 msgid "Columns"
 msgstr "Spalten"
 
 #: src/language/data-io/data-list.c:432 src/language/data-io/data-list.c:539
-#: src/language/data-io/print.c:397
+#: src/language/data-io/print.c:398
 msgid "Format"
 msgstr ""
 
@@ -1179,13 +1179,13 @@
 #, c-format
 msgid ""
 "Fixed-length records were specified on /RECFORM, but record length was not "
-"specified on /LRECL.  Assuming %u-character records."
+"specified on /LRECL.  Assuming %zu-character records."
 msgstr ""
 
 #: src/language/data-io/file-handle.q:102
 #, c-format
 msgid ""
-"Record length (%ld) must be at least one byte.  Assuming %u-character "
+"Record length (%ld) must be at least one byte.  Assuming %zu-character "
 "records."
 msgstr ""
 
@@ -1210,21 +1210,21 @@
 msgid "Handle for %s not allowed here."
 msgstr ""
 
-#: src/language/data-io/get.c:97
+#: src/language/data-io/get.c:98
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/language/data-io/get.c:268 src/language/data-io/get.c:282
-#: src/language/data-io/get.c:307
+#: src/language/data-io/get.c:269 src/language/data-io/get.c:283
+#: src/language/data-io/get.c:308
 #, c-format
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:500 src/language/data-io/print.c:175
+#: src/language/data-io/get.c:501 src/language/data-io/print.c:176
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/language/data-io/get.c:533
+#: src/language/data-io/get.c:534
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -1232,130 +1232,131 @@
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c:559
+#: src/language/data-io/get.c:560
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/language/data-io/get.c:566
+#: src/language/data-io/get.c:567
 #, 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."
+"Number of variables on left side of `=' (%zu) does not match number of "
+"variables on right side (%zu), in parenthesized group %d of RENAME "
+"subcommand."
 msgstr ""
 
-#: src/language/data-io/get.c:579
+#: src/language/data-io/get.c:580
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/language/data-io/get.c:609
+#: src/language/data-io/get.c:610
 msgid "Cannot DROP all variables from dictionary."
 msgstr ""
 
-#: src/language/data-io/get.c:782
+#: src/language/data-io/get.c:783
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
-#: src/language/data-io/get.c:789
+#: src/language/data-io/get.c:790
 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:823
+#: src/language/data-io/get.c:824
 msgid "Multiple IN subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/language/data-io/get.c:867
+#: src/language/data-io/get.c:868
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:870
+#: src/language/data-io/get.c:871
 #, c-format
 msgid "Active file lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:940
+#: src/language/data-io/get.c:941
 msgid "BY is required when TABLE is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:945
+#: src/language/data-io/get.c:946
 msgid "BY is required when IN is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1050
+#: src/language/data-io/get.c:1051
 #, c-format
 msgid ""
 "Variable name %s specified on %s subcommand duplicates an existing variable "
 "name."
 msgstr ""
 
-#: src/language/data-io/get.c:1296
+#: src/language/data-io/get.c:1297
 #, 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:128
+#: src/language/data-io/inpt-pgm.c:129
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:141
+#: src/language/data-io/inpt-pgm.c:142
 msgid "Input program did not create any variables."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:286
+#: src/language/data-io/inpt-pgm.c:287
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:334
+#: src/language/data-io/inpt-pgm.c:335
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:155 src/language/stats/descriptives.c:362
+#: src/language/data-io/list.q:156 src/language/stats/descriptives.c:362
 msgid "No variables specified."
 msgstr ""
 
-#: src/language/data-io/list.q:163
+#: src/language/data-io/list.q:164
 #, 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:171
+#: src/language/data-io/list.q:172
 #, 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:177
+#: src/language/data-io/list.q:178
 #, 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:183
+#: src/language/data-io/list.q:184
 #, 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:209
+#: src/language/data-io/list.q:210
 msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/language/data-io/list.q:465
+#: src/language/data-io/list.q:466
 msgid "Line"
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:85
 #, c-format
 msgid ""
-"Number of variables specified (%d) differs from number of variable formats (%"
-"d)."
+"Number of variables specified (%zu) differs from number of variable formats "
+"(%zu)."
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:95
@@ -1365,12 +1366,12 @@
 
 #: src/language/data-io/placement-parser.c:117
 #, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %u fields."
+msgid "The %d columns %d-%d can't be evenly divided into %zu fields."
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:224
-#: src/language/lexer/format-parser.c:108
-#: src/language/lexer/format-parser.c:127
+#: src/language/lexer/format-parser.c:107
+#: src/language/lexer/format-parser.c:126
 #, c-format
 msgid "Unknown format type \"%s\"."
 msgstr ""
@@ -1391,39 +1392,39 @@
 "Data fields must be listed in order of increasing record number."
 msgstr ""
 
-#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:477
-#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:59
-msgid "expecting end of command"
-msgstr ""
-
-#: src/language/data-io/print-space.c:114
-msgid "The expression on PRINT SPACE evaluated to the system-missing value."
-msgstr ""
-
-#: src/language/data-io/print-space.c:117
+#: src/language/data-io/print.c:259
 #, c-format
-msgid "The expression on PRINT SPACE evaluated to %g."
+msgid "Output calls for %d records but %zu specified on RECORDS subcommand."
 msgstr ""
 
-#: src/language/data-io/print.c:258
-#, c-format
-msgid "Output calls for %d records but %u specified on RECORDS subcommand."
-msgstr ""
-
-#: src/language/data-io/print.c:427
+#: src/language/data-io/print.c:428
 #, 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:431
+#: src/language/data-io/print.c:432
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:476
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:60
+msgid "expecting end of command"
+msgstr ""
+
+#: src/language/data-io/print-space.c:114
+msgid "The expression on PRINT SPACE evaluated to the system-missing value."
+msgstr ""
+
+#: src/language/data-io/print-space.c:117
+#, c-format
+msgid "The expression on PRINT SPACE evaluated to %g."
+msgstr ""
+
 #: src/language/dictionary/apply-dictionary.c:73
 #, c-format
 msgid "Variable %s is %s in target file, but %s in source file."
@@ -1464,24 +1465,24 @@
 msgid "`)' expected after output format."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:56
+#: src/language/dictionary/missing-values.c:55
 #: src/language/stats/aggregate.c:449
 msgid "expecting `('"
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:72
+#: src/language/dictionary/missing-values.c:71
 #, 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:117
+#: src/language/dictionary/missing-values.c:116
 #, c-format
 msgid "Truncating missing value to short string length (%d characters)."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:139
+#: src/language/dictionary/missing-values.c:138
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
@@ -1523,39 +1524,39 @@
 msgstr ""
 
 #: src/language/dictionary/modify-variables.c:208
-#: src/language/dictionary/rename-variables.c:75
+#: src/language/dictionary/rename-variables.c:76
 #, c-format
 msgid ""
-"Differing number of variables in old name list (%d) and in new name list (%"
-"d)."
+"Differing number of variables in old name list (%zu) and in new name list (%"
+"zu)."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:220
+#: src/language/dictionary/modify-variables.c:219
 msgid "`)' expected after variable lists on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:234
+#: src/language/dictionary/modify-variables.c:233
 msgid ""
 "KEEP subcommand may be given at most once.  It may not be given in "
 "conjunction with the DROP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:277
+#: src/language/dictionary/modify-variables.c:276
 msgid ""
 "DROP subcommand may be given at most once.  It may not be given in "
 "conjunction with the KEEP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:303
+#: src/language/dictionary/modify-variables.c:302
 #, c-format
 msgid "Unrecognized subcommand name `%s'."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:305
+#: src/language/dictionary/modify-variables.c:304
 msgid "Subcommand name expected."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:313
+#: src/language/dictionary/modify-variables.c:312
 msgid "`/' or `.' expected."
 msgstr ""
 
@@ -1574,17 +1575,17 @@
 msgid "Format type %s may not be used with a string variable."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:48
+#: src/language/dictionary/rename-variables.c:49
 msgid ""
 "RENAME VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:58
+#: src/language/dictionary/rename-variables.c:59
 msgid "`(' expected."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:66
+#: src/language/dictionary/rename-variables.c:67
 msgid "`=' expected between lists of new and old variable names."
 msgstr ""
 
@@ -1597,259 +1598,259 @@
 msgid "Renaming would duplicate variable name %s."
 msgstr ""
 
-#: src/language/dictionary/split-file.c:84
-#: src/language/dictionary/sys-file-info.c:561
-#: src/language/stats/crosstabs.q:1153 src/language/stats/crosstabs.q:1180
-#: src/language/stats/crosstabs.q:1200 src/language/stats/crosstabs.q:1222
-#: src/language/stats/examine.q:1193 src/language/stats/frequencies.q:1060
-#: src/language/stats/frequencies.q:1184
+#: src/language/dictionary/split-file.c:85
+#: src/language/dictionary/sys-file-info.c:559
+#: src/language/stats/crosstabs.q:1152 src/language/stats/crosstabs.q:1179
+#: src/language/stats/crosstabs.q:1199 src/language/stats/crosstabs.q:1221
+#: src/language/stats/examine.q:1192 src/language/stats/frequencies.q:1059
+#: src/language/stats/frequencies.q:1183
 msgid "Value"
 msgstr ""
 
-#: src/language/dictionary/split-file.c:85
-#: src/language/dictionary/sys-file-info.c:395
-#: src/language/dictionary/sys-file-info.c:562 src/ui/gui/psppire.glade:2099
+#: src/language/dictionary/split-file.c:86
+#: src/language/dictionary/sys-file-info.c:393
+#: src/language/dictionary/sys-file-info.c:560 src/ui/gui/psppire.glade:2099
 #: src/ui/gui/var-sheet.c:69
 msgid "Label"
 msgstr "Kennsatz"
 
-#: src/language/dictionary/sys-file-info.c:108
+#: src/language/dictionary/sys-file-info.c:107
 msgid "File:"
 msgstr "Datei:"
 
-#: src/language/dictionary/sys-file-info.c:110 src/ui/gui/psppire.glade:2052
+#: src/language/dictionary/sys-file-info.c:109 src/ui/gui/psppire.glade:2052
 msgid "Label:"
 msgstr "Kennsatz:"
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:113
 msgid "No label."
 msgstr "Kein Kennsatz."
 
-#: src/language/dictionary/sys-file-info.c:117
+#: src/language/dictionary/sys-file-info.c:116
 msgid "Created:"
 msgstr "Gemacht:"
 
-#: src/language/dictionary/sys-file-info.c:120
+#: src/language/dictionary/sys-file-info.c:119
 msgid "Integer Format:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:121
 msgid "Big Endian."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:122
 msgid "Little Endian."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:124
-#: src/language/dictionary/sys-file-info.c:132
+#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:131
 msgid "Unknown."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:125
+#: src/language/dictionary/sys-file-info.c:124
 msgid "Real Format:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:127
+#: src/language/dictionary/sys-file-info.c:126
 msgid "IEEE 754 LE."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:128
+#: src/language/dictionary/sys-file-info.c:127
 msgid "IEEE 754 BE."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:129
+#: src/language/dictionary/sys-file-info.c:128
 msgid "VAX D."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:129
 msgid "VAX G."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:130
 msgid "IBM 390 Hex Long."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:133
+#: src/language/dictionary/sys-file-info.c:132
 #: src/ui/gui/descriptives-dialog.glade:79
 msgid "Variables:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:136
+#: src/language/dictionary/sys-file-info.c:134
 msgid "Cases:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:138
+#: src/language/dictionary/sys-file-info.c:136
 msgid "Unknown"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:140
+#: src/language/dictionary/sys-file-info.c:138
 msgid "Type:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:141
+#: src/language/dictionary/sys-file-info.c:139
 msgid "System File."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:142
+#: src/language/dictionary/sys-file-info.c:140
 msgid "Weight:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:147
+#: src/language/dictionary/sys-file-info.c:145
 msgid "Not weighted."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:149
+#: src/language/dictionary/sys-file-info.c:147
 msgid "Mode:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 #, c-format
 msgid "Compression %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 msgid "on"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 msgid "off"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:161
-#: src/language/dictionary/sys-file-info.c:393
+#: src/language/dictionary/sys-file-info.c:159
+#: src/language/dictionary/sys-file-info.c:391
 msgid "Description"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:162
-#: src/language/dictionary/sys-file-info.c:391
-#: src/language/dictionary/sys-file-info.c:631
+#: src/language/dictionary/sys-file-info.c:160
+#: src/language/dictionary/sys-file-info.c:389
+#: src/language/dictionary/sys-file-info.c:629
 msgid "Position"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:220
+#: src/language/dictionary/sys-file-info.c:218
 msgid "The active file does not have a file label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:223
+#: src/language/dictionary/sys-file-info.c:221
 msgid "File label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:286
+#: src/language/dictionary/sys-file-info.c:284
 msgid "No variables to display."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:305
+#: src/language/dictionary/sys-file-info.c:303
 msgid "Macros not supported."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:315
+#: src/language/dictionary/sys-file-info.c:313
 msgid "The active file dictionary does not contain any documents."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:323
+#: src/language/dictionary/sys-file-info.c:321
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:473
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:483
+#: src/language/dictionary/sys-file-info.c:481
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:484
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:492
+#: src/language/dictionary/sys-file-info.c:490
 #, fuzzy, c-format
 msgid "Measure: %s"
 msgstr "Messe"
 
-#: src/language/dictionary/sys-file-info.c:493 src/ui/gui/var-sheet.c:87
+#: src/language/dictionary/sys-file-info.c:491 src/ui/gui/var-sheet.c:87
 msgid "Nominal"
 msgstr "Nominalwert"
 
-#: src/language/dictionary/sys-file-info.c:494 src/ui/gui/var-sheet.c:88
+#: src/language/dictionary/sys-file-info.c:492 src/ui/gui/var-sheet.c:88
 msgid "Ordinal"
 msgstr "Ordinalwert"
 
-#: src/language/dictionary/sys-file-info.c:495 src/ui/gui/var-sheet.c:89
+#: src/language/dictionary/sys-file-info.c:493 src/ui/gui/var-sheet.c:89
 msgid "Scale"
 msgstr "Skalwert"
 
-#: src/language/dictionary/sys-file-info.c:498
+#: src/language/dictionary/sys-file-info.c:496
 #, c-format
 msgid "Display Alignment: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:499 src/ui/gui/var-sheet.c:80
+#: src/language/dictionary/sys-file-info.c:497 src/ui/gui/var-sheet.c:80
 msgid "Left"
 msgstr "Links"
 
-#: src/language/dictionary/sys-file-info.c:500 src/ui/gui/var-sheet.c:82
+#: src/language/dictionary/sys-file-info.c:498 src/ui/gui/var-sheet.c:82
 msgid "Center"
 msgstr "Mittel"
 
-#: src/language/dictionary/sys-file-info.c:501 src/ui/gui/var-sheet.c:81
+#: src/language/dictionary/sys-file-info.c:499 src/ui/gui/var-sheet.c:81
 msgid "Right"
 msgstr "Rechts"
 
-#: src/language/dictionary/sys-file-info.c:504
+#: src/language/dictionary/sys-file-info.c:502
 #, c-format
 msgid "Display Width: %d"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:515
+#: src/language/dictionary/sys-file-info.c:513
 msgid "Missing Values: "
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:609
+#: src/language/dictionary/sys-file-info.c:607
 msgid "No vectors defined."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:630
+#: src/language/dictionary/sys-file-info.c:628
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:633
+#: src/language/dictionary/sys-file-info.c:631
 msgid "Print Format"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:120
+#: src/language/dictionary/value-labels.c:121
 #, c-format
 msgid ""
 "It is not possible to assign value labels to long string variables such as %"
 "s."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:156 src/language/lexer/lexer.c:621
+#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:619
 msgid "expecting string"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:165 src/language/lexer/lexer.c:635
+#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:633
 msgid "expecting integer"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:169
+#: src/language/dictionary/value-labels.c:170
 #, c-format
 msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:183
+#: src/language/dictionary/value-labels.c:184
 msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:50
+#: src/language/dictionary/variable-label.c:51
 msgid "String expected for variable label."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:58
+#: src/language/dictionary/variable-label.c:59
 msgid "Truncating variable label to 255 characters."
 msgstr ""
 
@@ -1893,11 +1894,11 @@
 msgid "The weighting variable may not be scratch."
 msgstr ""
 
-#: src/language/expressions/evaluate.c:153
+#: src/language/expressions/evaluate.c:154
 msgid "expecting number or string"
 msgstr ""
 
-#: src/language/expressions/evaluate.c:167
+#: src/language/expressions/evaluate.c:168
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr ""
@@ -1938,36 +1939,36 @@
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/helpers.c:175
+#: src/language/expressions/helpers.c:166
 #, c-format
 msgid ""
 "Unrecognized date unit \"%.*s\".  Valid date units are \"years\", \"quarters"
 "\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", and \"seconds\"."
 msgstr ""
 
-#: src/language/expressions/helpers.c:325
+#: src/language/expressions/helpers.c:316
 msgid ""
 "Invalid DATESUM method.  Valid choices are \"closest\" and \"rollover\"."
 msgstr ""
 
-#: src/language/expressions/parse.c:258
+#: src/language/expressions/parse.c:259
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:270
+#: src/language/expressions/parse.c:271
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:426
+#: src/language/expressions/parse.c:427
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:642
+#: src/language/expressions/parse.c:643
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -1975,272 +1976,272 @@
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:743
+#: src/language/expressions/parse.c:744
 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:808
+#: src/language/expressions/parse.c:809
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:856
+#: src/language/expressions/parse.c:857
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:884 src/language/stats/aggregate.c:507
+#: src/language/expressions/parse.c:885 src/language/stats/aggregate.c:507
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:891
+#: src/language/expressions/parse.c:892
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1072
+#: src/language/expressions/parse.c:1073
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1081
+#: src/language/expressions/parse.c:1082
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1084
+#: src/language/expressions/parse.c:1085
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1094
+#: src/language/expressions/parse.c:1095
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1103
+#: src/language/expressions/parse.c:1104
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1109
+#: src/language/expressions/parse.c:1110
 #, 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:1163
+#: src/language/expressions/parse.c:1164
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1168
+#: src/language/expressions/parse.c:1169
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1170
+#: src/language/expressions/parse.c:1171
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1200
+#: src/language/expressions/parse.c:1201
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1243
+#: src/language/expressions/parse.c:1244
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1263
+#: src/language/expressions/parse.c:1264
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1266 src/ui/terminal/command-line.c:126
-#: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
+#: src/language/expressions/parse.c:1267 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/language/expressions/parse.c:1272
+#: src/language/expressions/parse.c:1273
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
-#: src/language/lexer/format-parser.c:89
+#: src/language/lexer/format-parser.c:88
 msgid "expecting valid format specifier"
 msgstr ""
 
-#: src/language/lexer/format-parser.c:122
+#: src/language/lexer/format-parser.c:121
 msgid "expecting format type"
 msgstr ""
 
-#: src/language/lexer/lexer.c:283
+#: src/language/lexer/lexer.c:282
 #, c-format
 msgid "%s does not form a valid number."
 msgstr ""
 
-#: src/language/lexer/lexer.c:387
+#: src/language/lexer/lexer.c:386
 #, c-format
 msgid "Bad character in input: `%c'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:389
+#: src/language/lexer/lexer.c:388
 #, c-format
 msgid "Bad character in input: `\\%o'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:425
+#: src/language/lexer/lexer.c:424
 #, c-format
 msgid "Subcommand %s may only be specified once."
 msgstr ""
 
-#: src/language/lexer/lexer.c:433
+#: src/language/lexer/lexer.c:432
 #, c-format
 msgid "missing required subcommand %s"
 msgstr ""
 
-#: src/language/lexer/lexer.c:462
+#: src/language/lexer/lexer.c:461
 #, c-format
 msgid "Syntax error %s at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:465
+#: src/language/lexer/lexer.c:464
 #, c-format
 msgid "Syntax error at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:590 src/language/lexer/lexer.c:607
+#: src/language/lexer/lexer.c:588 src/language/lexer/lexer.c:605
 #, c-format
 msgid "expecting `%s'"
 msgstr ""
 
-#: src/language/lexer/lexer.c:648
+#: src/language/lexer/lexer.c:646
 msgid "expecting number"
 msgstr ""
 
-#: src/language/lexer/lexer.c:660
+#: src/language/lexer/lexer.c:658
 msgid "expecting identifier"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1054
+#: src/language/lexer/lexer.c:1052
 msgid "binary"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1059
+#: src/language/lexer/lexer.c:1057
 msgid "octal"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1064
+#: src/language/lexer/lexer.c:1062
 msgid "hex"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1074
+#: src/language/lexer/lexer.c:1072
 #, c-format
-msgid "String of %s digits has %d characters, which is not a multiple of %d."
+msgid "String of %s digits has %zu characters, which is not a multiple of %d."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1103
+#: src/language/lexer/lexer.c:1101
 #, c-format
 msgid "`%c' is not a valid %s digit."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1137
+#: src/language/lexer/lexer.c:1135
 msgid "Unterminated string constant."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1191
+#: src/language/lexer/lexer.c:1189
 msgid "Unexpected end of file in string concatenation."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1199
+#: src/language/lexer/lexer.c:1197
 msgid "String expected following `+'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1212
+#: src/language/lexer/lexer.c:1210
 #, c-format
-msgid "String exceeds 255 characters in length (%d characters)."
+msgid "String exceeds 255 characters in length (%zu characters)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:60
+#: src/language/lexer/range-parser.c:59
 #, c-format
 msgid ""
 "Low end of range (%g) is below high end (%g).  The range will be treated as "
 "reversed."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:68
+#: src/language/lexer/range-parser.c:67
 #, c-format
 msgid "Ends of range are equal (%g)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:76
+#: src/language/lexer/range-parser.c:75
 msgid "LO or LOWEST must be part of a range."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:107
+#: src/language/lexer/range-parser.c:106
 msgid "System-missing value is not valid here."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:115
+#: src/language/lexer/range-parser.c:114
 msgid "expecting number or data string"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:62
+#: src/language/lexer/variable-parser.c:63
 msgid "expecting variable name"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:72
+#: src/language/lexer/variable-parser.c:73
 #, c-format
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:175
+#: src/language/lexer/variable-parser.c:176
 #, 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:178
+#: src/language/lexer/variable-parser.c:179
 #, 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:182
+#: src/language/lexer/variable-parser.c:183
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:186
+#: src/language/lexer/variable-parser.c:187
 #, 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 the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:192
+#: src/language/lexer/variable-parser.c:193
 #, c-format
 msgid ""
 "%s and %s are string variables with different widths.  All variables in this "
 "variable list must have the same width.  %s will be omitted from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:197
+#: src/language/lexer/variable-parser.c:198
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:310
+#: src/language/lexer/variable-parser.c:311
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:318
+#: src/language/lexer/variable-parser.c:319
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2248,19 +2249,19 @@
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:392
+#: src/language/lexer/variable-parser.c:393
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:435
+#: src/language/lexer/variable-parser.c:436
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:457
+#: src/language/lexer/variable-parser.c:458
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:462
+#: src/language/lexer/variable-parser.c:463
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2288,9 +2289,9 @@
 msgstr ""
 
 #: src/language/stats/aggregate.c:488
-#, c-format
-msgid "Missing argument %d to %s."
-msgstr ""
+#, fuzzy, c-format
+msgid "Missing argument %zu to %s."
+msgstr "Lösewerten"
 
 #: src/language/stats/aggregate.c:497
 #, c-format
@@ -2300,8 +2301,8 @@
 #: src/language/stats/aggregate.c:519
 #, c-format
 msgid ""
-"Number of source variables (%u) does not match number of target variables (%"
-"u)."
+"Number of source variables (%zu) does not match number of target variables (%"
+"zu)."
 msgstr ""
 
 #: src/language/stats/aggregate.c:535
@@ -2320,7 +2321,7 @@
 
 #: src/language/stats/autorecode.c:136
 #, c-format
-msgid "Source variable count (%u) does not match target variable count (%u)."
+msgid "Source variable count (%zu) does not match target variable count (%zu)."
 msgstr ""
 
 #: src/language/stats/autorecode.c:164
@@ -2333,385 +2334,385 @@
 msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
-#: src/language/stats/binomial.c:132
+#: src/language/stats/binomial.c:133
 #, c-format
 msgid "Variable %s is not dichotomous"
 msgstr ""
 
-#: src/language/stats/binomial.c:177
+#: src/language/stats/binomial.c:178
 msgid "Binomial Test"
 msgstr ""
 
-#: src/language/stats/binomial.c:192
+#: src/language/stats/binomial.c:193
 msgid "Group1"
 msgstr ""
 
-#: src/language/stats/binomial.c:193
+#: src/language/stats/binomial.c:194
 msgid "Group2"
 msgstr ""
 
-#: src/language/stats/binomial.c:194 src/language/stats/chisquare.c:222
-#: src/language/stats/chisquare.c:282 src/language/stats/crosstabs.q:860
-#: src/language/stats/crosstabs.q:1060 src/language/stats/crosstabs.q:1783
-#: src/language/stats/examine.q:913 src/language/stats/frequencies.q:1137
-#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
-#: src/language/stats/regression.q:317
+#: src/language/stats/binomial.c:195 src/language/stats/chisquare.c:223
+#: src/language/stats/chisquare.c:283 src/language/stats/crosstabs.q:859
+#: src/language/stats/crosstabs.q:1059 src/language/stats/crosstabs.q:1782
+#: src/language/stats/examine.q:912 src/language/stats/frequencies.q:1136
+#: src/language/stats/oneway.q:306 src/language/stats/oneway.q:470
+#: src/language/stats/regression.q:318
 msgid "Total"
 msgstr ""
 
-#: src/language/stats/binomial.c:225 src/language/stats/chisquare.c:245
-#: src/language/stats/crosstabs.q:1178 src/language/stats/crosstabs.q:1219
+#: src/language/stats/binomial.c:226 src/language/stats/chisquare.c:246
+#: src/language/stats/crosstabs.q:1177 src/language/stats/crosstabs.q:1218
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/binomial.c:226 src/language/stats/crosstabs.q:870
-#: src/language/stats/examine.q:989 src/language/stats/frequencies.q:1405
-#: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
-#: src/language/stats/t-test.q:832 src/language/stats/t-test.q:1369
+#: src/language/stats/binomial.c:227 src/language/stats/crosstabs.q:869
+#: src/language/stats/examine.q:988 src/language/stats/frequencies.q:1404
+#: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:391
+#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
+#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1368
 msgid "N"
 msgstr ""
 
-#: src/language/stats/binomial.c:227
+#: src/language/stats/binomial.c:228
 msgid "Observed Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:228
+#: src/language/stats/binomial.c:229
 msgid "Test Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:231
+#: src/language/stats/binomial.c:232
 #, c-format
 msgid "Exact Sig. (%d-tailed)"
 msgstr ""
 
-#: src/language/stats/chisquare.c:192
+#: src/language/stats/chisquare.c:193
 #, c-format
 msgid ""
 "CHISQUARE test specified %d expected values, but %d distinct values were "
 "encountered in variable %s."
 msgstr ""
 
-#: src/language/stats/chisquare.c:206 src/language/stats/chisquare.c:246
+#: src/language/stats/chisquare.c:207 src/language/stats/chisquare.c:247
 msgid "Observed N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:207 src/language/stats/chisquare.c:247
+#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
 msgid "Expected N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
-#: src/language/stats/regression.q:316
+#: src/language/stats/chisquare.c:209 src/language/stats/chisquare.c:249
+#: src/language/stats/regression.q:317
 msgid "Residual"
 msgstr ""
 
-#: src/language/stats/chisquare.c:241
+#: src/language/stats/chisquare.c:242
 msgid "Frequencies"
 msgstr ""
 
-#: src/language/stats/chisquare.c:296
+#: src/language/stats/chisquare.c:297
 msgid "Test Statistics"
 msgstr ""
 
-#: src/language/stats/chisquare.c:310
+#: src/language/stats/chisquare.c:311
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:311 src/language/stats/crosstabs.q:1154
-#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:310 src/language/stats/t-test.q:983
-#: src/language/stats/t-test.q:1175 src/language/stats/t-test.q:1268
+#: src/language/stats/chisquare.c:312 src/language/stats/crosstabs.q:1153
+#: src/language/stats/oneway.q:279 src/language/stats/oneway.q:680
+#: src/language/stats/regression.q:311 src/language/stats/t-test.q:982
+#: src/language/stats/t-test.q:1174 src/language/stats/t-test.q:1267
 msgid "df"
 msgstr ""
 
-#: src/language/stats/chisquare.c:312
+#: src/language/stats/chisquare.c:313
 msgid "Asymp. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:278
+#: src/language/stats/crosstabs.q:277
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:288
+#: src/language/stats/crosstabs.q:287
 msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:364
+#: src/language/stats/crosstabs.q:363
 msgid "Too many cross-tabulation variables or dimensions."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:374
+#: src/language/stats/crosstabs.q:373
 msgid "expecting BY"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:441
+#: src/language/stats/crosstabs.q:440
 msgid "VARIABLES must be specified before TABLES."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:479
+#: src/language/stats/crosstabs.q:478
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:855
+#: src/language/stats/crosstabs.q:854
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:857 src/language/stats/examine.q:977
+#: src/language/stats/crosstabs.q:856 src/language/stats/examine.q:976
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:858 src/language/stats/examine.q:911
-#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1406
+#: src/language/stats/crosstabs.q:857 src/language/stats/examine.q:910
+#: src/language/stats/frequencies.q:1057 src/language/stats/frequencies.q:1405
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:859 src/language/stats/examine.q:912
-#: src/language/stats/frequencies.q:1128 src/language/stats/frequencies.q:1407
+#: src/language/stats/crosstabs.q:858 src/language/stats/examine.q:911
+#: src/language/stats/frequencies.q:1127 src/language/stats/frequencies.q:1406
 #: src/ui/gui/var-sheet.c:71
 msgid "Missing"
 msgstr "Löse"
 
-#: src/language/stats/crosstabs.q:871 src/language/stats/examine.q:992
-#: src/language/stats/frequencies.q:1062 src/language/stats/frequencies.q:1063
-#: src/language/stats/frequencies.q:1064
+#: src/language/stats/crosstabs.q:870 src/language/stats/examine.q:991
+#: src/language/stats/frequencies.q:1061 src/language/stats/frequencies.q:1062
+#: src/language/stats/frequencies.q:1063
 msgid "Percent"
 msgstr "Prozent"
 
-#: src/language/stats/crosstabs.q:1112
+#: src/language/stats/crosstabs.q:1111
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1113
+#: src/language/stats/crosstabs.q:1112
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1113
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1115
+#: src/language/stats/crosstabs.q:1114
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1115
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1117
+#: src/language/stats/crosstabs.q:1116
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1118
+#: src/language/stats/crosstabs.q:1117
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1119
+#: src/language/stats/crosstabs.q:1118
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1149
+#: src/language/stats/crosstabs.q:1148
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1152 src/language/stats/crosstabs.q:1179
-#: src/language/stats/crosstabs.q:1199 src/language/stats/crosstabs.q:1220
-#: src/language/stats/examine.q:1424 src/ui/gui/descriptives-dialog.c:276
+#: src/language/stats/crosstabs.q:1151 src/language/stats/crosstabs.q:1178
+#: src/language/stats/crosstabs.q:1198 src/language/stats/crosstabs.q:1219
+#: src/language/stats/examine.q:1423 src/ui/gui/descriptives-dialog.c:276
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1156
+#: src/language/stats/crosstabs.q:1155
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1158
+#: src/language/stats/crosstabs.q:1157
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1160
+#: src/language/stats/crosstabs.q:1159
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1175
+#: src/language/stats/crosstabs.q:1174
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1181 src/language/stats/crosstabs.q:1223
+#: src/language/stats/crosstabs.q:1180 src/language/stats/crosstabs.q:1222
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1182 src/language/stats/crosstabs.q:1224
+#: src/language/stats/crosstabs.q:1181 src/language/stats/crosstabs.q:1223
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1183 src/language/stats/crosstabs.q:1225
+#: src/language/stats/crosstabs.q:1182 src/language/stats/crosstabs.q:1224
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1194
+#: src/language/stats/crosstabs.q:1193
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1198
+#: src/language/stats/crosstabs.q:1197
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1201 src/language/stats/t-test.q:987
-#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1271
+#: src/language/stats/crosstabs.q:1200 src/language/stats/t-test.q:986
+#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1202 src/language/stats/t-test.q:988
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1272
+#: src/language/stats/crosstabs.q:1201 src/language/stats/t-test.q:987
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1271
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1216
+#: src/language/stats/crosstabs.q:1215
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1221 src/ui/gui/psppire.glade:2223
+#: src/language/stats/crosstabs.q:1220 src/ui/gui/psppire.glade:2223
 #: src/ui/gui/var-sheet.c:66
 msgid "Type"
 msgstr "Typ"
 
-#: src/language/stats/crosstabs.q:1975
+#: src/language/stats/crosstabs.q:1974
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1976
+#: src/language/stats/crosstabs.q:1975
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1977
+#: src/language/stats/crosstabs.q:1976
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1978
+#: src/language/stats/crosstabs.q:1977
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1979
+#: src/language/stats/crosstabs.q:1978
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2016 src/language/stats/crosstabs.q:2086
-#: src/language/stats/crosstabs.q:2145
+#: src/language/stats/crosstabs.q:2015 src/language/stats/crosstabs.q:2085
+#: src/language/stats/crosstabs.q:2144
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2161
+#: src/language/stats/crosstabs.q:2031 src/language/stats/crosstabs.q:2160
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2033 src/language/stats/crosstabs.q:2162
+#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2161
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2034
+#: src/language/stats/crosstabs.q:2033
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2035
+#: src/language/stats/crosstabs.q:2034
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2040
+#: src/language/stats/crosstabs.q:2039
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2041
+#: src/language/stats/crosstabs.q:2040
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2042
+#: src/language/stats/crosstabs.q:2041
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2043
+#: src/language/stats/crosstabs.q:2042
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2044
+#: src/language/stats/crosstabs.q:2043
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2045
+#: src/language/stats/crosstabs.q:2044
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2046
+#: src/language/stats/crosstabs.q:2045
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2047
+#: src/language/stats/crosstabs.q:2046
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2048
+#: src/language/stats/crosstabs.q:2047
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2118
+#: src/language/stats/crosstabs.q:2117
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:2120
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2128
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2131
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2163
+#: src/language/stats/crosstabs.q:2162
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2168
+#: src/language/stats/crosstabs.q:2167
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2169
+#: src/language/stats/crosstabs.q:2168
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2170
+#: src/language/stats/crosstabs.q:2169
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2171
+#: src/language/stats/crosstabs.q:2170
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2172
+#: src/language/stats/crosstabs.q:2171
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2177
+#: src/language/stats/crosstabs.q:2176
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2178 src/language/stats/crosstabs.q:2179
+#: src/language/stats/crosstabs.q:2177 src/language/stats/crosstabs.q:2178
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1525
-#: src/language/stats/frequencies.q:124 src/language/stats/npar-summary.c:125
-#: src/language/stats/oneway.q:393 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:1169 src/ui/gui/descriptives-dialog.c:52
+#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1524
+#: src/language/stats/frequencies.q:123 src/language/stats/npar-summary.c:125
+#: src/language/stats/oneway.q:392 src/language/stats/t-test.q:683
+#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1168 src/ui/gui/descriptives-dialog.c:52
 msgid "Mean"
 msgstr ""
 
@@ -2719,17 +2720,17 @@
 msgid "S E Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:128
+#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:127
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1605
-#: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:59
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1604
+#: src/language/stats/frequencies.q:128 src/ui/gui/descriptives-dialog.c:59
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1712
-#: src/language/stats/frequencies.q:130 src/ui/gui/descriptives-dialog.c:60
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1711
+#: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:60
 msgid "Kurtosis"
 msgstr ""
 
@@ -2737,8 +2738,8 @@
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1692
-#: src/language/stats/frequencies.q:132 src/ui/gui/descriptives-dialog.c:61
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1691
+#: src/language/stats/frequencies.q:131 src/ui/gui/descriptives-dialog.c:61
 msgid "Skewness"
 msgstr ""
 
@@ -2746,24 +2747,24 @@
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1653
-#: src/language/stats/frequencies.q:134 src/ui/gui/descriptives-dialog.c:56
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1652
+#: src/language/stats/frequencies.q:133 src/ui/gui/descriptives-dialog.c:56
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1630
-#: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:131
-#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:54
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1629
+#: src/language/stats/frequencies.q:134 src/language/stats/npar-summary.c:131
+#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:54
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1641
-#: src/language/stats/frequencies.q:136 src/language/stats/npar-summary.c:134
-#: src/language/stats/oneway.q:406 src/ui/gui/descriptives-dialog.c:55
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1640
+#: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:134
+#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:55
 msgid "Maximum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:113 src/language/stats/frequencies.q:137
+#: src/language/stats/descriptives.c:113 src/language/stats/frequencies.q:136
 #: src/ui/gui/descriptives-dialog.c:57
 msgid "Sum"
 msgstr ""
@@ -2813,264 +2814,264 @@
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:287 src/language/stats/examine.q:290
+#: src/language/stats/examine.q:286 src/language/stats/examine.q:289
 #, c-format
 msgid "%s is not currently supported."
 msgstr ""
 
-#: src/language/stats/examine.q:496 src/language/stats/examine.q:509
+#: src/language/stats/examine.q:495 src/language/stats/examine.q:508
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:971
+#: src/language/stats/examine.q:970
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1178
+#: src/language/stats/examine.q:1177
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1194
+#: src/language/stats/examine.q:1193
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1279
+#: src/language/stats/examine.q:1278
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1284
+#: src/language/stats/examine.q:1283
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1425 src/language/stats/oneway.q:395
-#: src/language/stats/oneway.q:679 src/language/stats/regression.q:212
+#: src/language/stats/examine.q:1424 src/language/stats/oneway.q:394
+#: src/language/stats/oneway.q:678 src/language/stats/regression.q:213
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1427 src/language/stats/oneway.q:409
+#: src/language/stats/examine.q:1426 src/language/stats/oneway.q:408
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1543 src/language/stats/oneway.q:400
+#: src/language/stats/examine.q:1542 src/language/stats/oneway.q:399
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1549 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1548 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1560 src/language/stats/oneway.q:403
+#: src/language/stats/examine.q:1559 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1572
+#: src/language/stats/examine.q:1571
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:126
+#: src/language/stats/examine.q:1582 src/language/stats/frequencies.q:125
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:128
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:685
-#: src/language/stats/t-test.q:708 src/language/stats/t-test.q:833
-#: src/language/stats/t-test.q:1170
+#: src/language/stats/examine.q:1616 src/language/stats/npar-summary.c:128
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:684
+#: src/language/stats/t-test.q:707 src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:1169
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1665
+#: src/language/stats/examine.q:1664
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1817
+#: src/language/stats/examine.q:1816
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1842
+#: src/language/stats/examine.q:1841
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1884
+#: src/language/stats/examine.q:1883
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1885 src/language/stats/examine.q:1891
+#: src/language/stats/examine.q:1884 src/language/stats/examine.q:1890
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1886
+#: src/language/stats/examine.q:1885
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1889
+#: src/language/stats/examine.q:1888
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1892
+#: src/language/stats/examine.q:1891
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:2011 src/language/stats/examine.q:2033
-#: src/language/stats/frequencies.q:1417 src/language/stats/npar-summary.c:141
+#: src/language/stats/examine.q:2010 src/language/stats/examine.q:2032
+#: src/language/stats/frequencies.q:1416 src/language/stats/npar-summary.c:141
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2157
+#: src/language/stats/examine.q:2156
 msgid "Tukey's Hinges"
 msgstr ""
 
-#: src/language/stats/flip.c:98
+#: src/language/stats/flip.c:95
 msgid ""
 "FLIP ignores TEMPORARY.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/stats/flip.c:153
+#: src/language/stats/flip.c:150
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/language/stats/flip.c:164
+#: src/language/stats/flip.c:161
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:264
+#: src/language/stats/flip.c:261
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/language/stats/flip.c:280
+#: src/language/stats/flip.c:277
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/language/stats/flip.c:396
+#: src/language/stats/flip.c:393
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:403
+#: src/language/stats/flip.c:400
 msgid "Error creating FLIP source file."
 msgstr ""
 
-#: src/language/stats/flip.c:416
+#: src/language/stats/flip.c:413
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:415
 msgid "Unexpected end of file reading FLIP file."
 msgstr "plotzlich ist der Datei beendet"
 
-#: src/language/stats/flip.c:442
+#: src/language/stats/flip.c:431
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:450
+#: src/language/stats/flip.c:439
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:450
 #, c-format
 msgid "Error closing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:458
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:498
+#: src/language/stats/flip.c:487
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:501
+#: src/language/stats/flip.c:490
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr ""
 
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/frequencies.q:124
 msgid "S.E. Mean"
 msgstr ""
 
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/frequencies.q:126
 msgid "Mode"
 msgstr ""
 
-#: src/language/stats/frequencies.q:131
+#: src/language/stats/frequencies.q:130
 msgid "S.E. Kurt"
 msgstr ""
 
-#: src/language/stats/frequencies.q:133
+#: src/language/stats/frequencies.q:132
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:410
+#: src/language/stats/frequencies.q:409
 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:493
+#: src/language/stats/frequencies.q:492
 #, 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:759
+#: src/language/stats/frequencies.q:758
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:822
+#: src/language/stats/frequencies.q:821
 msgid "`)' expected after GROUPED interval list."
 msgstr ""
 
-#: src/language/stats/frequencies.q:834
+#: src/language/stats/frequencies.q:833
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr ""
 
-#: src/language/stats/frequencies.q:841
+#: src/language/stats/frequencies.q:840
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1059 src/language/stats/frequencies.q:1152
-#: src/language/stats/frequencies.q:1153 src/language/stats/frequencies.q:1187
+#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1151
+#: src/language/stats/frequencies.q:1152 src/language/stats/frequencies.q:1186
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1061 src/output/charts/plot-hist.c:126
+#: src/language/stats/frequencies.q:1060 src/output/charts/plot-hist.c:126
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1082
+#: src/language/stats/frequencies.q:1081
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1185
+#: src/language/stats/frequencies.q:1184
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1186 src/language/stats/frequencies.q:1188
+#: src/language/stats/frequencies.q:1185 src/language/stats/frequencies.q:1187
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1379
+#: src/language/stats/frequencies.q:1378
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1421
+#: src/language/stats/frequencies.q:1420
 msgid "50 (Median)"
 msgstr ""
 
@@ -3078,11 +3079,11 @@
 msgid "Multivariate GLM not yet supported"
 msgstr ""
 
-#: src/language/stats/glm.q:271 src/language/stats/regression.q:1158
+#: src/language/stats/glm.q:271 src/language/stats/regression.q:1159
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/glm.q:346 src/language/stats/regression.q:1255
+#: src/language/stats/glm.q:346 src/language/stats/regression.q:1256
 msgid "No valid data found. This command was skipped."
 msgstr ""
 
@@ -3094,22 +3095,6 @@
 msgid "TABLES subcommand may not appear more than once."
 msgstr ""
 
-#: src/language/stats/npar-summary.c:108
-msgid "Descriptive Statistics"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:145
-msgid "25th"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:148
-msgid "50th (Median)"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:151
-msgid "75th"
-msgstr ""
-
 #: src/language/stats/npar.q:98
 msgid "NPAR subcommand not currently implemented."
 msgstr ""
@@ -3127,11 +3112,27 @@
 "exactly %d values."
 msgstr ""
 
-#: src/language/stats/npar.q:425 src/language/stats/t-test.q:487
+#: src/language/stats/npar.q:425 src/language/stats/t-test.q:486
 #, c-format
 msgid ""
-"PAIRED was specified but the number of variables preceding WITH (%d) did not "
-"match the number following (%d)."
+"PAIRED was specified but the number of variables preceding WITH (%zu) did "
+"not match the number following (%zu)."
+msgstr ""
+
+#: src/language/stats/npar-summary.c:108
+msgid "Descriptive Statistics"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:145
+msgid "25th"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:148
+msgid "50th (Median)"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:151
+msgid "75th"
 msgstr ""
 
 #: src/language/stats/oneway.q:169
@@ -3140,92 +3141,92 @@
 
 #: src/language/stats/oneway.q:178
 #, c-format
-msgid "Coefficients for contrast %d do not total zero"
+msgid "Coefficients for contrast %zu do not total zero"
 msgstr ""
 
-#: src/language/stats/oneway.q:245
+#: src/language/stats/oneway.q:244
 #, c-format
 msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/language/stats/oneway.q:279 src/language/stats/regression.q:309
+#: src/language/stats/oneway.q:278 src/language/stats/regression.q:310
 msgid "Sum of Squares"
 msgstr ""
 
-#: src/language/stats/oneway.q:281 src/language/stats/regression.q:311
+#: src/language/stats/oneway.q:280 src/language/stats/regression.q:312
 msgid "Mean Square"
 msgstr ""
 
-#: src/language/stats/oneway.q:282 src/language/stats/regression.q:312
-#: src/language/stats/t-test.q:980
+#: src/language/stats/oneway.q:281 src/language/stats/regression.q:313
+#: src/language/stats/t-test.q:979
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:283 src/language/stats/oneway.q:537
-#: src/language/stats/regression.q:215 src/language/stats/regression.q:313
+#: src/language/stats/oneway.q:282 src/language/stats/oneway.q:536
+#: src/language/stats/regression.q:216 src/language/stats/regression.q:314
 msgid "Significance"
 msgstr ""
 
-#: src/language/stats/oneway.q:305
+#: src/language/stats/oneway.q:304
 msgid "Between Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:306
+#: src/language/stats/oneway.q:305
 msgid "Within Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:353 src/language/stats/regression.q:339
+#: src/language/stats/oneway.q:352 src/language/stats/regression.q:340
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:534
+#: src/language/stats/oneway.q:533
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:535
+#: src/language/stats/oneway.q:534
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:536
+#: src/language/stats/oneway.q:535
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:540
+#: src/language/stats/oneway.q:539
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:608
+#: src/language/stats/oneway.q:607
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:677
+#: src/language/stats/oneway.q:609 src/language/stats/oneway.q:676
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:675
+#: src/language/stats/oneway.q:674
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:678
+#: src/language/stats/oneway.q:677
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:680 src/language/stats/regression.q:214
-#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1174
-#: src/language/stats/t-test.q:1267
+#: src/language/stats/oneway.q:679 src/language/stats/regression.q:215
+#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1173
+#: src/language/stats/t-test.q:1266
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:984
-#: src/language/stats/t-test.q:1176 src/language/stats/t-test.q:1269
+#: src/language/stats/oneway.q:681 src/language/stats/t-test.q:983
+#: src/language/stats/t-test.q:1175 src/language/stats/t-test.q:1268
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:726
+#: src/language/stats/oneway.q:725
 msgid "Assume equal variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:730
+#: src/language/stats/oneway.q:729
 msgid "Does not assume equal"
 msgstr ""
 
@@ -3282,66 +3283,66 @@
 msgid "Too many variables in INTO clause."
 msgstr ""
 
-#: src/language/stats/regression.q:166
+#: src/language/stats/regression.q:167
 msgid "R"
 msgstr ""
 
-#: src/language/stats/regression.q:167
+#: src/language/stats/regression.q:168
 msgid "R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:168
+#: src/language/stats/regression.q:169
 msgid "Adjusted R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:169
+#: src/language/stats/regression.q:170
 msgid "Std. Error of the Estimate"
 msgstr ""
 
-#: src/language/stats/regression.q:174
+#: src/language/stats/regression.q:175
 msgid "Model Summary"
 msgstr ""
 
-#: src/language/stats/regression.q:211
+#: src/language/stats/regression.q:212
 msgid "B"
 msgstr ""
 
-#: src/language/stats/regression.q:213
+#: src/language/stats/regression.q:214
 msgid "Beta"
 msgstr ""
 
-#: src/language/stats/regression.q:216
+#: src/language/stats/regression.q:217
 msgid "(Constant)"
 msgstr ""
 
-#: src/language/stats/regression.q:278
+#: src/language/stats/regression.q:279
 msgid "Coefficients"
 msgstr ""
 
-#: src/language/stats/regression.q:315
+#: src/language/stats/regression.q:316
 msgid "Regression"
 msgstr ""
 
-#: src/language/stats/regression.q:394
+#: src/language/stats/regression.q:395
 msgid "Model"
 msgstr ""
 
-#: src/language/stats/regression.q:395
+#: src/language/stats/regression.q:396
 msgid "Covariances"
 msgstr ""
 
-#: src/language/stats/regression.q:410
+#: src/language/stats/regression.q:411
 msgid "Coefficient Correlations"
 msgstr ""
 
-#: src/language/stats/regression.q:1031
+#: src/language/stats/regression.q:1032
 msgid ""
 "The dependent variable is equal to the independent variable.The least "
 "squares line is therefore Y=X.Standard errors and related statistics may be "
 "meaningless."
 msgstr ""
 
-#: src/language/stats/sort-cases.c:63
+#: src/language/stats/sort-cases.c:64
 msgid "Buffer limit must be at least 2."
 msgstr ""
 
@@ -3358,143 +3359,143 @@
 msgid "Variable %s specified twice in sort criteria."
 msgstr ""
 
-#: src/language/stats/t-test.q:276
+#: src/language/stats/t-test.q:275
 msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/language/stats/t-test.q:294
+#: src/language/stats/t-test.q:293
 msgid "VARIABLES subcommand is not appropriate with PAIRS"
 msgstr ""
 
-#: src/language/stats/t-test.q:332
+#: src/language/stats/t-test.q:331
 msgid "One or more VARIABLES must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:381
+#: src/language/stats/t-test.q:380
 #, c-format
 msgid "Long string variable %s is not valid here."
 msgstr ""
 
-#: src/language/stats/t-test.q:401 src/language/stats/t-test.q:415
+#: src/language/stats/t-test.q:400 src/language/stats/t-test.q:414
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:504
+#: src/language/stats/t-test.q:503
 msgid "At least two variables must be specified on PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:680
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:686 src/language/stats/t-test.q:709
-#: src/language/stats/t-test.q:834
+#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
+#: src/language/stats/t-test.q:833
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:704
+#: src/language/stats/t-test.q:703
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:827
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:850 src/language/stats/t-test.q:1195
-#: src/language/stats/t-test.q:1386
+#: src/language/stats/t-test.q:849 src/language/stats/t-test.q:1194
+#: src/language/stats/t-test.q:1385
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:968
+#: src/language/stats/t-test.q:967
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1371
+#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1370
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:985 src/language/stats/t-test.q:1270
+#: src/language/stats/t-test.q:984 src/language/stats/t-test.q:1269
 msgid "Mean Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:986
+#: src/language/stats/t-test.q:985
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:991 src/language/stats/t-test.q:1166
-#: src/language/stats/t-test.q:1262
+#: src/language/stats/t-test.q:990 src/language/stats/t-test.q:1165
+#: src/language/stats/t-test.q:1261
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1046
+#: src/language/stats/t-test.q:1045
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1098
+#: src/language/stats/t-test.q:1097
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1156
+#: src/language/stats/t-test.q:1155
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1159
+#: src/language/stats/t-test.q:1158
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1170
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1251
+#: src/language/stats/t-test.q:1250
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1256
+#: src/language/stats/t-test.q:1255
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1366
+#: src/language/stats/t-test.q:1365
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1370
+#: src/language/stats/t-test.q:1369
 msgid "Correlation"
 msgstr ""
 
-#: src/language/stats/t-test.q:1389
+#: src/language/stats/t-test.q:1388
 #, c-format
 msgid "%s & %s"
 msgstr ""
 
-#: src/language/syntax-file.c:86
+#: src/language/syntax-file.c:87
 #, c-format
 msgid "opening \"%s\" as syntax file"
 msgstr ""
 
-#: src/language/syntax-file.c:91
+#: src/language/syntax-file.c:92
 #, c-format
 msgid "Opening `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:104
+#: src/language/syntax-file.c:105
 #, c-format
 msgid "Reading `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:124
+#: src/language/syntax-file.c:125
 #, c-format
 msgid "Closing `%s': %s."
 msgstr ""
@@ -3519,21 +3520,21 @@
 
 #: src/language/tests/float-format.c:124
 #, c-format
-msgid "%d-byte string needed but %d-byte string supplied."
+msgid "%zu-byte string needed but %zu-byte string supplied."
 msgstr ""
 
-#: src/language/tests/float-format.c:135
+#: src/language/tests/float-format.c:136
 msgid "Hexadecimal floating constant too long."
 msgstr ""
 
-#: src/language/tests/float-format.c:200
+#: src/language/tests/float-format.c:201
 #, c-format
 msgid ""
 "%s conversion of %s from %s to %s should have produced %s but actually "
 "produced %s."
 msgstr ""
 
-#: src/language/tests/float-format.c:246
+#: src/language/tests/float-format.c:247
 msgid "Too many values in single command."
 msgstr ""
 
@@ -3728,98 +3729,98 @@
 msgid "WIDTH is %d."
 msgstr ""
 
-#: src/language/utilities/title.c:67
+#: src/language/utilities/title.c:68
 #, c-format
 msgid "%s: `.' expected after string."
 msgstr ""
 
-#: src/language/utilities/title.c:107
+#: src/language/utilities/title.c:108
 #, c-format
 msgid "   (Entered %s)"
 msgstr ""
 
-#: src/language/xforms/compute.c:145 src/language/xforms/compute.c:193
+#: src/language/xforms/compute.c:146 src/language/xforms/compute.c:194
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/language/xforms/compute.c:149 src/language/xforms/compute.c:200
+#: src/language/xforms/compute.c:150 src/language/xforms/compute.c:201
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/language/xforms/compute.c:343
+#: src/language/xforms/compute.c:344
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/language/xforms/count.c:122
+#: src/language/xforms/count.c:123
 msgid "Destination cannot be a string variable."
 msgstr ""
 
-#: src/language/xforms/recode.c:246
+#: src/language/xforms/recode.c:245
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
 msgstr ""
 
-#: src/language/xforms/recode.c:267
+#: src/language/xforms/recode.c:266
 msgid "CONVERT requires string input values and numeric output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:317
+#: src/language/xforms/recode.c:316
 msgid "THRU is not allowed with string variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:391
+#: src/language/xforms/recode.c:390
 msgid "expecting output value"
 msgstr ""
 
-#: src/language/xforms/recode.c:440
+#: src/language/xforms/recode.c:439
 #, c-format
 msgid ""
-"%u variable(s) cannot be recoded into %u variable(s).  Specify the same "
+"%zu variable(s) cannot be recoded into %zu variable(s).  Specify the same "
 "number of variables as source and target variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:455
+#: src/language/xforms/recode.c:454
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
 "already exist.  Use the STRING command to create a string variable.)"
 msgstr ""
 
-#: src/language/xforms/recode.c:470
+#: src/language/xforms/recode.c:469
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:483
+#: src/language/xforms/recode.c:482
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr ""
 
-#: src/language/xforms/sample.c:75
+#: src/language/xforms/sample.c:76
 msgid "The sampling factor must be between 0 and 1 exclusive."
 msgstr ""
 
-#: src/language/xforms/sample.c:95
+#: src/language/xforms/sample.c:96
 #, c-format
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/language/xforms/select-if.c:99
+#: src/language/xforms/select-if.c:100
 msgid "Syntax error expecting OFF or BY.  Turning off case filtering."
 msgstr ""
 
-#: src/language/xforms/select-if.c:114
+#: src/language/xforms/select-if.c:115
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/language/xforms/select-if.c:120
+#: src/language/xforms/select-if.c:121
 msgid "The filter variable may not be scratch."
 msgstr ""
 
@@ -3962,7 +3963,7 @@
 msgid "ascii: boolean value expected for `%s'"
 msgstr ""
 
-#: src/output/ascii.c:478 src/output/html.c:186
+#: src/output/ascii.c:478 src/output/html.c:187
 msgid "`chart-files' value must contain `#'"
 msgstr ""
 
@@ -3976,7 +3977,7 @@
 msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
 msgstr ""
 
-#: src/output/ascii.c:809 src/output/postscript.c:825
+#: src/output/ascii.c:809 src/output/postscript.c:826
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
@@ -3995,16 +3996,16 @@
 msgid "HISTOGRAM"
 msgstr ""
 
-#: src/output/html.c:70
+#: src/output/html.c:71
 #, c-format
 msgid "opening HTML output file: %s"
 msgstr ""
 
-#: src/output/html.c:81
+#: src/output/html.c:82
 msgid "PSPP Output"
 msgstr ""
 
-#: src/output/html.c:169
+#: src/output/html.c:170
 #, c-format
 msgid "unknown configuration parameter `%s' for HTML device driver"
 msgstr ""
@@ -4141,12 +4142,12 @@
 msgid "syntax error in paper size `%s'"
 msgstr ""
 
-#: src/output/postscript.c:157
+#: src/output/postscript.c:158
 #, c-format
 msgid "opening PostScript output file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:195
+#: src/output/postscript.c:196
 #, c-format
 msgid ""
 "The defined PostScript page is not long enough to hold margins and headers, "
@@ -4154,87 +4155,87 @@
 "lines of each font at the default size of %d.%03d points."
 msgstr ""
 
-#: src/output/postscript.c:245
+#: src/output/postscript.c:246
 #, c-format
 msgid "closing PostScript output file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:308
+#: src/output/postscript.c:309
 #, c-format
 msgid "unknown configuration parameter `%s' for PostScript device driver"
 msgstr ""
 
-#: src/output/postscript.c:324
+#: src/output/postscript.c:325
 #, c-format
 msgid ""
 "unknown orientation `%s' (valid orientations are `portrait' and `landscape')"
 msgstr ""
 
-#: src/output/postscript.c:336
+#: src/output/postscript.c:337
 #, c-format
 msgid "boolean value expected for %s"
 msgstr ""
 
-#: src/output/postscript.c:349
+#: src/output/postscript.c:350
 #, c-format
 msgid "positive integer value required for `%s'"
 msgstr ""
 
-#: src/output/postscript.c:354
+#: 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:1175
+#: src/output/postscript.c:1176
 #, c-format
 msgid "\"%s\": bad font specification"
 msgstr ""
 
-#: src/output/postscript.c:1183
+#: src/output/postscript.c:1184
 #, c-format
 msgid "could not find AFM file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1197
+#: src/output/postscript.c:1198
 #, c-format
 msgid "could not find font \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1206
+#: src/output/postscript.c:1207
 #, c-format
 msgid "could not find encoding \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1306
+#: src/output/postscript.c:1307
 #, c-format
 msgid "cannot open font file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1347
+#: src/output/postscript.c:1348
 #, c-format
 msgid "reading font file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1369
+#: src/output/postscript.c:1370
 #, c-format
 msgid "cannot open font encoding file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1398
+#: src/output/postscript.c:1399
 msgid "invalid numeric format"
 msgstr ""
 
-#: src/output/postscript.c:1420
+#: src/output/postscript.c:1421
 #, c-format
 msgid "closing Postscript encoding \"%s\""
 msgstr ""
 
-#: src/output/table.c:235
+#: src/output/table.c:234
 #, 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:306
+#: src/output/table.c:305
 #, c-format
 msgid ""
 "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
@@ -4249,248 +4250,266 @@
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
 msgid "Transformations Pending"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:422
+#: src/ui/gui/data-editor.c:424
 #, fuzzy
 msgid "Labels"
 msgstr "Kennsatz"
 
-#: src/ui/gui/data-editor.c:423
+#: src/ui/gui/data-editor.c:425
 msgid "Show/hide value labels"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:441 src/ui/gui/data-editor.c:458
-#: src/ui/gui/data-editor.c:1770 src/ui/gui/data-editor.c:1823
+#: src/ui/gui/data-editor.c:443 src/ui/gui/data-editor.c:460
+#: src/ui/gui/data-editor.c:1799 src/ui/gui/data-editor.c:1852
 msgid "Clear"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:442
+#: src/ui/gui/data-editor.c:444
 msgid "Delete the cases at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:459
+#: src/ui/gui/data-editor.c:461
 msgid "Delete the variables at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:473 src/ui/gui/data-editor.c:1767
+#: src/ui/gui/data-editor.c:475 src/ui/gui/data-editor.c:1796
 #: src/ui/gui/data-editor.glade:137 src/ui/gui/data-editor.glade:789
 #, fuzzy
 msgid "Insert Variable"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.c:474
+#: src/ui/gui/data-editor.c:476
 msgid "Create a new variable at the current position"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:492 src/ui/gui/data-editor.c:1820
+#: src/ui/gui/data-editor.c:494 src/ui/gui/data-editor.c:1849
 #: src/ui/gui/data-editor.glade:777
 #, fuzzy
 msgid "Insert Case"
 msgstr "_Stecken"
 
-#: src/ui/gui/data-editor.c:493
+#: src/ui/gui/data-editor.c:495
 msgid "Create a new case at the current position"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:513
+#: src/ui/gui/data-editor.c:515
 #, fuzzy
 msgid "Goto Case"
 msgstr "_Stecken"
 
-#: src/ui/gui/data-editor.c:514
+#: src/ui/gui/data-editor.c:516
 msgid "Jump to a Case in the Data Sheet"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:533
+#: src/ui/gui/data-editor.c:535
 #, fuzzy
 msgid "Weights"
 msgstr "Rechts"
 
-#: src/ui/gui/data-editor.c:534
+#: src/ui/gui/data-editor.c:536
 msgid "Weight cases by variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:543 src/ui/gui/data-editor.glade:312
+#: src/ui/gui/data-editor.c:545 src/ui/gui/data-editor.glade:312
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:544
+#: src/ui/gui/data-editor.c:546
 msgid "Transpose the cases with the variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:555
+#: src/ui/gui/data-editor.c:557
 #, fuzzy
 msgid "Split"
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.c:556
+#: src/ui/gui/data-editor.c:558
 msgid "Split the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:566
+#: src/ui/gui/data-editor.c:568
 msgid "Sort"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:567
+#: src/ui/gui/data-editor.c:569
 msgid "Sort cases in the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:575 src/ui/gui/data-editor.glade:347
+#: src/ui/gui/data-editor.c:577 src/ui/gui/data-editor.glade:347
 #: src/ui/gui/data-editor.glade:832
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:576
+#: src/ui/gui/data-editor.c:578
 msgid "Select cases from the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:585
+#: src/ui/gui/data-editor.c:587
 msgid "Compute"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:586
+#: src/ui/gui/data-editor.c:588
 #, fuzzy
 msgid "Compute new values for a variable"
 msgstr "Unpassend Wert für Variable"
 
-#: src/ui/gui/data-editor.c:596 src/ui/gui/data-editor.glade:484
-msgid "_Independent Samples T Test"
+#: src/ui/gui/data-editor.c:596
+msgid "Oneway _ANOVA"
 msgstr ""
 
 #: src/ui/gui/data-editor.c:597
-msgid "Calculate T Test for samples from independent groups"
+msgid "Perform one way analysis of variance"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:605 src/ui/gui/data-editor.glade:484
+msgid "_Independent Samples T Test"
 msgstr ""
 
 #: src/ui/gui/data-editor.c:606
+msgid "Calculate T Test for samples from independent groups"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:615
 #, fuzzy
 msgid "Data File Comments"
 msgstr "Datei Fehler"
 
-#: src/ui/gui/data-editor.c:607
+#: src/ui/gui/data-editor.c:616
 msgid "Commentary text for the data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:615 src/ui/gui/data-editor.glade:757
+#: src/ui/gui/data-editor.c:624 src/ui/gui/data-editor.glade:757
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:616
+#: src/ui/gui/data-editor.c:625
 #, fuzzy
 msgid "Find Case"
 msgstr "_Stecken"
 
-#: src/ui/gui/data-editor.c:625 src/ui/gui/data-editor.glade:286
+#: src/ui/gui/data-editor.c:634 src/ui/gui/data-editor.glade:384
+#, fuzzy
+msgid "Ran_k Cases"
+msgstr "_Stecken"
+
+#: src/ui/gui/data-editor.c:635
+#, fuzzy
+msgid "Rank Cases"
+msgstr "_Stecken"
+
+#: src/ui/gui/data-editor.c:644 src/ui/gui/data-editor.glade:286
 #: src/ui/gui/data-editor.glade:736
 msgid "Variables"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.c:626
+#: src/ui/gui/data-editor.c:645
 #, fuzzy
 msgid "Jump to Variable"
 msgstr "Variableansicht"
 
-#: src/ui/gui/data-editor.c:634 src/ui/gui/data-editor.glade:438
+#: src/ui/gui/data-editor.c:653 src/ui/gui/data-editor.glade:438
 msgid "_Descriptives"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:635
+#: src/ui/gui/data-editor.c:654
 msgid "Calculate descriptive statistics (mean, variance, ...)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1048
+#: src/ui/gui/data-editor.c:1077
 msgid "Font Selection"
 msgstr "Schriftwahlung"
 
-#: src/ui/gui/data-editor.c:1255
+#: src/ui/gui/data-editor.c:1284
 msgid "No Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1264
+#: src/ui/gui/data-editor.c:1293
 #, fuzzy
 msgid "Split by "
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.c:1289
+#: src/ui/gui/data-editor.c:1318
 msgid "Filter off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1302
+#: src/ui/gui/data-editor.c:1331
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1320
+#: src/ui/gui/data-editor.c:1349
 msgid "Weights off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1333
+#: src/ui/gui/data-editor.c:1362
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1356 src/ui/gui/data-editor.c:1590
+#: src/ui/gui/data-editor.c:1385 src/ui/gui/data-editor.c:1619
 #: src/ui/gui/data-editor.glade:648
 msgid "Open"
 msgstr "Öffen"
 
-#: src/ui/gui/data-editor.c:1357
+#: src/ui/gui/data-editor.c:1386
 msgid "Open a data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1365 src/ui/gui/data-editor.c:1472
+#: src/ui/gui/data-editor.c:1394 src/ui/gui/data-editor.c:1501
 #: src/ui/gui/data-editor.glade:658
 msgid "Save"
 msgstr "Speichen"
 
-#: src/ui/gui/data-editor.c:1366 src/ui/gui/data-editor.c:1376
+#: src/ui/gui/data-editor.c:1395 src/ui/gui/data-editor.c:1405
 #, fuzzy
 msgid "Save data to file"
 msgstr "Speichern unter"
 
-#: src/ui/gui/data-editor.c:1375
+#: src/ui/gui/data-editor.c:1404
 #, fuzzy
 msgid "Save As"
 msgstr "Speichern unter"
 
-#: src/ui/gui/data-editor.c:1384
+#: src/ui/gui/data-editor.c:1413
 msgid "New"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1385
+#: src/ui/gui/data-editor.c:1414
 msgid "New data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1480 src/ui/gui/data-editor.c:1598
+#: src/ui/gui/data-editor.c:1509 src/ui/gui/data-editor.c:1627
 msgid "System Files (*.sav)"
 msgstr "Systemedatein (*.sav)"
 
-#: src/ui/gui/data-editor.c:1486 src/ui/gui/data-editor.c:1604
+#: src/ui/gui/data-editor.c:1515 src/ui/gui/data-editor.c:1633
 msgid "Portable Files (*.por) "
 msgstr "Tragbardatein (*.por)"
 
-#: src/ui/gui/data-editor.c:1492 src/ui/gui/data-editor.c:1610
+#: src/ui/gui/data-editor.c:1521 src/ui/gui/data-editor.c:1639
 #: src/ui/gui/syntax-editor.c:138 src/ui/gui/syntax-editor.c:522
 msgid "All Files"
 msgstr "Alle Datei"
 
-#: src/ui/gui/data-editor.c:1500
+#: src/ui/gui/data-editor.c:1529
 #, fuzzy
 msgid "System File"
 msgstr "Systemedatein (*.sav)"
 
-#: src/ui/gui/data-editor.c:1505
+#: src/ui/gui/data-editor.c:1534
 #, fuzzy
 msgid "Portable File"
 msgstr "Tragbardatein (*.por)"
 
-#: src/ui/gui/data-editor.c:1760
+#: src/ui/gui/data-editor.c:1789
 msgid "Sort Ascending"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1763
+#: src/ui/gui/data-editor.c:1792
 msgid "Sort Descending"
 msgstr ""
 
@@ -4607,11 +4626,6 @@
 msgid "_Compute"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:384
-#, fuzzy
-msgid "Ran_k Cases"
-msgstr "_Stecken"
-
 #: src/ui/gui/data-editor.glade:397
 msgid "_Run Pending Transforms"
 msgstr ""
@@ -4880,7 +4894,7 @@
 msgid "Options:"
 msgstr ""
 
-#: src/ui/gui/find-dialog.c:658
+#: src/ui/gui/find-dialog.c:657
 #, c-format
 msgid "Bad regular expression: %s"
 msgstr ""
@@ -4958,6 +4972,49 @@
 msgid "Incorrect range specification"
 msgstr "Falshe Spannweitebeschreibung"
 
+#: src/ui/gui/oneway-anova-dialog.c:317
+#, c-format
+msgid "Contrast %d of %d"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:34 src/ui/gui/x.glade:126
+msgid "_Factor:"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:70 src/ui/gui/x.glade:82
+#, fuzzy
+msgid "_Dependent Variable(s):"
+msgstr "Variableansicht"
+
+#: src/ui/gui/oneway.glade:172
+msgid "_Options..."
+msgstr ""
+
+#: src/ui/gui/oneway.glade:183
+msgid "_Contrasts..."
+msgstr ""
+
+#: src/ui/gui/oneway.glade:254
+msgid "gtk-go-back"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:265
+msgid "gtk-go-forward"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:288
+#, fuzzy
+msgid "_Coefficients:"
+msgstr "Spalten"
+
+#: src/ui/gui/oneway.glade:334
+msgid "Coefficient Total: "
+msgstr ""
+
+#: src/ui/gui/oneway.glade:367
+msgid "Contrast 1 of 1"
+msgstr ""
+
 #: src/ui/gui/output-viewer.glade:32
 msgid "gtk-save"
 msgstr ""
@@ -5008,6 +5065,10 @@
 msgid "Paste"
 msgstr "Datum"
 
+#: src/ui/gui/psppire.c:197
+msgid "_Reset"
+msgstr "_Zurücksetzen"
+
 #: src/ui/gui/psppire-data-store.c:816
 msgid "var"
 msgstr ""
@@ -5017,28 +5078,6 @@
 msgid "%ld"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:479 src/ui/gui/var-display.c:14
-msgid "None"
-msgstr "Keine"
-
-#: src/ui/gui/psppire-var-store.c:489
-msgid "Scientific"
-msgstr "Wissenschäflich"
-
-#: src/ui/gui/psppire-var-store.c:492
-msgid "Custom"
-msgstr "Spezial"
-
-#: src/ui/gui/psppire-var-store.c:563 src/ui/gui/psppire-var-store.c:573
-#: src/ui/gui/psppire-var-store.c:583
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/ui/gui/psppire.c:197
-msgid "_Reset"
-msgstr "_Zurücksetzen"
-
 #: src/ui/gui/psppire.glade:11
 #, fuzzy
 msgid "This is pre-alpha software.  Use at your own risk."
@@ -5282,6 +5321,24 @@
 msgid "Search backward"
 msgstr ""
 
+#: src/ui/gui/psppire-var-store.c:479 src/ui/gui/var-display.c:14
+msgid "None"
+msgstr "Keine"
+
+#: src/ui/gui/psppire-var-store.c:489
+msgid "Scientific"
+msgstr "Wissenschäflich"
+
+#: src/ui/gui/psppire-var-store.c:492
+msgid "Custom"
+msgstr "Spezial"
+
+#: src/ui/gui/psppire-var-store.c:563 src/ui/gui/psppire-var-store.c:573
+#: src/ui/gui/psppire-var-store.c:583
+#, c-format
+msgid "%d"
+msgstr ""
+
 #: src/ui/gui/select-cases-dialog.c:85
 #, c-format
 msgid "Approximately %3d%% of all cases."
@@ -5341,11 +5398,6 @@
 msgid "To End"
 msgstr ""
 
-#: src/ui/gui/t-test-independent-samples-dialog.c:171
-#, c-format
-msgid "Confidence Interval: %2d %%"
-msgstr ""
-
 #: src/ui/gui/t-test.glade:56
 msgid "Define Groups"
 msgstr ""
@@ -5380,25 +5432,10 @@
 msgid "Exclude cases _listwise"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:65
-msgid "Name"
-msgstr "Name"
-
-#: src/ui/gui/var-sheet.c:68
-msgid "Decimals"
-msgstr "Dezimalstellen"
-
-#: src/ui/gui/var-sheet.c:70
-msgid "Values"
-msgstr "Werten"
-
-#: src/ui/gui/var-sheet.c:73
-msgid "Align"
-msgstr "Einstellung"
-
-#: src/ui/gui/var-sheet.c:74
-msgid "Measure"
-msgstr "Messe"
+#: src/ui/gui/t-test-independent-samples-dialog.c:175
+#, c-format
+msgid "Confidence Interval: %2d %%"
+msgstr ""
 
 #: src/ui/gui/variable-info-dialog.c:88
 #, fuzzy, c-format
@@ -5430,6 +5467,26 @@
 msgid "%s %s\n"
 msgstr ""
 
+#: src/ui/gui/var-sheet.c:65
+msgid "Name"
+msgstr "Name"
+
+#: src/ui/gui/var-sheet.c:68
+msgid "Decimals"
+msgstr "Dezimalstellen"
+
+#: src/ui/gui/var-sheet.c:70
+msgid "Values"
+msgstr "Werten"
+
+#: src/ui/gui/var-sheet.c:73
+msgid "Align"
+msgstr "Einstellung"
+
+#: src/ui/gui/var-sheet.c:74
+msgid "Measure"
+msgstr "Messe"
+
 #: src/ui/gui/weight-cases-dialog.c:88
 #, c-format
 msgid "Weight cases by %s"
@@ -5465,7 +5522,7 @@
 msgid "%s --- PSPP Output"
 msgstr "PSPP Dateiaufbereiter"
 
-#: src/ui/terminal/command-line.c:229
+#: src/ui/terminal/command-line.c:230
 #, c-format
 msgid ""
 "PSPP, a program for statistical analysis of sample data.\n"
@@ -5511,7 +5568,7 @@
 "\n"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:264
+#: src/ui/terminal/command-line.c:265
 #, c-format
 msgid ""
 "\n"

Index: po/en_GB.po
===================================================================
RCS file: /sources/pspp/pspp/po/en_GB.po,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -b -r1.87 -r1.88
--- po/en_GB.po 12 Oct 2007 04:49:25 -0000      1.87
+++ po/en_GB.po 19 Oct 2007 05:51:12 -0000      1.88
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PSPP 0.4.3\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-10-10 21:49-0700\n"
+"POT-Creation-Date: 2007-10-17 20:48+0800\n"
 "PO-Revision-Date: 2007-09-15 08:29+0800\n"
 "Last-Translator: John Darrington <address@hidden>\n"
 "Language-Team: John Darrington <address@hidden>\n"
@@ -44,6 +44,12 @@
 msgid "Date %04d-%d-%d is before the earliest acceptable date of 1582-10-15."
 msgstr ""
 
+#: src/data/casereader-filter.c:221
+msgid ""
+"At least one case in the data read had a weight value that was user-missing, "
+"system-missing, zero, or negative.  These case(s) were ignored."
+msgstr ""
+
 #: src/data/case-tmpfile.c:57
 msgid "failed to create temporary file"
 msgstr ""
@@ -64,137 +70,131 @@
 msgid "writing to temporary file"
 msgstr ""
 
-#: src/data/casereader-filter.c:221
-msgid ""
-"At least one case in the data read had a weight value that was user-missing, "
-"system-missing, zero, or negative.  These case(s) were ignored."
-msgstr ""
-
-#: src/data/data-in.c:269 src/data/data-in.c:459
+#: src/data/data-in.c:267 src/data/data-in.c:457
 msgid "Field contents are not numeric."
 msgstr ""
 
-#: src/data/data-in.c:271 src/data/data-in.c:461
+#: src/data/data-in.c:269 src/data/data-in.c:459
 msgid "Number followed by garbage."
 msgstr ""
 
-#: src/data/data-in.c:282
+#: src/data/data-in.c:280
 msgid "Invalid numeric syntax."
 msgstr ""
 
-#: src/data/data-in.c:291 src/data/data-in.c:474
+#: src/data/data-in.c:289 src/data/data-in.c:472
 msgid "Too-large number set to system-missing."
 msgstr ""
 
-#: src/data/data-in.c:296 src/data/data-in.c:479
+#: src/data/data-in.c:294 src/data/data-in.c:477
 msgid "Too-small number set to zero."
 msgstr ""
 
-#: src/data/data-in.c:322
+#: src/data/data-in.c:320
 msgid "All characters in field must be digits."
 msgstr ""
 
-#: src/data/data-in.c:345
+#: src/data/data-in.c:343
 msgid "Unrecognized character in field."
 msgstr ""
 
-#: src/data/data-in.c:369 src/data/data-in.c:633
+#: src/data/data-in.c:367 src/data/data-in.c:631
 msgid "Field must have even length."
 msgstr ""
 
-#: src/data/data-in.c:374 src/data/data-in.c:639
+#: src/data/data-in.c:372 src/data/data-in.c:637
 msgid "Field must contain only hex digits."
 msgstr ""
 
-#: src/data/data-in.c:678 src/data/data-in.c:725
+#: src/data/data-in.c:676 src/data/data-in.c:723
 msgid "Syntax error in date field."
 msgstr ""
 
-#: src/data/data-in.c:694
+#: src/data/data-in.c:692
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr ""
 
-#: src/data/data-in.c:741
+#: src/data/data-in.c:739
 msgid "Delimiter expected between fields in date."
 msgstr ""
 
-#: src/data/data-in.c:815
+#: src/data/data-in.c:813
 msgid ""
 "Unrecognized month format.  Months may be specified as Arabic or Roman "
 "numerals or as at least 3 letters of their English names."
 msgstr ""
 
-#: src/data/data-in.c:842
+#: src/data/data-in.c:840
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data/data-in.c:854
+#: src/data/data-in.c:852
 #, c-format
 msgid "Trailing garbage \"%.*s\" following date."
 msgstr ""
 
-#: src/data/data-in.c:870
+#: src/data/data-in.c:868
 msgid "Julian day must have exactly three digits."
 msgstr ""
 
-#: src/data/data-in.c:875
+#: src/data/data-in.c:873
 #, c-format
 msgid "Julian day (%ld) must be between 1 and 366."
 msgstr ""
 
-#: src/data/data-in.c:899
+#: src/data/data-in.c:897
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr ""
 
-#: src/data/data-in.c:919
+#: src/data/data-in.c:917
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr ""
 
-#: src/data/data-in.c:932
+#: src/data/data-in.c:930
 msgid "Delimiter expected between fields in time."
 msgstr ""
 
-#: src/data/data-in.c:952
+#: src/data/data-in.c:950
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr ""
 
-#: src/data/data-in.c:992
+#: src/data/data-in.c:990
 msgid ""
 "Unrecognized weekday name.  At least the first two letters of an English "
 "weekday name must be specified."
 msgstr ""
 
-#: src/data/data-in.c:1130
+#: src/data/data-in.c:1128
 #, c-format
 msgid "`%c' expected in date field."
 msgstr ""
 
-#: src/data/data-in.c:1171
+#: src/data/data-in.c:1169
 #, c-format
 msgid "column %d"
 msgstr ""
 
-#: src/data/data-in.c:1173
+#: src/data/data-in.c:1171
 #, c-format
 msgid "columns %d-%d"
 msgstr ""
 
-#: src/data/data-in.c:1177
+#: src/data/data-in.c:1175
 #, c-format
 msgid "%s field) "
 msgstr ""
 
-#: src/data/data-out.c:467
+#: src/data/data-out.c:466
 #, c-format
 msgid "Weekday number %f is not between 1 and 7."
 msgstr ""
 
-#: src/data/data-out.c:488
+#: src/data/data-out.c:487
 #, c-format
 msgid "Month number %f is not between 1 and 12."
 msgstr ""
@@ -225,21 +225,21 @@
 msgid "Can't re-open %s as a %s for %s."
 msgstr ""
 
-#: src/data/file-name.c:128
+#: src/data/file-name.c:130
 #, c-format
 msgid "searching for \"%s\" in path \"%s\""
 msgstr ""
 
-#: src/data/file-name.c:142
+#: src/data/file-name.c:144
 #, c-format
 msgid "...found \"%s\""
 msgstr ""
 
-#: src/data/file-name.c:149
+#: src/data/file-name.c:151
 msgid "...not found"
 msgstr ""
 
-#: src/data/file-name.c:239
+#: src/data/file-name.c:241
 #, c-format
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
@@ -302,33 +302,33 @@
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
-#: src/data/format.c:318 src/data/sys-file-reader.c:631
-#: src/ui/gui/data-editor.glade:1285 src/ui/gui/psppire-var-store.c:493
-#: src/ui/gui/psppire.glade:2176
+#: src/data/format.c:318 src/data/sys-file-reader.c:630
+#: src/ui/gui/data-editor.glade:1285 src/ui/gui/psppire.glade:2176
+#: src/ui/gui/psppire-var-store.c:493
 msgid "String"
 msgstr ""
 
-#: src/data/format.c:318 src/data/sys-file-reader.c:631
-#: src/ui/gui/data-editor.glade:1174 src/ui/gui/psppire-var-store.c:486
-#: src/ui/gui/psppire.glade:2131
+#: src/data/format.c:318 src/data/sys-file-reader.c:630
+#: src/ui/gui/data-editor.glade:1174 src/ui/gui/psppire.glade:2131
+#: src/ui/gui/psppire-var-store.c:486
 msgid "Numeric"
 msgstr ""
 
-#: src/data/format.c:319 src/data/sys-file-reader.c:1106
-#: src/data/sys-file-reader.c:1108
+#: src/data/format.c:319 src/data/sys-file-reader.c:1105
+#: src/data/sys-file-reader.c:1107
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
-#: src/language/xforms/recode.c:472 src/language/xforms/recode.c:473
-#: src/language/xforms/recode.c:485 src/language/xforms/recode.c:486
+#: src/language/xforms/recode.c:471 src/language/xforms/recode.c:472
+#: src/language/xforms/recode.c:484 src/language/xforms/recode.c:485
 msgid "numeric"
 msgstr ""
 
-#: src/data/format.c:319 src/data/sys-file-reader.c:1106
-#: src/data/sys-file-reader.c:1108
+#: src/data/format.c:319 src/data/sys-file-reader.c:1105
+#: src/data/sys-file-reader.c:1107
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
-#: src/language/xforms/recode.c:472 src/language/xforms/recode.c:473
-#: src/language/xforms/recode.c:485 src/language/xforms/recode.c:486
+#: src/language/xforms/recode.c:471 src/language/xforms/recode.c:472
+#: src/language/xforms/recode.c:484 src/language/xforms/recode.c:485
 msgid "string"
 msgstr ""
 
@@ -337,12 +337,12 @@
 msgid "String variable with width %d is not compatible with format %s."
 msgstr ""
 
-#: src/data/make-file.c:57
+#: src/data/make-file.c:58
 #, c-format
 msgid "%s: Creating temporary file: %s."
 msgstr ""
 
-#: src/data/make-file.c:99
+#: src/data/make-file.c:100
 #, c-format
 msgid "%s: Creating file: %s."
 msgstr ""
@@ -405,12 +405,12 @@
 
 #: src/data/por-file-reader.c:518
 #, c-format
-msgid "Bad date string length %d."
+msgid "Bad date string length %zu."
 msgstr ""
 
 #: src/data/por-file-reader.c:520
 #, c-format
-msgid "Bad time string length %d."
+msgid "Bad time string length %zu."
 msgstr ""
 
 #: src/data/por-file-reader.c:562
@@ -516,442 +516,442 @@
 msgid "Variable suffix too large."
 msgstr ""
 
-#: src/data/sys-file-reader.c:212
+#: src/data/sys-file-reader.c:211
 #, c-format
 msgid "Error opening \"%s\" for reading as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:242
+#: src/data/sys-file-reader.c:241
 msgid "Misplaced type 4 record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:253
+#: src/data/sys-file-reader.c:252
 #, c-format
 msgid "Unrecognized record type %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:292
+#: src/data/sys-file-reader.c:291
 #, c-format
 msgid "File header claims %d variable positions but %d were read from file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:326
+#: src/data/sys-file-reader.c:325
 #, c-format
 msgid "Error closing system file \"%s\": %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:391 src/data/sys-file-reader.c:401
+#: src/data/sys-file-reader.c:390 src/data/sys-file-reader.c:400
 msgid "This is not an SPSS system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:420
+#: src/data/sys-file-reader.c:419
 #, c-format
 msgid ""
 "Compression bias (%g) is not the usual value of 100, or system file uses "
 "unrecognized floating-point format."
 msgstr ""
 
-#: src/data/sys-file-reader.c:489
+#: src/data/sys-file-reader.c:488
 #, c-format
 msgid "Invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:493
+#: src/data/sys-file-reader.c:492
 #, c-format
 msgid "Bad variable width %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:497
+#: src/data/sys-file-reader.c:496
 #, c-format
 msgid "Duplicate variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:505
+#: src/data/sys-file-reader.c:504
 msgid "Variable label indicator field is not 0 or 1."
 msgstr ""
 
-#: src/data/sys-file-reader.c:513
+#: src/data/sys-file-reader.c:512
 #, c-format
-msgid "Variable %s has label of invalid length %u."
+msgid "Variable %s has label of invalid length %zu."
 msgstr ""
 
-#: src/data/sys-file-reader.c:532
+#: src/data/sys-file-reader.c:531
 msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:547
+#: src/data/sys-file-reader.c:546
 msgid "String missing value indicator field is not 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:557
+#: src/data/sys-file-reader.c:556
 #, c-format
 msgid "Long string variable %s may not have missing values."
 msgstr ""
 
-#: src/data/sys-file-reader.c:578
+#: src/data/sys-file-reader.c:577
 msgid "Missing string continuation record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:612
+#: src/data/sys-file-reader.c:611
 #, c-format
-msgid "Unknown variable format %d."
+msgid "Unknown variable format %<PRIu8>."
 msgstr ""
 
-#: src/data/sys-file-reader.c:630
+#: src/data/sys-file-reader.c:629
 #, c-format
 msgid "%s variable %s has invalid %s format %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:633
+#: src/data/sys-file-reader.c:632
 msgid "print"
 msgstr ""
 
-#: src/data/sys-file-reader.c:633
+#: src/data/sys-file-reader.c:632
 msgid "write"
 msgstr ""
 
-#: src/data/sys-file-reader.c:637
+#: src/data/sys-file-reader.c:636
 msgid "Suppressing further invalid format warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:655
+#: src/data/sys-file-reader.c:654
 msgid "Weighting variable must be numeric."
 msgstr ""
 
-#: src/data/sys-file-reader.c:669
+#: src/data/sys-file-reader.c:668
 msgid "Multiple type 6 (document) records."
 msgstr ""
 
-#: src/data/sys-file-reader.c:673
+#: src/data/sys-file-reader.c:672
 #, c-format
 msgid "Number of document lines (%d) must be greater than 0."
 msgstr ""
 
-#: src/data/sys-file-reader.c:681
+#: src/data/sys-file-reader.c:680
 msgid "Document line contains null byte."
 msgstr ""
 
-#: src/data/sys-file-reader.c:748
+#: src/data/sys-file-reader.c:747
 #, c-format
 msgid "Unrecognized record type 7, subtype %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:773
+#: src/data/sys-file-reader.c:772
 #, c-format
-msgid "Bad size (%u) or count (%u) field on record type 7, subtype 3."
+msgid "Bad size (%zu) or count (%zu) field on record type 7, subtype 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:793
+#: src/data/sys-file-reader.c:792
 #, c-format
 msgid ""
 "Floating-point representation indicated by system file (%d) differs from "
 "expected (%d)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:806
+#: src/data/sys-file-reader.c:805
 msgid "little-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:806
+#: src/data/sys-file-reader.c:805
 msgid "big-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:807
+#: src/data/sys-file-reader.c:806
 #, c-format
 msgid ""
 "Integer format indicated by system file (%s) differs from expected (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:823
+#: src/data/sys-file-reader.c:822
 #, c-format
-msgid "Bad size (%u) or count (%u) on extension 4."
+msgid "Bad size (%zu) or count (%zu) on extension 4."
 msgstr ""
 
-#: src/data/sys-file-reader.c:827
+#: src/data/sys-file-reader.c:826
 #, c-format
 msgid "File specifies unexpected value %g as SYSMIS."
 msgstr ""
 
-#: src/data/sys-file-reader.c:829
+#: src/data/sys-file-reader.c:828
 #, c-format
 msgid "File specifies unexpected value %g as HIGHEST."
 msgstr ""
 
-#: src/data/sys-file-reader.c:831
+#: src/data/sys-file-reader.c:830
 #, c-format
 msgid "File specifies unexpected value %g as LOWEST."
 msgstr ""
 
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:844
 #, c-format
-msgid "Bad size (%u) or count (%u) on extension 11."
+msgid "Bad size (%zu) or count (%zu) on extension 11."
 msgstr ""
 
-#: src/data/sys-file-reader.c:868
+#: src/data/sys-file-reader.c:867
 msgid "Invalid variable display parameters.  Default parameters substituted."
 msgstr ""
 
-#: src/data/sys-file-reader.c:907
+#: src/data/sys-file-reader.c:906
 #, c-format
 msgid "Long variable mapping from %s to invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:917
+#: src/data/sys-file-reader.c:916
 #, c-format
 msgid "Duplicate long variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:972
+#: src/data/sys-file-reader.c:971
 #, c-format
 msgid "%s listed as string of invalid length %s in very length string record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:982
+#: src/data/sys-file-reader.c:981
 #, c-format
 msgid ""
 "%s listed in very long string record with width %s, which requires only one "
 "segment."
 msgstr ""
 
-#: src/data/sys-file-reader.c:988
+#: src/data/sys-file-reader.c:987
 #, c-format
 msgid "Very long string %s overflows dictionary."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1002
+#: src/data/sys-file-reader.c:1001
 #, c-format
 msgid ""
 "Very long string with width %ld has segment %d of width %d (expected %d)"
 msgstr ""
 
-#: src/data/sys-file-reader.c:1047
+#: src/data/sys-file-reader.c:1046
 #, c-format
 msgid "Invalid number of labels: %d.  Ignoring labels."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1078
+#: src/data/sys-file-reader.c:1077
 msgid ""
 "Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1085
+#: src/data/sys-file-reader.c:1084
 #, c-format
 msgid ""
 "Number of variables associated with a value label (%d) is not between 1 and "
-"the number of variables (%u)."
+"the number of variables (%zu)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1095
+#: src/data/sys-file-reader.c:1094
 #, c-format
 msgid "Value labels are not allowed on long string variables (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1102
+#: src/data/sys-file-reader.c:1101
 #, c-format
 msgid ""
 "Variables associated with value label are not all of identical type.  "
 "Variable %s is %s, but variable %s is %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1135
+#: src/data/sys-file-reader.c:1134
 #, c-format
 msgid "Duplicate value label for %g on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1138
+#: src/data/sys-file-reader.c:1137
 #, c-format
 msgid "Duplicate value label for \"%.*s\" on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1216
+#: src/data/sys-file-reader.c:1215
 msgid "File ends in partial case."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1224
+#: src/data/sys-file-reader.c:1223
 #, c-format
 msgid "Error reading case from file %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1321 src/data/sys-file-reader.c:1357
+#: src/data/sys-file-reader.c:1320 src/data/sys-file-reader.c:1356
 msgid "Compressed data is corrupt."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1444
+#: src/data/sys-file-reader.c:1443
 #, c-format
 msgid "Variable index %d not in valid range 1...%d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1449
+#: src/data/sys-file-reader.c:1448
 #, c-format
 msgid "Variable index %d refers to long string continuation."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1535
+#: src/data/sys-file-reader.c:1534
 #, c-format
 msgid "Suppressed %d additional variable map warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1548
+#: src/data/sys-file-reader.c:1547
 #, c-format
 msgid "Variable map refers to unknown variable %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1624
+#: src/data/sys-file-reader.c:1623
 #, c-format
 msgid "System error: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1626
+#: src/data/sys-file-reader.c:1625
 msgid "Unexpected end of file."
 msgstr ""
 
-#: src/data/sys-file-writer.c:161
+#: src/data/sys-file-writer.c:160
 #, c-format
 msgid "Unknown system file version %d. Treating as version %d."
 msgstr ""
 
-#: src/data/sys-file-writer.c:177
+#: src/data/sys-file-writer.c:176
 #, c-format
 msgid "Error opening \"%s\" for writing as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-writer.c:726
+#: src/data/sys-file-writer.c:725
 #, c-format
 msgid "An I/O error occurred writing system file \"%s\"."
 msgstr ""
 
-#: src/data/variable.c:230
+#: src/data/variable.c:231
 #, c-format
 msgid ""
 "Character `%c' (in %s) may not appear as the first character in a variable "
 "name."
 msgstr ""
 
-#: src/data/variable.c:242
+#: src/data/variable.c:243
 #, c-format
 msgid "Character `%c' (in %s) may not appear in a variable name."
 msgstr ""
 
-#: src/data/variable.c:270
+#: src/data/variable.c:271
 msgid "Variable name cannot be empty string."
 msgstr ""
 
-#: src/data/variable.c:276
+#: src/data/variable.c:277
 #, c-format
 msgid "Variable name %s exceeds %d-character limit."
 msgstr ""
 
-#: src/data/variable.c:284
+#: src/data/variable.c:285
 #, c-format
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 
-#: src/data/variable.c:1002
+#: src/data/variable.c:1003
 msgid "ordinary"
 msgstr ""
 
-#: src/data/variable.c:1004
+#: src/data/variable.c:1005
 msgid "system"
 msgstr ""
 
-#: src/data/variable.c:1006
+#: src/data/variable.c:1007
 msgid "scratch"
 msgstr ""
 
-#: src/language/command.c:206
+#: src/language/command.c:208
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
-#: src/language/command.c:212
+#: src/language/command.c:214
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
-#: src/language/command.c:218
+#: src/language/command.c:220
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
-#: src/language/command.c:246
+#: src/language/command.c:248
 msgid "Error encountered while ERROR=STOP is effective."
 msgstr ""
 
-#: src/language/command.c:487
+#: src/language/command.c:489
 msgid "expecting command name"
 msgstr ""
 
-#: src/language/command.c:501
+#: src/language/command.c:503
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
-#: src/language/command.c:628
+#: src/language/command.c:630
 msgid "before the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:630
+#: src/language/command.c:632
 msgid "after the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:632
+#: src/language/command.c:634
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
-#: src/language/command.c:634
+#: src/language/command.c:636
 msgid "inside FILE TYPE"
 msgstr ""
 
-#: src/language/command.c:639
+#: src/language/command.c:641
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
-#: src/language/command.c:641
+#: src/language/command.c:643
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
-#: src/language/command.c:645
+#: src/language/command.c:647
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
-#: src/language/command.c:650
+#: src/language/command.c:652
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
-#: src/language/command.c:652
+#: src/language/command.c:654
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
-#: src/language/command.c:731 src/language/command.c:839
+#: src/language/command.c:733 src/language/command.c:841
 #: src/language/utilities/permissions.c:98
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/language/command.c:743
+#: src/language/command.c:745
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/language/command.c:793
+#: src/language/command.c:795
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/language/command.c:808
+#: src/language/command.c:810
 msgid "Interactive shell not supported on this platform."
 msgstr ""
 
-#: src/language/command.c:820
+#: src/language/command.c:822
 msgid "Command shell not supported on this platform."
 msgstr ""
 
-#: src/language/command.c:826
+#: src/language/command.c:828
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
@@ -975,7 +975,7 @@
 msgid "This command may not follow ELSE in DO IF...END IF."
 msgstr ""
 
-#: src/language/control/loop.c:212
+#: src/language/control/loop.c:213
 msgid "Only one index clause may be specified."
 msgstr ""
 
@@ -1061,25 +1061,25 @@
 msgstr ""
 
 #: src/language/data-io/data-list.c:429 src/language/data-io/data-list.c:538
-#: src/language/data-io/print.c:394 src/language/dictionary/split-file.c:83
-#: src/language/dictionary/sys-file-info.c:160
-#: src/language/dictionary/sys-file-info.c:388
-#: src/language/dictionary/sys-file-info.c:632
+#: src/language/data-io/print.c:395 src/language/dictionary/split-file.c:84
+#: src/language/dictionary/sys-file-info.c:158
+#: src/language/dictionary/sys-file-info.c:386
+#: src/language/dictionary/sys-file-info.c:630
 #: src/language/stats/descriptives.c:883 src/ui/gui/dict-display.c:195
 msgid "Variable"
 msgstr ""
 
-#: src/language/data-io/data-list.c:430 src/language/data-io/print.c:395
+#: src/language/data-io/data-list.c:430 src/language/data-io/print.c:396
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:431 src/language/data-io/print.c:396
+#: src/language/data-io/data-list.c:431 src/language/data-io/print.c:397
 #: src/ui/gui/var-sheet.c:72
 msgid "Columns"
 msgstr ""
 
 #: src/language/data-io/data-list.c:432 src/language/data-io/data-list.c:539
-#: src/language/data-io/print.c:397
+#: src/language/data-io/print.c:398
 msgid "Format"
 msgstr ""
 
@@ -1175,13 +1175,13 @@
 #, c-format
 msgid ""
 "Fixed-length records were specified on /RECFORM, but record length was not "
-"specified on /LRECL.  Assuming %u-character records."
+"specified on /LRECL.  Assuming %zu-character records."
 msgstr ""
 
 #: src/language/data-io/file-handle.q:102
 #, c-format
 msgid ""
-"Record length (%ld) must be at least one byte.  Assuming %u-character "
+"Record length (%ld) must be at least one byte.  Assuming %zu-character "
 "records."
 msgstr ""
 
@@ -1206,21 +1206,21 @@
 msgid "Handle for %s not allowed here."
 msgstr ""
 
-#: src/language/data-io/get.c:97
+#: src/language/data-io/get.c:98
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/language/data-io/get.c:268 src/language/data-io/get.c:282
-#: src/language/data-io/get.c:307
+#: src/language/data-io/get.c:269 src/language/data-io/get.c:283
+#: src/language/data-io/get.c:308
 #, c-format
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:500 src/language/data-io/print.c:175
+#: src/language/data-io/get.c:501 src/language/data-io/print.c:176
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/language/data-io/get.c:533
+#: src/language/data-io/get.c:534
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -1228,130 +1228,131 @@
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c:559
+#: src/language/data-io/get.c:560
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/language/data-io/get.c:566
+#: src/language/data-io/get.c:567
 #, 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."
+"Number of variables on left side of `=' (%zu) does not match number of "
+"variables on right side (%zu), in parenthesized group %d of RENAME "
+"subcommand."
 msgstr ""
 
-#: src/language/data-io/get.c:579
+#: src/language/data-io/get.c:580
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/language/data-io/get.c:609
+#: src/language/data-io/get.c:610
 msgid "Cannot DROP all variables from dictionary."
 msgstr ""
 
-#: src/language/data-io/get.c:782
+#: src/language/data-io/get.c:783
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
-#: src/language/data-io/get.c:789
+#: src/language/data-io/get.c:790
 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:823
+#: src/language/data-io/get.c:824
 msgid "Multiple IN subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/language/data-io/get.c:867
+#: src/language/data-io/get.c:868
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:870
+#: src/language/data-io/get.c:871
 #, c-format
 msgid "Active file lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:940
+#: src/language/data-io/get.c:941
 msgid "BY is required when TABLE is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:945
+#: src/language/data-io/get.c:946
 msgid "BY is required when IN is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1050
+#: src/language/data-io/get.c:1051
 #, c-format
 msgid ""
 "Variable name %s specified on %s subcommand duplicates an existing variable "
 "name."
 msgstr ""
 
-#: src/language/data-io/get.c:1296
+#: src/language/data-io/get.c:1297
 #, 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:128
+#: src/language/data-io/inpt-pgm.c:129
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:141
+#: src/language/data-io/inpt-pgm.c:142
 msgid "Input program did not create any variables."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:286
+#: src/language/data-io/inpt-pgm.c:287
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:334
+#: src/language/data-io/inpt-pgm.c:335
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:155 src/language/stats/descriptives.c:362
+#: src/language/data-io/list.q:156 src/language/stats/descriptives.c:362
 msgid "No variables specified."
 msgstr ""
 
-#: src/language/data-io/list.q:163
+#: src/language/data-io/list.q:164
 #, 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:171
+#: src/language/data-io/list.q:172
 #, 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:177
+#: src/language/data-io/list.q:178
 #, 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:183
+#: src/language/data-io/list.q:184
 #, 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:209
+#: src/language/data-io/list.q:210
 msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/language/data-io/list.q:465
+#: src/language/data-io/list.q:466
 msgid "Line"
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:85
 #, c-format
 msgid ""
-"Number of variables specified (%d) differs from number of variable formats (%"
-"d)."
+"Number of variables specified (%zu) differs from number of variable formats "
+"(%zu)."
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:95
@@ -1361,12 +1362,12 @@
 
 #: src/language/data-io/placement-parser.c:117
 #, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %u fields."
+msgid "The %d columns %d-%d can't be evenly divided into %zu fields."
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:224
-#: src/language/lexer/format-parser.c:108
-#: src/language/lexer/format-parser.c:127
+#: src/language/lexer/format-parser.c:107
+#: src/language/lexer/format-parser.c:126
 #, c-format
 msgid "Unknown format type \"%s\"."
 msgstr ""
@@ -1387,39 +1388,39 @@
 "Data fields must be listed in order of increasing record number."
 msgstr ""
 
-#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:477
-#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:59
-msgid "expecting end of command"
-msgstr ""
-
-#: src/language/data-io/print-space.c:114
-msgid "The expression on PRINT SPACE evaluated to the system-missing value."
-msgstr ""
-
-#: src/language/data-io/print-space.c:117
+#: src/language/data-io/print.c:259
 #, c-format
-msgid "The expression on PRINT SPACE evaluated to %g."
+msgid "Output calls for %d records but %zu specified on RECORDS subcommand."
 msgstr ""
 
-#: src/language/data-io/print.c:258
-#, c-format
-msgid "Output calls for %d records but %u specified on RECORDS subcommand."
-msgstr ""
-
-#: src/language/data-io/print.c:427
+#: src/language/data-io/print.c:428
 #, 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:431
+#: src/language/data-io/print.c:432
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:476
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:60
+msgid "expecting end of command"
+msgstr ""
+
+#: src/language/data-io/print-space.c:114
+msgid "The expression on PRINT SPACE evaluated to the system-missing value."
+msgstr ""
+
+#: src/language/data-io/print-space.c:117
+#, c-format
+msgid "The expression on PRINT SPACE evaluated to %g."
+msgstr ""
+
 #: src/language/dictionary/apply-dictionary.c:73
 #, c-format
 msgid "Variable %s is %s in target file, but %s in source file."
@@ -1460,24 +1461,24 @@
 msgid "`)' expected after output format."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:56
+#: src/language/dictionary/missing-values.c:55
 #: src/language/stats/aggregate.c:449
 msgid "expecting `('"
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:72
+#: src/language/dictionary/missing-values.c:71
 #, 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:117
+#: src/language/dictionary/missing-values.c:116
 #, c-format
 msgid "Truncating missing value to short string length (%d characters)."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:139
+#: src/language/dictionary/missing-values.c:138
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
@@ -1519,39 +1520,39 @@
 msgstr ""
 
 #: src/language/dictionary/modify-variables.c:208
-#: src/language/dictionary/rename-variables.c:75
+#: src/language/dictionary/rename-variables.c:76
 #, c-format
 msgid ""
-"Differing number of variables in old name list (%d) and in new name list (%"
-"d)."
+"Differing number of variables in old name list (%zu) and in new name list (%"
+"zu)."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:220
+#: src/language/dictionary/modify-variables.c:219
 msgid "`)' expected after variable lists on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:234
+#: src/language/dictionary/modify-variables.c:233
 msgid ""
 "KEEP subcommand may be given at most once.  It may not be given in "
 "conjunction with the DROP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:277
+#: src/language/dictionary/modify-variables.c:276
 msgid ""
 "DROP subcommand may be given at most once.  It may not be given in "
 "conjunction with the KEEP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:303
+#: src/language/dictionary/modify-variables.c:302
 #, c-format
 msgid "Unrecognized subcommand name `%s'."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:305
+#: src/language/dictionary/modify-variables.c:304
 msgid "Subcommand name expected."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:313
+#: src/language/dictionary/modify-variables.c:312
 msgid "`/' or `.' expected."
 msgstr ""
 
@@ -1570,17 +1571,17 @@
 msgid "Format type %s may not be used with a string variable."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:48
+#: src/language/dictionary/rename-variables.c:49
 msgid ""
 "RENAME VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:58
+#: src/language/dictionary/rename-variables.c:59
 msgid "`(' expected."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:66
+#: src/language/dictionary/rename-variables.c:67
 msgid "`=' expected between lists of new and old variable names."
 msgstr ""
 
@@ -1593,259 +1594,259 @@
 msgid "Renaming would duplicate variable name %s."
 msgstr ""
 
-#: src/language/dictionary/split-file.c:84
-#: src/language/dictionary/sys-file-info.c:561
-#: src/language/stats/crosstabs.q:1153 src/language/stats/crosstabs.q:1180
-#: src/language/stats/crosstabs.q:1200 src/language/stats/crosstabs.q:1222
-#: src/language/stats/examine.q:1193 src/language/stats/frequencies.q:1060
-#: src/language/stats/frequencies.q:1184
+#: src/language/dictionary/split-file.c:85
+#: src/language/dictionary/sys-file-info.c:559
+#: src/language/stats/crosstabs.q:1152 src/language/stats/crosstabs.q:1179
+#: src/language/stats/crosstabs.q:1199 src/language/stats/crosstabs.q:1221
+#: src/language/stats/examine.q:1192 src/language/stats/frequencies.q:1059
+#: src/language/stats/frequencies.q:1183
 msgid "Value"
 msgstr ""
 
-#: src/language/dictionary/split-file.c:85
-#: src/language/dictionary/sys-file-info.c:395
-#: src/language/dictionary/sys-file-info.c:562 src/ui/gui/psppire.glade:2099
+#: src/language/dictionary/split-file.c:86
+#: src/language/dictionary/sys-file-info.c:393
+#: src/language/dictionary/sys-file-info.c:560 src/ui/gui/psppire.glade:2099
 #: src/ui/gui/var-sheet.c:69
 msgid "Label"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:108
+#: src/language/dictionary/sys-file-info.c:107
 msgid "File:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:110 src/ui/gui/psppire.glade:2052
+#: src/language/dictionary/sys-file-info.c:109 src/ui/gui/psppire.glade:2052
 msgid "Label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:113
 msgid "No label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:117
+#: src/language/dictionary/sys-file-info.c:116
 msgid "Created:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:120
+#: src/language/dictionary/sys-file-info.c:119
 msgid "Integer Format:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:121
 msgid "Big Endian."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:122
 msgid "Little Endian."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:124
-#: src/language/dictionary/sys-file-info.c:132
+#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:131
 msgid "Unknown."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:125
+#: src/language/dictionary/sys-file-info.c:124
 msgid "Real Format:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:127
+#: src/language/dictionary/sys-file-info.c:126
 msgid "IEEE 754 LE."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:128
+#: src/language/dictionary/sys-file-info.c:127
 msgid "IEEE 754 BE."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:129
+#: src/language/dictionary/sys-file-info.c:128
 msgid "VAX D."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:129
 msgid "VAX G."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:130
 msgid "IBM 390 Hex Long."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:133
+#: src/language/dictionary/sys-file-info.c:132
 #: src/ui/gui/descriptives-dialog.glade:79
 msgid "Variables:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:136
+#: src/language/dictionary/sys-file-info.c:134
 msgid "Cases:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:138
+#: src/language/dictionary/sys-file-info.c:136
 msgid "Unknown"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:140
+#: src/language/dictionary/sys-file-info.c:138
 msgid "Type:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:141
+#: src/language/dictionary/sys-file-info.c:139
 msgid "System File."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:142
+#: src/language/dictionary/sys-file-info.c:140
 msgid "Weight:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:147
+#: src/language/dictionary/sys-file-info.c:145
 msgid "Not weighted."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:149
+#: src/language/dictionary/sys-file-info.c:147
 msgid "Mode:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 #, c-format
 msgid "Compression %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 msgid "on"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 msgid "off"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:161
-#: src/language/dictionary/sys-file-info.c:393
+#: src/language/dictionary/sys-file-info.c:159
+#: src/language/dictionary/sys-file-info.c:391
 msgid "Description"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:162
-#: src/language/dictionary/sys-file-info.c:391
-#: src/language/dictionary/sys-file-info.c:631
+#: src/language/dictionary/sys-file-info.c:160
+#: src/language/dictionary/sys-file-info.c:389
+#: src/language/dictionary/sys-file-info.c:629
 msgid "Position"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:220
+#: src/language/dictionary/sys-file-info.c:218
 msgid "The active file does not have a file label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:223
+#: src/language/dictionary/sys-file-info.c:221
 msgid "File label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:286
+#: src/language/dictionary/sys-file-info.c:284
 msgid "No variables to display."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:305
+#: src/language/dictionary/sys-file-info.c:303
 msgid "Macros not supported."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:315
+#: src/language/dictionary/sys-file-info.c:313
 msgid "The active file dictionary does not contain any documents."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:323
+#: src/language/dictionary/sys-file-info.c:321
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:473
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:483
+#: src/language/dictionary/sys-file-info.c:481
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:484
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:492
+#: src/language/dictionary/sys-file-info.c:490
 #, c-format
 msgid "Measure: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:493 src/ui/gui/var-sheet.c:87
+#: src/language/dictionary/sys-file-info.c:491 src/ui/gui/var-sheet.c:87
 msgid "Nominal"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:494 src/ui/gui/var-sheet.c:88
+#: src/language/dictionary/sys-file-info.c:492 src/ui/gui/var-sheet.c:88
 msgid "Ordinal"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:495 src/ui/gui/var-sheet.c:89
+#: src/language/dictionary/sys-file-info.c:493 src/ui/gui/var-sheet.c:89
 msgid "Scale"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:498
+#: src/language/dictionary/sys-file-info.c:496
 #, c-format
 msgid "Display Alignment: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:499 src/ui/gui/var-sheet.c:80
+#: src/language/dictionary/sys-file-info.c:497 src/ui/gui/var-sheet.c:80
 msgid "Left"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:500 src/ui/gui/var-sheet.c:82
+#: src/language/dictionary/sys-file-info.c:498 src/ui/gui/var-sheet.c:82
 msgid "Center"
 msgstr "Centre"
 
-#: src/language/dictionary/sys-file-info.c:501 src/ui/gui/var-sheet.c:81
+#: src/language/dictionary/sys-file-info.c:499 src/ui/gui/var-sheet.c:81
 msgid "Right"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:504
+#: src/language/dictionary/sys-file-info.c:502
 #, c-format
 msgid "Display Width: %d"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:515
+#: src/language/dictionary/sys-file-info.c:513
 msgid "Missing Values: "
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:609
+#: src/language/dictionary/sys-file-info.c:607
 msgid "No vectors defined."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:630
+#: src/language/dictionary/sys-file-info.c:628
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:633
+#: src/language/dictionary/sys-file-info.c:631
 msgid "Print Format"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:120
+#: src/language/dictionary/value-labels.c:121
 #, c-format
 msgid ""
 "It is not possible to assign value labels to long string variables such as %"
 "s."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:156 src/language/lexer/lexer.c:621
+#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:619
 msgid "expecting string"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:165 src/language/lexer/lexer.c:635
+#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:633
 msgid "expecting integer"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:169
+#: src/language/dictionary/value-labels.c:170
 #, c-format
 msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:183
+#: src/language/dictionary/value-labels.c:184
 msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:50
+#: src/language/dictionary/variable-label.c:51
 msgid "String expected for variable label."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:58
+#: src/language/dictionary/variable-label.c:59
 msgid "Truncating variable label to 255 characters."
 msgstr ""
 
@@ -1889,11 +1890,11 @@
 msgid "The weighting variable may not be scratch."
 msgstr ""
 
-#: src/language/expressions/evaluate.c:153
+#: src/language/expressions/evaluate.c:154
 msgid "expecting number or string"
 msgstr ""
 
-#: src/language/expressions/evaluate.c:167
+#: src/language/expressions/evaluate.c:168
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr ""
@@ -1934,36 +1935,36 @@
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/helpers.c:175
+#: src/language/expressions/helpers.c:166
 #, c-format
 msgid ""
 "Unrecognized date unit \"%.*s\".  Valid date units are \"years\", \"quarters"
 "\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", and \"seconds\"."
 msgstr ""
 
-#: src/language/expressions/helpers.c:325
+#: src/language/expressions/helpers.c:316
 msgid ""
 "Invalid DATESUM method.  Valid choices are \"closest\" and \"rollover\"."
 msgstr ""
 
-#: src/language/expressions/parse.c:258
+#: src/language/expressions/parse.c:259
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:270
+#: src/language/expressions/parse.c:271
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:426
+#: src/language/expressions/parse.c:427
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:642
+#: src/language/expressions/parse.c:643
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -1971,272 +1972,272 @@
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:743
+#: src/language/expressions/parse.c:744
 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:808
+#: src/language/expressions/parse.c:809
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:856
+#: src/language/expressions/parse.c:857
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:884 src/language/stats/aggregate.c:507
+#: src/language/expressions/parse.c:885 src/language/stats/aggregate.c:507
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:891
+#: src/language/expressions/parse.c:892
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1072
+#: src/language/expressions/parse.c:1073
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1081
+#: src/language/expressions/parse.c:1082
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1084
+#: src/language/expressions/parse.c:1085
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1094
+#: src/language/expressions/parse.c:1095
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1103
+#: src/language/expressions/parse.c:1104
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1109
+#: src/language/expressions/parse.c:1110
 #, 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:1163
+#: src/language/expressions/parse.c:1164
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1168
+#: src/language/expressions/parse.c:1169
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1170
+#: src/language/expressions/parse.c:1171
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1200
+#: src/language/expressions/parse.c:1201
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1243
+#: src/language/expressions/parse.c:1244
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1263
+#: src/language/expressions/parse.c:1264
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1266 src/ui/terminal/command-line.c:126
-#: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
+#: src/language/expressions/parse.c:1267 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/language/expressions/parse.c:1272
+#: src/language/expressions/parse.c:1273
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
-#: src/language/lexer/format-parser.c:89
+#: src/language/lexer/format-parser.c:88
 msgid "expecting valid format specifier"
 msgstr ""
 
-#: src/language/lexer/format-parser.c:122
+#: src/language/lexer/format-parser.c:121
 msgid "expecting format type"
 msgstr ""
 
-#: src/language/lexer/lexer.c:283
+#: src/language/lexer/lexer.c:282
 #, c-format
 msgid "%s does not form a valid number."
 msgstr ""
 
-#: src/language/lexer/lexer.c:387
+#: src/language/lexer/lexer.c:386
 #, c-format
 msgid "Bad character in input: `%c'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:389
+#: src/language/lexer/lexer.c:388
 #, c-format
 msgid "Bad character in input: `\\%o'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:425
+#: src/language/lexer/lexer.c:424
 #, c-format
 msgid "Subcommand %s may only be specified once."
 msgstr ""
 
-#: src/language/lexer/lexer.c:433
+#: src/language/lexer/lexer.c:432
 #, c-format
 msgid "missing required subcommand %s"
 msgstr ""
 
-#: src/language/lexer/lexer.c:462
+#: src/language/lexer/lexer.c:461
 #, c-format
 msgid "Syntax error %s at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:465
+#: src/language/lexer/lexer.c:464
 #, c-format
 msgid "Syntax error at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:590 src/language/lexer/lexer.c:607
+#: src/language/lexer/lexer.c:588 src/language/lexer/lexer.c:605
 #, c-format
 msgid "expecting `%s'"
 msgstr ""
 
-#: src/language/lexer/lexer.c:648
+#: src/language/lexer/lexer.c:646
 msgid "expecting number"
 msgstr ""
 
-#: src/language/lexer/lexer.c:660
+#: src/language/lexer/lexer.c:658
 msgid "expecting identifier"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1054
+#: src/language/lexer/lexer.c:1052
 msgid "binary"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1059
+#: src/language/lexer/lexer.c:1057
 msgid "octal"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1064
+#: src/language/lexer/lexer.c:1062
 msgid "hex"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1074
+#: src/language/lexer/lexer.c:1072
 #, c-format
-msgid "String of %s digits has %d characters, which is not a multiple of %d."
+msgid "String of %s digits has %zu characters, which is not a multiple of %d."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1103
+#: src/language/lexer/lexer.c:1101
 #, c-format
 msgid "`%c' is not a valid %s digit."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1137
+#: src/language/lexer/lexer.c:1135
 msgid "Unterminated string constant."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1191
+#: src/language/lexer/lexer.c:1189
 msgid "Unexpected end of file in string concatenation."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1199
+#: src/language/lexer/lexer.c:1197
 msgid "String expected following `+'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1212
+#: src/language/lexer/lexer.c:1210
 #, c-format
-msgid "String exceeds 255 characters in length (%d characters)."
+msgid "String exceeds 255 characters in length (%zu characters)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:60
+#: src/language/lexer/range-parser.c:59
 #, c-format
 msgid ""
 "Low end of range (%g) is below high end (%g).  The range will be treated as "
 "reversed."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:68
+#: src/language/lexer/range-parser.c:67
 #, c-format
 msgid "Ends of range are equal (%g)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:76
+#: src/language/lexer/range-parser.c:75
 msgid "LO or LOWEST must be part of a range."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:107
+#: src/language/lexer/range-parser.c:106
 msgid "System-missing value is not valid here."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:115
+#: src/language/lexer/range-parser.c:114
 msgid "expecting number or data string"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:62
+#: src/language/lexer/variable-parser.c:63
 msgid "expecting variable name"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:72
+#: src/language/lexer/variable-parser.c:73
 #, c-format
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:175
+#: src/language/lexer/variable-parser.c:176
 #, 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:178
+#: src/language/lexer/variable-parser.c:179
 #, 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:182
+#: src/language/lexer/variable-parser.c:183
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:186
+#: src/language/lexer/variable-parser.c:187
 #, 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 the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:192
+#: src/language/lexer/variable-parser.c:193
 #, c-format
 msgid ""
 "%s and %s are string variables with different widths.  All variables in this "
 "variable list must have the same width.  %s will be omitted from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:197
+#: src/language/lexer/variable-parser.c:198
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:310
+#: src/language/lexer/variable-parser.c:311
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:318
+#: src/language/lexer/variable-parser.c:319
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2244,19 +2245,19 @@
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:392
+#: src/language/lexer/variable-parser.c:393
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:435
+#: src/language/lexer/variable-parser.c:436
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:457
+#: src/language/lexer/variable-parser.c:458
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:462
+#: src/language/lexer/variable-parser.c:463
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2285,7 +2286,7 @@
 
 #: src/language/stats/aggregate.c:488
 #, c-format
-msgid "Missing argument %d to %s."
+msgid "Missing argument %zu to %s."
 msgstr ""
 
 #: src/language/stats/aggregate.c:497
@@ -2296,8 +2297,8 @@
 #: src/language/stats/aggregate.c:519
 #, c-format
 msgid ""
-"Number of source variables (%u) does not match number of target variables (%"
-"u)."
+"Number of source variables (%zu) does not match number of target variables (%"
+"zu)."
 msgstr ""
 
 #: src/language/stats/aggregate.c:535
@@ -2316,7 +2317,7 @@
 
 #: src/language/stats/autorecode.c:136
 #, c-format
-msgid "Source variable count (%u) does not match target variable count (%u)."
+msgid "Source variable count (%zu) does not match target variable count (%zu)."
 msgstr ""
 
 #: src/language/stats/autorecode.c:164
@@ -2329,385 +2330,385 @@
 msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
-#: src/language/stats/binomial.c:132
+#: src/language/stats/binomial.c:133
 #, c-format
 msgid "Variable %s is not dichotomous"
 msgstr ""
 
-#: src/language/stats/binomial.c:177
+#: src/language/stats/binomial.c:178
 msgid "Binomial Test"
 msgstr ""
 
-#: src/language/stats/binomial.c:192
+#: src/language/stats/binomial.c:193
 msgid "Group1"
 msgstr ""
 
-#: src/language/stats/binomial.c:193
+#: src/language/stats/binomial.c:194
 msgid "Group2"
 msgstr ""
 
-#: src/language/stats/binomial.c:194 src/language/stats/chisquare.c:222
-#: src/language/stats/chisquare.c:282 src/language/stats/crosstabs.q:860
-#: src/language/stats/crosstabs.q:1060 src/language/stats/crosstabs.q:1783
-#: src/language/stats/examine.q:913 src/language/stats/frequencies.q:1137
-#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
-#: src/language/stats/regression.q:317
+#: src/language/stats/binomial.c:195 src/language/stats/chisquare.c:223
+#: src/language/stats/chisquare.c:283 src/language/stats/crosstabs.q:859
+#: src/language/stats/crosstabs.q:1059 src/language/stats/crosstabs.q:1782
+#: src/language/stats/examine.q:912 src/language/stats/frequencies.q:1136
+#: src/language/stats/oneway.q:306 src/language/stats/oneway.q:470
+#: src/language/stats/regression.q:318
 msgid "Total"
 msgstr ""
 
-#: src/language/stats/binomial.c:225 src/language/stats/chisquare.c:245
-#: src/language/stats/crosstabs.q:1178 src/language/stats/crosstabs.q:1219
+#: src/language/stats/binomial.c:226 src/language/stats/chisquare.c:246
+#: src/language/stats/crosstabs.q:1177 src/language/stats/crosstabs.q:1218
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/binomial.c:226 src/language/stats/crosstabs.q:870
-#: src/language/stats/examine.q:989 src/language/stats/frequencies.q:1405
-#: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
-#: src/language/stats/t-test.q:832 src/language/stats/t-test.q:1369
+#: src/language/stats/binomial.c:227 src/language/stats/crosstabs.q:869
+#: src/language/stats/examine.q:988 src/language/stats/frequencies.q:1404
+#: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:391
+#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
+#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1368
 msgid "N"
 msgstr ""
 
-#: src/language/stats/binomial.c:227
+#: src/language/stats/binomial.c:228
 msgid "Observed Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:228
+#: src/language/stats/binomial.c:229
 msgid "Test Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:231
+#: src/language/stats/binomial.c:232
 #, c-format
 msgid "Exact Sig. (%d-tailed)"
 msgstr ""
 
-#: src/language/stats/chisquare.c:192
+#: src/language/stats/chisquare.c:193
 #, c-format
 msgid ""
 "CHISQUARE test specified %d expected values, but %d distinct values were "
 "encountered in variable %s."
 msgstr ""
 
-#: src/language/stats/chisquare.c:206 src/language/stats/chisquare.c:246
+#: src/language/stats/chisquare.c:207 src/language/stats/chisquare.c:247
 msgid "Observed N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:207 src/language/stats/chisquare.c:247
+#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
 msgid "Expected N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
-#: src/language/stats/regression.q:316
+#: src/language/stats/chisquare.c:209 src/language/stats/chisquare.c:249
+#: src/language/stats/regression.q:317
 msgid "Residual"
 msgstr ""
 
-#: src/language/stats/chisquare.c:241
+#: src/language/stats/chisquare.c:242
 msgid "Frequencies"
 msgstr ""
 
-#: src/language/stats/chisquare.c:296
+#: src/language/stats/chisquare.c:297
 msgid "Test Statistics"
 msgstr ""
 
-#: src/language/stats/chisquare.c:310
+#: src/language/stats/chisquare.c:311
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:311 src/language/stats/crosstabs.q:1154
-#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:310 src/language/stats/t-test.q:983
-#: src/language/stats/t-test.q:1175 src/language/stats/t-test.q:1268
+#: src/language/stats/chisquare.c:312 src/language/stats/crosstabs.q:1153
+#: src/language/stats/oneway.q:279 src/language/stats/oneway.q:680
+#: src/language/stats/regression.q:311 src/language/stats/t-test.q:982
+#: src/language/stats/t-test.q:1174 src/language/stats/t-test.q:1267
 msgid "df"
 msgstr ""
 
-#: src/language/stats/chisquare.c:312
+#: src/language/stats/chisquare.c:313
 msgid "Asymp. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:278
+#: src/language/stats/crosstabs.q:277
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:288
+#: src/language/stats/crosstabs.q:287
 msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:364
+#: src/language/stats/crosstabs.q:363
 msgid "Too many cross-tabulation variables or dimensions."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:374
+#: src/language/stats/crosstabs.q:373
 msgid "expecting BY"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:441
+#: src/language/stats/crosstabs.q:440
 msgid "VARIABLES must be specified before TABLES."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:479
+#: src/language/stats/crosstabs.q:478
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:855
+#: src/language/stats/crosstabs.q:854
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:857 src/language/stats/examine.q:977
+#: src/language/stats/crosstabs.q:856 src/language/stats/examine.q:976
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:858 src/language/stats/examine.q:911
-#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1406
+#: src/language/stats/crosstabs.q:857 src/language/stats/examine.q:910
+#: src/language/stats/frequencies.q:1057 src/language/stats/frequencies.q:1405
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:859 src/language/stats/examine.q:912
-#: src/language/stats/frequencies.q:1128 src/language/stats/frequencies.q:1407
+#: src/language/stats/crosstabs.q:858 src/language/stats/examine.q:911
+#: src/language/stats/frequencies.q:1127 src/language/stats/frequencies.q:1406
 #: src/ui/gui/var-sheet.c:71
 msgid "Missing"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:871 src/language/stats/examine.q:992
-#: src/language/stats/frequencies.q:1062 src/language/stats/frequencies.q:1063
-#: src/language/stats/frequencies.q:1064
+#: src/language/stats/crosstabs.q:870 src/language/stats/examine.q:991
+#: src/language/stats/frequencies.q:1061 src/language/stats/frequencies.q:1062
+#: src/language/stats/frequencies.q:1063
 msgid "Percent"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1112
+#: src/language/stats/crosstabs.q:1111
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1113
+#: src/language/stats/crosstabs.q:1112
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1113
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1115
+#: src/language/stats/crosstabs.q:1114
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1115
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1117
+#: src/language/stats/crosstabs.q:1116
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1118
+#: src/language/stats/crosstabs.q:1117
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1119
+#: src/language/stats/crosstabs.q:1118
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1149
+#: src/language/stats/crosstabs.q:1148
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1152 src/language/stats/crosstabs.q:1179
-#: src/language/stats/crosstabs.q:1199 src/language/stats/crosstabs.q:1220
-#: src/language/stats/examine.q:1424 src/ui/gui/descriptives-dialog.c:276
+#: src/language/stats/crosstabs.q:1151 src/language/stats/crosstabs.q:1178
+#: src/language/stats/crosstabs.q:1198 src/language/stats/crosstabs.q:1219
+#: src/language/stats/examine.q:1423 src/ui/gui/descriptives-dialog.c:276
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1156
+#: src/language/stats/crosstabs.q:1155
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1158
+#: src/language/stats/crosstabs.q:1157
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1160
+#: src/language/stats/crosstabs.q:1159
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1175
+#: src/language/stats/crosstabs.q:1174
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1181 src/language/stats/crosstabs.q:1223
+#: src/language/stats/crosstabs.q:1180 src/language/stats/crosstabs.q:1222
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1182 src/language/stats/crosstabs.q:1224
+#: src/language/stats/crosstabs.q:1181 src/language/stats/crosstabs.q:1223
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1183 src/language/stats/crosstabs.q:1225
+#: src/language/stats/crosstabs.q:1182 src/language/stats/crosstabs.q:1224
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1194
+#: src/language/stats/crosstabs.q:1193
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1198
+#: src/language/stats/crosstabs.q:1197
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1201 src/language/stats/t-test.q:987
-#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1271
+#: src/language/stats/crosstabs.q:1200 src/language/stats/t-test.q:986
+#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1202 src/language/stats/t-test.q:988
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1272
+#: src/language/stats/crosstabs.q:1201 src/language/stats/t-test.q:987
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1271
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1216
+#: src/language/stats/crosstabs.q:1215
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1221 src/ui/gui/psppire.glade:2223
+#: src/language/stats/crosstabs.q:1220 src/ui/gui/psppire.glade:2223
 #: src/ui/gui/var-sheet.c:66
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1975
+#: src/language/stats/crosstabs.q:1974
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1976
+#: src/language/stats/crosstabs.q:1975
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1977
+#: src/language/stats/crosstabs.q:1976
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1978
+#: src/language/stats/crosstabs.q:1977
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1979
+#: src/language/stats/crosstabs.q:1978
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2016 src/language/stats/crosstabs.q:2086
-#: src/language/stats/crosstabs.q:2145
+#: src/language/stats/crosstabs.q:2015 src/language/stats/crosstabs.q:2085
+#: src/language/stats/crosstabs.q:2144
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2161
+#: src/language/stats/crosstabs.q:2031 src/language/stats/crosstabs.q:2160
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2033 src/language/stats/crosstabs.q:2162
+#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2161
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2034
+#: src/language/stats/crosstabs.q:2033
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2035
+#: src/language/stats/crosstabs.q:2034
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2040
+#: src/language/stats/crosstabs.q:2039
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2041
+#: src/language/stats/crosstabs.q:2040
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2042
+#: src/language/stats/crosstabs.q:2041
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2043
+#: src/language/stats/crosstabs.q:2042
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2044
+#: src/language/stats/crosstabs.q:2043
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2045
+#: src/language/stats/crosstabs.q:2044
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2046
+#: src/language/stats/crosstabs.q:2045
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2047
+#: src/language/stats/crosstabs.q:2046
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2048
+#: src/language/stats/crosstabs.q:2047
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2118
+#: src/language/stats/crosstabs.q:2117
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:2120
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2128
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2131
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2163
+#: src/language/stats/crosstabs.q:2162
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2168
+#: src/language/stats/crosstabs.q:2167
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2169
+#: src/language/stats/crosstabs.q:2168
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2170
+#: src/language/stats/crosstabs.q:2169
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2171
+#: src/language/stats/crosstabs.q:2170
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2172
+#: src/language/stats/crosstabs.q:2171
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2177
+#: src/language/stats/crosstabs.q:2176
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2178 src/language/stats/crosstabs.q:2179
+#: src/language/stats/crosstabs.q:2177 src/language/stats/crosstabs.q:2178
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1525
-#: src/language/stats/frequencies.q:124 src/language/stats/npar-summary.c:125
-#: src/language/stats/oneway.q:393 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:1169 src/ui/gui/descriptives-dialog.c:52
+#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1524
+#: src/language/stats/frequencies.q:123 src/language/stats/npar-summary.c:125
+#: src/language/stats/oneway.q:392 src/language/stats/t-test.q:683
+#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1168 src/ui/gui/descriptives-dialog.c:52
 msgid "Mean"
 msgstr ""
 
@@ -2715,17 +2716,17 @@
 msgid "S E Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:128
+#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:127
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1605
-#: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:59
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1604
+#: src/language/stats/frequencies.q:128 src/ui/gui/descriptives-dialog.c:59
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1712
-#: src/language/stats/frequencies.q:130 src/ui/gui/descriptives-dialog.c:60
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1711
+#: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:60
 msgid "Kurtosis"
 msgstr ""
 
@@ -2733,8 +2734,8 @@
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1692
-#: src/language/stats/frequencies.q:132 src/ui/gui/descriptives-dialog.c:61
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1691
+#: src/language/stats/frequencies.q:131 src/ui/gui/descriptives-dialog.c:61
 msgid "Skewness"
 msgstr ""
 
@@ -2742,24 +2743,24 @@
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1653
-#: src/language/stats/frequencies.q:134 src/ui/gui/descriptives-dialog.c:56
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1652
+#: src/language/stats/frequencies.q:133 src/ui/gui/descriptives-dialog.c:56
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1630
-#: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:131
-#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:54
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1629
+#: src/language/stats/frequencies.q:134 src/language/stats/npar-summary.c:131
+#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:54
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1641
-#: src/language/stats/frequencies.q:136 src/language/stats/npar-summary.c:134
-#: src/language/stats/oneway.q:406 src/ui/gui/descriptives-dialog.c:55
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1640
+#: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:134
+#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:55
 msgid "Maximum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:113 src/language/stats/frequencies.q:137
+#: src/language/stats/descriptives.c:113 src/language/stats/frequencies.q:136
 #: src/ui/gui/descriptives-dialog.c:57
 msgid "Sum"
 msgstr ""
@@ -2809,264 +2810,264 @@
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:287 src/language/stats/examine.q:290
+#: src/language/stats/examine.q:286 src/language/stats/examine.q:289
 #, c-format
 msgid "%s is not currently supported."
 msgstr ""
 
-#: src/language/stats/examine.q:496 src/language/stats/examine.q:509
+#: src/language/stats/examine.q:495 src/language/stats/examine.q:508
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:971
+#: src/language/stats/examine.q:970
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1178
+#: src/language/stats/examine.q:1177
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1194
+#: src/language/stats/examine.q:1193
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1279
+#: src/language/stats/examine.q:1278
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1284
+#: src/language/stats/examine.q:1283
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1425 src/language/stats/oneway.q:395
-#: src/language/stats/oneway.q:679 src/language/stats/regression.q:212
+#: src/language/stats/examine.q:1424 src/language/stats/oneway.q:394
+#: src/language/stats/oneway.q:678 src/language/stats/regression.q:213
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1427 src/language/stats/oneway.q:409
+#: src/language/stats/examine.q:1426 src/language/stats/oneway.q:408
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1543 src/language/stats/oneway.q:400
+#: src/language/stats/examine.q:1542 src/language/stats/oneway.q:399
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1549 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1548 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1560 src/language/stats/oneway.q:403
+#: src/language/stats/examine.q:1559 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1572
+#: src/language/stats/examine.q:1571
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:126
+#: src/language/stats/examine.q:1582 src/language/stats/frequencies.q:125
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:128
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:685
-#: src/language/stats/t-test.q:708 src/language/stats/t-test.q:833
-#: src/language/stats/t-test.q:1170
+#: src/language/stats/examine.q:1616 src/language/stats/npar-summary.c:128
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:684
+#: src/language/stats/t-test.q:707 src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:1169
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1665
+#: src/language/stats/examine.q:1664
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1817
+#: src/language/stats/examine.q:1816
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1842
+#: src/language/stats/examine.q:1841
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1884
+#: src/language/stats/examine.q:1883
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1885 src/language/stats/examine.q:1891
+#: src/language/stats/examine.q:1884 src/language/stats/examine.q:1890
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1886
+#: src/language/stats/examine.q:1885
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1889
+#: src/language/stats/examine.q:1888
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1892
+#: src/language/stats/examine.q:1891
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:2011 src/language/stats/examine.q:2033
-#: src/language/stats/frequencies.q:1417 src/language/stats/npar-summary.c:141
+#: src/language/stats/examine.q:2010 src/language/stats/examine.q:2032
+#: src/language/stats/frequencies.q:1416 src/language/stats/npar-summary.c:141
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2157
+#: src/language/stats/examine.q:2156
 msgid "Tukey's Hinges"
 msgstr ""
 
-#: src/language/stats/flip.c:98
+#: src/language/stats/flip.c:95
 msgid ""
 "FLIP ignores TEMPORARY.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/stats/flip.c:153
+#: src/language/stats/flip.c:150
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/language/stats/flip.c:164
+#: src/language/stats/flip.c:161
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:264
+#: src/language/stats/flip.c:261
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/language/stats/flip.c:280
+#: src/language/stats/flip.c:277
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/language/stats/flip.c:396
+#: src/language/stats/flip.c:393
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:403
+#: src/language/stats/flip.c:400
 msgid "Error creating FLIP source file."
 msgstr ""
 
-#: src/language/stats/flip.c:416
+#: src/language/stats/flip.c:413
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:415
 msgid "Unexpected end of file reading FLIP file."
 msgstr ""
 
-#: src/language/stats/flip.c:442
+#: src/language/stats/flip.c:431
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:450
+#: src/language/stats/flip.c:439
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:450
 #, c-format
 msgid "Error closing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:458
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:498
+#: src/language/stats/flip.c:487
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:501
+#: src/language/stats/flip.c:490
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr ""
 
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/frequencies.q:124
 msgid "S.E. Mean"
 msgstr ""
 
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/frequencies.q:126
 msgid "Mode"
 msgstr ""
 
-#: src/language/stats/frequencies.q:131
+#: src/language/stats/frequencies.q:130
 msgid "S.E. Kurt"
 msgstr ""
 
-#: src/language/stats/frequencies.q:133
+#: src/language/stats/frequencies.q:132
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:410
+#: src/language/stats/frequencies.q:409
 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:493
+#: src/language/stats/frequencies.q:492
 #, 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:759
+#: src/language/stats/frequencies.q:758
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:822
+#: src/language/stats/frequencies.q:821
 msgid "`)' expected after GROUPED interval list."
 msgstr ""
 
-#: src/language/stats/frequencies.q:834
+#: src/language/stats/frequencies.q:833
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr ""
 
-#: src/language/stats/frequencies.q:841
+#: src/language/stats/frequencies.q:840
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1059 src/language/stats/frequencies.q:1152
-#: src/language/stats/frequencies.q:1153 src/language/stats/frequencies.q:1187
+#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1151
+#: src/language/stats/frequencies.q:1152 src/language/stats/frequencies.q:1186
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1061 src/output/charts/plot-hist.c:126
+#: src/language/stats/frequencies.q:1060 src/output/charts/plot-hist.c:126
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1082
+#: src/language/stats/frequencies.q:1081
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1185
+#: src/language/stats/frequencies.q:1184
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1186 src/language/stats/frequencies.q:1188
+#: src/language/stats/frequencies.q:1185 src/language/stats/frequencies.q:1187
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1379
+#: src/language/stats/frequencies.q:1378
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1421
+#: src/language/stats/frequencies.q:1420
 msgid "50 (Median)"
 msgstr ""
 
@@ -3074,11 +3075,11 @@
 msgid "Multivariate GLM not yet supported"
 msgstr ""
 
-#: src/language/stats/glm.q:271 src/language/stats/regression.q:1158
+#: src/language/stats/glm.q:271 src/language/stats/regression.q:1159
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/glm.q:346 src/language/stats/regression.q:1255
+#: src/language/stats/glm.q:346 src/language/stats/regression.q:1256
 msgid "No valid data found. This command was skipped."
 msgstr ""
 
@@ -3090,22 +3091,6 @@
 msgid "TABLES subcommand may not appear more than once."
 msgstr ""
 
-#: src/language/stats/npar-summary.c:108
-msgid "Descriptive Statistics"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:145
-msgid "25th"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:148
-msgid "50th (Median)"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:151
-msgid "75th"
-msgstr ""
-
 #: src/language/stats/npar.q:98
 msgid "NPAR subcommand not currently implemented."
 msgstr ""
@@ -3123,11 +3108,27 @@
 "exactly %d values."
 msgstr ""
 
-#: src/language/stats/npar.q:425 src/language/stats/t-test.q:487
+#: src/language/stats/npar.q:425 src/language/stats/t-test.q:486
 #, c-format
 msgid ""
-"PAIRED was specified but the number of variables preceding WITH (%d) did not "
-"match the number following (%d)."
+"PAIRED was specified but the number of variables preceding WITH (%zu) did "
+"not match the number following (%zu)."
+msgstr ""
+
+#: src/language/stats/npar-summary.c:108
+msgid "Descriptive Statistics"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:145
+msgid "25th"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:148
+msgid "50th (Median)"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:151
+msgid "75th"
 msgstr ""
 
 #: src/language/stats/oneway.q:169
@@ -3136,92 +3137,92 @@
 
 #: src/language/stats/oneway.q:178
 #, c-format
-msgid "Coefficients for contrast %d do not total zero"
+msgid "Coefficients for contrast %zu do not total zero"
 msgstr ""
 
-#: src/language/stats/oneway.q:245
+#: src/language/stats/oneway.q:244
 #, c-format
 msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/language/stats/oneway.q:279 src/language/stats/regression.q:309
+#: src/language/stats/oneway.q:278 src/language/stats/regression.q:310
 msgid "Sum of Squares"
 msgstr ""
 
-#: src/language/stats/oneway.q:281 src/language/stats/regression.q:311
+#: src/language/stats/oneway.q:280 src/language/stats/regression.q:312
 msgid "Mean Square"
 msgstr ""
 
-#: src/language/stats/oneway.q:282 src/language/stats/regression.q:312
-#: src/language/stats/t-test.q:980
+#: src/language/stats/oneway.q:281 src/language/stats/regression.q:313
+#: src/language/stats/t-test.q:979
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:283 src/language/stats/oneway.q:537
-#: src/language/stats/regression.q:215 src/language/stats/regression.q:313
+#: src/language/stats/oneway.q:282 src/language/stats/oneway.q:536
+#: src/language/stats/regression.q:216 src/language/stats/regression.q:314
 msgid "Significance"
 msgstr ""
 
-#: src/language/stats/oneway.q:305
+#: src/language/stats/oneway.q:304
 msgid "Between Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:306
+#: src/language/stats/oneway.q:305
 msgid "Within Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:353 src/language/stats/regression.q:339
+#: src/language/stats/oneway.q:352 src/language/stats/regression.q:340
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:534
+#: src/language/stats/oneway.q:533
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:535
+#: src/language/stats/oneway.q:534
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:536
+#: src/language/stats/oneway.q:535
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:540
+#: src/language/stats/oneway.q:539
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:608
+#: src/language/stats/oneway.q:607
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:677
+#: src/language/stats/oneway.q:609 src/language/stats/oneway.q:676
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:675
+#: src/language/stats/oneway.q:674
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:678
+#: src/language/stats/oneway.q:677
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:680 src/language/stats/regression.q:214
-#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1174
-#: src/language/stats/t-test.q:1267
+#: src/language/stats/oneway.q:679 src/language/stats/regression.q:215
+#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1173
+#: src/language/stats/t-test.q:1266
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:984
-#: src/language/stats/t-test.q:1176 src/language/stats/t-test.q:1269
+#: src/language/stats/oneway.q:681 src/language/stats/t-test.q:983
+#: src/language/stats/t-test.q:1175 src/language/stats/t-test.q:1268
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:726
+#: src/language/stats/oneway.q:725
 msgid "Assume equal variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:730
+#: src/language/stats/oneway.q:729
 msgid "Does not assume equal"
 msgstr ""
 
@@ -3278,66 +3279,66 @@
 msgid "Too many variables in INTO clause."
 msgstr ""
 
-#: src/language/stats/regression.q:166
+#: src/language/stats/regression.q:167
 msgid "R"
 msgstr ""
 
-#: src/language/stats/regression.q:167
+#: src/language/stats/regression.q:168
 msgid "R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:168
+#: src/language/stats/regression.q:169
 msgid "Adjusted R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:169
+#: src/language/stats/regression.q:170
 msgid "Std. Error of the Estimate"
 msgstr ""
 
-#: src/language/stats/regression.q:174
+#: src/language/stats/regression.q:175
 msgid "Model Summary"
 msgstr ""
 
-#: src/language/stats/regression.q:211
+#: src/language/stats/regression.q:212
 msgid "B"
 msgstr ""
 
-#: src/language/stats/regression.q:213
+#: src/language/stats/regression.q:214
 msgid "Beta"
 msgstr ""
 
-#: src/language/stats/regression.q:216
+#: src/language/stats/regression.q:217
 msgid "(Constant)"
 msgstr ""
 
-#: src/language/stats/regression.q:278
+#: src/language/stats/regression.q:279
 msgid "Coefficients"
 msgstr ""
 
-#: src/language/stats/regression.q:315
+#: src/language/stats/regression.q:316
 msgid "Regression"
 msgstr ""
 
-#: src/language/stats/regression.q:394
+#: src/language/stats/regression.q:395
 msgid "Model"
 msgstr ""
 
-#: src/language/stats/regression.q:395
+#: src/language/stats/regression.q:396
 msgid "Covariances"
 msgstr ""
 
-#: src/language/stats/regression.q:410
+#: src/language/stats/regression.q:411
 msgid "Coefficient Correlations"
 msgstr ""
 
-#: src/language/stats/regression.q:1031
+#: src/language/stats/regression.q:1032
 msgid ""
 "The dependent variable is equal to the independent variable.The least "
 "squares line is therefore Y=X.Standard errors and related statistics may be "
 "meaningless."
 msgstr ""
 
-#: src/language/stats/sort-cases.c:63
+#: src/language/stats/sort-cases.c:64
 msgid "Buffer limit must be at least 2."
 msgstr ""
 
@@ -3354,143 +3355,143 @@
 msgid "Variable %s specified twice in sort criteria."
 msgstr ""
 
-#: src/language/stats/t-test.q:276
+#: src/language/stats/t-test.q:275
 msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/language/stats/t-test.q:294
+#: src/language/stats/t-test.q:293
 msgid "VARIABLES subcommand is not appropriate with PAIRS"
 msgstr ""
 
-#: src/language/stats/t-test.q:332
+#: src/language/stats/t-test.q:331
 msgid "One or more VARIABLES must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:381
+#: src/language/stats/t-test.q:380
 #, c-format
 msgid "Long string variable %s is not valid here."
 msgstr ""
 
-#: src/language/stats/t-test.q:401 src/language/stats/t-test.q:415
+#: src/language/stats/t-test.q:400 src/language/stats/t-test.q:414
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:504
+#: src/language/stats/t-test.q:503
 msgid "At least two variables must be specified on PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:680
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:686 src/language/stats/t-test.q:709
-#: src/language/stats/t-test.q:834
+#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
+#: src/language/stats/t-test.q:833
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:704
+#: src/language/stats/t-test.q:703
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:827
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:850 src/language/stats/t-test.q:1195
-#: src/language/stats/t-test.q:1386
+#: src/language/stats/t-test.q:849 src/language/stats/t-test.q:1194
+#: src/language/stats/t-test.q:1385
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:968
+#: src/language/stats/t-test.q:967
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1371
+#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1370
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:985 src/language/stats/t-test.q:1270
+#: src/language/stats/t-test.q:984 src/language/stats/t-test.q:1269
 msgid "Mean Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:986
+#: src/language/stats/t-test.q:985
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:991 src/language/stats/t-test.q:1166
-#: src/language/stats/t-test.q:1262
+#: src/language/stats/t-test.q:990 src/language/stats/t-test.q:1165
+#: src/language/stats/t-test.q:1261
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1046
+#: src/language/stats/t-test.q:1045
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1098
+#: src/language/stats/t-test.q:1097
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1156
+#: src/language/stats/t-test.q:1155
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1159
+#: src/language/stats/t-test.q:1158
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1170
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1251
+#: src/language/stats/t-test.q:1250
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1256
+#: src/language/stats/t-test.q:1255
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1366
+#: src/language/stats/t-test.q:1365
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1370
+#: src/language/stats/t-test.q:1369
 msgid "Correlation"
 msgstr ""
 
-#: src/language/stats/t-test.q:1389
+#: src/language/stats/t-test.q:1388
 #, c-format
 msgid "%s & %s"
 msgstr ""
 
-#: src/language/syntax-file.c:86
+#: src/language/syntax-file.c:87
 #, c-format
 msgid "opening \"%s\" as syntax file"
 msgstr ""
 
-#: src/language/syntax-file.c:91
+#: src/language/syntax-file.c:92
 #, c-format
 msgid "Opening `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:104
+#: src/language/syntax-file.c:105
 #, c-format
 msgid "Reading `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:124
+#: src/language/syntax-file.c:125
 #, c-format
 msgid "Closing `%s': %s."
 msgstr ""
@@ -3515,21 +3516,21 @@
 
 #: src/language/tests/float-format.c:124
 #, c-format
-msgid "%d-byte string needed but %d-byte string supplied."
+msgid "%zu-byte string needed but %zu-byte string supplied."
 msgstr ""
 
-#: src/language/tests/float-format.c:135
+#: src/language/tests/float-format.c:136
 msgid "Hexadecimal floating constant too long."
 msgstr ""
 
-#: src/language/tests/float-format.c:200
+#: src/language/tests/float-format.c:201
 #, c-format
 msgid ""
 "%s conversion of %s from %s to %s should have produced %s but actually "
 "produced %s."
 msgstr ""
 
-#: src/language/tests/float-format.c:246
+#: src/language/tests/float-format.c:247
 msgid "Too many values in single command."
 msgstr ""
 
@@ -3724,98 +3725,98 @@
 msgid "WIDTH is %d."
 msgstr ""
 
-#: src/language/utilities/title.c:67
+#: src/language/utilities/title.c:68
 #, c-format
 msgid "%s: `.' expected after string."
 msgstr ""
 
-#: src/language/utilities/title.c:107
+#: src/language/utilities/title.c:108
 #, c-format
 msgid "   (Entered %s)"
 msgstr ""
 
-#: src/language/xforms/compute.c:145 src/language/xforms/compute.c:193
+#: src/language/xforms/compute.c:146 src/language/xforms/compute.c:194
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/language/xforms/compute.c:149 src/language/xforms/compute.c:200
+#: src/language/xforms/compute.c:150 src/language/xforms/compute.c:201
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/language/xforms/compute.c:343
+#: src/language/xforms/compute.c:344
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/language/xforms/count.c:122
+#: src/language/xforms/count.c:123
 msgid "Destination cannot be a string variable."
 msgstr ""
 
-#: src/language/xforms/recode.c:246
+#: src/language/xforms/recode.c:245
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
 msgstr ""
 
-#: src/language/xforms/recode.c:267
+#: src/language/xforms/recode.c:266
 msgid "CONVERT requires string input values and numeric output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:317
+#: src/language/xforms/recode.c:316
 msgid "THRU is not allowed with string variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:391
+#: src/language/xforms/recode.c:390
 msgid "expecting output value"
 msgstr ""
 
-#: src/language/xforms/recode.c:440
+#: src/language/xforms/recode.c:439
 #, c-format
 msgid ""
-"%u variable(s) cannot be recoded into %u variable(s).  Specify the same "
+"%zu variable(s) cannot be recoded into %zu variable(s).  Specify the same "
 "number of variables as source and target variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:455
+#: src/language/xforms/recode.c:454
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
 "already exist.  Use the STRING command to create a string variable.)"
 msgstr ""
 
-#: src/language/xforms/recode.c:470
+#: src/language/xforms/recode.c:469
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:483
+#: src/language/xforms/recode.c:482
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr ""
 
-#: src/language/xforms/sample.c:75
+#: src/language/xforms/sample.c:76
 msgid "The sampling factor must be between 0 and 1 exclusive."
 msgstr ""
 
-#: src/language/xforms/sample.c:95
+#: src/language/xforms/sample.c:96
 #, c-format
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/language/xforms/select-if.c:99
+#: src/language/xforms/select-if.c:100
 msgid "Syntax error expecting OFF or BY.  Turning off case filtering."
 msgstr ""
 
-#: src/language/xforms/select-if.c:114
+#: src/language/xforms/select-if.c:115
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/language/xforms/select-if.c:120
+#: src/language/xforms/select-if.c:121
 msgid "The filter variable may not be scratch."
 msgstr ""
 
@@ -3958,7 +3959,7 @@
 msgid "ascii: boolean value expected for `%s'"
 msgstr ""
 
-#: src/output/ascii.c:478 src/output/html.c:186
+#: src/output/ascii.c:478 src/output/html.c:187
 msgid "`chart-files' value must contain `#'"
 msgstr ""
 
@@ -3972,7 +3973,7 @@
 msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
 msgstr ""
 
-#: src/output/ascii.c:809 src/output/postscript.c:825
+#: src/output/ascii.c:809 src/output/postscript.c:826
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
@@ -3991,16 +3992,16 @@
 msgid "HISTOGRAM"
 msgstr ""
 
-#: src/output/html.c:70
+#: src/output/html.c:71
 #, c-format
 msgid "opening HTML output file: %s"
 msgstr ""
 
-#: src/output/html.c:81
+#: src/output/html.c:82
 msgid "PSPP Output"
 msgstr ""
 
-#: src/output/html.c:169
+#: src/output/html.c:170
 #, c-format
 msgid "unknown configuration parameter `%s' for HTML device driver"
 msgstr ""
@@ -4137,12 +4138,12 @@
 msgid "syntax error in paper size `%s'"
 msgstr ""
 
-#: src/output/postscript.c:157
+#: src/output/postscript.c:158
 #, c-format
 msgid "opening PostScript output file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:195
+#: src/output/postscript.c:196
 #, c-format
 msgid ""
 "The defined PostScript page is not long enough to hold margins and headers, "
@@ -4150,87 +4151,87 @@
 "lines of each font at the default size of %d.%03d points."
 msgstr ""
 
-#: src/output/postscript.c:245
+#: src/output/postscript.c:246
 #, c-format
 msgid "closing PostScript output file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:308
+#: src/output/postscript.c:309
 #, c-format
 msgid "unknown configuration parameter `%s' for PostScript device driver"
 msgstr ""
 
-#: src/output/postscript.c:324
+#: src/output/postscript.c:325
 #, c-format
 msgid ""
 "unknown orientation `%s' (valid orientations are `portrait' and `landscape')"
 msgstr ""
 
-#: src/output/postscript.c:336
+#: src/output/postscript.c:337
 #, c-format
 msgid "boolean value expected for %s"
 msgstr ""
 
-#: src/output/postscript.c:349
+#: src/output/postscript.c:350
 #, c-format
 msgid "positive integer value required for `%s'"
 msgstr ""
 
-#: src/output/postscript.c:354
+#: 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:1175
+#: src/output/postscript.c:1176
 #, c-format
 msgid "\"%s\": bad font specification"
 msgstr ""
 
-#: src/output/postscript.c:1183
+#: src/output/postscript.c:1184
 #, c-format
 msgid "could not find AFM file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1197
+#: src/output/postscript.c:1198
 #, c-format
 msgid "could not find font \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1206
+#: src/output/postscript.c:1207
 #, c-format
 msgid "could not find encoding \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1306
+#: src/output/postscript.c:1307
 #, c-format
 msgid "cannot open font file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1347
+#: src/output/postscript.c:1348
 #, c-format
 msgid "reading font file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1369
+#: src/output/postscript.c:1370
 #, c-format
 msgid "cannot open font encoding file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1398
+#: src/output/postscript.c:1399
 msgid "invalid numeric format"
 msgstr ""
 
-#: src/output/postscript.c:1420
+#: src/output/postscript.c:1421
 #, c-format
 msgid "closing Postscript encoding \"%s\""
 msgstr ""
 
-#: src/output/table.c:235
+#: src/output/table.c:234
 #, 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:306
+#: src/output/table.c:305
 #, c-format
 msgid ""
 "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
@@ -4245,233 +4246,249 @@
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
 msgid "Transformations Pending"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:422
+#: src/ui/gui/data-editor.c:424
 msgid "Labels"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:423
+#: src/ui/gui/data-editor.c:425
 msgid "Show/hide value labels"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:441 src/ui/gui/data-editor.c:458
-#: src/ui/gui/data-editor.c:1770 src/ui/gui/data-editor.c:1823
+#: src/ui/gui/data-editor.c:443 src/ui/gui/data-editor.c:460
+#: src/ui/gui/data-editor.c:1799 src/ui/gui/data-editor.c:1852
 msgid "Clear"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:442
+#: src/ui/gui/data-editor.c:444
 msgid "Delete the cases at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:459
+#: src/ui/gui/data-editor.c:461
 msgid "Delete the variables at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:473 src/ui/gui/data-editor.c:1767
+#: src/ui/gui/data-editor.c:475 src/ui/gui/data-editor.c:1796
 #: src/ui/gui/data-editor.glade:137 src/ui/gui/data-editor.glade:789
 msgid "Insert Variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:474
+#: src/ui/gui/data-editor.c:476
 msgid "Create a new variable at the current position"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:492 src/ui/gui/data-editor.c:1820
+#: src/ui/gui/data-editor.c:494 src/ui/gui/data-editor.c:1849
 #: src/ui/gui/data-editor.glade:777
 msgid "Insert Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:493
+#: src/ui/gui/data-editor.c:495
 msgid "Create a new case at the current position"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:513
+#: src/ui/gui/data-editor.c:515
 msgid "Goto Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:514
+#: src/ui/gui/data-editor.c:516
 msgid "Jump to a Case in the Data Sheet"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:533
+#: src/ui/gui/data-editor.c:535
 msgid "Weights"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:534
+#: src/ui/gui/data-editor.c:536
 msgid "Weight cases by variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:543 src/ui/gui/data-editor.glade:312
+#: src/ui/gui/data-editor.c:545 src/ui/gui/data-editor.glade:312
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:544
+#: src/ui/gui/data-editor.c:546
 msgid "Transpose the cases with the variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:555
+#: src/ui/gui/data-editor.c:557
 msgid "Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:556
+#: src/ui/gui/data-editor.c:558
 msgid "Split the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:566
+#: src/ui/gui/data-editor.c:568
 msgid "Sort"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:567
+#: src/ui/gui/data-editor.c:569
 msgid "Sort cases in the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:575 src/ui/gui/data-editor.glade:347
+#: src/ui/gui/data-editor.c:577 src/ui/gui/data-editor.glade:347
 #: src/ui/gui/data-editor.glade:832
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:576
+#: src/ui/gui/data-editor.c:578
 msgid "Select cases from the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:585
+#: src/ui/gui/data-editor.c:587
 msgid "Compute"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:586
+#: src/ui/gui/data-editor.c:588
 msgid "Compute new values for a variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:596 src/ui/gui/data-editor.glade:484
-msgid "_Independent Samples T Test"
+#: src/ui/gui/data-editor.c:596
+msgid "Oneway _ANOVA"
 msgstr ""
 
 #: src/ui/gui/data-editor.c:597
-msgid "Calculate T Test for samples from independent groups"
+msgid "Perform one way analysis of variance"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:605 src/ui/gui/data-editor.glade:484
+msgid "_Independent Samples T Test"
 msgstr ""
 
 #: src/ui/gui/data-editor.c:606
+msgid "Calculate T Test for samples from independent groups"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:615
 msgid "Data File Comments"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:607
+#: src/ui/gui/data-editor.c:616
 msgid "Commentary text for the data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:615 src/ui/gui/data-editor.glade:757
+#: src/ui/gui/data-editor.c:624 src/ui/gui/data-editor.glade:757
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:616
+#: src/ui/gui/data-editor.c:625
 msgid "Find Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:625 src/ui/gui/data-editor.glade:286
+#: src/ui/gui/data-editor.c:634 src/ui/gui/data-editor.glade:384
+msgid "Ran_k Cases"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:635
+msgid "Rank Cases"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:644 src/ui/gui/data-editor.glade:286
 #: src/ui/gui/data-editor.glade:736
 msgid "Variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:626
+#: src/ui/gui/data-editor.c:645
 msgid "Jump to Variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:634 src/ui/gui/data-editor.glade:438
+#: src/ui/gui/data-editor.c:653 src/ui/gui/data-editor.glade:438
 msgid "_Descriptives"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:635
+#: src/ui/gui/data-editor.c:654
 msgid "Calculate descriptive statistics (mean, variance, ...)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1048
+#: src/ui/gui/data-editor.c:1077
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1255
+#: src/ui/gui/data-editor.c:1284
 msgid "No Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1264
+#: src/ui/gui/data-editor.c:1293
 msgid "Split by "
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1289
+#: src/ui/gui/data-editor.c:1318
 msgid "Filter off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1302
+#: src/ui/gui/data-editor.c:1331
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1320
+#: src/ui/gui/data-editor.c:1349
 msgid "Weights off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1333
+#: src/ui/gui/data-editor.c:1362
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1356 src/ui/gui/data-editor.c:1590
+#: src/ui/gui/data-editor.c:1385 src/ui/gui/data-editor.c:1619
 #: src/ui/gui/data-editor.glade:648
 msgid "Open"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1357
+#: src/ui/gui/data-editor.c:1386
 msgid "Open a data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1365 src/ui/gui/data-editor.c:1472
+#: src/ui/gui/data-editor.c:1394 src/ui/gui/data-editor.c:1501
 #: src/ui/gui/data-editor.glade:658
 msgid "Save"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1366 src/ui/gui/data-editor.c:1376
+#: src/ui/gui/data-editor.c:1395 src/ui/gui/data-editor.c:1405
 msgid "Save data to file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1375
+#: src/ui/gui/data-editor.c:1404
 msgid "Save As"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1384
+#: src/ui/gui/data-editor.c:1413
 msgid "New"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1385
+#: src/ui/gui/data-editor.c:1414
 msgid "New data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1480 src/ui/gui/data-editor.c:1598
+#: src/ui/gui/data-editor.c:1509 src/ui/gui/data-editor.c:1627
 msgid "System Files (*.sav)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1486 src/ui/gui/data-editor.c:1604
+#: src/ui/gui/data-editor.c:1515 src/ui/gui/data-editor.c:1633
 msgid "Portable Files (*.por) "
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1492 src/ui/gui/data-editor.c:1610
+#: src/ui/gui/data-editor.c:1521 src/ui/gui/data-editor.c:1639
 #: src/ui/gui/syntax-editor.c:138 src/ui/gui/syntax-editor.c:522
 msgid "All Files"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1500
+#: src/ui/gui/data-editor.c:1529
 msgid "System File"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1505
+#: src/ui/gui/data-editor.c:1534
 msgid "Portable File"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1760
+#: src/ui/gui/data-editor.c:1789
 msgid "Sort Ascending"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1763
+#: src/ui/gui/data-editor.c:1792
 msgid "Sort Descending"
 msgstr ""
 
@@ -4581,10 +4598,6 @@
 msgid "_Compute"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:384
-msgid "Ran_k Cases"
-msgstr ""
-
 #: src/ui/gui/data-editor.glade:397
 msgid "_Run Pending Transforms"
 msgstr ""
@@ -4846,7 +4859,7 @@
 msgid "Options:"
 msgstr ""
 
-#: src/ui/gui/find-dialog.c:658
+#: src/ui/gui/find-dialog.c:657
 #, c-format
 msgid "Bad regular expression: %s"
 msgstr ""
@@ -4919,6 +4932,47 @@
 msgid "Incorrect range specification"
 msgstr ""
 
+#: src/ui/gui/oneway-anova-dialog.c:317
+#, c-format
+msgid "Contrast %d of %d"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:34 src/ui/gui/x.glade:126
+msgid "_Factor:"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:70 src/ui/gui/x.glade:82
+msgid "_Dependent Variable(s):"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:172
+msgid "_Options..."
+msgstr ""
+
+#: src/ui/gui/oneway.glade:183
+msgid "_Contrasts..."
+msgstr ""
+
+#: src/ui/gui/oneway.glade:254
+msgid "gtk-go-back"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:265
+msgid "gtk-go-forward"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:288
+msgid "_Coefficients:"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:334
+msgid "Coefficient Total: "
+msgstr ""
+
+#: src/ui/gui/oneway.glade:367
+msgid "Contrast 1 of 1"
+msgstr ""
+
 #: src/ui/gui/output-viewer.glade:32
 msgid "gtk-save"
 msgstr ""
@@ -4967,6 +5021,10 @@
 msgid "Paste"
 msgstr ""
 
+#: src/ui/gui/psppire.c:197
+msgid "_Reset"
+msgstr ""
+
 #: src/ui/gui/psppire-data-store.c:816
 msgid "var"
 msgstr ""
@@ -4976,28 +5034,6 @@
 msgid "%ld"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:479 src/ui/gui/var-display.c:14
-msgid "None"
-msgstr ""
-
-#: src/ui/gui/psppire-var-store.c:489
-msgid "Scientific"
-msgstr ""
-
-#: src/ui/gui/psppire-var-store.c:492
-msgid "Custom"
-msgstr ""
-
-#: src/ui/gui/psppire-var-store.c:563 src/ui/gui/psppire-var-store.c:573
-#: src/ui/gui/psppire-var-store.c:583
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/ui/gui/psppire.c:197
-msgid "_Reset"
-msgstr ""
-
 #: src/ui/gui/psppire.glade:11
 msgid "This is pre-alpha software.  Use at your own risk."
 msgstr ""
@@ -5225,6 +5261,24 @@
 msgid "Search backward"
 msgstr ""
 
+#: src/ui/gui/psppire-var-store.c:479 src/ui/gui/var-display.c:14
+msgid "None"
+msgstr ""
+
+#: src/ui/gui/psppire-var-store.c:489
+msgid "Scientific"
+msgstr ""
+
+#: src/ui/gui/psppire-var-store.c:492
+msgid "Custom"
+msgstr ""
+
+#: src/ui/gui/psppire-var-store.c:563 src/ui/gui/psppire-var-store.c:573
+#: src/ui/gui/psppire-var-store.c:583
+#, c-format
+msgid "%d"
+msgstr ""
+
 #: src/ui/gui/select-cases-dialog.c:85
 #, c-format
 msgid "Approximately %3d%% of all cases."
@@ -5281,11 +5335,6 @@
 msgid "To End"
 msgstr ""
 
-#: src/ui/gui/t-test-independent-samples-dialog.c:171
-#, c-format
-msgid "Confidence Interval: %2d %%"
-msgstr ""
-
 #: src/ui/gui/t-test.glade:56
 msgid "Define Groups"
 msgstr ""
@@ -5318,24 +5367,9 @@
 msgid "Exclude cases _listwise"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:65
-msgid "Name"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:68
-msgid "Decimals"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:70
-msgid "Values"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:73
-msgid "Align"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:74
-msgid "Measure"
+#: src/ui/gui/t-test-independent-samples-dialog.c:175
+#, c-format
+msgid "Confidence Interval: %2d %%"
 msgstr ""
 
 #: src/ui/gui/variable-info-dialog.c:88
@@ -5367,6 +5401,26 @@
 msgid "%s %s\n"
 msgstr ""
 
+#: src/ui/gui/var-sheet.c:65
+msgid "Name"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:68
+msgid "Decimals"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:70
+msgid "Values"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:73
+msgid "Align"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:74
+msgid "Measure"
+msgstr ""
+
 #: src/ui/gui/weight-cases-dialog.c:88
 #, c-format
 msgid "Weight cases by %s"
@@ -5402,7 +5456,7 @@
 msgid "%s --- PSPP Output"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:229
+#: src/ui/terminal/command-line.c:230
 #, c-format
 msgid ""
 "PSPP, a program for statistical analysis of sample data.\n"
@@ -5448,7 +5502,7 @@
 "\n"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:264
+#: src/ui/terminal/command-line.c:265
 #, c-format
 msgid ""
 "\n"

Index: po/pspp.pot
===================================================================
RCS file: /sources/pspp/pspp/po/pspp.pot,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -b -r1.156 -r1.157
--- po/pspp.pot 12 Oct 2007 04:49:26 -0000      1.156
+++ po/pspp.pot 19 Oct 2007 05:51:13 -0000      1.157
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-10-10 21:49-0700\n"
+"POT-Creation-Date: 2007-10-17 20:48+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <address@hidden>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -46,6 +46,12 @@
 msgid "Date %04d-%d-%d is before the earliest acceptable date of 1582-10-15."
 msgstr ""
 
+#: src/data/casereader-filter.c:221
+msgid ""
+"At least one case in the data read had a weight value that was user-missing, "
+"system-missing, zero, or negative.  These case(s) were ignored."
+msgstr ""
+
 #: src/data/case-tmpfile.c:57
 msgid "failed to create temporary file"
 msgstr ""
@@ -66,137 +72,131 @@
 msgid "writing to temporary file"
 msgstr ""
 
-#: src/data/casereader-filter.c:221
-msgid ""
-"At least one case in the data read had a weight value that was user-missing, "
-"system-missing, zero, or negative.  These case(s) were ignored."
-msgstr ""
-
-#: src/data/data-in.c:269 src/data/data-in.c:459
+#: src/data/data-in.c:267 src/data/data-in.c:457
 msgid "Field contents are not numeric."
 msgstr ""
 
-#: src/data/data-in.c:271 src/data/data-in.c:461
+#: src/data/data-in.c:269 src/data/data-in.c:459
 msgid "Number followed by garbage."
 msgstr ""
 
-#: src/data/data-in.c:282
+#: src/data/data-in.c:280
 msgid "Invalid numeric syntax."
 msgstr ""
 
-#: src/data/data-in.c:291 src/data/data-in.c:474
+#: src/data/data-in.c:289 src/data/data-in.c:472
 msgid "Too-large number set to system-missing."
 msgstr ""
 
-#: src/data/data-in.c:296 src/data/data-in.c:479
+#: src/data/data-in.c:294 src/data/data-in.c:477
 msgid "Too-small number set to zero."
 msgstr ""
 
-#: src/data/data-in.c:322
+#: src/data/data-in.c:320
 msgid "All characters in field must be digits."
 msgstr ""
 
-#: src/data/data-in.c:345
+#: src/data/data-in.c:343
 msgid "Unrecognized character in field."
 msgstr ""
 
-#: src/data/data-in.c:369 src/data/data-in.c:633
+#: src/data/data-in.c:367 src/data/data-in.c:631
 msgid "Field must have even length."
 msgstr ""
 
-#: src/data/data-in.c:374 src/data/data-in.c:639
+#: src/data/data-in.c:372 src/data/data-in.c:637
 msgid "Field must contain only hex digits."
 msgstr ""
 
-#: src/data/data-in.c:678 src/data/data-in.c:725
+#: src/data/data-in.c:676 src/data/data-in.c:723
 msgid "Syntax error in date field."
 msgstr ""
 
-#: src/data/data-in.c:694
+#: src/data/data-in.c:692
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr ""
 
-#: src/data/data-in.c:741
+#: src/data/data-in.c:739
 msgid "Delimiter expected between fields in date."
 msgstr ""
 
-#: src/data/data-in.c:815
+#: src/data/data-in.c:813
 msgid ""
 "Unrecognized month format.  Months may be specified as Arabic or Roman "
 "numerals or as at least 3 letters of their English names."
 msgstr ""
 
-#: src/data/data-in.c:842
+#: src/data/data-in.c:840
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data/data-in.c:854
+#: src/data/data-in.c:852
 #, c-format
 msgid "Trailing garbage \"%.*s\" following date."
 msgstr ""
 
-#: src/data/data-in.c:870
+#: src/data/data-in.c:868
 msgid "Julian day must have exactly three digits."
 msgstr ""
 
-#: src/data/data-in.c:875
+#: src/data/data-in.c:873
 #, c-format
 msgid "Julian day (%ld) must be between 1 and 366."
 msgstr ""
 
-#: src/data/data-in.c:899
+#: src/data/data-in.c:897
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr ""
 
-#: src/data/data-in.c:919
+#: src/data/data-in.c:917
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr ""
 
-#: src/data/data-in.c:932
+#: src/data/data-in.c:930
 msgid "Delimiter expected between fields in time."
 msgstr ""
 
-#: src/data/data-in.c:952
+#: src/data/data-in.c:950
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr ""
 
-#: src/data/data-in.c:992
+#: src/data/data-in.c:990
 msgid ""
 "Unrecognized weekday name.  At least the first two letters of an English "
 "weekday name must be specified."
 msgstr ""
 
-#: src/data/data-in.c:1130
+#: src/data/data-in.c:1128
 #, c-format
 msgid "`%c' expected in date field."
 msgstr ""
 
-#: src/data/data-in.c:1171
+#: src/data/data-in.c:1169
 #, c-format
 msgid "column %d"
 msgstr ""
 
-#: src/data/data-in.c:1173
+#: src/data/data-in.c:1171
 #, c-format
 msgid "columns %d-%d"
 msgstr ""
 
-#: src/data/data-in.c:1177
+#: src/data/data-in.c:1175
 #, c-format
 msgid "%s field) "
 msgstr ""
 
-#: src/data/data-out.c:467
+#: src/data/data-out.c:466
 #, c-format
 msgid "Weekday number %f is not between 1 and 7."
 msgstr ""
 
-#: src/data/data-out.c:488
+#: src/data/data-out.c:487
 #, c-format
 msgid "Month number %f is not between 1 and 12."
 msgstr ""
@@ -227,21 +227,21 @@
 msgid "Can't re-open %s as a %s for %s."
 msgstr ""
 
-#: src/data/file-name.c:128
+#: src/data/file-name.c:130
 #, c-format
 msgid "searching for \"%s\" in path \"%s\""
 msgstr ""
 
-#: src/data/file-name.c:142
+#: src/data/file-name.c:144
 #, c-format
 msgid "...found \"%s\""
 msgstr ""
 
-#: src/data/file-name.c:149
+#: src/data/file-name.c:151
 msgid "...not found"
 msgstr ""
 
-#: src/data/file-name.c:239
+#: src/data/file-name.c:241
 #, c-format
 msgid "Not opening pipe file `%s' because SAFER option set."
 msgstr ""
@@ -304,33 +304,33 @@
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
-#: src/data/format.c:318 src/data/sys-file-reader.c:631
-#: src/ui/gui/data-editor.glade:1285 src/ui/gui/psppire-var-store.c:493
-#: src/ui/gui/psppire.glade:2176
+#: src/data/format.c:318 src/data/sys-file-reader.c:630
+#: src/ui/gui/data-editor.glade:1285 src/ui/gui/psppire.glade:2176
+#: src/ui/gui/psppire-var-store.c:493
 msgid "String"
 msgstr ""
 
-#: src/data/format.c:318 src/data/sys-file-reader.c:631
-#: src/ui/gui/data-editor.glade:1174 src/ui/gui/psppire-var-store.c:486
-#: src/ui/gui/psppire.glade:2131
+#: src/data/format.c:318 src/data/sys-file-reader.c:630
+#: src/ui/gui/data-editor.glade:1174 src/ui/gui/psppire.glade:2131
+#: src/ui/gui/psppire-var-store.c:486
 msgid "Numeric"
 msgstr ""
 
-#: src/data/format.c:319 src/data/sys-file-reader.c:1106
-#: src/data/sys-file-reader.c:1108
+#: src/data/format.c:319 src/data/sys-file-reader.c:1105
+#: src/data/sys-file-reader.c:1107
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
-#: src/language/xforms/recode.c:472 src/language/xforms/recode.c:473
-#: src/language/xforms/recode.c:485 src/language/xforms/recode.c:486
+#: src/language/xforms/recode.c:471 src/language/xforms/recode.c:472
+#: src/language/xforms/recode.c:484 src/language/xforms/recode.c:485
 msgid "numeric"
 msgstr ""
 
-#: src/data/format.c:319 src/data/sys-file-reader.c:1106
-#: src/data/sys-file-reader.c:1108
+#: src/data/format.c:319 src/data/sys-file-reader.c:1105
+#: src/data/sys-file-reader.c:1107
 #: src/language/dictionary/apply-dictionary.c:76
 #: src/language/dictionary/apply-dictionary.c:77
-#: src/language/xforms/recode.c:472 src/language/xforms/recode.c:473
-#: src/language/xforms/recode.c:485 src/language/xforms/recode.c:486
+#: src/language/xforms/recode.c:471 src/language/xforms/recode.c:472
+#: src/language/xforms/recode.c:484 src/language/xforms/recode.c:485
 msgid "string"
 msgstr ""
 
@@ -339,12 +339,12 @@
 msgid "String variable with width %d is not compatible with format %s."
 msgstr ""
 
-#: src/data/make-file.c:57
+#: src/data/make-file.c:58
 #, c-format
 msgid "%s: Creating temporary file: %s."
 msgstr ""
 
-#: src/data/make-file.c:99
+#: src/data/make-file.c:100
 #, c-format
 msgid "%s: Creating file: %s."
 msgstr ""
@@ -407,12 +407,12 @@
 
 #: src/data/por-file-reader.c:518
 #, c-format
-msgid "Bad date string length %d."
+msgid "Bad date string length %zu."
 msgstr ""
 
 #: src/data/por-file-reader.c:520
 #, c-format
-msgid "Bad time string length %d."
+msgid "Bad time string length %zu."
 msgstr ""
 
 #: src/data/por-file-reader.c:562
@@ -518,442 +518,442 @@
 msgid "Variable suffix too large."
 msgstr ""
 
-#: src/data/sys-file-reader.c:212
+#: src/data/sys-file-reader.c:211
 #, c-format
 msgid "Error opening \"%s\" for reading as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:242
+#: src/data/sys-file-reader.c:241
 msgid "Misplaced type 4 record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:253
+#: src/data/sys-file-reader.c:252
 #, c-format
 msgid "Unrecognized record type %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:292
+#: src/data/sys-file-reader.c:291
 #, c-format
 msgid "File header claims %d variable positions but %d were read from file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:326
+#: src/data/sys-file-reader.c:325
 #, c-format
 msgid "Error closing system file \"%s\": %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:391 src/data/sys-file-reader.c:401
+#: src/data/sys-file-reader.c:390 src/data/sys-file-reader.c:400
 msgid "This is not an SPSS system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:420
+#: src/data/sys-file-reader.c:419
 #, c-format
 msgid ""
 "Compression bias (%g) is not the usual value of 100, or system file uses "
 "unrecognized floating-point format."
 msgstr ""
 
-#: src/data/sys-file-reader.c:489
+#: src/data/sys-file-reader.c:488
 #, c-format
 msgid "Invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:493
+#: src/data/sys-file-reader.c:492
 #, c-format
 msgid "Bad variable width %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:497
+#: src/data/sys-file-reader.c:496
 #, c-format
 msgid "Duplicate variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:505
+#: src/data/sys-file-reader.c:504
 msgid "Variable label indicator field is not 0 or 1."
 msgstr ""
 
-#: src/data/sys-file-reader.c:513
+#: src/data/sys-file-reader.c:512
 #, c-format
-msgid "Variable %s has label of invalid length %u."
+msgid "Variable %s has label of invalid length %zu."
 msgstr ""
 
-#: src/data/sys-file-reader.c:532
+#: src/data/sys-file-reader.c:531
 msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:547
+#: src/data/sys-file-reader.c:546
 msgid "String missing value indicator field is not 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:557
+#: src/data/sys-file-reader.c:556
 #, c-format
 msgid "Long string variable %s may not have missing values."
 msgstr ""
 
-#: src/data/sys-file-reader.c:578
+#: src/data/sys-file-reader.c:577
 msgid "Missing string continuation record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:612
+#: src/data/sys-file-reader.c:611
 #, c-format
-msgid "Unknown variable format %d."
+msgid "Unknown variable format %<PRIu8>."
 msgstr ""
 
-#: src/data/sys-file-reader.c:630
+#: src/data/sys-file-reader.c:629
 #, c-format
 msgid "%s variable %s has invalid %s format %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:633
+#: src/data/sys-file-reader.c:632
 msgid "print"
 msgstr ""
 
-#: src/data/sys-file-reader.c:633
+#: src/data/sys-file-reader.c:632
 msgid "write"
 msgstr ""
 
-#: src/data/sys-file-reader.c:637
+#: src/data/sys-file-reader.c:636
 msgid "Suppressing further invalid format warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:655
+#: src/data/sys-file-reader.c:654
 msgid "Weighting variable must be numeric."
 msgstr ""
 
-#: src/data/sys-file-reader.c:669
+#: src/data/sys-file-reader.c:668
 msgid "Multiple type 6 (document) records."
 msgstr ""
 
-#: src/data/sys-file-reader.c:673
+#: src/data/sys-file-reader.c:672
 #, c-format
 msgid "Number of document lines (%d) must be greater than 0."
 msgstr ""
 
-#: src/data/sys-file-reader.c:681
+#: src/data/sys-file-reader.c:680
 msgid "Document line contains null byte."
 msgstr ""
 
-#: src/data/sys-file-reader.c:748
+#: src/data/sys-file-reader.c:747
 #, c-format
 msgid "Unrecognized record type 7, subtype %d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:773
+#: src/data/sys-file-reader.c:772
 #, c-format
-msgid "Bad size (%u) or count (%u) field on record type 7, subtype 3."
+msgid "Bad size (%zu) or count (%zu) field on record type 7, subtype 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:793
+#: src/data/sys-file-reader.c:792
 #, c-format
 msgid ""
 "Floating-point representation indicated by system file (%d) differs from "
 "expected (%d)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:806
+#: src/data/sys-file-reader.c:805
 msgid "little-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:806
+#: src/data/sys-file-reader.c:805
 msgid "big-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:807
+#: src/data/sys-file-reader.c:806
 #, c-format
 msgid ""
 "Integer format indicated by system file (%s) differs from expected (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:823
+#: src/data/sys-file-reader.c:822
 #, c-format
-msgid "Bad size (%u) or count (%u) on extension 4."
+msgid "Bad size (%zu) or count (%zu) on extension 4."
 msgstr ""
 
-#: src/data/sys-file-reader.c:827
+#: src/data/sys-file-reader.c:826
 #, c-format
 msgid "File specifies unexpected value %g as SYSMIS."
 msgstr ""
 
-#: src/data/sys-file-reader.c:829
+#: src/data/sys-file-reader.c:828
 #, c-format
 msgid "File specifies unexpected value %g as HIGHEST."
 msgstr ""
 
-#: src/data/sys-file-reader.c:831
+#: src/data/sys-file-reader.c:830
 #, c-format
 msgid "File specifies unexpected value %g as LOWEST."
 msgstr ""
 
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:844
 #, c-format
-msgid "Bad size (%u) or count (%u) on extension 11."
+msgid "Bad size (%zu) or count (%zu) on extension 11."
 msgstr ""
 
-#: src/data/sys-file-reader.c:868
+#: src/data/sys-file-reader.c:867
 msgid "Invalid variable display parameters.  Default parameters substituted."
 msgstr ""
 
-#: src/data/sys-file-reader.c:907
+#: src/data/sys-file-reader.c:906
 #, c-format
 msgid "Long variable mapping from %s to invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:917
+#: src/data/sys-file-reader.c:916
 #, c-format
 msgid "Duplicate long variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:972
+#: src/data/sys-file-reader.c:971
 #, c-format
 msgid "%s listed as string of invalid length %s in very length string record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:982
+#: src/data/sys-file-reader.c:981
 #, c-format
 msgid ""
 "%s listed in very long string record with width %s, which requires only one "
 "segment."
 msgstr ""
 
-#: src/data/sys-file-reader.c:988
+#: src/data/sys-file-reader.c:987
 #, c-format
 msgid "Very long string %s overflows dictionary."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1002
+#: src/data/sys-file-reader.c:1001
 #, c-format
 msgid ""
 "Very long string with width %ld has segment %d of width %d (expected %d)"
 msgstr ""
 
-#: src/data/sys-file-reader.c:1047
+#: src/data/sys-file-reader.c:1046
 #, c-format
 msgid "Invalid number of labels: %d.  Ignoring labels."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1078
+#: src/data/sys-file-reader.c:1077
 msgid ""
 "Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1085
+#: src/data/sys-file-reader.c:1084
 #, c-format
 msgid ""
 "Number of variables associated with a value label (%d) is not between 1 and "
-"the number of variables (%u)."
+"the number of variables (%zu)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1095
+#: src/data/sys-file-reader.c:1094
 #, c-format
 msgid "Value labels are not allowed on long string variables (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1102
+#: src/data/sys-file-reader.c:1101
 #, c-format
 msgid ""
 "Variables associated with value label are not all of identical type.  "
 "Variable %s is %s, but variable %s is %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1135
+#: src/data/sys-file-reader.c:1134
 #, c-format
 msgid "Duplicate value label for %g on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1138
+#: src/data/sys-file-reader.c:1137
 #, c-format
 msgid "Duplicate value label for \"%.*s\" on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1216
+#: src/data/sys-file-reader.c:1215
 msgid "File ends in partial case."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1224
+#: src/data/sys-file-reader.c:1223
 #, c-format
 msgid "Error reading case from file %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1321 src/data/sys-file-reader.c:1357
+#: src/data/sys-file-reader.c:1320 src/data/sys-file-reader.c:1356
 msgid "Compressed data is corrupt."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1444
+#: src/data/sys-file-reader.c:1443
 #, c-format
 msgid "Variable index %d not in valid range 1...%d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1449
+#: src/data/sys-file-reader.c:1448
 #, c-format
 msgid "Variable index %d refers to long string continuation."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1535
+#: src/data/sys-file-reader.c:1534
 #, c-format
 msgid "Suppressed %d additional variable map warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1548
+#: src/data/sys-file-reader.c:1547
 #, c-format
 msgid "Variable map refers to unknown variable %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1624
+#: src/data/sys-file-reader.c:1623
 #, c-format
 msgid "System error: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1626
+#: src/data/sys-file-reader.c:1625
 msgid "Unexpected end of file."
 msgstr ""
 
-#: src/data/sys-file-writer.c:161
+#: src/data/sys-file-writer.c:160
 #, c-format
 msgid "Unknown system file version %d. Treating as version %d."
 msgstr ""
 
-#: src/data/sys-file-writer.c:177
+#: src/data/sys-file-writer.c:176
 #, c-format
 msgid "Error opening \"%s\" for writing as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-writer.c:726
+#: src/data/sys-file-writer.c:725
 #, c-format
 msgid "An I/O error occurred writing system file \"%s\"."
 msgstr ""
 
-#: src/data/variable.c:230
+#: src/data/variable.c:231
 #, c-format
 msgid ""
 "Character `%c' (in %s) may not appear as the first character in a variable "
 "name."
 msgstr ""
 
-#: src/data/variable.c:242
+#: src/data/variable.c:243
 #, c-format
 msgid "Character `%c' (in %s) may not appear in a variable name."
 msgstr ""
 
-#: src/data/variable.c:270
+#: src/data/variable.c:271
 msgid "Variable name cannot be empty string."
 msgstr ""
 
-#: src/data/variable.c:276
+#: src/data/variable.c:277
 #, c-format
 msgid "Variable name %s exceeds %d-character limit."
 msgstr ""
 
-#: src/data/variable.c:284
+#: src/data/variable.c:285
 #, c-format
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 
-#: src/data/variable.c:1002
+#: src/data/variable.c:1003
 msgid "ordinary"
 msgstr ""
 
-#: src/data/variable.c:1004
+#: src/data/variable.c:1005
 msgid "system"
 msgstr ""
 
-#: src/data/variable.c:1006
+#: src/data/variable.c:1007
 msgid "scratch"
 msgstr ""
 
-#: src/language/command.c:206
+#: src/language/command.c:208
 #, c-format
 msgid "%s is unimplemented."
 msgstr ""
 
-#: src/language/command.c:212
+#: src/language/command.c:214
 #, c-format
 msgid "%s may be used only in testing mode."
 msgstr ""
 
-#: src/language/command.c:218
+#: src/language/command.c:220
 #, c-format
 msgid "%s may be used only in enhanced syntax mode."
 msgstr ""
 
-#: src/language/command.c:246
+#: src/language/command.c:248
 msgid "Error encountered while ERROR=STOP is effective."
 msgstr ""
 
-#: src/language/command.c:487
+#: src/language/command.c:489
 msgid "expecting command name"
 msgstr ""
 
-#: src/language/command.c:501
+#: src/language/command.c:503
 #, c-format
 msgid "Unknown command %s."
 msgstr ""
 
-#: src/language/command.c:628
+#: src/language/command.c:630
 msgid "before the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:630
+#: src/language/command.c:632
 msgid "after the active file has been defined"
 msgstr ""
 
-#: src/language/command.c:632
+#: src/language/command.c:634
 msgid "inside INPUT PROGRAM"
 msgstr ""
 
-#: src/language/command.c:634
+#: src/language/command.c:636
 msgid "inside FILE TYPE"
 msgstr ""
 
-#: src/language/command.c:639
+#: src/language/command.c:641
 #, c-format
 msgid "%s or %s"
 msgstr ""
 
-#: src/language/command.c:641
+#: src/language/command.c:643
 #, c-format
 msgid "%s, %s, or %s"
 msgstr ""
 
-#: src/language/command.c:645
+#: src/language/command.c:647
 #, c-format
 msgid "%s is allowed only %s."
 msgstr ""
 
-#: src/language/command.c:650
+#: src/language/command.c:652
 #, c-format
 msgid "%s is not allowed inside INPUT PROGRAM."
 msgstr ""
 
-#: src/language/command.c:652
+#: src/language/command.c:654
 #, c-format
 msgid "%s is not allowed inside FILE TYPE."
 msgstr ""
 
-#: src/language/command.c:731 src/language/command.c:839
+#: src/language/command.c:733 src/language/command.c:841
 #: src/language/utilities/permissions.c:98
 msgid "This command not allowed when the SAFER option is set."
 msgstr ""
 
-#: src/language/command.c:743
+#: src/language/command.c:745
 #, c-format
 msgid "Error removing `%s': %s."
 msgstr ""
 
-#: src/language/command.c:793
+#: src/language/command.c:795
 #, c-format
 msgid "Couldn't fork: %s."
 msgstr ""
 
-#: src/language/command.c:808
+#: src/language/command.c:810
 msgid "Interactive shell not supported on this platform."
 msgstr ""
 
-#: src/language/command.c:820
+#: src/language/command.c:822
 msgid "Command shell not supported on this platform."
 msgstr ""
 
-#: src/language/command.c:826
+#: src/language/command.c:828
 #, c-format
 msgid "Error executing command: %s."
 msgstr ""
@@ -977,7 +977,7 @@
 msgid "This command may not follow ELSE in DO IF...END IF."
 msgstr ""
 
-#: src/language/control/loop.c:212
+#: src/language/control/loop.c:213
 msgid "Only one index clause may be specified."
 msgstr ""
 
@@ -1063,25 +1063,25 @@
 msgstr ""
 
 #: src/language/data-io/data-list.c:429 src/language/data-io/data-list.c:538
-#: src/language/data-io/print.c:394 src/language/dictionary/split-file.c:83
-#: src/language/dictionary/sys-file-info.c:160
-#: src/language/dictionary/sys-file-info.c:388
-#: src/language/dictionary/sys-file-info.c:632
+#: src/language/data-io/print.c:395 src/language/dictionary/split-file.c:84
+#: src/language/dictionary/sys-file-info.c:158
+#: src/language/dictionary/sys-file-info.c:386
+#: src/language/dictionary/sys-file-info.c:630
 #: src/language/stats/descriptives.c:883 src/ui/gui/dict-display.c:195
 msgid "Variable"
 msgstr ""
 
-#: src/language/data-io/data-list.c:430 src/language/data-io/print.c:395
+#: src/language/data-io/data-list.c:430 src/language/data-io/print.c:396
 msgid "Record"
 msgstr ""
 
-#: src/language/data-io/data-list.c:431 src/language/data-io/print.c:396
+#: src/language/data-io/data-list.c:431 src/language/data-io/print.c:397
 #: src/ui/gui/var-sheet.c:72
 msgid "Columns"
 msgstr ""
 
 #: src/language/data-io/data-list.c:432 src/language/data-io/data-list.c:539
-#: src/language/data-io/print.c:397
+#: src/language/data-io/print.c:398
 msgid "Format"
 msgstr ""
 
@@ -1177,13 +1177,13 @@
 #, c-format
 msgid ""
 "Fixed-length records were specified on /RECFORM, but record length was not "
-"specified on /LRECL.  Assuming %u-character records."
+"specified on /LRECL.  Assuming %zu-character records."
 msgstr ""
 
 #: src/language/data-io/file-handle.q:102
 #, c-format
 msgid ""
-"Record length (%ld) must be at least one byte.  Assuming %u-character "
+"Record length (%ld) must be at least one byte.  Assuming %zu-character "
 "records."
 msgstr ""
 
@@ -1208,21 +1208,21 @@
 msgid "Handle for %s not allowed here."
 msgstr ""
 
-#: src/language/data-io/get.c:97
+#: src/language/data-io/get.c:98
 msgid "expecting COMM or TAPE"
 msgstr ""
 
-#: src/language/data-io/get.c:268 src/language/data-io/get.c:282
-#: src/language/data-io/get.c:307
+#: src/language/data-io/get.c:269 src/language/data-io/get.c:283
+#: src/language/data-io/get.c:308
 #, c-format
 msgid "expecting %s or %s"
 msgstr ""
 
-#: src/language/data-io/get.c:500 src/language/data-io/print.c:175
+#: src/language/data-io/get.c:501 src/language/data-io/print.c:176
 msgid "expecting a valid subcommand"
 msgstr ""
 
-#: src/language/data-io/get.c:533
+#: src/language/data-io/get.c:534
 #, c-format
 msgid ""
 "Cannot rename %s as %s because there already exists a variable named %s.  To "
@@ -1230,130 +1230,131 @@
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c:559
+#: src/language/data-io/get.c:560
 msgid "`=' expected after variable list."
 msgstr ""
 
-#: src/language/data-io/get.c:566
+#: src/language/data-io/get.c:567
 #, 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."
+"Number of variables on left side of `=' (%zu) does not match number of "
+"variables on right side (%zu), in parenthesized group %d of RENAME "
+"subcommand."
 msgstr ""
 
-#: src/language/data-io/get.c:579
+#: src/language/data-io/get.c:580
 #, c-format
 msgid "Requested renaming duplicates variable name %s."
 msgstr ""
 
-#: src/language/data-io/get.c:609
+#: src/language/data-io/get.c:610
 msgid "Cannot DROP all variables from dictionary."
 msgstr ""
 
-#: src/language/data-io/get.c:782
+#: src/language/data-io/get.c:783
 msgid "Cannot specify the active file since no active file has been defined."
 msgstr ""
 
-#: src/language/data-io/get.c:789
+#: src/language/data-io/get.c:790
 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:823
+#: src/language/data-io/get.c:824
 msgid "Multiple IN subcommands for a single FILE or TABLE."
 msgstr ""
 
-#: src/language/data-io/get.c:867
+#: src/language/data-io/get.c:868
 #, c-format
 msgid "File %s lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:870
+#: src/language/data-io/get.c:871
 #, c-format
 msgid "Active file lacks BY variable %s."
 msgstr ""
 
-#: src/language/data-io/get.c:940
+#: src/language/data-io/get.c:941
 msgid "BY is required when TABLE is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:945
+#: src/language/data-io/get.c:946
 msgid "BY is required when IN is specified."
 msgstr ""
 
-#: src/language/data-io/get.c:1050
+#: src/language/data-io/get.c:1051
 #, c-format
 msgid ""
 "Variable name %s specified on %s subcommand duplicates an existing variable "
 "name."
 msgstr ""
 
-#: src/language/data-io/get.c:1296
+#: src/language/data-io/get.c:1297
 #, 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:128
+#: src/language/data-io/inpt-pgm.c:129
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:141
+#: src/language/data-io/inpt-pgm.c:142
 msgid "Input program did not create any variables."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:286
+#: src/language/data-io/inpt-pgm.c:287
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:334
+#: src/language/data-io/inpt-pgm.c:335
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
 
-#: src/language/data-io/list.q:155 src/language/stats/descriptives.c:362
+#: src/language/data-io/list.q:156 src/language/stats/descriptives.c:362
 msgid "No variables specified."
 msgstr ""
 
-#: src/language/data-io/list.q:163
+#: src/language/data-io/list.q:164
 #, 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:171
+#: src/language/data-io/list.q:172
 #, 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:177
+#: src/language/data-io/list.q:178
 #, 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:183
+#: src/language/data-io/list.q:184
 #, 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:209
+#: src/language/data-io/list.q:210
 msgid "`/FORMAT WEIGHT' specified, but weighting is not on."
 msgstr ""
 
-#: src/language/data-io/list.q:465
+#: src/language/data-io/list.q:466
 msgid "Line"
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:85
 #, c-format
 msgid ""
-"Number of variables specified (%d) differs from number of variable formats (%"
-"d)."
+"Number of variables specified (%zu) differs from number of variable formats "
+"(%zu)."
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:95
@@ -1363,12 +1364,12 @@
 
 #: src/language/data-io/placement-parser.c:117
 #, c-format
-msgid "The %d columns %d-%d can't be evenly divided into %u fields."
+msgid "The %d columns %d-%d can't be evenly divided into %zu fields."
 msgstr ""
 
 #: src/language/data-io/placement-parser.c:224
-#: src/language/lexer/format-parser.c:108
-#: src/language/lexer/format-parser.c:127
+#: src/language/lexer/format-parser.c:107
+#: src/language/lexer/format-parser.c:126
 #, c-format
 msgid "Unknown format type \"%s\"."
 msgstr ""
@@ -1389,39 +1390,39 @@
 "Data fields must be listed in order of increasing record number."
 msgstr ""
 
-#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:477
-#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:59
-msgid "expecting end of command"
-msgstr ""
-
-#: src/language/data-io/print-space.c:114
-msgid "The expression on PRINT SPACE evaluated to the system-missing value."
-msgstr ""
-
-#: src/language/data-io/print-space.c:117
+#: src/language/data-io/print.c:259
 #, c-format
-msgid "The expression on PRINT SPACE evaluated to %g."
+msgid "Output calls for %d records but %zu specified on RECORDS subcommand."
 msgstr ""
 
-#: src/language/data-io/print.c:258
-#, c-format
-msgid "Output calls for %d records but %u specified on RECORDS subcommand."
-msgstr ""
-
-#: src/language/data-io/print.c:427
+#: src/language/data-io/print.c:428
 #, 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:431
+#: src/language/data-io/print.c:432
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:476
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:60
+msgid "expecting end of command"
+msgstr ""
+
+#: src/language/data-io/print-space.c:114
+msgid "The expression on PRINT SPACE evaluated to the system-missing value."
+msgstr ""
+
+#: src/language/data-io/print-space.c:117
+#, c-format
+msgid "The expression on PRINT SPACE evaluated to %g."
+msgstr ""
+
 #: src/language/dictionary/apply-dictionary.c:73
 #, c-format
 msgid "Variable %s is %s in target file, but %s in source file."
@@ -1462,24 +1463,24 @@
 msgid "`)' expected after output format."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:56
+#: src/language/dictionary/missing-values.c:55
 #: src/language/stats/aggregate.c:449
 msgid "expecting `('"
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:72
+#: src/language/dictionary/missing-values.c:71
 #, 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:117
+#: src/language/dictionary/missing-values.c:116
 #, c-format
 msgid "Truncating missing value to short string length (%d characters)."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:139
+#: src/language/dictionary/missing-values.c:138
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
@@ -1521,39 +1522,39 @@
 msgstr ""
 
 #: src/language/dictionary/modify-variables.c:208
-#: src/language/dictionary/rename-variables.c:75
+#: src/language/dictionary/rename-variables.c:76
 #, c-format
 msgid ""
-"Differing number of variables in old name list (%d) and in new name list (%"
-"d)."
+"Differing number of variables in old name list (%zu) and in new name list (%"
+"zu)."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:220
+#: src/language/dictionary/modify-variables.c:219
 msgid "`)' expected after variable lists on RENAME subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:234
+#: src/language/dictionary/modify-variables.c:233
 msgid ""
 "KEEP subcommand may be given at most once.  It may not be given in "
 "conjunction with the DROP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:277
+#: src/language/dictionary/modify-variables.c:276
 msgid ""
 "DROP subcommand may be given at most once.  It may not be given in "
 "conjunction with the KEEP subcommand."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:303
+#: src/language/dictionary/modify-variables.c:302
 #, c-format
 msgid "Unrecognized subcommand name `%s'."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:305
+#: src/language/dictionary/modify-variables.c:304
 msgid "Subcommand name expected."
 msgstr ""
 
-#: src/language/dictionary/modify-variables.c:313
+#: src/language/dictionary/modify-variables.c:312
 msgid "`/' or `.' expected."
 msgstr ""
 
@@ -1572,17 +1573,17 @@
 msgid "Format type %s may not be used with a string variable."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:48
+#: src/language/dictionary/rename-variables.c:49
 msgid ""
 "RENAME VARS may not be used after TEMPORARY.  Temporary transformations will "
 "be made permanent."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:58
+#: src/language/dictionary/rename-variables.c:59
 msgid "`(' expected."
 msgstr ""
 
-#: src/language/dictionary/rename-variables.c:66
+#: src/language/dictionary/rename-variables.c:67
 msgid "`=' expected between lists of new and old variable names."
 msgstr ""
 
@@ -1595,259 +1596,259 @@
 msgid "Renaming would duplicate variable name %s."
 msgstr ""
 
-#: src/language/dictionary/split-file.c:84
-#: src/language/dictionary/sys-file-info.c:561
-#: src/language/stats/crosstabs.q:1153 src/language/stats/crosstabs.q:1180
-#: src/language/stats/crosstabs.q:1200 src/language/stats/crosstabs.q:1222
-#: src/language/stats/examine.q:1193 src/language/stats/frequencies.q:1060
-#: src/language/stats/frequencies.q:1184
+#: src/language/dictionary/split-file.c:85
+#: src/language/dictionary/sys-file-info.c:559
+#: src/language/stats/crosstabs.q:1152 src/language/stats/crosstabs.q:1179
+#: src/language/stats/crosstabs.q:1199 src/language/stats/crosstabs.q:1221
+#: src/language/stats/examine.q:1192 src/language/stats/frequencies.q:1059
+#: src/language/stats/frequencies.q:1183
 msgid "Value"
 msgstr ""
 
-#: src/language/dictionary/split-file.c:85
-#: src/language/dictionary/sys-file-info.c:395
-#: src/language/dictionary/sys-file-info.c:562 src/ui/gui/psppire.glade:2099
+#: src/language/dictionary/split-file.c:86
+#: src/language/dictionary/sys-file-info.c:393
+#: src/language/dictionary/sys-file-info.c:560 src/ui/gui/psppire.glade:2099
 #: src/ui/gui/var-sheet.c:69
 msgid "Label"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:108
+#: src/language/dictionary/sys-file-info.c:107
 msgid "File:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:110 src/ui/gui/psppire.glade:2052
+#: src/language/dictionary/sys-file-info.c:109 src/ui/gui/psppire.glade:2052
 msgid "Label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:114
+#: src/language/dictionary/sys-file-info.c:113
 msgid "No label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:117
+#: src/language/dictionary/sys-file-info.c:116
 msgid "Created:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:120
+#: src/language/dictionary/sys-file-info.c:119
 msgid "Integer Format:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:122
+#: src/language/dictionary/sys-file-info.c:121
 msgid "Big Endian."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:122
 msgid "Little Endian."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:124
-#: src/language/dictionary/sys-file-info.c:132
+#: src/language/dictionary/sys-file-info.c:123
+#: src/language/dictionary/sys-file-info.c:131
 msgid "Unknown."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:125
+#: src/language/dictionary/sys-file-info.c:124
 msgid "Real Format:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:127
+#: src/language/dictionary/sys-file-info.c:126
 msgid "IEEE 754 LE."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:128
+#: src/language/dictionary/sys-file-info.c:127
 msgid "IEEE 754 BE."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:129
+#: src/language/dictionary/sys-file-info.c:128
 msgid "VAX D."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:130
+#: src/language/dictionary/sys-file-info.c:129
 msgid "VAX G."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:131
+#: src/language/dictionary/sys-file-info.c:130
 msgid "IBM 390 Hex Long."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:133
+#: src/language/dictionary/sys-file-info.c:132
 #: src/ui/gui/descriptives-dialog.glade:79
 msgid "Variables:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:136
+#: src/language/dictionary/sys-file-info.c:134
 msgid "Cases:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:138
+#: src/language/dictionary/sys-file-info.c:136
 msgid "Unknown"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:140
+#: src/language/dictionary/sys-file-info.c:138
 msgid "Type:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:141
+#: src/language/dictionary/sys-file-info.c:139
 msgid "System File."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:142
+#: src/language/dictionary/sys-file-info.c:140
 msgid "Weight:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:147
+#: src/language/dictionary/sys-file-info.c:145
 msgid "Not weighted."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:149
+#: src/language/dictionary/sys-file-info.c:147
 msgid "Mode:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 #, c-format
 msgid "Compression %s."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 msgid "on"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:151
+#: src/language/dictionary/sys-file-info.c:149
 msgid "off"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:161
-#: src/language/dictionary/sys-file-info.c:393
+#: src/language/dictionary/sys-file-info.c:159
+#: src/language/dictionary/sys-file-info.c:391
 msgid "Description"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:162
-#: src/language/dictionary/sys-file-info.c:391
-#: src/language/dictionary/sys-file-info.c:631
+#: src/language/dictionary/sys-file-info.c:160
+#: src/language/dictionary/sys-file-info.c:389
+#: src/language/dictionary/sys-file-info.c:629
 msgid "Position"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:220
+#: src/language/dictionary/sys-file-info.c:218
 msgid "The active file does not have a file label."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:223
+#: src/language/dictionary/sys-file-info.c:221
 msgid "File label:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:286
+#: src/language/dictionary/sys-file-info.c:284
 msgid "No variables to display."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:305
+#: src/language/dictionary/sys-file-info.c:303
 msgid "Macros not supported."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:315
+#: src/language/dictionary/sys-file-info.c:313
 msgid "The active file dictionary does not contain any documents."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:323
+#: src/language/dictionary/sys-file-info.c:321
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:473
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:483
+#: src/language/dictionary/sys-file-info.c:481
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:484
 #, c-format
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:492
+#: src/language/dictionary/sys-file-info.c:490
 #, c-format
 msgid "Measure: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:493 src/ui/gui/var-sheet.c:87
+#: src/language/dictionary/sys-file-info.c:491 src/ui/gui/var-sheet.c:87
 msgid "Nominal"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:494 src/ui/gui/var-sheet.c:88
+#: src/language/dictionary/sys-file-info.c:492 src/ui/gui/var-sheet.c:88
 msgid "Ordinal"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:495 src/ui/gui/var-sheet.c:89
+#: src/language/dictionary/sys-file-info.c:493 src/ui/gui/var-sheet.c:89
 msgid "Scale"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:498
+#: src/language/dictionary/sys-file-info.c:496
 #, c-format
 msgid "Display Alignment: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:499 src/ui/gui/var-sheet.c:80
+#: src/language/dictionary/sys-file-info.c:497 src/ui/gui/var-sheet.c:80
 msgid "Left"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:500 src/ui/gui/var-sheet.c:82
+#: src/language/dictionary/sys-file-info.c:498 src/ui/gui/var-sheet.c:82
 msgid "Center"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:501 src/ui/gui/var-sheet.c:81
+#: src/language/dictionary/sys-file-info.c:499 src/ui/gui/var-sheet.c:81
 msgid "Right"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:504
+#: src/language/dictionary/sys-file-info.c:502
 #, c-format
 msgid "Display Width: %d"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:515
+#: src/language/dictionary/sys-file-info.c:513
 msgid "Missing Values: "
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:609
+#: src/language/dictionary/sys-file-info.c:607
 msgid "No vectors defined."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:630
+#: src/language/dictionary/sys-file-info.c:628
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:633
+#: src/language/dictionary/sys-file-info.c:631
 msgid "Print Format"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:120
+#: src/language/dictionary/value-labels.c:121
 #, c-format
 msgid ""
 "It is not possible to assign value labels to long string variables such as %"
 "s."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:156 src/language/lexer/lexer.c:621
+#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:619
 msgid "expecting string"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:165 src/language/lexer/lexer.c:635
+#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:633
 msgid "expecting integer"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:169
+#: src/language/dictionary/value-labels.c:170
 #, c-format
 msgid "Value label `%g' is not integer."
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:183
+#: src/language/dictionary/value-labels.c:184
 msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:50
+#: src/language/dictionary/variable-label.c:51
 msgid "String expected for variable label."
 msgstr ""
 
-#: src/language/dictionary/variable-label.c:58
+#: src/language/dictionary/variable-label.c:59
 msgid "Truncating variable label to 255 characters."
 msgstr ""
 
@@ -1891,11 +1892,11 @@
 msgid "The weighting variable may not be scratch."
 msgstr ""
 
-#: src/language/expressions/evaluate.c:153
+#: src/language/expressions/evaluate.c:154
 msgid "expecting number or string"
 msgstr ""
 
-#: src/language/expressions/evaluate.c:167
+#: src/language/expressions/evaluate.c:168
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr ""
@@ -1936,36 +1937,36 @@
 "system-missing."
 msgstr ""
 
-#: src/language/expressions/helpers.c:175
+#: src/language/expressions/helpers.c:166
 #, c-format
 msgid ""
 "Unrecognized date unit \"%.*s\".  Valid date units are \"years\", \"quarters"
 "\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", and \"seconds\"."
 msgstr ""
 
-#: src/language/expressions/helpers.c:325
+#: src/language/expressions/helpers.c:316
 msgid ""
 "Invalid DATESUM method.  Valid choices are \"closest\" and \"rollover\"."
 msgstr ""
 
-#: src/language/expressions/parse.c:258
+#: src/language/expressions/parse.c:259
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a numeric value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:270
+#: src/language/expressions/parse.c:271
 #, c-format
 msgid ""
 "Type mismatch: expression has %s type, but a string value is required here."
 msgstr ""
 
-#: src/language/expressions/parse.c:426
+#: src/language/expressions/parse.c:427
 #, c-format
 msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:642
+#: src/language/expressions/parse.c:643
 msgid ""
 "Chaining relational operators (e.g. \"a < b < c\") will not produce the "
 "mathematically expected result.  Use the AND logical operator to fix the "
@@ -1973,272 +1974,272 @@
 "parentheses will disable this warning (e.g. \"(a < b) < c\".)"
 msgstr ""
 
-#: src/language/expressions/parse.c:743
+#: src/language/expressions/parse.c:744
 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:808
+#: src/language/expressions/parse.c:809
 #, c-format
 msgid "Unknown system variable %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:856
+#: src/language/expressions/parse.c:857
 #, c-format
 msgid "Unknown identifier %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:884 src/language/stats/aggregate.c:507
+#: src/language/expressions/parse.c:885 src/language/stats/aggregate.c:507
 msgid "expecting `)'"
 msgstr ""
 
-#: src/language/expressions/parse.c:891
+#: src/language/expressions/parse.c:892
 msgid "in expression"
 msgstr ""
 
-#: src/language/expressions/parse.c:1072
+#: src/language/expressions/parse.c:1073
 #, c-format
 msgid "%s must have at least %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1081
+#: src/language/expressions/parse.c:1082
 #, c-format
 msgid "%s must have even number of arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1084
+#: src/language/expressions/parse.c:1085
 #, c-format
 msgid "%s must have multiple of %d arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1094
+#: src/language/expressions/parse.c:1095
 #, c-format
 msgid "%s function does not accept a minimum valid argument count."
 msgstr ""
 
-#: src/language/expressions/parse.c:1103
+#: src/language/expressions/parse.c:1104
 #, c-format
 msgid "%s requires at least %d valid arguments in list."
 msgstr ""
 
-#: src/language/expressions/parse.c:1109
+#: src/language/expressions/parse.c:1110
 #, 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:1163
+#: src/language/expressions/parse.c:1164
 #, c-format
 msgid "Type mismatch invoking %s as "
 msgstr ""
 
-#: src/language/expressions/parse.c:1168
+#: src/language/expressions/parse.c:1169
 msgid "Function invocation "
 msgstr ""
 
-#: src/language/expressions/parse.c:1170
+#: src/language/expressions/parse.c:1171
 msgid " does not match any known function.  Candidates are:"
 msgstr ""
 
-#: src/language/expressions/parse.c:1200
+#: src/language/expressions/parse.c:1201
 #, c-format
 msgid "No function or vector named %s."
 msgstr ""
 
-#: src/language/expressions/parse.c:1243
+#: src/language/expressions/parse.c:1244
 #, c-format
 msgid "expecting `,' or `)' invoking %s function"
 msgstr ""
 
-#: src/language/expressions/parse.c:1263
+#: src/language/expressions/parse.c:1264
 #, c-format
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1266 src/ui/terminal/command-line.c:126
-#: src/ui/terminal/command-line.c:145 src/ui/terminal/command-line.c:157
+#: src/language/expressions/parse.c:1267 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/language/expressions/parse.c:1272
+#: src/language/expressions/parse.c:1273
 #, c-format
 msgid "%s may not appear after TEMPORARY."
 msgstr ""
 
-#: src/language/lexer/format-parser.c:89
+#: src/language/lexer/format-parser.c:88
 msgid "expecting valid format specifier"
 msgstr ""
 
-#: src/language/lexer/format-parser.c:122
+#: src/language/lexer/format-parser.c:121
 msgid "expecting format type"
 msgstr ""
 
-#: src/language/lexer/lexer.c:283
+#: src/language/lexer/lexer.c:282
 #, c-format
 msgid "%s does not form a valid number."
 msgstr ""
 
-#: src/language/lexer/lexer.c:387
+#: src/language/lexer/lexer.c:386
 #, c-format
 msgid "Bad character in input: `%c'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:389
+#: src/language/lexer/lexer.c:388
 #, c-format
 msgid "Bad character in input: `\\%o'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:425
+#: src/language/lexer/lexer.c:424
 #, c-format
 msgid "Subcommand %s may only be specified once."
 msgstr ""
 
-#: src/language/lexer/lexer.c:433
+#: src/language/lexer/lexer.c:432
 #, c-format
 msgid "missing required subcommand %s"
 msgstr ""
 
-#: src/language/lexer/lexer.c:462
+#: src/language/lexer/lexer.c:461
 #, c-format
 msgid "Syntax error %s at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:465
+#: src/language/lexer/lexer.c:464
 #, c-format
 msgid "Syntax error at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:590 src/language/lexer/lexer.c:607
+#: src/language/lexer/lexer.c:588 src/language/lexer/lexer.c:605
 #, c-format
 msgid "expecting `%s'"
 msgstr ""
 
-#: src/language/lexer/lexer.c:648
+#: src/language/lexer/lexer.c:646
 msgid "expecting number"
 msgstr ""
 
-#: src/language/lexer/lexer.c:660
+#: src/language/lexer/lexer.c:658
 msgid "expecting identifier"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1054
+#: src/language/lexer/lexer.c:1052
 msgid "binary"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1059
+#: src/language/lexer/lexer.c:1057
 msgid "octal"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1064
+#: src/language/lexer/lexer.c:1062
 msgid "hex"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1074
+#: src/language/lexer/lexer.c:1072
 #, c-format
-msgid "String of %s digits has %d characters, which is not a multiple of %d."
+msgid "String of %s digits has %zu characters, which is not a multiple of %d."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1103
+#: src/language/lexer/lexer.c:1101
 #, c-format
 msgid "`%c' is not a valid %s digit."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1137
+#: src/language/lexer/lexer.c:1135
 msgid "Unterminated string constant."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1191
+#: src/language/lexer/lexer.c:1189
 msgid "Unexpected end of file in string concatenation."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1199
+#: src/language/lexer/lexer.c:1197
 msgid "String expected following `+'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1212
+#: src/language/lexer/lexer.c:1210
 #, c-format
-msgid "String exceeds 255 characters in length (%d characters)."
+msgid "String exceeds 255 characters in length (%zu characters)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:60
+#: src/language/lexer/range-parser.c:59
 #, c-format
 msgid ""
 "Low end of range (%g) is below high end (%g).  The range will be treated as "
 "reversed."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:68
+#: src/language/lexer/range-parser.c:67
 #, c-format
 msgid "Ends of range are equal (%g)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:76
+#: src/language/lexer/range-parser.c:75
 msgid "LO or LOWEST must be part of a range."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:107
+#: src/language/lexer/range-parser.c:106
 msgid "System-missing value is not valid here."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:115
+#: src/language/lexer/range-parser.c:114
 msgid "expecting number or data string"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:62
+#: src/language/lexer/variable-parser.c:63
 msgid "expecting variable name"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:72
+#: src/language/lexer/variable-parser.c:73
 #, c-format
 msgid "%s is not a variable name."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:175
+#: src/language/lexer/variable-parser.c:176
 #, 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:178
+#: src/language/lexer/variable-parser.c:179
 #, 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:182
+#: src/language/lexer/variable-parser.c:183
 #, c-format
 msgid "Scratch variables (such as %s) are not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:186
+#: src/language/lexer/variable-parser.c:187
 #, 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 the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:192
+#: src/language/lexer/variable-parser.c:193
 #, c-format
 msgid ""
 "%s and %s are string variables with different widths.  All variables in this "
 "variable list must have the same width.  %s will be omitted from the list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:197
+#: src/language/lexer/variable-parser.c:198
 #, c-format
 msgid "Variable %s appears twice in variable list."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:310
+#: src/language/lexer/variable-parser.c:311
 #, c-format
 msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:318
+#: src/language/lexer/variable-parser.c:319
 #, c-format
 msgid ""
 "When using the TO keyword to specify several variables, both variables must "
@@ -2246,19 +2247,19 @@
 "system variables.  %s is a %s variable, whereas %s is %s."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:392
+#: src/language/lexer/variable-parser.c:393
 msgid "incorrect use of TO convention"
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:435
+#: src/language/lexer/variable-parser.c:436
 msgid "Scratch variables not allowed here."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:457
+#: src/language/lexer/variable-parser.c:458
 msgid "Prefixes don't match in use of TO convention."
 msgstr ""
 
-#: src/language/lexer/variable-parser.c:462
+#: src/language/lexer/variable-parser.c:463
 msgid "Bad bounds in use of TO convention."
 msgstr ""
 
@@ -2287,7 +2288,7 @@
 
 #: src/language/stats/aggregate.c:488
 #, c-format
-msgid "Missing argument %d to %s."
+msgid "Missing argument %zu to %s."
 msgstr ""
 
 #: src/language/stats/aggregate.c:497
@@ -2298,8 +2299,8 @@
 #: src/language/stats/aggregate.c:519
 #, c-format
 msgid ""
-"Number of source variables (%u) does not match number of target variables (%"
-"u)."
+"Number of source variables (%zu) does not match number of target variables (%"
+"zu)."
 msgstr ""
 
 #: src/language/stats/aggregate.c:535
@@ -2318,7 +2319,7 @@
 
 #: src/language/stats/autorecode.c:136
 #, c-format
-msgid "Source variable count (%u) does not match target variable count (%u)."
+msgid "Source variable count (%zu) does not match target variable count (%zu)."
 msgstr ""
 
 #: src/language/stats/autorecode.c:164
@@ -2331,385 +2332,385 @@
 msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
-#: src/language/stats/binomial.c:132
+#: src/language/stats/binomial.c:133
 #, c-format
 msgid "Variable %s is not dichotomous"
 msgstr ""
 
-#: src/language/stats/binomial.c:177
+#: src/language/stats/binomial.c:178
 msgid "Binomial Test"
 msgstr ""
 
-#: src/language/stats/binomial.c:192
+#: src/language/stats/binomial.c:193
 msgid "Group1"
 msgstr ""
 
-#: src/language/stats/binomial.c:193
+#: src/language/stats/binomial.c:194
 msgid "Group2"
 msgstr ""
 
-#: src/language/stats/binomial.c:194 src/language/stats/chisquare.c:222
-#: src/language/stats/chisquare.c:282 src/language/stats/crosstabs.q:860
-#: src/language/stats/crosstabs.q:1060 src/language/stats/crosstabs.q:1783
-#: src/language/stats/examine.q:913 src/language/stats/frequencies.q:1137
-#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
-#: src/language/stats/regression.q:317
+#: src/language/stats/binomial.c:195 src/language/stats/chisquare.c:223
+#: src/language/stats/chisquare.c:283 src/language/stats/crosstabs.q:859
+#: src/language/stats/crosstabs.q:1059 src/language/stats/crosstabs.q:1782
+#: src/language/stats/examine.q:912 src/language/stats/frequencies.q:1136
+#: src/language/stats/oneway.q:306 src/language/stats/oneway.q:470
+#: src/language/stats/regression.q:318
 msgid "Total"
 msgstr ""
 
-#: src/language/stats/binomial.c:225 src/language/stats/chisquare.c:245
-#: src/language/stats/crosstabs.q:1178 src/language/stats/crosstabs.q:1219
+#: src/language/stats/binomial.c:226 src/language/stats/chisquare.c:246
+#: src/language/stats/crosstabs.q:1177 src/language/stats/crosstabs.q:1218
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/binomial.c:226 src/language/stats/crosstabs.q:870
-#: src/language/stats/examine.q:989 src/language/stats/frequencies.q:1405
-#: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
-#: src/language/stats/t-test.q:832 src/language/stats/t-test.q:1369
+#: src/language/stats/binomial.c:227 src/language/stats/crosstabs.q:869
+#: src/language/stats/examine.q:988 src/language/stats/frequencies.q:1404
+#: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:391
+#: src/language/stats/t-test.q:682 src/language/stats/t-test.q:705
+#: src/language/stats/t-test.q:831 src/language/stats/t-test.q:1368
 msgid "N"
 msgstr ""
 
-#: src/language/stats/binomial.c:227
+#: src/language/stats/binomial.c:228
 msgid "Observed Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:228
+#: src/language/stats/binomial.c:229
 msgid "Test Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:231
+#: src/language/stats/binomial.c:232
 #, c-format
 msgid "Exact Sig. (%d-tailed)"
 msgstr ""
 
-#: src/language/stats/chisquare.c:192
+#: src/language/stats/chisquare.c:193
 #, c-format
 msgid ""
 "CHISQUARE test specified %d expected values, but %d distinct values were "
 "encountered in variable %s."
 msgstr ""
 
-#: src/language/stats/chisquare.c:206 src/language/stats/chisquare.c:246
+#: src/language/stats/chisquare.c:207 src/language/stats/chisquare.c:247
 msgid "Observed N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:207 src/language/stats/chisquare.c:247
+#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
 msgid "Expected N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
-#: src/language/stats/regression.q:316
+#: src/language/stats/chisquare.c:209 src/language/stats/chisquare.c:249
+#: src/language/stats/regression.q:317
 msgid "Residual"
 msgstr ""
 
-#: src/language/stats/chisquare.c:241
+#: src/language/stats/chisquare.c:242
 msgid "Frequencies"
 msgstr ""
 
-#: src/language/stats/chisquare.c:296
+#: src/language/stats/chisquare.c:297
 msgid "Test Statistics"
 msgstr ""
 
-#: src/language/stats/chisquare.c:310
+#: src/language/stats/chisquare.c:311
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:311 src/language/stats/crosstabs.q:1154
-#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:310 src/language/stats/t-test.q:983
-#: src/language/stats/t-test.q:1175 src/language/stats/t-test.q:1268
+#: src/language/stats/chisquare.c:312 src/language/stats/crosstabs.q:1153
+#: src/language/stats/oneway.q:279 src/language/stats/oneway.q:680
+#: src/language/stats/regression.q:311 src/language/stats/t-test.q:982
+#: src/language/stats/t-test.q:1174 src/language/stats/t-test.q:1267
 msgid "df"
 msgstr ""
 
-#: src/language/stats/chisquare.c:312
+#: src/language/stats/chisquare.c:313
 msgid "Asymp. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:278
+#: src/language/stats/crosstabs.q:277
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:288
+#: src/language/stats/crosstabs.q:287
 msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:364
+#: src/language/stats/crosstabs.q:363
 msgid "Too many cross-tabulation variables or dimensions."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:374
+#: src/language/stats/crosstabs.q:373
 msgid "expecting BY"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:441
+#: src/language/stats/crosstabs.q:440
 msgid "VARIABLES must be specified before TABLES."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:479
+#: src/language/stats/crosstabs.q:478
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:855
+#: src/language/stats/crosstabs.q:854
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:857 src/language/stats/examine.q:977
+#: src/language/stats/crosstabs.q:856 src/language/stats/examine.q:976
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:858 src/language/stats/examine.q:911
-#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1406
+#: src/language/stats/crosstabs.q:857 src/language/stats/examine.q:910
+#: src/language/stats/frequencies.q:1057 src/language/stats/frequencies.q:1405
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:859 src/language/stats/examine.q:912
-#: src/language/stats/frequencies.q:1128 src/language/stats/frequencies.q:1407
+#: src/language/stats/crosstabs.q:858 src/language/stats/examine.q:911
+#: src/language/stats/frequencies.q:1127 src/language/stats/frequencies.q:1406
 #: src/ui/gui/var-sheet.c:71
 msgid "Missing"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:871 src/language/stats/examine.q:992
-#: src/language/stats/frequencies.q:1062 src/language/stats/frequencies.q:1063
-#: src/language/stats/frequencies.q:1064
+#: src/language/stats/crosstabs.q:870 src/language/stats/examine.q:991
+#: src/language/stats/frequencies.q:1061 src/language/stats/frequencies.q:1062
+#: src/language/stats/frequencies.q:1063
 msgid "Percent"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1112
+#: src/language/stats/crosstabs.q:1111
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1113
+#: src/language/stats/crosstabs.q:1112
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1113
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1115
+#: src/language/stats/crosstabs.q:1114
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1116
+#: src/language/stats/crosstabs.q:1115
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1117
+#: src/language/stats/crosstabs.q:1116
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1118
+#: src/language/stats/crosstabs.q:1117
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1119
+#: src/language/stats/crosstabs.q:1118
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1149
+#: src/language/stats/crosstabs.q:1148
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1152 src/language/stats/crosstabs.q:1179
-#: src/language/stats/crosstabs.q:1199 src/language/stats/crosstabs.q:1220
-#: src/language/stats/examine.q:1424 src/ui/gui/descriptives-dialog.c:276
+#: src/language/stats/crosstabs.q:1151 src/language/stats/crosstabs.q:1178
+#: src/language/stats/crosstabs.q:1198 src/language/stats/crosstabs.q:1219
+#: src/language/stats/examine.q:1423 src/ui/gui/descriptives-dialog.c:276
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1156
+#: src/language/stats/crosstabs.q:1155
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1158
+#: src/language/stats/crosstabs.q:1157
 msgid "Exact. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1160
+#: src/language/stats/crosstabs.q:1159
 msgid "Exact. Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1175
+#: src/language/stats/crosstabs.q:1174
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1181 src/language/stats/crosstabs.q:1223
+#: src/language/stats/crosstabs.q:1180 src/language/stats/crosstabs.q:1222
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1182 src/language/stats/crosstabs.q:1224
+#: src/language/stats/crosstabs.q:1181 src/language/stats/crosstabs.q:1223
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1183 src/language/stats/crosstabs.q:1225
+#: src/language/stats/crosstabs.q:1182 src/language/stats/crosstabs.q:1224
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1194
+#: src/language/stats/crosstabs.q:1193
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1198
+#: src/language/stats/crosstabs.q:1197
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1201 src/language/stats/t-test.q:987
-#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1271
+#: src/language/stats/crosstabs.q:1200 src/language/stats/t-test.q:986
+#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1202 src/language/stats/t-test.q:988
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1272
+#: src/language/stats/crosstabs.q:1201 src/language/stats/t-test.q:987
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1271
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1216
+#: src/language/stats/crosstabs.q:1215
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1221 src/ui/gui/psppire.glade:2223
+#: src/language/stats/crosstabs.q:1220 src/ui/gui/psppire.glade:2223
 #: src/ui/gui/var-sheet.c:66
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1975
+#: src/language/stats/crosstabs.q:1974
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1976
+#: src/language/stats/crosstabs.q:1975
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1977
+#: src/language/stats/crosstabs.q:1976
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1978
+#: src/language/stats/crosstabs.q:1977
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1979
+#: src/language/stats/crosstabs.q:1978
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2016 src/language/stats/crosstabs.q:2086
-#: src/language/stats/crosstabs.q:2145
+#: src/language/stats/crosstabs.q:2015 src/language/stats/crosstabs.q:2085
+#: src/language/stats/crosstabs.q:2144
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2161
+#: src/language/stats/crosstabs.q:2031 src/language/stats/crosstabs.q:2160
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2033 src/language/stats/crosstabs.q:2162
+#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2161
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2034
+#: src/language/stats/crosstabs.q:2033
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2035
+#: src/language/stats/crosstabs.q:2034
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2040
+#: src/language/stats/crosstabs.q:2039
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2041
+#: src/language/stats/crosstabs.q:2040
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2042
+#: src/language/stats/crosstabs.q:2041
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2043
+#: src/language/stats/crosstabs.q:2042
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2044
+#: src/language/stats/crosstabs.q:2043
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2045
+#: src/language/stats/crosstabs.q:2044
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2046
+#: src/language/stats/crosstabs.q:2045
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2047
+#: src/language/stats/crosstabs.q:2046
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2048
+#: src/language/stats/crosstabs.q:2047
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2118
+#: src/language/stats/crosstabs.q:2117
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2121
+#: src/language/stats/crosstabs.q:2120
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2129
+#: src/language/stats/crosstabs.q:2128
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2132
+#: src/language/stats/crosstabs.q:2131
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2163
+#: src/language/stats/crosstabs.q:2162
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2168
+#: src/language/stats/crosstabs.q:2167
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2169
+#: src/language/stats/crosstabs.q:2168
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2170
+#: src/language/stats/crosstabs.q:2169
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2171
+#: src/language/stats/crosstabs.q:2170
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2172
+#: src/language/stats/crosstabs.q:2171
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2177
+#: src/language/stats/crosstabs.q:2176
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2178 src/language/stats/crosstabs.q:2179
+#: src/language/stats/crosstabs.q:2177 src/language/stats/crosstabs.q:2178
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1525
-#: src/language/stats/frequencies.q:124 src/language/stats/npar-summary.c:125
-#: src/language/stats/oneway.q:393 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:1169 src/ui/gui/descriptives-dialog.c:52
+#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1524
+#: src/language/stats/frequencies.q:123 src/language/stats/npar-summary.c:125
+#: src/language/stats/oneway.q:392 src/language/stats/t-test.q:683
+#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1168 src/ui/gui/descriptives-dialog.c:52
 msgid "Mean"
 msgstr ""
 
@@ -2717,17 +2718,17 @@
 msgid "S E Mean"
 msgstr ""
 
-#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:128
+#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:127
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1605
-#: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:59
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1604
+#: src/language/stats/frequencies.q:128 src/ui/gui/descriptives-dialog.c:59
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1712
-#: src/language/stats/frequencies.q:130 src/ui/gui/descriptives-dialog.c:60
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1711
+#: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:60
 msgid "Kurtosis"
 msgstr ""
 
@@ -2735,8 +2736,8 @@
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1692
-#: src/language/stats/frequencies.q:132 src/ui/gui/descriptives-dialog.c:61
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1691
+#: src/language/stats/frequencies.q:131 src/ui/gui/descriptives-dialog.c:61
 msgid "Skewness"
 msgstr ""
 
@@ -2744,24 +2745,24 @@
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1653
-#: src/language/stats/frequencies.q:134 src/ui/gui/descriptives-dialog.c:56
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1652
+#: src/language/stats/frequencies.q:133 src/ui/gui/descriptives-dialog.c:56
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1630
-#: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:131
-#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:54
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1629
+#: src/language/stats/frequencies.q:134 src/language/stats/npar-summary.c:131
+#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:54
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1641
-#: src/language/stats/frequencies.q:136 src/language/stats/npar-summary.c:134
-#: src/language/stats/oneway.q:406 src/ui/gui/descriptives-dialog.c:55
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1640
+#: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:134
+#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:55
 msgid "Maximum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:113 src/language/stats/frequencies.q:137
+#: src/language/stats/descriptives.c:113 src/language/stats/frequencies.q:136
 #: src/ui/gui/descriptives-dialog.c:57
 msgid "Sum"
 msgstr ""
@@ -2811,264 +2812,264 @@
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:287 src/language/stats/examine.q:290
+#: src/language/stats/examine.q:286 src/language/stats/examine.q:289
 #, c-format
 msgid "%s is not currently supported."
 msgstr ""
 
-#: src/language/stats/examine.q:496 src/language/stats/examine.q:509
+#: src/language/stats/examine.q:495 src/language/stats/examine.q:508
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:971
+#: src/language/stats/examine.q:970
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1178
+#: src/language/stats/examine.q:1177
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1194
+#: src/language/stats/examine.q:1193
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:1279
+#: src/language/stats/examine.q:1278
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1284
+#: src/language/stats/examine.q:1283
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1425 src/language/stats/oneway.q:395
-#: src/language/stats/oneway.q:679 src/language/stats/regression.q:212
+#: src/language/stats/examine.q:1424 src/language/stats/oneway.q:394
+#: src/language/stats/oneway.q:678 src/language/stats/regression.q:213
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1427 src/language/stats/oneway.q:409
+#: src/language/stats/examine.q:1426 src/language/stats/oneway.q:408
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1543 src/language/stats/oneway.q:400
+#: src/language/stats/examine.q:1542 src/language/stats/oneway.q:399
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1549 src/language/stats/oneway.q:402
+#: src/language/stats/examine.q:1548 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1560 src/language/stats/oneway.q:403
+#: src/language/stats/examine.q:1559 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1572
+#: src/language/stats/examine.q:1571
 #, c-format
 msgid "5%% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:126
+#: src/language/stats/examine.q:1582 src/language/stats/frequencies.q:125
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:128
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:685
-#: src/language/stats/t-test.q:708 src/language/stats/t-test.q:833
-#: src/language/stats/t-test.q:1170
+#: src/language/stats/examine.q:1616 src/language/stats/npar-summary.c:128
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:684
+#: src/language/stats/t-test.q:707 src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:1169
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1665
+#: src/language/stats/examine.q:1664
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1817
+#: src/language/stats/examine.q:1816
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1842
+#: src/language/stats/examine.q:1841
 msgid "Boxplot"
 msgstr ""
 
-#: src/language/stats/examine.q:1884
+#: src/language/stats/examine.q:1883
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1885 src/language/stats/examine.q:1891
+#: src/language/stats/examine.q:1884 src/language/stats/examine.q:1890
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:1886
+#: src/language/stats/examine.q:1885
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:1889
+#: src/language/stats/examine.q:1888
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:1892
+#: src/language/stats/examine.q:1891
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:2011 src/language/stats/examine.q:2033
-#: src/language/stats/frequencies.q:1417 src/language/stats/npar-summary.c:141
+#: src/language/stats/examine.q:2010 src/language/stats/examine.q:2032
+#: src/language/stats/frequencies.q:1416 src/language/stats/npar-summary.c:141
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2157
+#: src/language/stats/examine.q:2156
 msgid "Tukey's Hinges"
 msgstr ""
 
-#: src/language/stats/flip.c:98
+#: src/language/stats/flip.c:95
 msgid ""
 "FLIP ignores TEMPORARY.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/stats/flip.c:153
+#: src/language/stats/flip.c:150
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/language/stats/flip.c:164
+#: src/language/stats/flip.c:161
 #, c-format
 msgid "Error writing FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:264
+#: src/language/stats/flip.c:261
 #, c-format
 msgid "Could not create acceptable variant for variable %s."
 msgstr ""
 
-#: src/language/stats/flip.c:280
+#: src/language/stats/flip.c:277
 msgid "Cannot create more than 99999 variable names."
 msgstr ""
 
-#: src/language/stats/flip.c:396
+#: src/language/stats/flip.c:393
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:403
+#: src/language/stats/flip.c:400
 msgid "Error creating FLIP source file."
 msgstr ""
 
-#: src/language/stats/flip.c:416
+#: src/language/stats/flip.c:413
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:418
+#: src/language/stats/flip.c:415
 msgid "Unexpected end of file reading FLIP file."
 msgstr ""
 
-#: src/language/stats/flip.c:442
+#: src/language/stats/flip.c:431
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:450
+#: src/language/stats/flip.c:439
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:461
+#: src/language/stats/flip.c:450
 #, c-format
 msgid "Error closing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:469
+#: src/language/stats/flip.c:458
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:498
+#: src/language/stats/flip.c:487
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:501
+#: src/language/stats/flip.c:490
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr ""
 
-#: src/language/stats/frequencies.q:125
+#: src/language/stats/frequencies.q:124
 msgid "S.E. Mean"
 msgstr ""
 
-#: src/language/stats/frequencies.q:127
+#: src/language/stats/frequencies.q:126
 msgid "Mode"
 msgstr ""
 
-#: src/language/stats/frequencies.q:131
+#: src/language/stats/frequencies.q:130
 msgid "S.E. Kurt"
 msgstr ""
 
-#: src/language/stats/frequencies.q:133
+#: src/language/stats/frequencies.q:132
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:410
+#: src/language/stats/frequencies.q:409
 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:493
+#: src/language/stats/frequencies.q:492
 #, 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:759
+#: src/language/stats/frequencies.q:758
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:822
+#: src/language/stats/frequencies.q:821
 msgid "`)' expected after GROUPED interval list."
 msgstr ""
 
-#: src/language/stats/frequencies.q:834
+#: src/language/stats/frequencies.q:833
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr ""
 
-#: src/language/stats/frequencies.q:841
+#: src/language/stats/frequencies.q:840
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1059 src/language/stats/frequencies.q:1152
-#: src/language/stats/frequencies.q:1153 src/language/stats/frequencies.q:1187
+#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1151
+#: src/language/stats/frequencies.q:1152 src/language/stats/frequencies.q:1186
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1061 src/output/charts/plot-hist.c:126
+#: src/language/stats/frequencies.q:1060 src/output/charts/plot-hist.c:126
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1082
+#: src/language/stats/frequencies.q:1081
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1185
+#: src/language/stats/frequencies.q:1184
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1186 src/language/stats/frequencies.q:1188
+#: src/language/stats/frequencies.q:1185 src/language/stats/frequencies.q:1187
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1379
+#: src/language/stats/frequencies.q:1378
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1421
+#: src/language/stats/frequencies.q:1420
 msgid "50 (Median)"
 msgstr ""
 
@@ -3076,11 +3077,11 @@
 msgid "Multivariate GLM not yet supported"
 msgstr ""
 
-#: src/language/stats/glm.q:271 src/language/stats/regression.q:1158
+#: src/language/stats/glm.q:271 src/language/stats/regression.q:1159
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/glm.q:346 src/language/stats/regression.q:1255
+#: src/language/stats/glm.q:346 src/language/stats/regression.q:1256
 msgid "No valid data found. This command was skipped."
 msgstr ""
 
@@ -3092,22 +3093,6 @@
 msgid "TABLES subcommand may not appear more than once."
 msgstr ""
 
-#: src/language/stats/npar-summary.c:108
-msgid "Descriptive Statistics"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:145
-msgid "25th"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:148
-msgid "50th (Median)"
-msgstr ""
-
-#: src/language/stats/npar-summary.c:151
-msgid "75th"
-msgstr ""
-
 #: src/language/stats/npar.q:98
 msgid "NPAR subcommand not currently implemented."
 msgstr ""
@@ -3125,11 +3110,27 @@
 "exactly %d values."
 msgstr ""
 
-#: src/language/stats/npar.q:425 src/language/stats/t-test.q:487
+#: src/language/stats/npar.q:425 src/language/stats/t-test.q:486
 #, c-format
 msgid ""
-"PAIRED was specified but the number of variables preceding WITH (%d) did not "
-"match the number following (%d)."
+"PAIRED was specified but the number of variables preceding WITH (%zu) did "
+"not match the number following (%zu)."
+msgstr ""
+
+#: src/language/stats/npar-summary.c:108
+msgid "Descriptive Statistics"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:145
+msgid "25th"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:148
+msgid "50th (Median)"
+msgstr ""
+
+#: src/language/stats/npar-summary.c:151
+msgid "75th"
 msgstr ""
 
 #: src/language/stats/oneway.q:169
@@ -3138,92 +3139,92 @@
 
 #: src/language/stats/oneway.q:178
 #, c-format
-msgid "Coefficients for contrast %d do not total zero"
+msgid "Coefficients for contrast %zu do not total zero"
 msgstr ""
 
-#: src/language/stats/oneway.q:245
+#: src/language/stats/oneway.q:244
 #, c-format
 msgid "`%s' is not a variable name"
 msgstr ""
 
-#: src/language/stats/oneway.q:279 src/language/stats/regression.q:309
+#: src/language/stats/oneway.q:278 src/language/stats/regression.q:310
 msgid "Sum of Squares"
 msgstr ""
 
-#: src/language/stats/oneway.q:281 src/language/stats/regression.q:311
+#: src/language/stats/oneway.q:280 src/language/stats/regression.q:312
 msgid "Mean Square"
 msgstr ""
 
-#: src/language/stats/oneway.q:282 src/language/stats/regression.q:312
-#: src/language/stats/t-test.q:980
+#: src/language/stats/oneway.q:281 src/language/stats/regression.q:313
+#: src/language/stats/t-test.q:979
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:283 src/language/stats/oneway.q:537
-#: src/language/stats/regression.q:215 src/language/stats/regression.q:313
+#: src/language/stats/oneway.q:282 src/language/stats/oneway.q:536
+#: src/language/stats/regression.q:216 src/language/stats/regression.q:314
 msgid "Significance"
 msgstr ""
 
-#: src/language/stats/oneway.q:305
+#: src/language/stats/oneway.q:304
 msgid "Between Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:306
+#: src/language/stats/oneway.q:305
 msgid "Within Groups"
 msgstr ""
 
-#: src/language/stats/oneway.q:353 src/language/stats/regression.q:339
+#: src/language/stats/oneway.q:352 src/language/stats/regression.q:340
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:534
+#: src/language/stats/oneway.q:533
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:535
+#: src/language/stats/oneway.q:534
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:536
+#: src/language/stats/oneway.q:535
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:540
+#: src/language/stats/oneway.q:539
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:608
+#: src/language/stats/oneway.q:607
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:677
+#: src/language/stats/oneway.q:609 src/language/stats/oneway.q:676
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:675
+#: src/language/stats/oneway.q:674
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:678
+#: src/language/stats/oneway.q:677
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:680 src/language/stats/regression.q:214
-#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1174
-#: src/language/stats/t-test.q:1267
+#: src/language/stats/oneway.q:679 src/language/stats/regression.q:215
+#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1173
+#: src/language/stats/t-test.q:1266
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:984
-#: src/language/stats/t-test.q:1176 src/language/stats/t-test.q:1269
+#: src/language/stats/oneway.q:681 src/language/stats/t-test.q:983
+#: src/language/stats/t-test.q:1175 src/language/stats/t-test.q:1268
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:726
+#: src/language/stats/oneway.q:725
 msgid "Assume equal variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:730
+#: src/language/stats/oneway.q:729
 msgid "Does not assume equal"
 msgstr ""
 
@@ -3280,66 +3281,66 @@
 msgid "Too many variables in INTO clause."
 msgstr ""
 
-#: src/language/stats/regression.q:166
+#: src/language/stats/regression.q:167
 msgid "R"
 msgstr ""
 
-#: src/language/stats/regression.q:167
+#: src/language/stats/regression.q:168
 msgid "R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:168
+#: src/language/stats/regression.q:169
 msgid "Adjusted R Square"
 msgstr ""
 
-#: src/language/stats/regression.q:169
+#: src/language/stats/regression.q:170
 msgid "Std. Error of the Estimate"
 msgstr ""
 
-#: src/language/stats/regression.q:174
+#: src/language/stats/regression.q:175
 msgid "Model Summary"
 msgstr ""
 
-#: src/language/stats/regression.q:211
+#: src/language/stats/regression.q:212
 msgid "B"
 msgstr ""
 
-#: src/language/stats/regression.q:213
+#: src/language/stats/regression.q:214
 msgid "Beta"
 msgstr ""
 
-#: src/language/stats/regression.q:216
+#: src/language/stats/regression.q:217
 msgid "(Constant)"
 msgstr ""
 
-#: src/language/stats/regression.q:278
+#: src/language/stats/regression.q:279
 msgid "Coefficients"
 msgstr ""
 
-#: src/language/stats/regression.q:315
+#: src/language/stats/regression.q:316
 msgid "Regression"
 msgstr ""
 
-#: src/language/stats/regression.q:394
+#: src/language/stats/regression.q:395
 msgid "Model"
 msgstr ""
 
-#: src/language/stats/regression.q:395
+#: src/language/stats/regression.q:396
 msgid "Covariances"
 msgstr ""
 
-#: src/language/stats/regression.q:410
+#: src/language/stats/regression.q:411
 msgid "Coefficient Correlations"
 msgstr ""
 
-#: src/language/stats/regression.q:1031
+#: src/language/stats/regression.q:1032
 msgid ""
 "The dependent variable is equal to the independent variable.The least "
 "squares line is therefore Y=X.Standard errors and related statistics may be "
 "meaningless."
 msgstr ""
 
-#: src/language/stats/sort-cases.c:63
+#: src/language/stats/sort-cases.c:64
 msgid "Buffer limit must be at least 2."
 msgstr ""
 
@@ -3356,143 +3357,143 @@
 msgid "Variable %s specified twice in sort criteria."
 msgstr ""
 
-#: src/language/stats/t-test.q:276
+#: src/language/stats/t-test.q:275
 msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
 msgstr ""
 
-#: src/language/stats/t-test.q:294
+#: src/language/stats/t-test.q:293
 msgid "VARIABLES subcommand is not appropriate with PAIRS"
 msgstr ""
 
-#: src/language/stats/t-test.q:332
+#: src/language/stats/t-test.q:331
 msgid "One or more VARIABLES must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:381
+#: src/language/stats/t-test.q:380
 #, c-format
 msgid "Long string variable %s is not valid here."
 msgstr ""
 
-#: src/language/stats/t-test.q:401 src/language/stats/t-test.q:415
+#: src/language/stats/t-test.q:400 src/language/stats/t-test.q:414
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:504
+#: src/language/stats/t-test.q:503
 msgid "At least two variables must be specified on PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:680
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:686 src/language/stats/t-test.q:709
-#: src/language/stats/t-test.q:834
+#: src/language/stats/t-test.q:685 src/language/stats/t-test.q:708
+#: src/language/stats/t-test.q:833
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:704
+#: src/language/stats/t-test.q:703
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:827
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:850 src/language/stats/t-test.q:1195
-#: src/language/stats/t-test.q:1386
+#: src/language/stats/t-test.q:849 src/language/stats/t-test.q:1194
+#: src/language/stats/t-test.q:1385
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:968
+#: src/language/stats/t-test.q:967
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:981 src/language/stats/t-test.q:1371
+#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1370
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:985 src/language/stats/t-test.q:1270
+#: src/language/stats/t-test.q:984 src/language/stats/t-test.q:1269
 msgid "Mean Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:986
+#: src/language/stats/t-test.q:985
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:991 src/language/stats/t-test.q:1166
-#: src/language/stats/t-test.q:1262
+#: src/language/stats/t-test.q:990 src/language/stats/t-test.q:1165
+#: src/language/stats/t-test.q:1261
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1046
+#: src/language/stats/t-test.q:1045
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1098
+#: src/language/stats/t-test.q:1097
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1156
+#: src/language/stats/t-test.q:1155
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1159
+#: src/language/stats/t-test.q:1158
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1170
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1251
+#: src/language/stats/t-test.q:1250
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1256
+#: src/language/stats/t-test.q:1255
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1366
+#: src/language/stats/t-test.q:1365
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1370
+#: src/language/stats/t-test.q:1369
 msgid "Correlation"
 msgstr ""
 
-#: src/language/stats/t-test.q:1389
+#: src/language/stats/t-test.q:1388
 #, c-format
 msgid "%s & %s"
 msgstr ""
 
-#: src/language/syntax-file.c:86
+#: src/language/syntax-file.c:87
 #, c-format
 msgid "opening \"%s\" as syntax file"
 msgstr ""
 
-#: src/language/syntax-file.c:91
+#: src/language/syntax-file.c:92
 #, c-format
 msgid "Opening `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:104
+#: src/language/syntax-file.c:105
 #, c-format
 msgid "Reading `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:124
+#: src/language/syntax-file.c:125
 #, c-format
 msgid "Closing `%s': %s."
 msgstr ""
@@ -3517,21 +3518,21 @@
 
 #: src/language/tests/float-format.c:124
 #, c-format
-msgid "%d-byte string needed but %d-byte string supplied."
+msgid "%zu-byte string needed but %zu-byte string supplied."
 msgstr ""
 
-#: src/language/tests/float-format.c:135
+#: src/language/tests/float-format.c:136
 msgid "Hexadecimal floating constant too long."
 msgstr ""
 
-#: src/language/tests/float-format.c:200
+#: src/language/tests/float-format.c:201
 #, c-format
 msgid ""
 "%s conversion of %s from %s to %s should have produced %s but actually "
 "produced %s."
 msgstr ""
 
-#: src/language/tests/float-format.c:246
+#: src/language/tests/float-format.c:247
 msgid "Too many values in single command."
 msgstr ""
 
@@ -3726,98 +3727,98 @@
 msgid "WIDTH is %d."
 msgstr ""
 
-#: src/language/utilities/title.c:67
+#: src/language/utilities/title.c:68
 #, c-format
 msgid "%s: `.' expected after string."
 msgstr ""
 
-#: src/language/utilities/title.c:107
+#: src/language/utilities/title.c:108
 #, c-format
 msgid "   (Entered %s)"
 msgstr ""
 
-#: src/language/xforms/compute.c:145 src/language/xforms/compute.c:193
+#: src/language/xforms/compute.c:146 src/language/xforms/compute.c:194
 #, c-format
 msgid ""
 "When executing COMPUTE: SYSMIS is not a valid value as an index into vector %"
 "s."
 msgstr ""
 
-#: src/language/xforms/compute.c:149 src/language/xforms/compute.c:200
+#: src/language/xforms/compute.c:150 src/language/xforms/compute.c:201
 #, c-format
 msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/language/xforms/compute.c:343
+#: src/language/xforms/compute.c:344
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
 
-#: src/language/xforms/count.c:122
+#: src/language/xforms/count.c:123
 msgid "Destination cannot be a string variable."
 msgstr ""
 
-#: src/language/xforms/recode.c:246
+#: src/language/xforms/recode.c:245
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
 msgstr ""
 
-#: src/language/xforms/recode.c:267
+#: src/language/xforms/recode.c:266
 msgid "CONVERT requires string input values and numeric output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:317
+#: src/language/xforms/recode.c:316
 msgid "THRU is not allowed with string variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:391
+#: src/language/xforms/recode.c:390
 msgid "expecting output value"
 msgstr ""
 
-#: src/language/xforms/recode.c:440
+#: src/language/xforms/recode.c:439
 #, c-format
 msgid ""
-"%u variable(s) cannot be recoded into %u variable(s).  Specify the same "
+"%zu variable(s) cannot be recoded into %zu variable(s).  Specify the same "
 "number of variables as source and target variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:455
+#: src/language/xforms/recode.c:454
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
 "already exist.  Use the STRING command to create a string variable.)"
 msgstr ""
 
-#: src/language/xforms/recode.c:470
+#: src/language/xforms/recode.c:469
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:483
+#: src/language/xforms/recode.c:482
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr ""
 
-#: src/language/xforms/sample.c:75
+#: src/language/xforms/sample.c:76
 msgid "The sampling factor must be between 0 and 1 exclusive."
 msgstr ""
 
-#: src/language/xforms/sample.c:95
+#: src/language/xforms/sample.c:96
 #, c-format
 msgid "Cannot sample %d observations from a population of %d."
 msgstr ""
 
-#: src/language/xforms/select-if.c:99
+#: src/language/xforms/select-if.c:100
 msgid "Syntax error expecting OFF or BY.  Turning off case filtering."
 msgstr ""
 
-#: src/language/xforms/select-if.c:114
+#: src/language/xforms/select-if.c:115
 msgid "The filter variable must be numeric."
 msgstr ""
 
-#: src/language/xforms/select-if.c:120
+#: src/language/xforms/select-if.c:121
 msgid "The filter variable may not be scratch."
 msgstr ""
 
@@ -3960,7 +3961,7 @@
 msgid "ascii: boolean value expected for `%s'"
 msgstr ""
 
-#: src/output/ascii.c:478 src/output/html.c:186
+#: src/output/ascii.c:478 src/output/html.c:187
 msgid "`chart-files' value must contain `#'"
 msgstr ""
 
@@ -3974,7 +3975,7 @@
 msgid "ascii: bad line (%d,%d)-(%d,%d) out of (%d,%d)\n"
 msgstr ""
 
-#: src/output/ascii.c:809 src/output/postscript.c:825
+#: src/output/ascii.c:809 src/output/postscript.c:826
 #, c-format
 msgid "%s - Page %d"
 msgstr ""
@@ -3993,16 +3994,16 @@
 msgid "HISTOGRAM"
 msgstr ""
 
-#: src/output/html.c:70
+#: src/output/html.c:71
 #, c-format
 msgid "opening HTML output file: %s"
 msgstr ""
 
-#: src/output/html.c:81
+#: src/output/html.c:82
 msgid "PSPP Output"
 msgstr ""
 
-#: src/output/html.c:169
+#: src/output/html.c:170
 #, c-format
 msgid "unknown configuration parameter `%s' for HTML device driver"
 msgstr ""
@@ -4139,12 +4140,12 @@
 msgid "syntax error in paper size `%s'"
 msgstr ""
 
-#: src/output/postscript.c:157
+#: src/output/postscript.c:158
 #, c-format
 msgid "opening PostScript output file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:195
+#: src/output/postscript.c:196
 #, c-format
 msgid ""
 "The defined PostScript page is not long enough to hold margins and headers, "
@@ -4152,87 +4153,87 @@
 "lines of each font at the default size of %d.%03d points."
 msgstr ""
 
-#: src/output/postscript.c:245
+#: src/output/postscript.c:246
 #, c-format
 msgid "closing PostScript output file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:308
+#: src/output/postscript.c:309
 #, c-format
 msgid "unknown configuration parameter `%s' for PostScript device driver"
 msgstr ""
 
-#: src/output/postscript.c:324
+#: src/output/postscript.c:325
 #, c-format
 msgid ""
 "unknown orientation `%s' (valid orientations are `portrait' and `landscape')"
 msgstr ""
 
-#: src/output/postscript.c:336
+#: src/output/postscript.c:337
 #, c-format
 msgid "boolean value expected for %s"
 msgstr ""
 
-#: src/output/postscript.c:349
+#: src/output/postscript.c:350
 #, c-format
 msgid "positive integer value required for `%s'"
 msgstr ""
 
-#: src/output/postscript.c:354
+#: 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:1175
+#: src/output/postscript.c:1176
 #, c-format
 msgid "\"%s\": bad font specification"
 msgstr ""
 
-#: src/output/postscript.c:1183
+#: src/output/postscript.c:1184
 #, c-format
 msgid "could not find AFM file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1197
+#: src/output/postscript.c:1198
 #, c-format
 msgid "could not find font \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1206
+#: src/output/postscript.c:1207
 #, c-format
 msgid "could not find encoding \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1306
+#: src/output/postscript.c:1307
 #, c-format
 msgid "cannot open font file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1347
+#: src/output/postscript.c:1348
 #, c-format
 msgid "reading font file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1369
+#: src/output/postscript.c:1370
 #, c-format
 msgid "cannot open font encoding file \"%s\""
 msgstr ""
 
-#: src/output/postscript.c:1398
+#: src/output/postscript.c:1399
 msgid "invalid numeric format"
 msgstr ""
 
-#: src/output/postscript.c:1420
+#: src/output/postscript.c:1421
 #, c-format
 msgid "closing Postscript encoding \"%s\""
 msgstr ""
 
-#: src/output/table.c:235
+#: src/output/table.c:234
 #, 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:306
+#: src/output/table.c:305
 #, c-format
 msgid ""
 "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
@@ -4247,233 +4248,249 @@
 msgid "Style of bevel around the custom entry button"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
 msgid "Transformations Pending"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:422
+#: src/ui/gui/data-editor.c:424
 msgid "Labels"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:423
+#: src/ui/gui/data-editor.c:425
 msgid "Show/hide value labels"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:441 src/ui/gui/data-editor.c:458
-#: src/ui/gui/data-editor.c:1770 src/ui/gui/data-editor.c:1823
+#: src/ui/gui/data-editor.c:443 src/ui/gui/data-editor.c:460
+#: src/ui/gui/data-editor.c:1799 src/ui/gui/data-editor.c:1852
 msgid "Clear"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:442
+#: src/ui/gui/data-editor.c:444
 msgid "Delete the cases at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:459
+#: src/ui/gui/data-editor.c:461
 msgid "Delete the variables at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:473 src/ui/gui/data-editor.c:1767
+#: src/ui/gui/data-editor.c:475 src/ui/gui/data-editor.c:1796
 #: src/ui/gui/data-editor.glade:137 src/ui/gui/data-editor.glade:789
 msgid "Insert Variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:474
+#: src/ui/gui/data-editor.c:476
 msgid "Create a new variable at the current position"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:492 src/ui/gui/data-editor.c:1820
+#: src/ui/gui/data-editor.c:494 src/ui/gui/data-editor.c:1849
 #: src/ui/gui/data-editor.glade:777
 msgid "Insert Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:493
+#: src/ui/gui/data-editor.c:495
 msgid "Create a new case at the current position"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:513
+#: src/ui/gui/data-editor.c:515
 msgid "Goto Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:514
+#: src/ui/gui/data-editor.c:516
 msgid "Jump to a Case in the Data Sheet"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:533
+#: src/ui/gui/data-editor.c:535
 msgid "Weights"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:534
+#: src/ui/gui/data-editor.c:536
 msgid "Weight cases by variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:543 src/ui/gui/data-editor.glade:312
+#: src/ui/gui/data-editor.c:545 src/ui/gui/data-editor.glade:312
 msgid "Transpose"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:544
+#: src/ui/gui/data-editor.c:546
 msgid "Transpose the cases with the variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:555
+#: src/ui/gui/data-editor.c:557
 msgid "Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:556
+#: src/ui/gui/data-editor.c:558
 msgid "Split the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:566
+#: src/ui/gui/data-editor.c:568
 msgid "Sort"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:567
+#: src/ui/gui/data-editor.c:569
 msgid "Sort cases in the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:575 src/ui/gui/data-editor.glade:347
+#: src/ui/gui/data-editor.c:577 src/ui/gui/data-editor.glade:347
 #: src/ui/gui/data-editor.glade:832
 msgid "Select Cases"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:576
+#: src/ui/gui/data-editor.c:578
 msgid "Select cases from the active file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:585
+#: src/ui/gui/data-editor.c:587
 msgid "Compute"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:586
+#: src/ui/gui/data-editor.c:588
 msgid "Compute new values for a variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:596 src/ui/gui/data-editor.glade:484
-msgid "_Independent Samples T Test"
+#: src/ui/gui/data-editor.c:596
+msgid "Oneway _ANOVA"
 msgstr ""
 
 #: src/ui/gui/data-editor.c:597
-msgid "Calculate T Test for samples from independent groups"
+msgid "Perform one way analysis of variance"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:605 src/ui/gui/data-editor.glade:484
+msgid "_Independent Samples T Test"
 msgstr ""
 
 #: src/ui/gui/data-editor.c:606
+msgid "Calculate T Test for samples from independent groups"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:615
 msgid "Data File Comments"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:607
+#: src/ui/gui/data-editor.c:616
 msgid "Commentary text for the data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:615 src/ui/gui/data-editor.glade:757
+#: src/ui/gui/data-editor.c:624 src/ui/gui/data-editor.glade:757
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:616
+#: src/ui/gui/data-editor.c:625
 msgid "Find Case"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:625 src/ui/gui/data-editor.glade:286
+#: src/ui/gui/data-editor.c:634 src/ui/gui/data-editor.glade:384
+msgid "Ran_k Cases"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:635
+msgid "Rank Cases"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:644 src/ui/gui/data-editor.glade:286
 #: src/ui/gui/data-editor.glade:736
 msgid "Variables"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:626
+#: src/ui/gui/data-editor.c:645
 msgid "Jump to Variable"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:634 src/ui/gui/data-editor.glade:438
+#: src/ui/gui/data-editor.c:653 src/ui/gui/data-editor.glade:438
 msgid "_Descriptives"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:635
+#: src/ui/gui/data-editor.c:654
 msgid "Calculate descriptive statistics (mean, variance, ...)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1048
+#: src/ui/gui/data-editor.c:1077
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1255
+#: src/ui/gui/data-editor.c:1284
 msgid "No Split"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1264
+#: src/ui/gui/data-editor.c:1293
 msgid "Split by "
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1289
+#: src/ui/gui/data-editor.c:1318
 msgid "Filter off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1302
+#: src/ui/gui/data-editor.c:1331
 #, c-format
 msgid "Filter by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1320
+#: src/ui/gui/data-editor.c:1349
 msgid "Weights off"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1333
+#: src/ui/gui/data-editor.c:1362
 #, c-format
 msgid "Weight by %s"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1356 src/ui/gui/data-editor.c:1590
+#: src/ui/gui/data-editor.c:1385 src/ui/gui/data-editor.c:1619
 #: src/ui/gui/data-editor.glade:648
 msgid "Open"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1357
+#: src/ui/gui/data-editor.c:1386
 msgid "Open a data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1365 src/ui/gui/data-editor.c:1472
+#: src/ui/gui/data-editor.c:1394 src/ui/gui/data-editor.c:1501
 #: src/ui/gui/data-editor.glade:658
 msgid "Save"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1366 src/ui/gui/data-editor.c:1376
+#: src/ui/gui/data-editor.c:1395 src/ui/gui/data-editor.c:1405
 msgid "Save data to file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1375
+#: src/ui/gui/data-editor.c:1404
 msgid "Save As"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1384
+#: src/ui/gui/data-editor.c:1413
 msgid "New"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1385
+#: src/ui/gui/data-editor.c:1414
 msgid "New data file"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1480 src/ui/gui/data-editor.c:1598
+#: src/ui/gui/data-editor.c:1509 src/ui/gui/data-editor.c:1627
 msgid "System Files (*.sav)"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1486 src/ui/gui/data-editor.c:1604
+#: src/ui/gui/data-editor.c:1515 src/ui/gui/data-editor.c:1633
 msgid "Portable Files (*.por) "
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1492 src/ui/gui/data-editor.c:1610
+#: src/ui/gui/data-editor.c:1521 src/ui/gui/data-editor.c:1639
 #: src/ui/gui/syntax-editor.c:138 src/ui/gui/syntax-editor.c:522
 msgid "All Files"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1500
+#: src/ui/gui/data-editor.c:1529
 msgid "System File"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1505
+#: src/ui/gui/data-editor.c:1534
 msgid "Portable File"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1760
+#: src/ui/gui/data-editor.c:1789
 msgid "Sort Ascending"
 msgstr ""
 
-#: src/ui/gui/data-editor.c:1763
+#: src/ui/gui/data-editor.c:1792
 msgid "Sort Descending"
 msgstr ""
 
@@ -4583,10 +4600,6 @@
 msgid "_Compute"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:384
-msgid "Ran_k Cases"
-msgstr ""
-
 #: src/ui/gui/data-editor.glade:397
 msgid "_Run Pending Transforms"
 msgstr ""
@@ -4848,7 +4861,7 @@
 msgid "Options:"
 msgstr ""
 
-#: src/ui/gui/find-dialog.c:658
+#: src/ui/gui/find-dialog.c:657
 #, c-format
 msgid "Bad regular expression: %s"
 msgstr ""
@@ -4921,6 +4934,47 @@
 msgid "Incorrect range specification"
 msgstr ""
 
+#: src/ui/gui/oneway-anova-dialog.c:317
+#, c-format
+msgid "Contrast %d of %d"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:34 src/ui/gui/x.glade:126
+msgid "_Factor:"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:70 src/ui/gui/x.glade:82
+msgid "_Dependent Variable(s):"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:172
+msgid "_Options..."
+msgstr ""
+
+#: src/ui/gui/oneway.glade:183
+msgid "_Contrasts..."
+msgstr ""
+
+#: src/ui/gui/oneway.glade:254
+msgid "gtk-go-back"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:265
+msgid "gtk-go-forward"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:288
+msgid "_Coefficients:"
+msgstr ""
+
+#: src/ui/gui/oneway.glade:334
+msgid "Coefficient Total: "
+msgstr ""
+
+#: src/ui/gui/oneway.glade:367
+msgid "Contrast 1 of 1"
+msgstr ""
+
 #: src/ui/gui/output-viewer.glade:32
 msgid "gtk-save"
 msgstr ""
@@ -4969,6 +5023,10 @@
 msgid "Paste"
 msgstr ""
 
+#: src/ui/gui/psppire.c:197
+msgid "_Reset"
+msgstr ""
+
 #: src/ui/gui/psppire-data-store.c:816
 msgid "var"
 msgstr ""
@@ -4978,28 +5036,6 @@
 msgid "%ld"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:479 src/ui/gui/var-display.c:14
-msgid "None"
-msgstr ""
-
-#: src/ui/gui/psppire-var-store.c:489
-msgid "Scientific"
-msgstr ""
-
-#: src/ui/gui/psppire-var-store.c:492
-msgid "Custom"
-msgstr ""
-
-#: src/ui/gui/psppire-var-store.c:563 src/ui/gui/psppire-var-store.c:573
-#: src/ui/gui/psppire-var-store.c:583
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/ui/gui/psppire.c:197
-msgid "_Reset"
-msgstr ""
-
 #: src/ui/gui/psppire.glade:11
 msgid "This is pre-alpha software.  Use at your own risk."
 msgstr ""
@@ -5227,6 +5263,24 @@
 msgid "Search backward"
 msgstr ""
 
+#: src/ui/gui/psppire-var-store.c:479 src/ui/gui/var-display.c:14
+msgid "None"
+msgstr ""
+
+#: src/ui/gui/psppire-var-store.c:489
+msgid "Scientific"
+msgstr ""
+
+#: src/ui/gui/psppire-var-store.c:492
+msgid "Custom"
+msgstr ""
+
+#: src/ui/gui/psppire-var-store.c:563 src/ui/gui/psppire-var-store.c:573
+#: src/ui/gui/psppire-var-store.c:583
+#, c-format
+msgid "%d"
+msgstr ""
+
 #: src/ui/gui/select-cases-dialog.c:85
 #, c-format
 msgid "Approximately %3d%% of all cases."
@@ -5283,11 +5337,6 @@
 msgid "To End"
 msgstr ""
 
-#: src/ui/gui/t-test-independent-samples-dialog.c:171
-#, c-format
-msgid "Confidence Interval: %2d %%"
-msgstr ""
-
 #: src/ui/gui/t-test.glade:56
 msgid "Define Groups"
 msgstr ""
@@ -5320,24 +5369,9 @@
 msgid "Exclude cases _listwise"
 msgstr ""
 
-#: src/ui/gui/var-sheet.c:65
-msgid "Name"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:68
-msgid "Decimals"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:70
-msgid "Values"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:73
-msgid "Align"
-msgstr ""
-
-#: src/ui/gui/var-sheet.c:74
-msgid "Measure"
+#: src/ui/gui/t-test-independent-samples-dialog.c:175
+#, c-format
+msgid "Confidence Interval: %2d %%"
 msgstr ""
 
 #: src/ui/gui/variable-info-dialog.c:88
@@ -5369,6 +5403,26 @@
 msgid "%s %s\n"
 msgstr ""
 
+#: src/ui/gui/var-sheet.c:65
+msgid "Name"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:68
+msgid "Decimals"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:70
+msgid "Values"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:73
+msgid "Align"
+msgstr ""
+
+#: src/ui/gui/var-sheet.c:74
+msgid "Measure"
+msgstr ""
+
 #: src/ui/gui/weight-cases-dialog.c:88
 #, c-format
 msgid "Weight cases by %s"
@@ -5404,7 +5458,7 @@
 msgid "%s --- PSPP Output"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:229
+#: src/ui/terminal/command-line.c:230
 #, c-format
 msgid ""
 "PSPP, a program for statistical analysis of sample data.\n"
@@ -5450,7 +5504,7 @@
 "\n"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:264
+#: src/ui/terminal/command-line.c:265
 #, c-format
 msgid ""
 "\n"

Index: src/ui/gui/ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/ChangeLog,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -b -r1.94 -r1.95
--- src/ui/gui/ChangeLog        7 Oct 2007 03:53:06 -0000       1.94
+++ src/ui/gui/ChangeLog        19 Oct 2007 05:51:13 -0000      1.95
@@ -1,3 +1,13 @@
+2007-10-19  John Darrington <address@hidden>
+
+        * psppire-acr.c psppire-acr.h (new files): Added this new
+       composite widget.
+
+       * data-editor.c data-editor.h: Added entries for ONEWAY command
+       dialog box.
+
+       * oneway-anova-dialog.c oneway-anova-dialog.h oneway.glade (new files)
+       
 2007-10-06  John Darrington <address@hidden>
        
        * psppire-dialog.c psppire-dialog.h: Added a predicate function

Index: src/ui/gui/automake.mk
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/automake.mk,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- src/ui/gui/automake.mk      13 Oct 2007 07:22:55 -0000      1.39
+++ src/ui/gui/automake.mk      19 Oct 2007 05:51:13 -0000      1.40
@@ -49,6 +49,7 @@
 dist_src_ui_gui_psppire_DATA = \
        $(top_srcdir)/src/ui/gui/data-editor.glade \
        $(top_srcdir)/src/ui/gui/descriptives-dialog.glade \
+       $(top_srcdir)/src/ui/gui/oneway.glade \
        $(top_srcdir)/src/ui/gui/output-viewer.glade \
        $(top_srcdir)/src/ui/gui/psppire.glade \
        $(top_srcdir)/src/ui/gui/rank.glade \
@@ -106,8 +107,12 @@
        src/ui/gui/helper.h \
        src/ui/gui/missing-val-dialog.c \
        src/ui/gui/missing-val-dialog.h \
+        src/ui/gui/oneway-anova-dialog.c \
+        src/ui/gui/oneway-anova-dialog.h \
        src/ui/gui/output-viewer.c \
        src/ui/gui/output-viewer.h \
+       src/ui/gui/psppire-acr.c \
+       src/ui/gui/psppire-acr.h \
        src/ui/gui/psppire-buttonbox.c \
        src/ui/gui/psppire-buttonbox.h \
        src/ui/gui/psppire-hbuttonbox.c \

Index: src/ui/gui/data-editor.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-editor.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- src/ui/gui/data-editor.c    13 Oct 2007 07:22:55 -0000      1.53
+++ src/ui/gui/data-editor.c    19 Oct 2007 05:51:13 -0000      1.54
@@ -44,8 +44,9 @@
 #include "dict-display.h"
 #include "clipboard.h"
 
-#include "t-test-independent-samples-dialog.h"
 
+#include "oneway-anova-dialog.h"
+#include "t-test-independent-samples-dialog.h"
 
 #define _(msgid) gettext (msgid)
 #define N_(msgid) msgid
@@ -590,7 +591,14 @@
   g_signal_connect (de->invoke_compute_dialog, "activate",
                    G_CALLBACK (compute_dialog), de);
 
+  de->invoke_oneway_anova_dialog =
+    gtk_action_new ("oneway-anova",
+                   _("Oneway _ANOVA"),
+                   _("Perform one way analysis of variance"),
+                   NULL);
 
+  g_signal_connect (de->invoke_oneway_anova_dialog, "activate",
+                   G_CALLBACK (oneway_anova_dialog), de);
 
   de->invoke_t_test_independent_samples_dialog =
     gtk_action_new ("t-test-independent-samples",
@@ -767,6 +775,12 @@
                            );
 
 
+  gtk_action_connect_proxy (de->invoke_oneway_anova_dialog,
+                           get_widget_assert (de->xml,
+                                              "oneway-anova")
+                           );
+
+
   gtk_action_connect_proxy (de->invoke_comments_dialog,
                            get_widget_assert (de->xml, "utilities_comments")
                            );

Index: src/ui/gui/data-editor.h
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-editor.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- src/ui/gui/data-editor.h    13 Oct 2007 07:22:56 -0000      1.23
+++ src/ui/gui/data-editor.h    19 Oct 2007 05:51:13 -0000      1.24
@@ -47,6 +47,7 @@
   GtkAction *invoke_descriptives_dialog;
 
   GtkAction *invoke_t_test_independent_samples_dialog;
+  GtkAction *invoke_oneway_anova_dialog;
 
 
   /* Actions which do things */

Index: src/ui/gui/glade-register.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/glade-register.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- src/ui/gui/glade-register.c 7 Jul 2007 06:14:27 -0000       1.6
+++ src/ui/gui/glade-register.c 19 Oct 2007 05:51:13 -0000      1.7
@@ -22,6 +22,7 @@
 #include <glade/glade-build.h>
 #include "psppire-dialog.h"
 #include "psppire-selector.h"
+#include "psppire-acr.h"
 #include "psppire-keypad.h"
 #include "psppire-hbuttonbox.h"
 #include "psppire-vbuttonbox.h"
@@ -65,6 +66,9 @@
                         glade_standard_build_children,
                         NULL);
 
+  glade_register_widget (PSPPIRE_ACR_TYPE, NULL,
+                        glade_standard_build_children,
+                        NULL);
 }
 
 

Index: glade/acr.c
===================================================================
RCS file: glade/acr.c
diff -N glade/acr.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ glade/acr.c 19 Oct 2007 05:51:12 -0000      1.1
@@ -0,0 +1,74 @@
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include "psppire-acr.h"
+
+#include <gladeui/glade.h>
+
+
+void
+glade_psppire_acr_post_create (GladeWidgetAdaptor *adaptor,
+                                   GObject            *object,
+                                   GladeCreateReason   reason)
+{
+  GladeWidget *widget ;
+
+  PsppireAcr *acr = PSPPIRE_ACR (object);
+
+  g_return_if_fail (PSPPIRE_IS_ACR (acr));
+
+  widget = glade_widget_get_from_gobject (GTK_WIDGET (acr));
+  if (!widget)
+    return;
+
+  if (reason == GLADE_CREATE_USER)
+    {
+      /* HIG complient border-width defaults on acrs */
+      glade_widget_property_set (widget, "border-width", 5);
+    }
+}
+
+
+GtkWidget *
+glade_psppire_acr_get_internal_child (GladeWidgetAdaptor  *adaptor,
+                                        PsppireAcr       *acr,
+                                        const gchar         *name)
+{
+#if DEBUGGING
+  g_print ("%s\n", __FUNCTION__);
+#endif
+  return GTK_WIDGET (acr);
+}
+
+
+
+void
+glade_psppire_acr_set_property (GladeWidgetAdaptor *adaptor,
+                                  GObject            *object,
+                                  const gchar        *id,
+                                  const GValue       *value)
+{
+#if DEBUGGING
+  g_print ("%s(%p) Type=\"%s\" Id=\"%s\"\n", __FUNCTION__, object,
+          G_OBJECT_TYPE_NAME( object ),
+          id);
+#endif
+
+  GWA_GET_CLASS (GTK_TYPE_WINDOW)->set_property (adaptor, object,
+                                                id, value);
+}
+
+
+
+GList *
+glade_psppire_acr_get_children (GladeWidgetAdaptor  *adaptor,
+                                  PsppireAcr  *acr)
+{
+  GList *list = NULL;
+
+  g_return_val_if_fail (PSPPIRE_IS_ACR (acr), NULL);
+
+  list = glade_util_container_get_all_children (GTK_CONTAINER (acr));
+
+  return list;
+}

Index: src/ui/gui/oneway-anova-dialog.c
===================================================================
RCS file: src/ui/gui/oneway-anova-dialog.c
diff -N src/ui/gui/oneway-anova-dialog.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/oneway-anova-dialog.c    19 Oct 2007 05:51:13 -0000      1.1
@@ -0,0 +1,484 @@
+/* PSPPIRE - a graphical user interface for PSPP.
+   Copyright (C) 2007  Free Software Foundation
+
+   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 3 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, see <http://www.gnu.org/licenses/>.
+*/
+
+
+#include <config.h>
+#include <glade/glade.h>
+#include <gtk/gtk.h>
+#include "oneway-anova-dialog.h"
+#include "psppire-dict.h"
+#include "psppire-var-store.h"
+#include "helper.h"
+#include <gtksheet/gtksheet.h>
+#include "data-editor.h"
+#include "psppire-dialog.h"
+#include "dialog-common.h"
+#include "dict-display.h"
+#include "psppire-acr.h"
+
+
+#include <language/syntax-string-source.h>
+#include "syntax-editor.h"
+
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+
+struct contrasts_subdialog;
+struct oneway_anova_dialog;
+
+
+static void run_contrasts_dialog (struct oneway_anova_dialog *);
+static void push_new_store (GArray *, struct contrasts_subdialog *);
+
+static void next (GtkWidget *, gpointer);
+static void prev (GtkWidget *, gpointer);
+
+
+struct contrasts_subdialog
+{
+  /* Contrasts Dialog widgets */
+  GtkWidget *contrasts_dialog;
+  GtkWidget *stack_label;
+  PsppireAcr *acr;
+
+
+  /* Gets copied into contrasts when "Continue"
+     is clicked */
+  GArray *temp_contrasts;
+
+  /* Index into the temp_contrasts */
+  guint c;
+
+  GtkWidget *prev;
+  GtkWidget *next;
+
+  GtkWidget *ctotal;
+};
+
+
+struct oneway_anova_dialog
+{
+  PsppireDict *dict;
+
+  GtkWidget *factor_entry;
+  GtkWidget *vars_treeview;
+  GtkWindow *dialog;
+  GArray *contrasts_array;
+
+  GtkToggleButton *descriptives;
+  GtkToggleButton *homogeneity;
+
+  struct contrasts_subdialog contrasts;
+};
+
+static gboolean
+dialog_state_valid (gpointer data)
+{
+  struct oneway_anova_dialog *ow = data;
+
+  GtkTreeModel *vars =
+    gtk_tree_view_get_model (GTK_TREE_VIEW (ow->vars_treeview));
+
+  GtkTreeIter notused;
+
+  if ( !gtk_tree_model_get_iter_first (vars, &notused) )
+    return FALSE;
+
+  if ( 0 == strcmp ("", gtk_entry_get_text (GTK_ENTRY (ow->factor_entry))))
+    return FALSE;
+
+  return TRUE;
+}
+
+static gchar * generate_syntax (const struct oneway_anova_dialog *);
+
+
+static void
+refresh (struct oneway_anova_dialog *ow)
+{
+  GtkTreeModel *model =
+    gtk_tree_view_get_model (GTK_TREE_VIEW (ow->vars_treeview));
+
+  gtk_entry_set_text (GTK_ENTRY (ow->factor_entry), "");
+
+  gtk_list_store_clear (GTK_LIST_STORE (model));
+}
+
+
+/* Pops up the dialog box */
+void
+oneway_anova_dialog (GObject *o, gpointer data)
+{
+  gint response;
+  struct data_editor *de = data;
+
+  PsppireVarStore *vs;
+
+  GladeXML *xml = XML_NEW ("oneway.glade");
+
+  struct oneway_anova_dialog ow;
+
+  GtkSheet *var_sheet =
+    GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
+
+  GtkWidget *dict_view =
+    get_widget_assert (xml, "oneway-anova-treeview1");
+
+  GtkWidget *selector2 =
+    get_widget_assert (xml, "oneway-anova-selector2");
+
+  GtkWidget *selector1 =
+    get_widget_assert (xml, "oneway-anova-selector1");
+
+  GtkWidget *contrasts_button =
+    get_widget_assert (xml, "contrasts-button");
+
+
+  g_signal_connect_swapped (contrasts_button, "clicked",
+                   G_CALLBACK (run_contrasts_dialog), &ow);
+
+
+  ow.factor_entry = get_widget_assert (xml, "oneway-anova-entry");
+  ow.vars_treeview =
+    get_widget_assert (xml, "oneway-anova-treeview2");
+
+  ow.descriptives =
+    GTK_TOGGLE_BUTTON (get_widget_assert (xml, "checkbutton1"));
+
+  ow.homogeneity =
+    GTK_TOGGLE_BUTTON (get_widget_assert (xml, "checkbutton2"));
+
+  vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
+
+  ow.dict = vs->dict;
+
+  ow.dialog =
+    GTK_WINDOW (get_widget_assert (xml, "oneway-anova-dialog"));
+
+  gtk_window_set_transient_for (ow.dialog, de->parent.window);
+
+  attach_dictionary_to_treeview (GTK_TREE_VIEW (dict_view),
+                                vs->dict,
+                                GTK_SELECTION_MULTIPLE, NULL);
+
+  set_dest_model (GTK_TREE_VIEW (ow.vars_treeview), vs->dict);
+
+
+  psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector1),
+                                dict_view, ow.vars_treeview,
+                                insert_source_row_into_tree_view,
+                                NULL);
+
+
+  psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector2),
+                                dict_view, ow.factor_entry,
+                                insert_source_row_into_entry,
+                                is_currently_in_entry);
+
+
+
+  g_signal_connect_swapped (ow.dialog, "refresh", G_CALLBACK (refresh),  &ow);
+
+
+
+  psppire_dialog_set_valid_predicate (PSPPIRE_DIALOG (ow.dialog),
+                                     dialog_state_valid, &ow);
+
+
+  {
+    struct contrasts_subdialog *cd = &ow.contrasts;
+    GtkEntry *entry = GTK_ENTRY (get_widget_assert (xml, "entry1"));
+
+    cd->acr = PSPPIRE_ACR (get_widget_assert (xml, "psppire-acr1"));
+    cd->contrasts_dialog = get_widget_assert (xml, "contrasts-dialog");
+
+    cd->next = get_widget_assert (xml, "next-button");
+    cd->prev = get_widget_assert (xml, "prev-button");
+    cd->ctotal = get_widget_assert (xml, "entry2");
+
+    cd->stack_label = get_widget_assert (xml, "contrast-stack-label");
+
+    /* Contrasts */
+    ow.contrasts_array = g_array_new (FALSE, FALSE, sizeof (GtkListStore *));
+
+    g_signal_connect (cd->next, "clicked", G_CALLBACK (next), cd);
+    g_signal_connect (cd->prev, "clicked", G_CALLBACK (prev), cd);
+
+    psppire_acr_set_entry (cd->acr, entry);
+
+    gtk_window_set_transient_for (GTK_WINDOW (cd->contrasts_dialog),
+                                 de->parent.window);
+  }
+
+  response = psppire_dialog_run (PSPPIRE_DIALOG (ow.dialog));
+
+  switch (response)
+    {
+    case GTK_RESPONSE_OK:
+      {
+       gchar *syntax = generate_syntax (&ow);
+       struct getl_interface *sss = create_syntax_string_source (syntax);
+       execute_syntax (sss);
+
+       g_free (syntax);
+      }
+      break;
+    case PSPPIRE_RESPONSE_PASTE:
+      {
+       gchar *syntax = generate_syntax (&ow);
+
+       struct syntax_editor *se =
+         (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL);
+
+       gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1);
+
+       g_free (syntax);
+      }
+      break;
+    default:
+      break;
+    }
+
+  g_array_free (ow.contrasts_array, FALSE);
+
+  g_object_unref (xml);
+}
+
+
+static gchar * generate_syntax (const struct oneway_anova_dialog *ow)
+{
+  gchar *text;
+  gint i;
+  gboolean descriptives = gtk_toggle_button_get_active (ow->descriptives);
+  gboolean homogeneity = gtk_toggle_button_get_active (ow->homogeneity);
+
+  GString *str = g_string_new ("ONEWAY /VARIABLES=");
+
+  append_variable_names (str, ow->dict, GTK_TREE_VIEW (ow->vars_treeview));
+
+  g_string_append (str, " BY ");
+
+  g_string_append (str, gtk_entry_get_text (GTK_ENTRY (ow->factor_entry)));
+
+  if (descriptives || homogeneity )
+    {
+      g_string_append (str, "\n\t/STATISTICS=");
+      if (descriptives)
+       g_string_append (str, "DESCRIPTIVES ");
+      if (homogeneity)
+       g_string_append (str, "HOMOGENEITY ");
+    }
+
+  for (i = 0 ; i < ow->contrasts_array->len ; ++i )
+    {
+      GtkListStore *ls = g_array_index (ow->contrasts_array, GtkListStore*, i);
+      GtkTreeIter iter;
+      gboolean ok;
+
+      g_string_append (str, "\n\t/CONTRAST=");
+
+      for (ok = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(ls),
+                                              &iter);
+          ok;
+          ok = gtk_tree_model_iter_next (GTK_TREE_MODEL (ls), &iter))
+       {
+         gdouble v;
+
+         gtk_tree_model_get (GTK_TREE_MODEL (ls), &iter, 0, &v, -1);
+
+         g_string_append_printf (str, " %g", v);
+       }
+    }
+
+  g_string_append (str, ".\n");
+
+  text = str->str;
+  g_string_free (str, FALSE);
+
+  return text;
+}
+
+
+
+/* Contrasts stuff */
+
+
+
+
+/* Callback for when the list store currently associated with the
+   treeview has changed.  It sets the widgets of the subdialog
+   to reflect the store's new state.
+*/
+static void
+list_store_changed (struct contrasts_subdialog *csd)
+{
+  gboolean ok;
+  gdouble total = 0.0;
+  GtkTreeIter iter;
+  GtkTreeModel *ls = NULL;
+  gchar *text =
+    g_strdup_printf (_("Contrast %d of %d"),
+                    csd->c, csd->temp_contrasts->len);
+
+  gtk_label_set_label (GTK_LABEL (csd->stack_label), text);
+
+  g_free (text);
+
+  gtk_widget_set_sensitive (csd->prev, csd->c > 1);
+
+  if ( csd->c > 0 )
+    ls = g_array_index (csd->temp_contrasts, GtkTreeModel*, csd->c - 1);
+
+  psppire_acr_set_model (csd->acr, GTK_LIST_STORE (ls));
+
+  /* Sensitive iff the liststore has two items or more */
+  gtk_widget_set_sensitive (csd->next,
+                           gtk_tree_model_iter_nth_child
+                           (ls, &iter,  NULL, 1));
+
+  for (ok = gtk_tree_model_get_iter_first (ls, &iter);
+       ok;
+       ok = gtk_tree_model_iter_next (ls, &iter)
+       )
+    {
+      gdouble v;
+      gtk_tree_model_get (ls, &iter, 0, &v, -1);
+      total += v;
+    }
+
+  text = g_strdup_printf ("%g", total);
+
+  gtk_entry_set_text (GTK_ENTRY (csd->ctotal), text);
+
+  g_free (text);
+}
+
+
+/* Copy the contrasts array into the local array */
+static GArray *
+clone_contrasts_array (GArray *src_array)
+{
+  gint i;
+
+  GArray *dest_array =
+    g_array_sized_new (FALSE, FALSE, sizeof (GtkListStore *),
+                      src_array->len);
+
+  for (i = 0 ; i < src_array->len ; ++i )
+    {
+      gboolean ok;
+      GtkTreeIter src_iter;
+      GtkListStore *src = g_array_index (src_array, GtkListStore*, i);
+      GtkListStore *dest;
+
+      /* Refuse to copy empty stores */
+      if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (src),
+                                          &src_iter))
+       continue;
+
+      dest = gtk_list_store_new (1, G_TYPE_DOUBLE);
+
+      for (ok = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(src),
+                                              &src_iter);
+          ok;
+          ok = gtk_tree_model_iter_next (GTK_TREE_MODEL (src), &src_iter))
+       {
+         gdouble v;
+         GtkTreeIter dest_iter;
+
+         gtk_tree_model_get (GTK_TREE_MODEL (src), &src_iter, 0, &v, -1);
+
+         gtk_list_store_append  (dest, &dest_iter);
+         gtk_list_store_set (dest, &dest_iter, 0, v, -1);
+       }
+
+      g_array_append_val (dest_array, dest);
+    }
+
+  return dest_array;
+}
+
+
+static void
+run_contrasts_dialog (struct oneway_anova_dialog *ow)
+{
+  struct contrasts_subdialog *csd = &ow->contrasts;
+  gint response;
+
+  csd->temp_contrasts = clone_contrasts_array (ow->contrasts_array);
+
+  csd->c = 1;
+
+  push_new_store (csd->temp_contrasts, csd);
+
+  response = psppire_dialog_run (PSPPIRE_DIALOG (csd->contrasts_dialog));
+
+  if ( response == PSPPIRE_RESPONSE_CONTINUE )
+    {
+      ow->contrasts_array = clone_contrasts_array (csd->temp_contrasts);
+    }
+
+  /* Destroy the temp contrasts here */
+
+}
+
+
+static void
+push_new_store (GArray *contrast_stack, struct contrasts_subdialog *csd)
+{
+  GtkListStore *ls = gtk_list_store_new (1, G_TYPE_DOUBLE);
+
+  g_array_append_val (contrast_stack, ls);
+
+  g_signal_connect_swapped (ls, "row-deleted",
+                           G_CALLBACK (list_store_changed), csd);
+
+  g_signal_connect_swapped (ls, "row-changed",
+                           G_CALLBACK (list_store_changed), csd);
+
+  list_store_changed (csd);
+}
+
+static void
+next (GtkWidget *widget, gpointer data)
+{
+  struct contrasts_subdialog *csd = data;
+
+  if (csd->c >= csd->temp_contrasts->len)
+    push_new_store (csd->temp_contrasts, csd);
+
+  csd->c++;
+
+  list_store_changed (csd);
+}
+
+
+static void
+prev (GtkWidget *widget, gpointer data)
+{
+  struct contrasts_subdialog *csd = data;
+
+  if ( csd->c > 0 )
+    --csd->c;
+
+  list_store_changed (csd);
+}
+
+

Index: src/ui/gui/oneway-anova-dialog.h
===================================================================
RCS file: src/ui/gui/oneway-anova-dialog.h
diff -N src/ui/gui/oneway-anova-dialog.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/oneway-anova-dialog.h    19 Oct 2007 05:51:13 -0000      1.1
@@ -0,0 +1,7 @@
+#ifndef ONEWAY_ANOVA_DIALOG
+#define ONEWAY_ANOVA_DIALOG
+
+void oneway_anova_dialog (GObject *o, gpointer data);
+
+
+#endif

Index: src/ui/gui/oneway.glade
===================================================================
RCS file: src/ui/gui/oneway.glade
diff -N src/ui/gui/oneway.glade
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/oneway.glade     19 Oct 2007 05:51:13 -0000      1.1
@@ -0,0 +1,451 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <requires lib="psppire"/>
+  <widget class="PsppireDialog" id="oneway-anova-dialog">
+    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title">One-Way ANOVA</property>
+    <property name="modal">True</property>
+    <child internal-child="hbox">
+      <widget class="GtkHBox" id="dialog-hbox15">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+        <property name="spacing">2</property>
+        <child>
+          <widget class="GtkTable" id="table4">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+            <property name="n_rows">3</property>
+            <property name="n_columns">3</property>
+            <child>
+              <widget class="GtkVBox" id="vbox30">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <child>
+                  <widget class="GtkLabel" id="label36">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="xalign">0</property>
+                    <property name="label" 
translatable="yes">_Factor:</property>
+                    <property name="use_underline">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkEntry" id="oneway-anova-entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox29">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <child>
+                  <widget class="GtkLabel" id="label35">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Dependent 
_Variable(s):</property>
+                    <property name="use_underline">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkScrolledWindow" id="scrolledwindow15">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property 
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property 
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property 
name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                    <child>
+                      <widget class="GtkTreeView" id="oneway-anova-treeview2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="headers_visible">False</property>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="PsppireSelector" id="oneway-anova-selector2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="border_width">5</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options"></property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="PsppireSelector" id="oneway-anova-selector1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="border_width">5</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="x_options"></property>
+                <property name="y_options">GTK_EXPAND</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="scrolledwindow2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                <property 
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                <child>
+                  <widget class="GtkTreeView" id="oneway-anova-treeview1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="headers_visible">False</property>
+                    <property name="headers_clickable">True</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="bottom_attach">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHBox" id="hbox2">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="spacing">5</property>
+                <child>
+                  <widget class="GtkFrame" id="frame2">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment2">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVButtonBox" id="vbuttonbox1">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="checkbutton1">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" 
translatable="yes">_Descriptives</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="checkbutton2">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" 
translatable="yes">_Homogeneity</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" 
translatable="yes">Statistics</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkVButtonBox" id="vbuttonbox2">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkButton" id="contrasts-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" 
translatable="yes">_Contrasts...</property>
+                        <property name="use_underline">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="y_options"></property>
+                <property name="x_padding">5</property>
+                <property name="y_padding">5</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+        <child>
+          <widget class="PsppireVButtonBox" id="psppire-vbuttonbox2">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+            <property name="border_width">5</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="PsppireDialog" id="contrasts-dialog">
+    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title">One-Way ANOVA: Contrasts</property>
+    <property name="modal">True</property>
+    <child internal-child="hbox">
+      <widget class="GtkHBox" id="dialog-hbox2">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+        <child>
+          <widget class="GtkFrame" id="frame1">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+            <property name="label_xalign">0</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="top_padding">5</property>
+                <property name="bottom_padding">5</property>
+                <property name="left_padding">5</property>
+                <property name="right_padding">5</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox2">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="spacing">5</property>
+                    <child>
+                      <widget class="GtkHButtonBox" id="hbuttonbox1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="homogeneous">True</property>
+                        <property 
name="layout_style">GTK_BUTTONBOX_EDGE</property>
+                        <child>
+                          <widget class="GtkButton" id="prev-button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" 
translatable="yes">gtk-go-back</property>
+                            <property name="use_stock">True</property>
+                            <property name="response_id">0</property>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="next-button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" 
translatable="yes">gtk-go-forward</property>
+                            <property name="use_stock">True</property>
+                            <property name="response_id">0</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <child>
+                          <widget class="GtkLabel" id="label4">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="xalign">1</property>
+                            <property name="label" 
translatable="yes">_Coefficients:</property>
+                            <property name="use_underline">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="entry1">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                          </widget>
+                          <packing>
+                            <property name="fill">False</property>
+                            <property name="pack_type">GTK_PACK_END</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="PsppireAcr" id="psppire-acr1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="border_width">5</property>
+                      </widget>
+                      <packing>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <child>
+                          <widget class="GtkLabel" id="label2">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="xalign">1</property>
+                            <property name="label" 
translatable="yes">Coefficient Total: </property>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="entry2">
+                            <property name="visible">True</property>
+                            <property name="sensitive">False</property>
+                            <property name="can_focus">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="editable">False</property>
+                            <property name="max_length">5</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="contrast-stack-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">Contrast 1 of 
1</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="padding">5</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="PsppireVButtonBox" id="psppire-vbuttonbox1">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+            <property name="border_width">5</property>
+            <property name="buttons">PSPPIRE_BUTTON_CONTINUE_MASK | 
PSPPIRE_BUTTON_CANCEL_MASK | PSPPIRE_BUTTON_HELP_MASK</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>

Index: src/ui/gui/psppire-acr.c
===================================================================
RCS file: src/ui/gui/psppire-acr.c
diff -N src/ui/gui/psppire-acr.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/psppire-acr.c    19 Oct 2007 05:51:13 -0000      1.1
@@ -0,0 +1,269 @@
+/* PSPPIRE - a graphical user interface for PSPP.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+
+   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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <gtk/gtk.h>
+
+#include "psppire-acr.h"
+
+static void psppire_acr_init (PsppireAcr *);
+
+enum {
+  COLUMN_DOUBLE,
+  n_COLUMNS
+};
+
+
+GType
+psppire_acr_get_type (void)
+{
+  static GType acr_type = 0;
+
+  if (!acr_type)
+    {
+      static const GTypeInfo acr_info =
+      {
+       sizeof (PsppireAcrClass),
+       NULL, /* base_init */
+        NULL, /* base_finalize */
+       NULL, /* class_init */
+        NULL, /* class_finalize */
+       NULL, /* class_data */
+        sizeof (PsppireAcr),
+       0,
+       (GInstanceInitFunc) psppire_acr_init,
+      };
+
+      acr_type = g_type_register_static (GTK_TYPE_HBOX, "PsppireAcr",
+                                       &acr_info, 0);
+    }
+
+  return acr_type;
+}
+
+static void
+on_add_button_clicked (PsppireAcr *acr)
+{
+  GtkTreeIter iter;
+  gdouble x;
+
+  const gchar *text = gtk_entry_get_text (acr->entry);
+  x = g_strtod (text, 0);
+
+  gtk_list_store_append (acr->list_store, &iter);
+
+  gtk_list_store_set (acr->list_store, &iter,
+                     COLUMN_DOUBLE, x,
+                     -1);
+
+  gtk_entry_set_text (acr->entry, "");
+}
+
+static void
+on_change_button_clicked (PsppireAcr *acr)
+{
+  const gchar *text;
+  GValue value = {0};
+  GtkTreeModel *model = GTK_TREE_MODEL (acr->list_store);
+
+  GList *l=
+    gtk_tree_selection_get_selected_rows (acr->selection,
+                                         &model);
+
+  GtkTreePath *path = l->data;
+
+  GtkTreeIter iter;
+
+  gtk_tree_model_get_iter (model, &iter, path);
+
+  text = gtk_entry_get_text (acr->entry);
+
+  g_value_init (&value, G_TYPE_DOUBLE);
+  g_value_set_double (&value, g_strtod (text, NULL));
+  gtk_list_store_set_value (acr->list_store, &iter, 0, &value);
+
+  g_list_foreach (l, (GFunc) gtk_tree_path_free, NULL);
+  g_list_free (l);
+}
+
+static void
+on_remove_button_clicked (PsppireAcr *acr)
+{
+  GtkTreeModel *model = GTK_TREE_MODEL (acr->list_store);
+
+  GList *l=
+    gtk_tree_selection_get_selected_rows (acr->selection,
+                                         &model);
+
+  GtkTreePath *path = l->data;
+
+  GtkTreeIter iter;
+
+  gtk_tree_model_get_iter (model, &iter, path);
+
+  gtk_list_store_remove (acr->list_store, &iter);
+
+  g_list_foreach (l, (GFunc) gtk_tree_path_free, NULL);
+  g_list_free (l);
+}
+
+static gboolean
+value_present (const PsppireAcr *acr)
+{
+  const char *text = gtk_entry_get_text (acr->entry);
+  return !g_str_equal (text, "");
+}
+
+static gboolean
+row_is_selected (PsppireAcr *acr)
+{
+  gboolean result;
+  GtkTreeModel *model = GTK_TREE_MODEL (acr->list_store);
+  GList *l = gtk_tree_selection_get_selected_rows (acr->selection,
+                                                  &model);
+
+  result = (l != NULL);
+
+  g_list_foreach (l, (GFunc) gtk_tree_path_free, NULL);
+  g_list_free (l);
+
+  return result;
+}
+
+
+static void
+on_select (GtkTreeSelection *selection, gpointer data)
+{
+  PsppireAcr *acr = data;
+
+  gtk_widget_set_sensitive (acr->remove_button, row_is_selected (acr));
+
+  gtk_widget_set_sensitive (acr->change_button,
+                           row_is_selected (acr) && value_present (acr));
+}
+
+
+
+static void
+psppire_acr_init (PsppireAcr *acr)
+{
+  GtkWidget *bb  = gtk_vbutton_box_new ();
+
+  GtkWidget *sw = gtk_scrolled_window_new (NULL, NULL);
+
+  acr->tv = GTK_TREE_VIEW (gtk_tree_view_new ());
+
+  acr->add_button = gtk_button_new_from_stock (GTK_STOCK_ADD);
+  acr->change_button = gtk_button_new_from_stock (GTK_STOCK_EDIT);
+  acr->remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
+
+  gtk_widget_set_sensitive (acr->change_button, FALSE);
+  gtk_widget_set_sensitive (acr->remove_button, FALSE);
+  gtk_widget_set_sensitive (acr->add_button, FALSE);
+
+  gtk_box_pack_start_defaults (GTK_BOX (bb), acr->add_button);
+  gtk_box_pack_start_defaults (GTK_BOX (bb), acr->change_button);
+  gtk_box_pack_start_defaults (GTK_BOX (bb), acr->remove_button);
+
+  gtk_box_pack_start (GTK_BOX (acr), bb, FALSE, TRUE, 5);
+
+  g_object_set (sw,
+               "hscrollbar-policy", GTK_POLICY_NEVER,
+               "vscrollbar-policy", GTK_POLICY_AUTOMATIC,
+               "shadow-type", GTK_SHADOW_ETCHED_IN,
+               NULL);
+
+  gtk_container_add (GTK_CONTAINER (sw), GTK_WIDGET (acr->tv));
+
+  gtk_box_pack_start (GTK_BOX (acr), sw, TRUE, TRUE, 5);
+
+
+  g_signal_connect_swapped (acr->add_button, "clicked",
+                           G_CALLBACK (on_add_button_clicked), acr);
+  g_signal_connect_swapped (acr->change_button, "clicked",
+                           G_CALLBACK (on_change_button_clicked), acr);
+  g_signal_connect_swapped (acr->remove_button, "clicked",
+                           G_CALLBACK (on_remove_button_clicked), acr);
+
+  gtk_widget_show_all (bb);
+
+
+  g_object_set (acr->tv, "headers-visible", FALSE, NULL);
+
+  acr->list_store = NULL;
+
+  psppire_acr_set_model (acr, acr->list_store);
+
+  acr->selection = gtk_tree_view_get_selection (acr->tv);
+
+  g_signal_connect (acr->selection, "changed", G_CALLBACK (on_select), acr);
+
+  gtk_widget_set_sensitive (GTK_WIDGET (acr), FALSE);
+
+  gtk_widget_show_all (sw);
+
+  {
+    GtkCellRenderer *renderer;
+    GtkTreeViewColumn *column;
+
+    renderer = gtk_cell_renderer_text_new ();
+    column = gtk_tree_view_column_new_with_attributes ("header",
+                                                      renderer,
+                                                      "text", COLUMN_DOUBLE,
+                                                      NULL);
+
+    gtk_tree_view_append_column (acr->tv, column);
+  }
+
+  acr->entry = NULL;
+}
+
+
+GtkWidget*
+psppire_acr_new (void)
+{
+  return GTK_WIDGET (g_object_new (psppire_acr_get_type (), NULL));
+}
+
+static void
+on_entry_change (GtkEntry *entry, PsppireAcr *acr)
+{
+  gtk_widget_set_sensitive (acr->add_button, value_present (acr));
+
+  gtk_widget_set_sensitive (acr->change_button, value_present (acr)
+                           && row_is_selected (acr));
+}
+
+void
+psppire_acr_set_entry  (PsppireAcr *acr, GtkEntry *entry)
+{
+  acr->entry = entry;
+
+  g_signal_connect (entry, "changed", G_CALLBACK (on_entry_change), acr);
+}
+
+
+
+/* Set the widget's treemodel */
+void
+psppire_acr_set_model (PsppireAcr *acr, GtkListStore *liststore)
+{
+  acr->list_store = liststore;
+
+  gtk_tree_view_set_model (GTK_TREE_VIEW (acr->tv),
+                          GTK_TREE_MODEL (liststore));
+
+  gtk_widget_set_sensitive (GTK_WIDGET (acr), liststore != NULL);
+}

Index: src/ui/gui/psppire-acr.h
===================================================================
RCS file: src/ui/gui/psppire-acr.h
diff -N src/ui/gui/psppire-acr.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/ui/gui/psppire-acr.h    19 Oct 2007 05:51:13 -0000      1.1
@@ -0,0 +1,93 @@
+/* PSPPIRE - a graphical user interface for PSPP.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+
+   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 3 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, see <http://www.gnu.org/licenses/>. */
+
+
+#ifndef __PSPPIRE_ACR_H__
+#define __PSPPIRE_ACR_H__
+
+/*
+  This widget is a GtkBox which looks roughly like:
+
+  +-----------------------------+
+  |+------------+  +----------+        |
+  ||   Add      |  |         | |
+  |+------------+  |         | |
+  |                |         | |
+  |+------------+  |         | |
+  ||   Edit     |  |         | |
+  |+------------+  |         | |
+  |               |          | |
+  |+------------+  |         | |
+  ||  Remove    |  |         | |
+  |+------------+  +----------+        |
+  +-----------------------------+
+
+  It interacts with a GtkEntry, which  allows items to be added to its 
internal list.
+  This implementation deals only with g_double values.
+ */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtkhbox.h>
+#include <gtk/gtkentry.h>
+#include <gtk/gtktreeselection.h>
+
+
+G_BEGIN_DECLS
+
+#define PSPPIRE_ACR_TYPE            (psppire_acr_get_type ())
+#define PSPPIRE_ACR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
PSPPIRE_ACR_TYPE, PsppireAcr))
+#define PSPPIRE_ACR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
PSPPIRE_ACR_TYPE, PsppireAcrClass))
+#define PSPPIRE_IS_ACR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
PSPPIRE_ACR_TYPE))
+#define PSPPIRE_IS_ACR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
PSPPIRE_ACR_TYPE))
+
+
+typedef struct _PsppireAcr       PsppireAcr;
+typedef struct _PsppireAcrClass  PsppireAcrClass;
+
+/* All members are private. */
+struct _PsppireAcr
+{
+  GtkHBox parent;
+
+  /* <private> */
+  GtkEntry *entry;
+  GtkListStore *list_store;
+
+  GtkTreeView *tv;
+  GtkTreeSelection *selection;
+  GtkWidget *add_button;
+  GtkWidget *change_button;
+  GtkWidget *remove_button;
+};
+
+
+struct _PsppireAcrClass
+{
+  GtkHBoxClass parent_class;
+};
+
+
+GType          psppire_acr_get_type        (void);
+GtkWidget*     psppire_acr_new             (void);
+
+void           psppire_acr_set_entry       (PsppireAcr *, GtkEntry *);
+void           psppire_acr_set_model       (PsppireAcr *, GtkListStore *);
+
+G_END_DECLS
+
+#endif /* __PSPPIRE_ACR_H__ */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]