Implemented a dialog box for the ONEWAY command.
authorJohn Darrington <john@darrington.wattle.id.au>
Fri, 19 Oct 2007 05:51:12 +0000 (05:51 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Fri, 19 Oct 2007 05:51:12 +0000 (05:51 +0000)
19 files changed:
doc/ChangeLog
doc/statistics.texi
glade/ChangeLog
glade/acr.c [new file with mode: 0644]
glade/automake.mk
glade/psppire.xml
po/de.po
po/en_GB.po
po/pspp.pot
src/ui/gui/ChangeLog
src/ui/gui/automake.mk
src/ui/gui/data-editor.c
src/ui/gui/data-editor.h
src/ui/gui/glade-register.c
src/ui/gui/oneway-anova-dialog.c [new file with mode: 0644]
src/ui/gui/oneway-anova-dialog.h [new file with mode: 0644]
src/ui/gui/oneway.glade [new file with mode: 0644]
src/ui/gui/psppire-acr.c [new file with mode: 0644]
src/ui/gui/psppire-acr.h [new file with mode: 0644]

index 4effc07982455cc6a79772d7b846a06fafe58494..8a52b3d8de1383f7c9f505f0ce77089b6ae24a49 100644 (file)
@@ -1,3 +1,9 @@
+2007-10-19 John Darrington <john@darrington.wattle.id.au>
+
+       * statistics.texi: Changed /CONTRASTS to /CONTRAST in ONEWAY which
+       is what the command accepts. 
+       
+
 2007-07-28 John Darrington <john@darrington.wattle.id.au>
 
        * statistics.texi: Made the documentation for T-TEST match 
index dee0e8a7f0fbcd7ab57fb0c28328d527abb2d143..28398fb75e4a5c8abf82085a557715b6049bd796 100644 (file)
@@ -730,7 +730,7 @@ of variable preceding @code{WITH} against variable following
 ONEWAY
         [/VARIABLES = ] var_list BY var
         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
-        /CONTRASTS= value1 [, value2] ... [,valueN]
+        /CONTRAST= value1 [, value2] ... [,valueN]
         /STATISTICS=@{DESCRIPTIVES,HOMOGENEITY@}
 
 @end display
@@ -756,7 +756,7 @@ Displays the Levene test of Homogeneity of Variance for the
 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 @@ The number of coefficients must correspond to the number of distinct
 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 dc45fca7c29e7e53b18f27f118d87cbc76725103..8545740571d1b490ed7a213d63fb3d5ec639e471 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-19 John Darrington <john@darrington.wattle.id.au>
+
+       * acr.c (new file)
+       * psppire.xml: Added entry for PsppireAcr widget
+
 2007-09-26  Ben Pfaff  <blp@gnu.org>
 
        * automake.mk (libglade_psppire_la_CFLAGS): Enable VPATH build by
diff --git a/glade/acr.c b/glade/acr.c
new file mode 100644 (file)
index 0000000..397dc5d
--- /dev/null
@@ -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 9b92f4f9b462dac64981157059821de7ae277a03..5ad3c2ce98baa7e4877dfab25ab934d447b29e4c 100644 (file)
@@ -13,6 +13,8 @@ libglade_psppire_la_SOURCES = \
        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 7feb13139546011da4bffcf09a0ec8cf77177c5a..e2dc4b7661da6061a75c0f3f1a59517c77539085 100644 (file)
 
 
 
+    <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>
  
 
   <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 f809be015cf5752087cc6d61e8f8d3cfd3f76514..eedffd9e2e94ed3e592634906fa519a594132c0b 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.4.3\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"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 <john@darrington.wattle.id.au>\n"
 "Language-Team: German <pspp-dev@gnu.org>\n"
@@ -47,6 +47,12 @@ msgstr "Tag %d muß zwischen 0 bit 31 sein."
 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 @@ msgstr "plotzlich ist der Datei beendet"
 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 @@ msgstr ""
 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 @@ msgstr[1] ""
 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 @@ msgstr "kette"
 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 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 @@ msgstr ""
 #, 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 @@ msgstr ""
 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 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c: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 @@ msgstr ""
 
 #: 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 @@ msgid ""
 "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 @@ msgstr ""
 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 @@ msgid ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgid "Unknown aggregation function %s."
 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 @@ msgstr ""
 #: 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgstr "Spalten"
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr "Unpassend Wert für Variable"
 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 @@ msgstr "xyzzy"
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr "Werten"
 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 @@ msgstr ""
 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 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:264
+#: src/ui/terminal/command-line.c:265
 #, c-format
 msgid ""
 "\n"
index 260e1b5a811f3781c7a3a9f89ddf63bec0ea52ca..8e8a78a3259a377394bec9680de88c62f2e2e93d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.4.3\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"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 <john@darrington.wattle.id.au>\n"
 "Language-Team: John Darrington <john@darrington.wattle.id.au>\n"
@@ -44,6 +44,12 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr[1] ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 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 @@ msgstr ""
 #, 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 @@ msgstr ""
 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 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c: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 @@ msgstr ""
 
 #: 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 @@ msgid ""
 "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 @@ msgstr ""
 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 @@ msgid ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 #: 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:264
+#: src/ui/terminal/command-line.c:265
 #, c-format
 msgid ""
 "\n"
index a8417657271a6736390565f2f023c258ecefdcab..0f2e779795775fdd09b188073bd3927ca8c1d326 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 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 <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -46,6 +46,12 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr[1] ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 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 @@ msgstr ""
 #, 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 @@ msgstr ""
 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 @@ msgid ""
 "as \"/RENAME (A=B)(B=C)(C=A)\", or equivalently, \"/RENAME (A B C=B C A)\"."
 msgstr ""
 
-#: src/language/data-io/get.c: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 @@ msgstr ""
 
 #: 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 @@ msgid ""
 "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 @@ msgstr ""
 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 @@ msgid ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 #: 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 
 #: 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgstr ""
 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 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/ui/terminal/command-line.c:264
+#: src/ui/terminal/command-line.c:265
 #, c-format
 msgid ""
 "\n"
index b73dc6ae431a351391f494d43ade81b569ac9092..2aeb0615adf4c3fb1f083eb2844c48ed65f854c4 100644 (file)
@@ -1,3 +1,13 @@
+2007-10-19  John Darrington <john@darrington.wattle.id.au>
+
+        * 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 <john@darrington.wattle.id.au>
        
        * psppire-dialog.c psppire-dialog.h: Added a predicate function
index 4d92354867a1e1423d43e66bb07d86f96466f342..5fbc856484f7bf4977372d6cfc3b1b24ab573bd6 100644 (file)
@@ -49,6 +49,7 @@ src_ui_gui_psppiredir = $(pkgdatadir)
 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_psppire_SOURCES = \
        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 dc7ca2852cb4532663652b26ed67050e6b722629..818cbd07b5ef29e9810a5b886e229791d1f82411 100644 (file)
@@ -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 @@ new_data_editor (void)
   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 @@ new_data_editor (void)
                            );
 
 
+  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 471541c8376cd5cfbeb69fd67eff788ae37e3aa1..9af3d737cddd03561101c97460a7b9fed7712eab 100644 (file)
@@ -47,6 +47,7 @@ struct data_editor
   GtkAction *invoke_descriptives_dialog;
 
   GtkAction *invoke_t_test_independent_samples_dialog;
+  GtkAction *invoke_oneway_anova_dialog;
 
 
   /* Actions which do things */
index eb43ce438e27706dd4c19893b767aca68cfe4c61..8946b2774db92c64e8c903c275e261847448a2f1 100644 (file)
@@ -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_module_register_widgets (void)
                         glade_standard_build_children,
                         NULL);
 
+  glade_register_widget (PSPPIRE_ACR_TYPE, NULL,
+                        glade_standard_build_children,
+                        NULL);
 }
 
 
diff --git a/src/ui/gui/oneway-anova-dialog.c b/src/ui/gui/oneway-anova-dialog.c
new file mode 100644 (file)
index 0000000..f94756e
--- /dev/null
@@ -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;
+}
+
+
+\f
+/* 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);
+}
+
+
diff --git a/src/ui/gui/oneway-anova-dialog.h b/src/ui/gui/oneway-anova-dialog.h
new file mode 100644 (file)
index 0000000..21043b4
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef ONEWAY_ANOVA_DIALOG
+#define ONEWAY_ANOVA_DIALOG
+
+void oneway_anova_dialog (GObject *o, gpointer data);
+
+
+#endif
diff --git a/src/ui/gui/oneway.glade b/src/ui/gui/oneway.glade
new file mode 100644 (file)
index 0000000..bdca13d
--- /dev/null
@@ -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>
diff --git a/src/ui/gui/psppire-acr.c b/src/ui/gui/psppire-acr.c
new file mode 100644 (file)
index 0000000..0de169c
--- /dev/null
@@ -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);
+}
diff --git a/src/ui/gui/psppire-acr.h b/src/ui/gui/psppire-acr.h
new file mode 100644 (file)
index 0000000..9983a9e
--- /dev/null
@@ -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__ */