[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] pspp po/de.po po/pspp.pot src/data/case.c src/d...
From: |
John Darrington |
Subject: |
[Pspp-cvs] pspp po/de.po po/pspp.pot src/data/case.c src/d... |
Date: |
Mon, 02 Apr 2007 08:55:53 +0000 |
CVSROOT: /sources/pspp
Module name: pspp
Changes by: John Darrington <jmd> 07/04/02 08:55:52
Modified files:
po : de.po pspp.pot
src/data : case.c case.h casefilter.c casefilter.h
cat-routines.h category.c dictionary.c
dictionary.h variable.c variable.h
src/language/data-io: get.c list.q print.c
src/language/dictionary: delete-variables.c modify-variables.c
split-file.c sys-file-info.c
value-labels.c
src/language/expressions: optimize.c parse.c private.h
src/language/lexer: q2c.c variable-parser.c variable-parser.h
src/language/stats: aggregate.c autorecode.c correlations.q
crosstabs.q descriptives.c examine.q flip.c
frequencies.q means.q npar.h npar.q oneway.q
rank.q regression.q sort-criteria.c
sort-criteria.h t-test.q
src/language/xforms: count.c recode.c
src/libpspp : hash.h
src/math : group-proc.h group.c levene.c levene.h
src/ui/gui : data-editor.c split-file-dialog.c
transpose-dialog.c
Log message:
Changed a lot of non-const pointers to const.
Patch #5825
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/po/de.po?cvsroot=pspp&r1=1.43&r2=1.44
http://cvs.savannah.gnu.org/viewcvs/pspp/po/pspp.pot?cvsroot=pspp&r1=1.127&r2=1.128
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/case.c?cvsroot=pspp&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/case.h?cvsroot=pspp&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/casefilter.c?cvsroot=pspp&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/casefilter.h?cvsroot=pspp&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/cat-routines.h?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/category.c?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/dictionary.c?cvsroot=pspp&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/dictionary.h?cvsroot=pspp&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/variable.c?cvsroot=pspp&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/variable.h?cvsroot=pspp&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/data-io/get.c?cvsroot=pspp&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/data-io/list.q?cvsroot=pspp&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/data-io/print.c?cvsroot=pspp&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/delete-variables.c?cvsroot=pspp&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/modify-variables.c?cvsroot=pspp&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/split-file.c?cvsroot=pspp&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/sys-file-info.c?cvsroot=pspp&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/value-labels.c?cvsroot=pspp&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/expressions/optimize.c?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/expressions/parse.c?cvsroot=pspp&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/expressions/private.h?cvsroot=pspp&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/lexer/q2c.c?cvsroot=pspp&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/lexer/variable-parser.c?cvsroot=pspp&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/lexer/variable-parser.h?cvsroot=pspp&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/aggregate.c?cvsroot=pspp&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/autorecode.c?cvsroot=pspp&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/correlations.q?cvsroot=pspp&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/crosstabs.q?cvsroot=pspp&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/descriptives.c?cvsroot=pspp&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/examine.q?cvsroot=pspp&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/flip.c?cvsroot=pspp&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/frequencies.q?cvsroot=pspp&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/means.q?cvsroot=pspp&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/npar.h?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/npar.q?cvsroot=pspp&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/oneway.q?cvsroot=pspp&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/rank.q?cvsroot=pspp&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/regression.q?cvsroot=pspp&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/sort-criteria.c?cvsroot=pspp&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/sort-criteria.h?cvsroot=pspp&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/t-test.q?cvsroot=pspp&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/xforms/count.c?cvsroot=pspp&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/xforms/recode.c?cvsroot=pspp&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/pspp/src/libpspp/hash.h?cvsroot=pspp&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/group-proc.h?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/group.c?cvsroot=pspp&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/levene.c?cvsroot=pspp&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/levene.h?cvsroot=pspp&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/data-editor.c?cvsroot=pspp&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/split-file-dialog.c?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/transpose-dialog.c?cvsroot=pspp&r1=1.4&r2=1.5
Patches:
Index: po/de.po
===================================================================
RCS file: /sources/pspp/pspp/po/de.po,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- po/de.po 30 Mar 2007 23:39:33 -0000 1.43
+++ po/de.po 2 Apr 2007 08:55:51 -0000 1.44
@@ -10,7 +10,7 @@
msgstr ""
"Project-Id-Version: PSPP 0.4.2\n"
"Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-03-26 18:17+0800\n"
+"POT-Creation-Date: 2007-04-01 13:38+0800\n"
"PO-Revision-Date: 2006-05-26 17:49+0800\n"
"Last-Translator: John Darrington <address@hidden>\n"
"Language-Team: German <address@hidden>\n"
@@ -176,13 +176,13 @@
msgid "Month number %f is not between 1 and 12."
msgstr ""
-#: src/data/dictionary.c:717
+#: src/data/dictionary.c:724
msgid ""
"At least one case in the data file had a weight value that was user-missing, "
"system-missing, zero, or negative. These case(s) were ignored."
msgstr ""
-#: src/data/dictionary.c:1238
+#: src/data/dictionary.c:1245
msgid "Variable suffix too large."
msgstr ""
@@ -309,13 +309,13 @@
msgstr ""
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1066
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1075
#: src/ui/gui/psppire-var-store.c:481
msgid "String"
msgstr "Zeichenkette"
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:962
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:971
#: src/ui/gui/psppire-var-store.c:474
msgid "Numeric"
msgstr "Nummer"
@@ -826,15 +826,15 @@
msgid "`%s' may not be used as a variable name because it is a reserved word."
msgstr ""
-#: src/data/variable.c:964
+#: src/data/variable.c:966
msgid "ordinary"
msgstr ""
-#: src/data/variable.c:966
+#: src/data/variable.c:968
msgid "system"
msgstr ""
-#: src/data/variable.c:968
+#: src/data/variable.c:970
msgid "scratch"
msgstr ""
@@ -1036,7 +1036,7 @@
#: src/language/dictionary/sys-file-info.c:160
#: src/language/dictionary/sys-file-info.c:395
#: src/language/dictionary/sys-file-info.c:620
-#: src/language/stats/descriptives.c:879
+#: src/language/stats/descriptives.c:880
msgid "Variable"
msgstr ""
@@ -1291,7 +1291,7 @@
"REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr ""
-#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:364
+#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:365
msgid "No variables specified."
msgstr ""
@@ -1387,7 +1387,7 @@
msgstr[1] ""
#: src/language/data-io/print-space.c:75 src/language/lexer/lexer.c:465
-#: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:61
msgid "expecting end of command"
msgstr ""
@@ -1426,7 +1426,7 @@
"will be made permanent."
msgstr ""
-#: src/language/dictionary/delete-variables.c:48
+#: src/language/dictionary/delete-variables.c:49
msgid ""
"DELETE VARIABLES may not be used to delete all variables from the active "
"file dictionary. Use NEW FILE instead."
@@ -1575,8 +1575,8 @@
#: src/language/dictionary/split-file.c:86
#: src/language/dictionary/sys-file-info.c:549
-#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
-#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1187
+#: src/language/stats/crosstabs.q:1119 src/language/stats/crosstabs.q:1146
+#: src/language/stats/crosstabs.q:1166 src/language/stats/crosstabs.q:1188
#: src/language/stats/examine.q:1189 src/language/stats/frequencies.q:1145
#: src/language/stats/frequencies.q:1269
msgid "Value"
@@ -2120,57 +2120,57 @@
msgid "expecting number or data string"
msgstr ""
-#: src/language/lexer/variable-parser.c:54
+#: src/language/lexer/variable-parser.c:64
msgid "expecting variable name"
msgstr ""
-#: src/language/lexer/variable-parser.c:64
+#: src/language/lexer/variable-parser.c:74
#, c-format
msgid "%s is not a variable name."
msgstr ""
-#: src/language/lexer/variable-parser.c:173
+#: src/language/lexer/variable-parser.c:183
#, 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:176
+#: src/language/lexer/variable-parser.c:186
#, 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:180
+#: src/language/lexer/variable-parser.c:190
#, c-format
msgid "Scratch variables (such as %s) are not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:184
+#: src/language/lexer/variable-parser.c:194
#, 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:190
+#: src/language/lexer/variable-parser.c:200
#, 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 omttied from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:195
+#: src/language/lexer/variable-parser.c:205
#, c-format
msgid "Variable %s appears twice in variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:308
+#: src/language/lexer/variable-parser.c:318
#, c-format
msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
msgstr ""
-#: src/language/lexer/variable-parser.c:316
+#: src/language/lexer/variable-parser.c:326
#, c-format
msgid ""
"When using the TO keyword to specify several variables, both variables must "
@@ -2178,19 +2178,19 @@
"system variables. %s is a %s variable, whereas %s is %s."
msgstr ""
-#: src/language/lexer/variable-parser.c:390
+#: src/language/lexer/variable-parser.c:400
msgid "incorrect use of TO convention"
msgstr ""
-#: src/language/lexer/variable-parser.c:433
+#: src/language/lexer/variable-parser.c:443
msgid "Scratch variables not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:455
+#: src/language/lexer/variable-parser.c:465
msgid "Prefixes don't match in use of TO convention."
msgstr ""
-#: src/language/lexer/variable-parser.c:460
+#: src/language/lexer/variable-parser.c:470
msgid "Bad bounds in use of TO convention."
msgstr ""
@@ -2248,17 +2248,17 @@
"contains the aggregate variables and the break variables."
msgstr ""
-#: src/language/stats/autorecode.c:135
+#: src/language/stats/autorecode.c:136
#, c-format
msgid "Source variable count (%u) does not match target variable count (%u)."
msgstr ""
-#: src/language/stats/autorecode.c:163
+#: src/language/stats/autorecode.c:164
#, c-format
msgid "Target variable %s duplicates existing variable %s."
msgstr ""
-#: src/language/stats/autorecode.c:170
+#: src/language/stats/autorecode.c:171
#, c-format
msgid "Duplicate variable name %s among target variables."
msgstr ""
@@ -2281,8 +2281,8 @@
msgstr ""
#: src/language/stats/binomial.c:208 src/language/stats/chisquare.c:237
-#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:825
-#: src/language/stats/crosstabs.q:1025 src/language/stats/crosstabs.q:1748
+#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:826
+#: src/language/stats/crosstabs.q:1026 src/language/stats/crosstabs.q:1749
#: src/language/stats/examine.q:909 src/language/stats/frequencies.q:1222
#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
#: src/language/stats/regression.q:324
@@ -2290,15 +2290,15 @@
msgstr ""
#: src/language/stats/binomial.c:253 src/language/stats/chisquare.c:260
-#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1184
+#: src/language/stats/crosstabs.q:1144 src/language/stats/crosstabs.q:1185
msgid "Category"
msgstr ""
-#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:835
+#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:836
#: src/language/stats/examine.q:985 src/language/stats/frequencies.q:1518
#: src/language/stats/npar-summary.c:124 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:681 src/language/stats/t-test.q:704
-#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1367
+#: src/language/stats/t-test.q:680 src/language/stats/t-test.q:703
+#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1366
msgid "N"
msgstr ""
@@ -2347,10 +2347,10 @@
msgid "Chi-Square"
msgstr ""
-#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1119
+#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1120
#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:317 src/language/stats/t-test.q:981
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
+#: src/language/stats/regression.q:317 src/language/stats/t-test.q:980
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1265
msgid "df"
msgstr ""
@@ -2367,280 +2367,280 @@
msgid "Write mode ALL not allowed in general mode. Assuming WRITE=CELLS."
msgstr ""
-#: src/language/stats/crosstabs.q:337
+#: src/language/stats/crosstabs.q:338
msgid "Too many crosstabulation variables or dimensions."
msgstr ""
-#: src/language/stats/crosstabs.q:347
+#: src/language/stats/crosstabs.q:348
msgid "expecting BY"
msgstr ""
-#: src/language/stats/crosstabs.q:414
+#: src/language/stats/crosstabs.q:415
msgid "VARIABLES must be specified before TABLES."
msgstr ""
-#: src/language/stats/crosstabs.q:452
+#: src/language/stats/crosstabs.q:453
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr ""
-#: src/language/stats/crosstabs.q:820
+#: src/language/stats/crosstabs.q:821
msgid "Summary."
msgstr ""
-#: src/language/stats/crosstabs.q:822 src/language/stats/examine.q:973
+#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:973
msgid "Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:907
+#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:907
#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1519
msgid "Valid"
msgstr ""
-#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:908
+#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:908
#: src/language/stats/frequencies.q:1213 src/language/stats/frequencies.q:1520
#: src/ui/gui/var-sheet.c:73
msgid "Missing"
msgstr "Löse"
-#: src/language/stats/crosstabs.q:836 src/language/stats/examine.q:988
+#: src/language/stats/crosstabs.q:837 src/language/stats/examine.q:988
#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
#: src/language/stats/frequencies.q:1149
msgid "Percent"
msgstr "Prozent"
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1078
msgid "count"
msgstr ""
-#: src/language/stats/crosstabs.q:1078
+#: src/language/stats/crosstabs.q:1079
msgid "row %"
msgstr ""
-#: src/language/stats/crosstabs.q:1079
+#: src/language/stats/crosstabs.q:1080
msgid "column %"
msgstr ""
-#: src/language/stats/crosstabs.q:1080
+#: src/language/stats/crosstabs.q:1081
msgid "total %"
msgstr ""
-#: src/language/stats/crosstabs.q:1081
+#: src/language/stats/crosstabs.q:1082
msgid "expected"
msgstr ""
-#: src/language/stats/crosstabs.q:1082
+#: src/language/stats/crosstabs.q:1083
msgid "residual"
msgstr ""
-#: src/language/stats/crosstabs.q:1083
+#: src/language/stats/crosstabs.q:1084
msgid "std. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1084
+#: src/language/stats/crosstabs.q:1085
msgid "adj. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1115
msgid "Chi-square tests."
msgstr ""
-#: src/language/stats/crosstabs.q:1117 src/language/stats/crosstabs.q:1144
-#: src/language/stats/crosstabs.q:1164 src/language/stats/crosstabs.q:1185
+#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
+#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1186
#: src/language/stats/examine.q:1420
msgid "Statistic"
msgstr ""
-#: src/language/stats/crosstabs.q:1121
+#: src/language/stats/crosstabs.q:1122
msgid "Asymp. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1123
+#: src/language/stats/crosstabs.q:1124
msgid "Exact. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1125
+#: src/language/stats/crosstabs.q:1126
msgid "Exact. Sig. (1-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1140
+#: src/language/stats/crosstabs.q:1141
msgid "Symmetric measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1146 src/language/stats/crosstabs.q:1188
+#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
msgid "Asymp. Std. Error"
msgstr ""
-#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
+#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
msgid "Approx. T"
msgstr ""
-#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
+#: src/language/stats/crosstabs.q:1149 src/language/stats/crosstabs.q:1191
msgid "Approx. Sig."
msgstr ""
-#: src/language/stats/crosstabs.q:1159
+#: src/language/stats/crosstabs.q:1160
msgid "Risk estimate."
msgstr ""
-#: src/language/stats/crosstabs.q:1163
+#: src/language/stats/crosstabs.q:1164
#, c-format
msgid "95%% Confidence Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1166 src/language/stats/t-test.q:985
-#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
+#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1268
msgid "Lower"
msgstr ""
-#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:986
-#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
+#: src/language/stats/crosstabs.q:1168 src/language/stats/t-test.q:985
+#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
msgid "Upper"
msgstr ""
-#: src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1182
msgid "Directional measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1186 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1187 src/ui/gui/var-sheet.c:68
msgid "Type"
msgstr "Typ"
-#: src/language/stats/crosstabs.q:1940
+#: src/language/stats/crosstabs.q:1941
msgid "Pearson Chi-Square"
msgstr ""
-#: src/language/stats/crosstabs.q:1941
+#: src/language/stats/crosstabs.q:1942
msgid "Likelihood Ratio"
msgstr ""
-#: src/language/stats/crosstabs.q:1942
+#: src/language/stats/crosstabs.q:1943
msgid "Fisher's Exact Test"
msgstr ""
-#: src/language/stats/crosstabs.q:1943
+#: src/language/stats/crosstabs.q:1944
msgid "Continuity Correction"
msgstr ""
-#: src/language/stats/crosstabs.q:1944
+#: src/language/stats/crosstabs.q:1945
msgid "Linear-by-Linear Association"
msgstr ""
-#: src/language/stats/crosstabs.q:1981 src/language/stats/crosstabs.q:2051
-#: src/language/stats/crosstabs.q:2110
+#: src/language/stats/crosstabs.q:1982 src/language/stats/crosstabs.q:2052
+#: src/language/stats/crosstabs.q:2111
msgid "N of Valid Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:1997 src/language/stats/crosstabs.q:2126
+#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
msgid "Nominal by Nominal"
msgstr ""
-#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
+#: src/language/stats/crosstabs.q:1999 src/language/stats/crosstabs.q:2128
msgid "Ordinal by Ordinal"
msgstr ""
-#: src/language/stats/crosstabs.q:1999
+#: src/language/stats/crosstabs.q:2000
msgid "Interval by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2001
msgid "Measure of Agreement"
msgstr ""
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2006
msgid "Phi"
msgstr ""
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2007
msgid "Cramer's V"
msgstr ""
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2008
msgid "Contingency Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2009
msgid "Kendall's tau-b"
msgstr ""
-#: src/language/stats/crosstabs.q:2009
+#: src/language/stats/crosstabs.q:2010
msgid "Kendall's tau-c"
msgstr ""
-#: src/language/stats/crosstabs.q:2010
+#: src/language/stats/crosstabs.q:2011
msgid "Gamma"
msgstr ""
-#: src/language/stats/crosstabs.q:2011
+#: src/language/stats/crosstabs.q:2012
msgid "Spearman Correlation"
msgstr ""
-#: src/language/stats/crosstabs.q:2012
+#: src/language/stats/crosstabs.q:2013
msgid "Pearson's R"
msgstr ""
-#: src/language/stats/crosstabs.q:2013
+#: src/language/stats/crosstabs.q:2014
msgid "Kappa"
msgstr ""
-#: src/language/stats/crosstabs.q:2083
+#: src/language/stats/crosstabs.q:2084
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr ""
-#: src/language/stats/crosstabs.q:2086
+#: src/language/stats/crosstabs.q:2087
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr ""
-#: src/language/stats/crosstabs.q:2094
+#: src/language/stats/crosstabs.q:2095
#, c-format
msgid "For cohort %s = %g"
msgstr ""
-#: src/language/stats/crosstabs.q:2097
+#: src/language/stats/crosstabs.q:2098
#, c-format
msgid "For cohort %s = %.*s"
msgstr ""
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2129
msgid "Nominal by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2133
+#: src/language/stats/crosstabs.q:2134
msgid "Lambda"
msgstr ""
-#: src/language/stats/crosstabs.q:2134
+#: src/language/stats/crosstabs.q:2135
msgid "Goodman and Kruskal tau"
msgstr ""
-#: src/language/stats/crosstabs.q:2135
+#: src/language/stats/crosstabs.q:2136
msgid "Uncertainty Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2136
+#: src/language/stats/crosstabs.q:2137
msgid "Somers' d"
msgstr ""
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2138
msgid "Eta"
msgstr ""
-#: src/language/stats/crosstabs.q:2142
+#: src/language/stats/crosstabs.q:2143
msgid "Symmetric"
msgstr ""
-#: src/language/stats/crosstabs.q:2143 src/language/stats/crosstabs.q:2144
+#: src/language/stats/crosstabs.q:2144 src/language/stats/crosstabs.q:2145
#, c-format
msgid "%s Dependent"
msgstr ""
#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1525
#: src/language/stats/frequencies.q:125 src/language/stats/npar-summary.c:127
-#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:682
-#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:829
-#: src/language/stats/t-test.q:1167
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:704 src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:1166
msgid "Mean"
msgstr ""
@@ -2696,47 +2696,47 @@
msgid "Sum"
msgstr ""
-#: src/language/stats/descriptives.c:346
+#: src/language/stats/descriptives.c:347
#, c-format
msgid "Z-score variable name %s would be a duplicate variable name."
msgstr ""
-#: src/language/stats/descriptives.c:449
+#: src/language/stats/descriptives.c:450
msgid "expecting statistic name: reverting to default"
msgstr ""
-#: src/language/stats/descriptives.c:522
+#: src/language/stats/descriptives.c:523
msgid ""
"Ran out of generic names for Z-score variables. There are only 126 generic "
"names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
msgstr ""
-#: src/language/stats/descriptives.c:554
+#: src/language/stats/descriptives.c:555
msgid "Mapping of variables to corresponding Z-scores."
msgstr ""
-#: src/language/stats/descriptives.c:559
+#: src/language/stats/descriptives.c:560
msgid "Source"
msgstr ""
-#: src/language/stats/descriptives.c:560
+#: src/language/stats/descriptives.c:561
msgid "Target"
msgstr ""
-#: src/language/stats/descriptives.c:670
+#: src/language/stats/descriptives.c:671
#, c-format
msgid "Z-score of %s"
msgstr ""
-#: src/language/stats/descriptives.c:882
+#: src/language/stats/descriptives.c:883
msgid "Valid N"
msgstr ""
-#: src/language/stats/descriptives.c:883
+#: src/language/stats/descriptives.c:884
msgid "Missing N"
msgstr ""
-#: src/language/stats/descriptives.c:910
+#: src/language/stats/descriptives.c:911
#, c-format
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr ""
@@ -2803,9 +2803,9 @@
msgstr ""
#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:130
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:683
-#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:831
-#: src/language/stats/t-test.q:1168
+#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:682
+#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1167
msgid "Std. Deviation"
msgstr ""
@@ -3035,7 +3035,7 @@
"exactly %d values."
msgstr ""
-#: src/language/stats/npar.q:422 src/language/stats/t-test.q:485
+#: src/language/stats/npar.q:422 src/language/stats/t-test.q:484
#, c-format
msgid ""
"PAIRED was specified but the number of variables preceding WITH (%d) did not "
@@ -3081,7 +3081,7 @@
msgstr ""
#: src/language/stats/oneway.q:282 src/language/stats/regression.q:319
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
msgid "F"
msgstr ""
@@ -3135,13 +3135,13 @@
msgstr ""
#: src/language/stats/oneway.q:680 src/language/stats/regression.q:223
-#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
-#: src/language/stats/t-test.q:1265
+#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1264
msgid "t"
msgstr ""
-#: src/language/stats/oneway.q:682 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:682 src/language/stats/t-test.q:981
+#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
msgid "Sig. (2-tailed)"
msgstr ""
@@ -3258,7 +3258,7 @@
msgid "Coefficient Correlations"
msgstr ""
-#: src/language/stats/regression.q:1147
+#: src/language/stats/regression.q:1181
msgid "Dependent variable must be numeric."
msgstr ""
@@ -3282,115 +3282,115 @@
msgid "VARIABLES subcommand is not appropriate with PAIRS"
msgstr ""
-#: src/language/stats/t-test.q:335
+#: src/language/stats/t-test.q:334
msgid "One or more VARIABLES must be specified."
msgstr ""
-#: src/language/stats/t-test.q:379
+#: src/language/stats/t-test.q:378
#, c-format
msgid "Long string variable %s is not valid here."
msgstr ""
-#: src/language/stats/t-test.q:399 src/language/stats/t-test.q:413
+#: src/language/stats/t-test.q:398 src/language/stats/t-test.q:412
msgid ""
"When applying GROUPS to a string variable, two values must be specified."
msgstr ""
-#: src/language/stats/t-test.q:502
+#: src/language/stats/t-test.q:501
msgid "At least two variables must be specified on PAIRS."
msgstr ""
-#: src/language/stats/t-test.q:679
+#: src/language/stats/t-test.q:678
msgid "One-Sample Statistics"
msgstr ""
-#: 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:683 src/language/stats/t-test.q:706
+#: src/language/stats/t-test.q:831
msgid "SE. Mean"
msgstr ""
-#: src/language/stats/t-test.q:702
+#: src/language/stats/t-test.q:701
msgid "Group Statistics"
msgstr ""
-#: src/language/stats/t-test.q:826
+#: src/language/stats/t-test.q:825
msgid "Paired Sample Statistics"
msgstr ""
-#: src/language/stats/t-test.q:848 src/language/stats/t-test.q:1193
-#: src/language/stats/t-test.q:1384
+#: src/language/stats/t-test.q:847 src/language/stats/t-test.q:1192
+#: src/language/stats/t-test.q:1383
#, c-format
msgid "Pair %d"
msgstr ""
-#: src/language/stats/t-test.q:966
+#: src/language/stats/t-test.q:965
msgid "Independent Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:974
+#: src/language/stats/t-test.q:973
msgid "Levene's Test for Equality of Variances"
msgstr ""
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
msgid "t-test for Equality of Means"
msgstr ""
-#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1369
+#: src/language/stats/t-test.q:978 src/language/stats/t-test.q:1368
msgid "Sig."
msgstr ""
-#: src/language/stats/t-test.q:983 src/language/stats/t-test.q:1268
+#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1267
msgid "Mean Difference"
msgstr ""
-#: src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:983
msgid "Std. Error Difference"
msgstr ""
-#: src/language/stats/t-test.q:989 src/language/stats/t-test.q:1164
-#: src/language/stats/t-test.q:1260
+#: src/language/stats/t-test.q:988 src/language/stats/t-test.q:1163
+#: src/language/stats/t-test.q:1259
#, c-format
msgid "%g%% Confidence Interval of the Difference"
msgstr ""
-#: src/language/stats/t-test.q:1044
+#: src/language/stats/t-test.q:1043
msgid "Equal variances assumed"
msgstr ""
-#: src/language/stats/t-test.q:1096
+#: src/language/stats/t-test.q:1095
msgid "Equal variances not assumed"
msgstr ""
-#: src/language/stats/t-test.q:1154
+#: src/language/stats/t-test.q:1153
msgid "Paired Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:1157
+#: src/language/stats/t-test.q:1156
msgid "Paired Differences"
msgstr ""
-#: src/language/stats/t-test.q:1169
+#: src/language/stats/t-test.q:1168
msgid "Std. Error Mean"
msgstr ""
-#: src/language/stats/t-test.q:1249
+#: src/language/stats/t-test.q:1248
msgid "One-Sample Test"
msgstr ""
-#: src/language/stats/t-test.q:1254
+#: src/language/stats/t-test.q:1253
#, c-format
msgid "Test Value = %f"
msgstr ""
-#: src/language/stats/t-test.q:1364
+#: src/language/stats/t-test.q:1363
msgid "Paired Samples Correlations"
msgstr ""
-#: src/language/stats/t-test.q:1368
+#: src/language/stats/t-test.q:1367
msgid "Correlation"
msgstr ""
-#: src/language/stats/t-test.q:1387
+#: src/language/stats/t-test.q:1386
#, c-format
msgid "%s & %s"
msgstr ""
@@ -4134,105 +4134,122 @@
msgid "Style of bevel around the custom entry button"
msgstr ""
-#: src/ui/gui/data-editor.c:159
+#: src/ui/gui/data-editor.c:161
#, fuzzy
msgid "Weights"
msgstr "Rechts"
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
msgid "Weight cases by variable"
msgstr ""
-#: src/ui/gui/data-editor.c:169 src/ui/gui/data-editor.glade:294
+#: src/ui/gui/data-editor.c:171 src/ui/gui/data-editor.glade:293
msgid "Transpose"
msgstr ""
-#: src/ui/gui/data-editor.c:170
+#: src/ui/gui/data-editor.c:172
msgid "Transpose the cases with the variables"
msgstr ""
-#: src/ui/gui/data-editor.c:494
+#: src/ui/gui/data-editor.c:183
+#, fuzzy
+msgid "Split"
+msgstr "Alle Datei"
+
+#: src/ui/gui/data-editor.c:184
+msgid "Split the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:194
+msgid "Sort"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:195
+msgid "Sort cases in the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:531
msgid "Font Selection"
msgstr "Schriftwahlung"
-#: src/ui/gui/data-editor.c:672
+#: src/ui/gui/data-editor.c:709
msgid "No Split"
msgstr ""
-#: src/ui/gui/data-editor.c:680
+#: src/ui/gui/data-editor.c:717
#, fuzzy
msgid "Split by "
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.c:705
+#: src/ui/gui/data-editor.c:742
msgid "Filter off"
msgstr ""
-#: src/ui/gui/data-editor.c:718
+#: src/ui/gui/data-editor.c:755
#, c-format
msgid "Filter by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:736
+#: src/ui/gui/data-editor.c:773
msgid "Weights off"
msgstr ""
-#: src/ui/gui/data-editor.c:749
+#: src/ui/gui/data-editor.c:786
#, c-format
msgid "Weight by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:772 src/ui/gui/data-editor.c:983
-#: src/ui/gui/data-editor.glade:414
+#: src/ui/gui/data-editor.c:809 src/ui/gui/data-editor.c:1020
+#: src/ui/gui/data-editor.glade:412
msgid "Open"
msgstr "Ãffen"
-#: src/ui/gui/data-editor.c:773
+#: src/ui/gui/data-editor.c:810
msgid "Open a data file"
msgstr ""
-#: src/ui/gui/data-editor.c:781 src/ui/gui/data-editor.c:888
-#: src/ui/gui/data-editor.glade:424
+#: src/ui/gui/data-editor.c:818 src/ui/gui/data-editor.c:925
+#: src/ui/gui/data-editor.glade:422
msgid "Save"
msgstr "Speichen"
-#: src/ui/gui/data-editor.c:782 src/ui/gui/data-editor.c:792
+#: src/ui/gui/data-editor.c:819 src/ui/gui/data-editor.c:829
#, fuzzy
msgid "Save data to file"
msgstr "Speichern unter"
-#: src/ui/gui/data-editor.c:791
+#: src/ui/gui/data-editor.c:828
#, fuzzy
msgid "Save As"
msgstr "Speichern unter"
-#: src/ui/gui/data-editor.c:800
+#: src/ui/gui/data-editor.c:837
msgid "New"
msgstr ""
-#: src/ui/gui/data-editor.c:801
+#: src/ui/gui/data-editor.c:838
msgid "New data file"
msgstr ""
-#: src/ui/gui/data-editor.c:896 src/ui/gui/data-editor.c:991
+#: src/ui/gui/data-editor.c:933 src/ui/gui/data-editor.c:1028
msgid "System Files (*.sav)"
msgstr "Systemedatein (*.sav)"
-#: src/ui/gui/data-editor.c:902 src/ui/gui/data-editor.c:997
+#: src/ui/gui/data-editor.c:939 src/ui/gui/data-editor.c:1034
msgid "Portable Files (*.por) "
msgstr "Tragbardatein (*.por)"
-#: src/ui/gui/data-editor.c:908 src/ui/gui/data-editor.c:1003
+#: src/ui/gui/data-editor.c:945 src/ui/gui/data-editor.c:1040
#: src/ui/gui/syntax-editor.c:141 src/ui/gui/syntax-editor.c:524
msgid "All Files"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.c:916
+#: src/ui/gui/data-editor.c:953
#, fuzzy
msgid "System File"
msgstr "Systemedatein (*.sav)"
-#: src/ui/gui/data-editor.c:921
+#: src/ui/gui/data-editor.c:958
#, fuzzy
msgid "Portable File"
msgstr "Tragbardatein (*.por)"
@@ -4291,8 +4308,8 @@
msgid "Grid Lines"
msgstr "Glitten"
-#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:614
-#: src/ui/gui/data-editor.glade:1324 src/ui/gui/data-editor.glade:1502
+#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:623
+#: src/ui/gui/data-editor.glade:1333 src/ui/gui/data-editor.glade:1511
msgid "Value Labels"
msgstr "Werten"
@@ -4300,11 +4317,11 @@
msgid "Data"
msgstr "Daten"
-#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:497
+#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:507
msgid "Variables"
msgstr "Variableansicht"
-#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:550
+#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:560
#, fuzzy
msgid "Insert Variable"
msgstr "Variableansicht"
@@ -4314,230 +4331,233 @@
msgid "Insert Cases"
msgstr "_Stecken"
-#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:486
-#: src/ui/gui/data-editor.glade:1868
+#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:496
+#: src/ui/gui/data-editor.glade:1877
msgid "Go To Case"
msgstr ""
-#: src/ui/gui/data-editor.glade:286 src/ui/gui/data-editor.glade:1933
+#: src/ui/gui/data-editor.glade:285 src/ui/gui/data-editor.glade:1942
msgid "Sort Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:302
+#: src/ui/gui/data-editor.glade:301
msgid "Restructure"
msgstr ""
-#: src/ui/gui/data-editor.glade:310
+#: src/ui/gui/data-editor.glade:309
#, fuzzy
msgid "Merge Files"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.glade:318
+#: src/ui/gui/data-editor.glade:317
msgid "Aggregate"
msgstr ""
-#: src/ui/gui/data-editor.glade:332 src/ui/gui/data-editor.glade:571
+#: src/ui/gui/data-editor.glade:330 src/ui/gui/data-editor.glade:580
#, fuzzy
msgid "Split File"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.glade:340 src/ui/gui/data-editor.glade:594
+#: src/ui/gui/data-editor.glade:338 src/ui/gui/data-editor.glade:603
msgid "Select Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:347 src/ui/gui/data-editor.glade:582
+#: src/ui/gui/data-editor.glade:345 src/ui/gui/data-editor.glade:591
msgid "Weight Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:358 src/ui/gui/syntax-editor.glade:233
+#: src/ui/gui/data-editor.glade:356 src/ui/gui/syntax-editor.glade:233
#, fuzzy
msgid "_Windows"
msgstr "_Datei"
-#: src/ui/gui/data-editor.glade:365 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:363 src/ui/gui/syntax-editor.glade:242
msgid "_Minimise All Windows"
msgstr ""
-#: src/ui/gui/data-editor.glade:376 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:374 src/ui/gui/syntax-editor.glade:254
msgid "_Help"
msgstr "_Hilfe"
-#: src/ui/gui/data-editor.glade:383 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:381 src/ui/gui/syntax-editor.glade:263
msgid "_Reference Manual"
msgstr ""
-#: src/ui/gui/data-editor.glade:390 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:388 src/ui/gui/syntax-editor.glade:271
msgid "_About"
msgstr "_Info"
-#: src/ui/gui/data-editor.glade:435
+#: src/ui/gui/data-editor.glade:433
msgid "Print"
msgstr "Drucken"
-#: src/ui/gui/data-editor.glade:455
+#: src/ui/gui/data-editor.glade:444
+msgid "Recall"
+msgstr ""
+
+#: src/ui/gui/data-editor.glade:465
msgid "Undo"
msgstr ""
-#: src/ui/gui/data-editor.glade:466
+#: src/ui/gui/data-editor.glade:476
msgid "Redo"
msgstr ""
-#: src/ui/gui/data-editor.glade:518
+#: src/ui/gui/data-editor.glade:528
msgid "Find"
msgstr ""
-#: src/ui/gui/data-editor.glade:538
+#: src/ui/gui/data-editor.glade:548
#, fuzzy
msgid "Insert Case"
msgstr "_Stecken"
-#: src/ui/gui/data-editor.glade:626
+#: src/ui/gui/data-editor.glade:635
msgid "Use Sets"
msgstr ""
-#: src/ui/gui/data-editor.glade:708
+#: src/ui/gui/data-editor.glade:717
msgid "Data View"
msgstr "Datenansicht"
-#: src/ui/gui/data-editor.glade:735
+#: src/ui/gui/data-editor.glade:744
msgid "Variable View"
msgstr "Variableansicht"
-#: src/ui/gui/data-editor.glade:765
+#: src/ui/gui/data-editor.glade:774
msgid "Information Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:784
+#: src/ui/gui/data-editor.glade:793
msgid "Processor Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:809
+#: src/ui/gui/data-editor.glade:818
msgid "OMS Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:834
+#: src/ui/gui/data-editor.glade:843
msgid "Case Counter Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:859
+#: src/ui/gui/data-editor.glade:868
msgid "Filter Use Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:885
+#: src/ui/gui/data-editor.glade:894
msgid "Weight Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:911
+#: src/ui/gui/data-editor.glade:920
#, fuzzy
msgid "Split File Status Area"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.glade:941
+#: src/ui/gui/data-editor.glade:950
msgid "Variable Type"
msgstr "Variableansicht"
-#: src/ui/gui/data-editor.glade:976 src/ui/gui/psppire-var-store.c:475
+#: src/ui/gui/data-editor.glade:985 src/ui/gui/psppire-var-store.c:475
msgid "Comma"
msgstr "Komma"
-#: src/ui/gui/data-editor.glade:991 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:1000 src/ui/gui/psppire-var-store.c:476
msgid "Dot"
msgstr "Punkt"
-#: src/ui/gui/data-editor.glade:1006
+#: src/ui/gui/data-editor.glade:1015
msgid "Scientific notation"
msgstr "Wissenschaftlichnotation"
-#: src/ui/gui/data-editor.glade:1021 src/ui/gui/psppire-var-store.c:478
+#: src/ui/gui/data-editor.glade:1030 src/ui/gui/psppire-var-store.c:478
msgid "Date"
msgstr "Datum"
-#: src/ui/gui/data-editor.glade:1036 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1045 src/ui/gui/psppire-var-store.c:479
msgid "Dollar"
msgstr "Euro"
-#: src/ui/gui/data-editor.glade:1051
+#: src/ui/gui/data-editor.glade:1060
msgid "Custom currency"
msgstr "Spezialwährung"
-#: src/ui/gui/data-editor.glade:1143
+#: src/ui/gui/data-editor.glade:1152
msgid "positive"
msgstr "positiv"
-#: src/ui/gui/data-editor.glade:1149
+#: src/ui/gui/data-editor.glade:1158
msgid "negative"
msgstr "negativ"
-#: src/ui/gui/data-editor.glade:1162
+#: src/ui/gui/data-editor.glade:1171
msgid "Sample"
msgstr "Muster"
-#: src/ui/gui/data-editor.glade:1212
+#: src/ui/gui/data-editor.glade:1221
msgid "Width:"
msgstr "GroÃe:"
-#: src/ui/gui/data-editor.glade:1256
+#: src/ui/gui/data-editor.glade:1265
msgid "Decimal Places:"
msgstr "Dezimalstellen:"
-#: src/ui/gui/data-editor.glade:1422
+#: src/ui/gui/data-editor.glade:1431
msgid "Value Label:"
msgstr "Kennsatz:"
-#: src/ui/gui/data-editor.glade:1435
+#: src/ui/gui/data-editor.glade:1444
msgid "Value:"
msgstr "Werte:"
-#: src/ui/gui/data-editor.glade:1566
+#: src/ui/gui/data-editor.glade:1575
msgid "Missing Values"
msgstr "Lösewerten"
-#: src/ui/gui/data-editor.glade:1584
+#: src/ui/gui/data-editor.glade:1593
msgid "_Range plus one optional discrete missing value"
msgstr "Wertebereich und ein optional Lösewert"
-#: src/ui/gui/data-editor.glade:1608
+#: src/ui/gui/data-editor.glade:1617
msgid "_Low:"
msgstr "_Tief:"
-#: src/ui/gui/data-editor.glade:1637
+#: src/ui/gui/data-editor.glade:1646
msgid "_High:"
msgstr "_Hoch:"
-#: src/ui/gui/data-editor.glade:1678
+#: src/ui/gui/data-editor.glade:1687
msgid "Di_screte value:"
msgstr "Di_skretwerte"
-#: src/ui/gui/data-editor.glade:1725
+#: src/ui/gui/data-editor.glade:1734
msgid "_No missing values"
msgstr "_Kein Lösewerten"
-#: src/ui/gui/data-editor.glade:1742
+#: src/ui/gui/data-editor.glade:1751
msgid "_Discrete missing values"
msgstr "_Diskret Lösewerten"
-#: src/ui/gui/data-editor.glade:1885
+#: src/ui/gui/data-editor.glade:1894
msgid "Case Number:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1994
+#: src/ui/gui/data-editor.glade:2003 src/ui/gui/psppire.glade:1187
msgid "Sort by:"
msgstr ""
-#: src/ui/gui/data-editor.glade:2043 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2052 src/ui/gui/psppire.glade:1240
msgid "Ascending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2056 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2065 src/ui/gui/psppire.glade:1250
msgid "Descending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2072
+#: src/ui/gui/data-editor.glade:2081 src/ui/gui/psppire.glade:1266
msgid "Sort Order"
msgstr ""
-#: src/ui/gui/dict-display.c:92 src/ui/gui/sort-cases-dialog.c:339
-#: src/ui/gui/transpose-dialog.c:123
+#: src/ui/gui/dict-display.c:92
msgid "Var"
msgstr ""
@@ -4601,12 +4621,12 @@
msgid "%d"
msgstr ""
-#: src/ui/gui/psppire.glade:9
+#: src/ui/gui/psppire.glade:11
#, fuzzy
msgid "This is pre-alpha software. Use at your own risk."
msgstr "Diese Software ist vor-Alpha. Wahrscheinlich Funktioniert es nicht."
-#: src/ui/gui/psppire.glade:10
+#: src/ui/gui/psppire.glade:12
msgid ""
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"
@@ -4624,11 +4644,12 @@
" 02110-1301, USA.\n"
msgstr ""
-#: src/ui/gui/psppire.glade:90 src/ui/gui/psppire.glade:170
+#: src/ui/gui/psppire.glade:89 src/ui/gui/psppire.glade:170
+#: src/ui/gui/weight-cases-dialog.c:85
msgid "Do not weight cases"
msgstr ""
-#: src/ui/gui/psppire.glade:100
+#: src/ui/gui/psppire.glade:99
msgid "Weight cases by"
msgstr ""
@@ -4641,16 +4662,118 @@
msgid "Current Status: "
msgstr ""
-#: src/ui/gui/psppire.glade:257
+#: src/ui/gui/psppire.glade:258
#, fuzzy
msgid "Name Variable:"
msgstr "Variableansicht"
-#: src/ui/gui/psppire.glade:290
+#: src/ui/gui/psppire.glade:291
#, fuzzy
msgid "Variable(s):"
msgstr "Variableansicht"
+#: src/ui/gui/psppire.glade:444
+msgid "Analyse all cases. Do not create groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:454
+msgid "Compare groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:467
+msgid "Organise output by groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:514
+msgid "Groups based on:"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:579
+msgid "Sort the file by grouping variables."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:590
+msgid "File is already sorted."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:634
+msgid "Current Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:642
+msgid "Analysis by groups is off"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:740
+#, fuzzy
+msgid "All Cases"
+msgstr "Alle Datei"
+
+#: src/ui/gui/psppire.glade:761
+msgid "If condition is satisfied"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:780
+msgid "If..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:816
+msgid "Random Sample of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:830
+#, fuzzy
+msgid "Sample..."
+msgstr "Muster"
+
+#: src/ui/gui/psppire.glade:841
+msgid "Approximately 23% of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:876
+msgid "Based on time or case range"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:890
+msgid "Range..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:901
+msgid "2 thru 3"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:936
+#, fuzzy
+msgid "Use filter variable"
+msgstr "Variableansicht"
+
+#: src/ui/gui/psppire.glade:983
+#, fuzzy
+msgid "Select"
+msgstr "Schriftwahlung"
+
+#: src/ui/gui/psppire.glade:1012
+#, fuzzy
+msgid "Filtered"
+msgstr "Datei:"
+
+#: src/ui/gui/psppire.glade:1022
+msgid "Deleted"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1039
+#, fuzzy
+msgid "Unselected Cases Are"
+msgstr "_Stecken"
+
+#: src/ui/gui/psppire.glade:1067
+msgid "Curent Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1079
+msgid "Do not filter cases"
+msgstr ""
+
#: src/ui/gui/psppire-var-store.c:470
msgid "None"
msgstr "Keine"
@@ -4663,10 +4786,6 @@
msgid "Custom"
msgstr "Spezial"
-#: src/ui/gui/sort-cases-dialog.c:367
-msgid "Criteria"
-msgstr ""
-
#: src/ui/gui/syntax-editor.c:80
#, c-format
msgid "Save contents of syntax editor to %s?"
@@ -4759,6 +4878,11 @@
msgid "Scale"
msgstr "Skalwert"
+#: src/ui/gui/weight-cases-dialog.c:91
+#, c-format
+msgid "Weight cases by %s"
+msgstr ""
+
#: src/ui/gui/window-manager.c:141
#, fuzzy, c-format
msgid "Syntax%d"
Index: po/pspp.pot
===================================================================
RCS file: /sources/pspp/pspp/po/pspp.pot,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -b -r1.127 -r1.128
--- po/pspp.pot 30 Mar 2007 23:39:33 -0000 1.127
+++ po/pspp.pot 2 Apr 2007 08:55:51 -0000 1.128
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2007-03-26 18:17+0800\n"
+"POT-Creation-Date: 2007-04-01 13:38+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <address@hidden>\n"
"Language-Team: LANGUAGE <address@hidden>\n"
@@ -175,13 +175,13 @@
msgid "Month number %f is not between 1 and 12."
msgstr ""
-#: src/data/dictionary.c:717
+#: src/data/dictionary.c:724
msgid ""
"At least one case in the data file had a weight value that was user-missing, "
"system-missing, zero, or negative. These case(s) were ignored."
msgstr ""
-#: src/data/dictionary.c:1238
+#: src/data/dictionary.c:1245
msgid "Variable suffix too large."
msgstr ""
@@ -308,13 +308,13 @@
msgstr ""
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1066
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1075
#: src/ui/gui/psppire-var-store.c:481
msgid "String"
msgstr ""
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:962
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:971
#: src/ui/gui/psppire-var-store.c:474
msgid "Numeric"
msgstr ""
@@ -821,15 +821,15 @@
msgid "`%s' may not be used as a variable name because it is a reserved word."
msgstr ""
-#: src/data/variable.c:964
+#: src/data/variable.c:966
msgid "ordinary"
msgstr ""
-#: src/data/variable.c:966
+#: src/data/variable.c:968
msgid "system"
msgstr ""
-#: src/data/variable.c:968
+#: src/data/variable.c:970
msgid "scratch"
msgstr ""
@@ -1031,7 +1031,7 @@
#: src/language/dictionary/sys-file-info.c:160
#: src/language/dictionary/sys-file-info.c:395
#: src/language/dictionary/sys-file-info.c:620
-#: src/language/stats/descriptives.c:879
+#: src/language/stats/descriptives.c:880
msgid "Variable"
msgstr ""
@@ -1286,7 +1286,7 @@
"REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr ""
-#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:364
+#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:365
msgid "No variables specified."
msgstr ""
@@ -1382,7 +1382,7 @@
msgstr[1] ""
#: src/language/data-io/print-space.c:75 src/language/lexer/lexer.c:465
-#: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:61
msgid "expecting end of command"
msgstr ""
@@ -1421,7 +1421,7 @@
"will be made permanent."
msgstr ""
-#: src/language/dictionary/delete-variables.c:48
+#: src/language/dictionary/delete-variables.c:49
msgid ""
"DELETE VARIABLES may not be used to delete all variables from the active "
"file dictionary. Use NEW FILE instead."
@@ -1570,8 +1570,8 @@
#: src/language/dictionary/split-file.c:86
#: src/language/dictionary/sys-file-info.c:549
-#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
-#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1187
+#: src/language/stats/crosstabs.q:1119 src/language/stats/crosstabs.q:1146
+#: src/language/stats/crosstabs.q:1166 src/language/stats/crosstabs.q:1188
#: src/language/stats/examine.q:1189 src/language/stats/frequencies.q:1145
#: src/language/stats/frequencies.q:1269
msgid "Value"
@@ -2115,57 +2115,57 @@
msgid "expecting number or data string"
msgstr ""
-#: src/language/lexer/variable-parser.c:54
+#: src/language/lexer/variable-parser.c:64
msgid "expecting variable name"
msgstr ""
-#: src/language/lexer/variable-parser.c:64
+#: src/language/lexer/variable-parser.c:74
#, c-format
msgid "%s is not a variable name."
msgstr ""
-#: src/language/lexer/variable-parser.c:173
+#: src/language/lexer/variable-parser.c:183
#, 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:176
+#: src/language/lexer/variable-parser.c:186
#, 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:180
+#: src/language/lexer/variable-parser.c:190
#, c-format
msgid "Scratch variables (such as %s) are not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:184
+#: src/language/lexer/variable-parser.c:194
#, 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:190
+#: src/language/lexer/variable-parser.c:200
#, 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 omttied from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:195
+#: src/language/lexer/variable-parser.c:205
#, c-format
msgid "Variable %s appears twice in variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:308
+#: src/language/lexer/variable-parser.c:318
#, c-format
msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
msgstr ""
-#: src/language/lexer/variable-parser.c:316
+#: src/language/lexer/variable-parser.c:326
#, c-format
msgid ""
"When using the TO keyword to specify several variables, both variables must "
@@ -2173,19 +2173,19 @@
"system variables. %s is a %s variable, whereas %s is %s."
msgstr ""
-#: src/language/lexer/variable-parser.c:390
+#: src/language/lexer/variable-parser.c:400
msgid "incorrect use of TO convention"
msgstr ""
-#: src/language/lexer/variable-parser.c:433
+#: src/language/lexer/variable-parser.c:443
msgid "Scratch variables not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:455
+#: src/language/lexer/variable-parser.c:465
msgid "Prefixes don't match in use of TO convention."
msgstr ""
-#: src/language/lexer/variable-parser.c:460
+#: src/language/lexer/variable-parser.c:470
msgid "Bad bounds in use of TO convention."
msgstr ""
@@ -2243,17 +2243,17 @@
"contains the aggregate variables and the break variables."
msgstr ""
-#: src/language/stats/autorecode.c:135
+#: src/language/stats/autorecode.c:136
#, c-format
msgid "Source variable count (%u) does not match target variable count (%u)."
msgstr ""
-#: src/language/stats/autorecode.c:163
+#: src/language/stats/autorecode.c:164
#, c-format
msgid "Target variable %s duplicates existing variable %s."
msgstr ""
-#: src/language/stats/autorecode.c:170
+#: src/language/stats/autorecode.c:171
#, c-format
msgid "Duplicate variable name %s among target variables."
msgstr ""
@@ -2276,8 +2276,8 @@
msgstr ""
#: src/language/stats/binomial.c:208 src/language/stats/chisquare.c:237
-#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:825
-#: src/language/stats/crosstabs.q:1025 src/language/stats/crosstabs.q:1748
+#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:826
+#: src/language/stats/crosstabs.q:1026 src/language/stats/crosstabs.q:1749
#: src/language/stats/examine.q:909 src/language/stats/frequencies.q:1222
#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
#: src/language/stats/regression.q:324
@@ -2285,15 +2285,15 @@
msgstr ""
#: src/language/stats/binomial.c:253 src/language/stats/chisquare.c:260
-#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1184
+#: src/language/stats/crosstabs.q:1144 src/language/stats/crosstabs.q:1185
msgid "Category"
msgstr ""
-#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:835
+#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:836
#: src/language/stats/examine.q:985 src/language/stats/frequencies.q:1518
#: src/language/stats/npar-summary.c:124 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:681 src/language/stats/t-test.q:704
-#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1367
+#: src/language/stats/t-test.q:680 src/language/stats/t-test.q:703
+#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1366
msgid "N"
msgstr ""
@@ -2342,10 +2342,10 @@
msgid "Chi-Square"
msgstr ""
-#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1119
+#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1120
#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:317 src/language/stats/t-test.q:981
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
+#: src/language/stats/regression.q:317 src/language/stats/t-test.q:980
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1265
msgid "df"
msgstr ""
@@ -2362,280 +2362,280 @@
msgid "Write mode ALL not allowed in general mode. Assuming WRITE=CELLS."
msgstr ""
-#: src/language/stats/crosstabs.q:337
+#: src/language/stats/crosstabs.q:338
msgid "Too many crosstabulation variables or dimensions."
msgstr ""
-#: src/language/stats/crosstabs.q:347
+#: src/language/stats/crosstabs.q:348
msgid "expecting BY"
msgstr ""
-#: src/language/stats/crosstabs.q:414
+#: src/language/stats/crosstabs.q:415
msgid "VARIABLES must be specified before TABLES."
msgstr ""
-#: src/language/stats/crosstabs.q:452
+#: src/language/stats/crosstabs.q:453
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr ""
-#: src/language/stats/crosstabs.q:820
+#: src/language/stats/crosstabs.q:821
msgid "Summary."
msgstr ""
-#: src/language/stats/crosstabs.q:822 src/language/stats/examine.q:973
+#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:973
msgid "Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:907
+#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:907
#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1519
msgid "Valid"
msgstr ""
-#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:908
+#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:908
#: src/language/stats/frequencies.q:1213 src/language/stats/frequencies.q:1520
#: src/ui/gui/var-sheet.c:73
msgid "Missing"
msgstr ""
-#: src/language/stats/crosstabs.q:836 src/language/stats/examine.q:988
+#: src/language/stats/crosstabs.q:837 src/language/stats/examine.q:988
#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
#: src/language/stats/frequencies.q:1149
msgid "Percent"
msgstr ""
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1078
msgid "count"
msgstr ""
-#: src/language/stats/crosstabs.q:1078
+#: src/language/stats/crosstabs.q:1079
msgid "row %"
msgstr ""
-#: src/language/stats/crosstabs.q:1079
+#: src/language/stats/crosstabs.q:1080
msgid "column %"
msgstr ""
-#: src/language/stats/crosstabs.q:1080
+#: src/language/stats/crosstabs.q:1081
msgid "total %"
msgstr ""
-#: src/language/stats/crosstabs.q:1081
+#: src/language/stats/crosstabs.q:1082
msgid "expected"
msgstr ""
-#: src/language/stats/crosstabs.q:1082
+#: src/language/stats/crosstabs.q:1083
msgid "residual"
msgstr ""
-#: src/language/stats/crosstabs.q:1083
+#: src/language/stats/crosstabs.q:1084
msgid "std. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1084
+#: src/language/stats/crosstabs.q:1085
msgid "adj. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1115
msgid "Chi-square tests."
msgstr ""
-#: src/language/stats/crosstabs.q:1117 src/language/stats/crosstabs.q:1144
-#: src/language/stats/crosstabs.q:1164 src/language/stats/crosstabs.q:1185
+#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
+#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1186
#: src/language/stats/examine.q:1420
msgid "Statistic"
msgstr ""
-#: src/language/stats/crosstabs.q:1121
+#: src/language/stats/crosstabs.q:1122
msgid "Asymp. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1123
+#: src/language/stats/crosstabs.q:1124
msgid "Exact. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1125
+#: src/language/stats/crosstabs.q:1126
msgid "Exact. Sig. (1-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1140
+#: src/language/stats/crosstabs.q:1141
msgid "Symmetric measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1146 src/language/stats/crosstabs.q:1188
+#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
msgid "Asymp. Std. Error"
msgstr ""
-#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
+#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
msgid "Approx. T"
msgstr ""
-#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
+#: src/language/stats/crosstabs.q:1149 src/language/stats/crosstabs.q:1191
msgid "Approx. Sig."
msgstr ""
-#: src/language/stats/crosstabs.q:1159
+#: src/language/stats/crosstabs.q:1160
msgid "Risk estimate."
msgstr ""
-#: src/language/stats/crosstabs.q:1163
+#: src/language/stats/crosstabs.q:1164
#, c-format
msgid "95%% Confidence Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1166 src/language/stats/t-test.q:985
-#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
+#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1268
msgid "Lower"
msgstr ""
-#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:986
-#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
+#: src/language/stats/crosstabs.q:1168 src/language/stats/t-test.q:985
+#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
msgid "Upper"
msgstr ""
-#: src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1182
msgid "Directional measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1186 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1187 src/ui/gui/var-sheet.c:68
msgid "Type"
msgstr ""
-#: src/language/stats/crosstabs.q:1940
+#: src/language/stats/crosstabs.q:1941
msgid "Pearson Chi-Square"
msgstr ""
-#: src/language/stats/crosstabs.q:1941
+#: src/language/stats/crosstabs.q:1942
msgid "Likelihood Ratio"
msgstr ""
-#: src/language/stats/crosstabs.q:1942
+#: src/language/stats/crosstabs.q:1943
msgid "Fisher's Exact Test"
msgstr ""
-#: src/language/stats/crosstabs.q:1943
+#: src/language/stats/crosstabs.q:1944
msgid "Continuity Correction"
msgstr ""
-#: src/language/stats/crosstabs.q:1944
+#: src/language/stats/crosstabs.q:1945
msgid "Linear-by-Linear Association"
msgstr ""
-#: src/language/stats/crosstabs.q:1981 src/language/stats/crosstabs.q:2051
-#: src/language/stats/crosstabs.q:2110
+#: src/language/stats/crosstabs.q:1982 src/language/stats/crosstabs.q:2052
+#: src/language/stats/crosstabs.q:2111
msgid "N of Valid Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:1997 src/language/stats/crosstabs.q:2126
+#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
msgid "Nominal by Nominal"
msgstr ""
-#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
+#: src/language/stats/crosstabs.q:1999 src/language/stats/crosstabs.q:2128
msgid "Ordinal by Ordinal"
msgstr ""
-#: src/language/stats/crosstabs.q:1999
+#: src/language/stats/crosstabs.q:2000
msgid "Interval by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2001
msgid "Measure of Agreement"
msgstr ""
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2006
msgid "Phi"
msgstr ""
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2007
msgid "Cramer's V"
msgstr ""
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2008
msgid "Contingency Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2009
msgid "Kendall's tau-b"
msgstr ""
-#: src/language/stats/crosstabs.q:2009
+#: src/language/stats/crosstabs.q:2010
msgid "Kendall's tau-c"
msgstr ""
-#: src/language/stats/crosstabs.q:2010
+#: src/language/stats/crosstabs.q:2011
msgid "Gamma"
msgstr ""
-#: src/language/stats/crosstabs.q:2011
+#: src/language/stats/crosstabs.q:2012
msgid "Spearman Correlation"
msgstr ""
-#: src/language/stats/crosstabs.q:2012
+#: src/language/stats/crosstabs.q:2013
msgid "Pearson's R"
msgstr ""
-#: src/language/stats/crosstabs.q:2013
+#: src/language/stats/crosstabs.q:2014
msgid "Kappa"
msgstr ""
-#: src/language/stats/crosstabs.q:2083
+#: src/language/stats/crosstabs.q:2084
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr ""
-#: src/language/stats/crosstabs.q:2086
+#: src/language/stats/crosstabs.q:2087
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr ""
-#: src/language/stats/crosstabs.q:2094
+#: src/language/stats/crosstabs.q:2095
#, c-format
msgid "For cohort %s = %g"
msgstr ""
-#: src/language/stats/crosstabs.q:2097
+#: src/language/stats/crosstabs.q:2098
#, c-format
msgid "For cohort %s = %.*s"
msgstr ""
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2129
msgid "Nominal by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2133
+#: src/language/stats/crosstabs.q:2134
msgid "Lambda"
msgstr ""
-#: src/language/stats/crosstabs.q:2134
+#: src/language/stats/crosstabs.q:2135
msgid "Goodman and Kruskal tau"
msgstr ""
-#: src/language/stats/crosstabs.q:2135
+#: src/language/stats/crosstabs.q:2136
msgid "Uncertainty Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2136
+#: src/language/stats/crosstabs.q:2137
msgid "Somers' d"
msgstr ""
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2138
msgid "Eta"
msgstr ""
-#: src/language/stats/crosstabs.q:2142
+#: src/language/stats/crosstabs.q:2143
msgid "Symmetric"
msgstr ""
-#: src/language/stats/crosstabs.q:2143 src/language/stats/crosstabs.q:2144
+#: src/language/stats/crosstabs.q:2144 src/language/stats/crosstabs.q:2145
#, c-format
msgid "%s Dependent"
msgstr ""
#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1525
#: src/language/stats/frequencies.q:125 src/language/stats/npar-summary.c:127
-#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:682
-#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:829
-#: src/language/stats/t-test.q:1167
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:704 src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:1166
msgid "Mean"
msgstr ""
@@ -2691,47 +2691,47 @@
msgid "Sum"
msgstr ""
-#: src/language/stats/descriptives.c:346
+#: src/language/stats/descriptives.c:347
#, c-format
msgid "Z-score variable name %s would be a duplicate variable name."
msgstr ""
-#: src/language/stats/descriptives.c:449
+#: src/language/stats/descriptives.c:450
msgid "expecting statistic name: reverting to default"
msgstr ""
-#: src/language/stats/descriptives.c:522
+#: src/language/stats/descriptives.c:523
msgid ""
"Ran out of generic names for Z-score variables. There are only 126 generic "
"names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
msgstr ""
-#: src/language/stats/descriptives.c:554
+#: src/language/stats/descriptives.c:555
msgid "Mapping of variables to corresponding Z-scores."
msgstr ""
-#: src/language/stats/descriptives.c:559
+#: src/language/stats/descriptives.c:560
msgid "Source"
msgstr ""
-#: src/language/stats/descriptives.c:560
+#: src/language/stats/descriptives.c:561
msgid "Target"
msgstr ""
-#: src/language/stats/descriptives.c:670
+#: src/language/stats/descriptives.c:671
#, c-format
msgid "Z-score of %s"
msgstr ""
-#: src/language/stats/descriptives.c:882
+#: src/language/stats/descriptives.c:883
msgid "Valid N"
msgstr ""
-#: src/language/stats/descriptives.c:883
+#: src/language/stats/descriptives.c:884
msgid "Missing N"
msgstr ""
-#: src/language/stats/descriptives.c:910
+#: src/language/stats/descriptives.c:911
#, c-format
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr ""
@@ -2798,9 +2798,9 @@
msgstr ""
#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:130
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:683
-#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:831
-#: src/language/stats/t-test.q:1168
+#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:682
+#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1167
msgid "Std. Deviation"
msgstr ""
@@ -3029,7 +3029,7 @@
"exactly %d values."
msgstr ""
-#: src/language/stats/npar.q:422 src/language/stats/t-test.q:485
+#: src/language/stats/npar.q:422 src/language/stats/t-test.q:484
#, c-format
msgid ""
"PAIRED was specified but the number of variables preceding WITH (%d) did not "
@@ -3075,7 +3075,7 @@
msgstr ""
#: src/language/stats/oneway.q:282 src/language/stats/regression.q:319
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
msgid "F"
msgstr ""
@@ -3129,13 +3129,13 @@
msgstr ""
#: src/language/stats/oneway.q:680 src/language/stats/regression.q:223
-#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
-#: src/language/stats/t-test.q:1265
+#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1264
msgid "t"
msgstr ""
-#: src/language/stats/oneway.q:682 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:682 src/language/stats/t-test.q:981
+#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
msgid "Sig. (2-tailed)"
msgstr ""
@@ -3252,7 +3252,7 @@
msgid "Coefficient Correlations"
msgstr ""
-#: src/language/stats/regression.q:1147
+#: src/language/stats/regression.q:1181
msgid "Dependent variable must be numeric."
msgstr ""
@@ -3276,115 +3276,115 @@
msgid "VARIABLES subcommand is not appropriate with PAIRS"
msgstr ""
-#: src/language/stats/t-test.q:335
+#: src/language/stats/t-test.q:334
msgid "One or more VARIABLES must be specified."
msgstr ""
-#: src/language/stats/t-test.q:379
+#: src/language/stats/t-test.q:378
#, c-format
msgid "Long string variable %s is not valid here."
msgstr ""
-#: src/language/stats/t-test.q:399 src/language/stats/t-test.q:413
+#: src/language/stats/t-test.q:398 src/language/stats/t-test.q:412
msgid ""
"When applying GROUPS to a string variable, two values must be specified."
msgstr ""
-#: src/language/stats/t-test.q:502
+#: src/language/stats/t-test.q:501
msgid "At least two variables must be specified on PAIRS."
msgstr ""
-#: src/language/stats/t-test.q:679
+#: src/language/stats/t-test.q:678
msgid "One-Sample Statistics"
msgstr ""
-#: 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:683 src/language/stats/t-test.q:706
+#: src/language/stats/t-test.q:831
msgid "SE. Mean"
msgstr ""
-#: src/language/stats/t-test.q:702
+#: src/language/stats/t-test.q:701
msgid "Group Statistics"
msgstr ""
-#: src/language/stats/t-test.q:826
+#: src/language/stats/t-test.q:825
msgid "Paired Sample Statistics"
msgstr ""
-#: src/language/stats/t-test.q:848 src/language/stats/t-test.q:1193
-#: src/language/stats/t-test.q:1384
+#: src/language/stats/t-test.q:847 src/language/stats/t-test.q:1192
+#: src/language/stats/t-test.q:1383
#, c-format
msgid "Pair %d"
msgstr ""
-#: src/language/stats/t-test.q:966
+#: src/language/stats/t-test.q:965
msgid "Independent Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:974
+#: src/language/stats/t-test.q:973
msgid "Levene's Test for Equality of Variances"
msgstr ""
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
msgid "t-test for Equality of Means"
msgstr ""
-#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1369
+#: src/language/stats/t-test.q:978 src/language/stats/t-test.q:1368
msgid "Sig."
msgstr ""
-#: src/language/stats/t-test.q:983 src/language/stats/t-test.q:1268
+#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1267
msgid "Mean Difference"
msgstr ""
-#: src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:983
msgid "Std. Error Difference"
msgstr ""
-#: src/language/stats/t-test.q:989 src/language/stats/t-test.q:1164
-#: src/language/stats/t-test.q:1260
+#: src/language/stats/t-test.q:988 src/language/stats/t-test.q:1163
+#: src/language/stats/t-test.q:1259
#, c-format
msgid "%g%% Confidence Interval of the Difference"
msgstr ""
-#: src/language/stats/t-test.q:1044
+#: src/language/stats/t-test.q:1043
msgid "Equal variances assumed"
msgstr ""
-#: src/language/stats/t-test.q:1096
+#: src/language/stats/t-test.q:1095
msgid "Equal variances not assumed"
msgstr ""
-#: src/language/stats/t-test.q:1154
+#: src/language/stats/t-test.q:1153
msgid "Paired Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:1157
+#: src/language/stats/t-test.q:1156
msgid "Paired Differences"
msgstr ""
-#: src/language/stats/t-test.q:1169
+#: src/language/stats/t-test.q:1168
msgid "Std. Error Mean"
msgstr ""
-#: src/language/stats/t-test.q:1249
+#: src/language/stats/t-test.q:1248
msgid "One-Sample Test"
msgstr ""
-#: src/language/stats/t-test.q:1254
+#: src/language/stats/t-test.q:1253
#, c-format
msgid "Test Value = %f"
msgstr ""
-#: src/language/stats/t-test.q:1364
+#: src/language/stats/t-test.q:1363
msgid "Paired Samples Correlations"
msgstr ""
-#: src/language/stats/t-test.q:1368
+#: src/language/stats/t-test.q:1367
msgid "Correlation"
msgstr ""
-#: src/language/stats/t-test.q:1387
+#: src/language/stats/t-test.q:1386
#, c-format
msgid "%s & %s"
msgstr ""
@@ -4128,100 +4128,116 @@
msgid "Style of bevel around the custom entry button"
msgstr ""
-#: src/ui/gui/data-editor.c:159
+#: src/ui/gui/data-editor.c:161
msgid "Weights"
msgstr ""
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
msgid "Weight cases by variable"
msgstr ""
-#: src/ui/gui/data-editor.c:169 src/ui/gui/data-editor.glade:294
+#: src/ui/gui/data-editor.c:171 src/ui/gui/data-editor.glade:293
msgid "Transpose"
msgstr ""
-#: src/ui/gui/data-editor.c:170
+#: src/ui/gui/data-editor.c:172
msgid "Transpose the cases with the variables"
msgstr ""
-#: src/ui/gui/data-editor.c:494
+#: src/ui/gui/data-editor.c:183
+msgid "Split"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:184
+msgid "Split the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:194
+msgid "Sort"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:195
+msgid "Sort cases in the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:531
msgid "Font Selection"
msgstr ""
-#: src/ui/gui/data-editor.c:672
+#: src/ui/gui/data-editor.c:709
msgid "No Split"
msgstr ""
-#: src/ui/gui/data-editor.c:680
+#: src/ui/gui/data-editor.c:717
msgid "Split by "
msgstr ""
-#: src/ui/gui/data-editor.c:705
+#: src/ui/gui/data-editor.c:742
msgid "Filter off"
msgstr ""
-#: src/ui/gui/data-editor.c:718
+#: src/ui/gui/data-editor.c:755
#, c-format
msgid "Filter by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:736
+#: src/ui/gui/data-editor.c:773
msgid "Weights off"
msgstr ""
-#: src/ui/gui/data-editor.c:749
+#: src/ui/gui/data-editor.c:786
#, c-format
msgid "Weight by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:772 src/ui/gui/data-editor.c:983
-#: src/ui/gui/data-editor.glade:414
+#: src/ui/gui/data-editor.c:809 src/ui/gui/data-editor.c:1020
+#: src/ui/gui/data-editor.glade:412
msgid "Open"
msgstr ""
-#: src/ui/gui/data-editor.c:773
+#: src/ui/gui/data-editor.c:810
msgid "Open a data file"
msgstr ""
-#: src/ui/gui/data-editor.c:781 src/ui/gui/data-editor.c:888
-#: src/ui/gui/data-editor.glade:424
+#: src/ui/gui/data-editor.c:818 src/ui/gui/data-editor.c:925
+#: src/ui/gui/data-editor.glade:422
msgid "Save"
msgstr ""
-#: src/ui/gui/data-editor.c:782 src/ui/gui/data-editor.c:792
+#: src/ui/gui/data-editor.c:819 src/ui/gui/data-editor.c:829
msgid "Save data to file"
msgstr ""
-#: src/ui/gui/data-editor.c:791
+#: src/ui/gui/data-editor.c:828
msgid "Save As"
msgstr ""
-#: src/ui/gui/data-editor.c:800
+#: src/ui/gui/data-editor.c:837
msgid "New"
msgstr ""
-#: src/ui/gui/data-editor.c:801
+#: src/ui/gui/data-editor.c:838
msgid "New data file"
msgstr ""
-#: src/ui/gui/data-editor.c:896 src/ui/gui/data-editor.c:991
+#: src/ui/gui/data-editor.c:933 src/ui/gui/data-editor.c:1028
msgid "System Files (*.sav)"
msgstr ""
-#: src/ui/gui/data-editor.c:902 src/ui/gui/data-editor.c:997
+#: src/ui/gui/data-editor.c:939 src/ui/gui/data-editor.c:1034
msgid "Portable Files (*.por) "
msgstr ""
-#: src/ui/gui/data-editor.c:908 src/ui/gui/data-editor.c:1003
+#: src/ui/gui/data-editor.c:945 src/ui/gui/data-editor.c:1040
#: src/ui/gui/syntax-editor.c:141 src/ui/gui/syntax-editor.c:524
msgid "All Files"
msgstr ""
-#: src/ui/gui/data-editor.c:916
+#: src/ui/gui/data-editor.c:953
msgid "System File"
msgstr ""
-#: src/ui/gui/data-editor.c:921
+#: src/ui/gui/data-editor.c:958
msgid "Portable File"
msgstr ""
@@ -4276,8 +4292,8 @@
msgid "Grid Lines"
msgstr ""
-#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:614
-#: src/ui/gui/data-editor.glade:1324 src/ui/gui/data-editor.glade:1502
+#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:623
+#: src/ui/gui/data-editor.glade:1333 src/ui/gui/data-editor.glade:1511
msgid "Value Labels"
msgstr ""
@@ -4285,11 +4301,11 @@
msgid "Data"
msgstr ""
-#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:497
+#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:507
msgid "Variables"
msgstr ""
-#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:550
+#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:560
msgid "Insert Variable"
msgstr ""
@@ -4297,225 +4313,228 @@
msgid "Insert Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:486
-#: src/ui/gui/data-editor.glade:1868
+#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:496
+#: src/ui/gui/data-editor.glade:1877
msgid "Go To Case"
msgstr ""
-#: src/ui/gui/data-editor.glade:286 src/ui/gui/data-editor.glade:1933
+#: src/ui/gui/data-editor.glade:285 src/ui/gui/data-editor.glade:1942
msgid "Sort Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:302
+#: src/ui/gui/data-editor.glade:301
msgid "Restructure"
msgstr ""
-#: src/ui/gui/data-editor.glade:310
+#: src/ui/gui/data-editor.glade:309
msgid "Merge Files"
msgstr ""
-#: src/ui/gui/data-editor.glade:318
+#: src/ui/gui/data-editor.glade:317
msgid "Aggregate"
msgstr ""
-#: src/ui/gui/data-editor.glade:332 src/ui/gui/data-editor.glade:571
+#: src/ui/gui/data-editor.glade:330 src/ui/gui/data-editor.glade:580
msgid "Split File"
msgstr ""
-#: src/ui/gui/data-editor.glade:340 src/ui/gui/data-editor.glade:594
+#: src/ui/gui/data-editor.glade:338 src/ui/gui/data-editor.glade:603
msgid "Select Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:347 src/ui/gui/data-editor.glade:582
+#: src/ui/gui/data-editor.glade:345 src/ui/gui/data-editor.glade:591
msgid "Weight Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:358 src/ui/gui/syntax-editor.glade:233
+#: src/ui/gui/data-editor.glade:356 src/ui/gui/syntax-editor.glade:233
msgid "_Windows"
msgstr ""
-#: src/ui/gui/data-editor.glade:365 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:363 src/ui/gui/syntax-editor.glade:242
msgid "_Minimise All Windows"
msgstr ""
-#: src/ui/gui/data-editor.glade:376 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:374 src/ui/gui/syntax-editor.glade:254
msgid "_Help"
msgstr ""
-#: src/ui/gui/data-editor.glade:383 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:381 src/ui/gui/syntax-editor.glade:263
msgid "_Reference Manual"
msgstr ""
-#: src/ui/gui/data-editor.glade:390 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:388 src/ui/gui/syntax-editor.glade:271
msgid "_About"
msgstr ""
-#: src/ui/gui/data-editor.glade:435
+#: src/ui/gui/data-editor.glade:433
msgid "Print"
msgstr ""
-#: src/ui/gui/data-editor.glade:455
+#: src/ui/gui/data-editor.glade:444
+msgid "Recall"
+msgstr ""
+
+#: src/ui/gui/data-editor.glade:465
msgid "Undo"
msgstr ""
-#: src/ui/gui/data-editor.glade:466
+#: src/ui/gui/data-editor.glade:476
msgid "Redo"
msgstr ""
-#: src/ui/gui/data-editor.glade:518
+#: src/ui/gui/data-editor.glade:528
msgid "Find"
msgstr ""
-#: src/ui/gui/data-editor.glade:538
+#: src/ui/gui/data-editor.glade:548
msgid "Insert Case"
msgstr ""
-#: src/ui/gui/data-editor.glade:626
+#: src/ui/gui/data-editor.glade:635
msgid "Use Sets"
msgstr ""
-#: src/ui/gui/data-editor.glade:708
+#: src/ui/gui/data-editor.glade:717
msgid "Data View"
msgstr ""
-#: src/ui/gui/data-editor.glade:735
+#: src/ui/gui/data-editor.glade:744
msgid "Variable View"
msgstr ""
-#: src/ui/gui/data-editor.glade:765
+#: src/ui/gui/data-editor.glade:774
msgid "Information Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:784
+#: src/ui/gui/data-editor.glade:793
msgid "Processor Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:809
+#: src/ui/gui/data-editor.glade:818
msgid "OMS Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:834
+#: src/ui/gui/data-editor.glade:843
msgid "Case Counter Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:859
+#: src/ui/gui/data-editor.glade:868
msgid "Filter Use Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:885
+#: src/ui/gui/data-editor.glade:894
msgid "Weight Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:911
+#: src/ui/gui/data-editor.glade:920
msgid "Split File Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:941
+#: src/ui/gui/data-editor.glade:950
msgid "Variable Type"
msgstr ""
-#: src/ui/gui/data-editor.glade:976 src/ui/gui/psppire-var-store.c:475
+#: src/ui/gui/data-editor.glade:985 src/ui/gui/psppire-var-store.c:475
msgid "Comma"
msgstr ""
-#: src/ui/gui/data-editor.glade:991 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:1000 src/ui/gui/psppire-var-store.c:476
msgid "Dot"
msgstr ""
-#: src/ui/gui/data-editor.glade:1006
+#: src/ui/gui/data-editor.glade:1015
msgid "Scientific notation"
msgstr ""
-#: src/ui/gui/data-editor.glade:1021 src/ui/gui/psppire-var-store.c:478
+#: src/ui/gui/data-editor.glade:1030 src/ui/gui/psppire-var-store.c:478
msgid "Date"
msgstr ""
-#: src/ui/gui/data-editor.glade:1036 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1045 src/ui/gui/psppire-var-store.c:479
msgid "Dollar"
msgstr ""
-#: src/ui/gui/data-editor.glade:1051
+#: src/ui/gui/data-editor.glade:1060
msgid "Custom currency"
msgstr ""
-#: src/ui/gui/data-editor.glade:1143
+#: src/ui/gui/data-editor.glade:1152
msgid "positive"
msgstr ""
-#: src/ui/gui/data-editor.glade:1149
+#: src/ui/gui/data-editor.glade:1158
msgid "negative"
msgstr ""
-#: src/ui/gui/data-editor.glade:1162
+#: src/ui/gui/data-editor.glade:1171
msgid "Sample"
msgstr ""
-#: src/ui/gui/data-editor.glade:1212
+#: src/ui/gui/data-editor.glade:1221
msgid "Width:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1256
+#: src/ui/gui/data-editor.glade:1265
msgid "Decimal Places:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1422
+#: src/ui/gui/data-editor.glade:1431
msgid "Value Label:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1435
+#: src/ui/gui/data-editor.glade:1444
msgid "Value:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1566
+#: src/ui/gui/data-editor.glade:1575
msgid "Missing Values"
msgstr ""
-#: src/ui/gui/data-editor.glade:1584
+#: src/ui/gui/data-editor.glade:1593
msgid "_Range plus one optional discrete missing value"
msgstr ""
-#: src/ui/gui/data-editor.glade:1608
+#: src/ui/gui/data-editor.glade:1617
msgid "_Low:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1637
+#: src/ui/gui/data-editor.glade:1646
msgid "_High:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1678
+#: src/ui/gui/data-editor.glade:1687
msgid "Di_screte value:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1725
+#: src/ui/gui/data-editor.glade:1734
msgid "_No missing values"
msgstr ""
-#: src/ui/gui/data-editor.glade:1742
+#: src/ui/gui/data-editor.glade:1751
msgid "_Discrete missing values"
msgstr ""
-#: src/ui/gui/data-editor.glade:1885
+#: src/ui/gui/data-editor.glade:1894
msgid "Case Number:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1994
+#: src/ui/gui/data-editor.glade:2003 src/ui/gui/psppire.glade:1187
msgid "Sort by:"
msgstr ""
-#: src/ui/gui/data-editor.glade:2043 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2052 src/ui/gui/psppire.glade:1240
msgid "Ascending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2056 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2065 src/ui/gui/psppire.glade:1250
msgid "Descending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2072
+#: src/ui/gui/data-editor.glade:2081 src/ui/gui/psppire.glade:1266
msgid "Sort Order"
msgstr ""
-#: src/ui/gui/dict-display.c:92 src/ui/gui/sort-cases-dialog.c:339
-#: src/ui/gui/transpose-dialog.c:123
+#: src/ui/gui/dict-display.c:92
msgid "Var"
msgstr ""
@@ -4578,11 +4597,11 @@
msgid "%d"
msgstr ""
-#: src/ui/gui/psppire.glade:9
+#: src/ui/gui/psppire.glade:11
msgid "This is pre-alpha software. Use at your own risk."
msgstr ""
-#: src/ui/gui/psppire.glade:10
+#: src/ui/gui/psppire.glade:12
msgid ""
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"
@@ -4600,11 +4619,12 @@
" 02110-1301, USA.\n"
msgstr ""
-#: src/ui/gui/psppire.glade:90 src/ui/gui/psppire.glade:170
+#: src/ui/gui/psppire.glade:89 src/ui/gui/psppire.glade:170
+#: src/ui/gui/weight-cases-dialog.c:85
msgid "Do not weight cases"
msgstr ""
-#: src/ui/gui/psppire.glade:100
+#: src/ui/gui/psppire.glade:99
msgid "Weight cases by"
msgstr ""
@@ -4616,14 +4636,110 @@
msgid "Current Status: "
msgstr ""
-#: src/ui/gui/psppire.glade:257
+#: src/ui/gui/psppire.glade:258
msgid "Name Variable:"
msgstr ""
-#: src/ui/gui/psppire.glade:290
+#: src/ui/gui/psppire.glade:291
msgid "Variable(s):"
msgstr ""
+#: src/ui/gui/psppire.glade:444
+msgid "Analyse all cases. Do not create groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:454
+msgid "Compare groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:467
+msgid "Organise output by groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:514
+msgid "Groups based on:"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:579
+msgid "Sort the file by grouping variables."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:590
+msgid "File is already sorted."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:634
+msgid "Current Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:642
+msgid "Analysis by groups is off"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:740
+msgid "All Cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:761
+msgid "If condition is satisfied"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:780
+msgid "If..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:816
+msgid "Random Sample of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:830
+msgid "Sample..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:841
+msgid "Approximately 23% of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:876
+msgid "Based on time or case range"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:890
+msgid "Range..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:901
+msgid "2 thru 3"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:936
+msgid "Use filter variable"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:983
+msgid "Select"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1012
+msgid "Filtered"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1022
+msgid "Deleted"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1039
+msgid "Unselected Cases Are"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1067
+msgid "Curent Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1079
+msgid "Do not filter cases"
+msgstr ""
+
#: src/ui/gui/psppire-var-store.c:470
msgid "None"
msgstr ""
@@ -4636,10 +4752,6 @@
msgid "Custom"
msgstr ""
-#: src/ui/gui/sort-cases-dialog.c:367
-msgid "Criteria"
-msgstr ""
-
#: src/ui/gui/syntax-editor.c:80
#, c-format
msgid "Save contents of syntax editor to %s?"
@@ -4729,6 +4841,11 @@
msgid "Scale"
msgstr ""
+#: src/ui/gui/weight-cases-dialog.c:91
+#, c-format
+msgid "Weight cases by %s"
+msgstr ""
+
#: src/ui/gui/window-manager.c:141
#, c-format
msgid "Syntax%d"
Index: src/data/case.c
===================================================================
RCS file: /sources/pspp/pspp/src/data/case.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- src/data/case.c 16 Jan 2007 15:30:28 -0000 1.10
+++ src/data/case.c 2 Apr 2007 08:55:51 -0000 1.11
@@ -334,7 +334,7 @@
in cases A and B and returns a strcmp()-type result. */
int
case_compare (const struct ccase *a, const struct ccase *b,
- struct variable *const *vp, size_t var_cnt)
+ const struct variable *const *vp, size_t var_cnt)
{
return case_compare_2dict (a, b, vp, vp, var_cnt);
}
@@ -344,7 +344,8 @@
and returns a strcmp()-type result. */
int
case_compare_2dict (const struct ccase *ca, const struct ccase *cb,
- struct variable *const *vap, struct variable *const *vbp,
+ const struct variable *const *vap,
+ const struct variable *const *vbp,
size_t var_cnt)
{
for (; var_cnt-- > 0; vap++, vbp++)
Index: src/data/case.h
===================================================================
RCS file: /sources/pspp/pspp/src/data/case.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- src/data/case.h 16 Jan 2007 15:30:28 -0000 1.9
+++ src/data/case.h 2 Apr 2007 08:55:51 -0000 1.10
@@ -69,9 +69,10 @@
union value *case_data_rw_idx (struct ccase *, size_t idx);
int case_compare (const struct ccase *, const struct ccase *,
- struct variable *const *, size_t var_cnt);
+ const struct variable *const *, size_t var_cnt);
int case_compare_2dict (const struct ccase *, const struct ccase *,
- struct variable *const *, struct variable *const *,
+ const struct variable *const *,
+ const struct variable *const *,
size_t var_cnt);
const union value *case_data_all (const struct ccase *);
Index: src/data/casefilter.c
===================================================================
RCS file: /sources/pspp/pspp/src/data/casefilter.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/data/casefilter.c 23 Dec 2006 06:11:33 -0000 1.7
+++ src/data/casefilter.c 2 Apr 2007 08:55:51 -0000 1.8
@@ -67,7 +67,7 @@
N_VARS is the size of VARS.
*/
struct casefilter *
-casefilter_create (enum mv_class class, struct variable **vars, int n_vars)
+casefilter_create (enum mv_class class, const struct variable **vars, int
n_vars)
{
int i;
struct casefilter * filter = xmalloc (sizeof (*filter)) ;
@@ -88,7 +88,7 @@
filter considers. N_VARS is the size of VARS */
void
casefilter_add_variables (struct casefilter *filter,
- struct variable *const *vars, int n_vars)
+ const struct variable *const *vars, int n_vars)
{
int i;
Index: src/data/casefilter.h
===================================================================
RCS file: /sources/pspp/pspp/src/data/casefilter.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/data/casefilter.h 23 Dec 2006 06:11:33 -0000 1.4
+++ src/data/casefilter.h 2 Apr 2007 08:55:51 -0000 1.5
@@ -32,12 +32,12 @@
N_VARS is the size of VARS.
*/
struct casefilter * casefilter_create (enum mv_class class,
- struct variable **, int);
+ const struct variable **, int);
/* Add the variables in VARS to the list of variables for which the
filter considers. N_VARS is the size of VARS */
void casefilter_add_variables (struct casefilter *,
- struct variable *const*, int);
+ const struct variable *const*, int);
/* Destroy the filter FILTER */
void casefilter_destroy (struct casefilter *);
Index: src/data/cat-routines.h
===================================================================
RCS file: /sources/pspp/pspp/src/data/cat-routines.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/data/cat-routines.h 10 Dec 2006 03:42:50 -0000 1.2
+++ src/data/cat-routines.h 2 Apr 2007 08:55:51 -0000 1.3
@@ -43,11 +43,11 @@
union value *cat_subscript_to_value (const size_t, struct variable *);
-void cat_stored_values_create (struct variable *);
+void cat_stored_values_create (const struct variable *);
-void cat_value_update (struct variable *, const union value *);
+void cat_value_update (const struct variable *, const union value *);
-void cat_create_value_matrix (struct variable *);
+void cat_create_value_matrix (const struct variable *);
void cat_stored_values_destroy (struct cat_vals *);
#endif
Index: src/data/category.c
===================================================================
RCS file: /sources/pspp/pspp/src/data/category.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- src/data/category.c 10 Dec 2006 03:42:50 -0000 1.6
+++ src/data/category.c 2 Apr 2007 08:55:51 -0000 1.7
@@ -48,7 +48,7 @@
#define N_INITIAL_CATEGORIES 1
void
-cat_stored_values_create (struct variable *v)
+cat_stored_values_create (const struct variable *v)
{
if (!var_has_obs_vals (v))
{
@@ -97,7 +97,7 @@
Add the new value unless it is already present.
*/
void
-cat_value_update (struct variable *v, const union value *val)
+cat_value_update (const struct variable *v, const union value *val)
{
if (var_is_alpha (v))
{
Index: src/data/dictionary.c
===================================================================
RCS file: /sources/pspp/pspp/src/data/dictionary.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- src/data/dictionary.c 9 Feb 2007 05:28:21 -0000 1.32
+++ src/data/dictionary.c 2 Apr 2007 08:55:51 -0000 1.33
@@ -52,7 +52,7 @@
size_t var_cnt, var_cap; /* Number of variables, capacity. */
struct hsh_table *name_tab; /* Variable index by name. */
int next_value_idx; /* Index of next `union value' to allocate. */
- struct variable **split; /* SPLIT FILE vars. */
+ const struct variable **split; /* SPLIT FILE vars. */
size_t split_cnt; /* SPLIT FILE count. */
struct variable *weight; /* WEIGHT variable. */
struct variable *filter; /* FILTER variable. */
@@ -233,13 +233,20 @@
return d->var[idx];
}
+inline void
+dict_get_vars (const struct dictionary *d, const struct variable ***vars,
+ size_t *cnt, unsigned exclude_classes)
+{
+ dict_get_vars_mutable (d, (struct variable ***) vars, cnt, exclude_classes);
+}
+
/* Sets *VARS to an array of pointers to variables in D and *CNT
to the number of variables in *D. All variables are returned
if EXCLUDE_CLASSES is 0, or it may contain one or more of (1u
<< DC_ORDINARY), (1u << DC_SYSTEM), or (1u << DC_SCRATCH) to
exclude the corresponding type of variable. */
void
-dict_get_vars (const struct dictionary *d, struct variable ***vars,
+dict_get_vars_mutable (const struct dictionary *d, struct variable ***vars,
size_t *cnt, unsigned exclude_classes)
{
size_t count;
@@ -1009,7 +1016,7 @@
dict_get_split_cnt() to determine how many SPLIT FILE vars
there are. Returns a null pointer if and only if there are no
SPLIT FILE vars. */
-struct variable *const *
+const struct variable *const *
dict_get_split_vars (const struct dictionary *d)
{
assert (d != NULL);
Index: src/data/dictionary.h
===================================================================
RCS file: /sources/pspp/pspp/src/data/dictionary.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- src/data/dictionary.h 9 Feb 2007 05:28:21 -0000 1.12
+++ src/data/dictionary.h 2 Apr 2007 08:55:51 -0000 1.13
@@ -51,7 +51,10 @@
size_t dict_get_var_cnt (const struct dictionary *);
struct variable *dict_get_var (const struct dictionary *, size_t idx);
-void dict_get_vars (const struct dictionary *,
+inline void dict_get_vars (const struct dictionary *,
+ const struct variable ***vars, size_t *cnt,
+ unsigned exclude_classes);
+void dict_get_vars_mutable (const struct dictionary *,
struct variable ***vars, size_t *cnt,
unsigned exclude_classes);
@@ -110,7 +113,7 @@
struct ccase *, const struct ccase *);
void dict_compactor_destroy (struct dict_compactor *);
-struct variable *const *dict_get_split_vars (const struct dictionary *);
+const struct variable *const *dict_get_split_vars (const struct dictionary *);
size_t dict_get_split_cnt (const struct dictionary *);
void dict_set_split_vars (struct dictionary *,
struct variable *const *, size_t cnt);
Index: src/data/variable.c
===================================================================
RCS file: /sources/pspp/pspp/src/data/variable.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- src/data/variable.c 23 Dec 2006 06:11:33 -0000 1.21
+++ src/data/variable.c 2 Apr 2007 08:55:51 -0000 1.22
@@ -867,9 +867,10 @@
cleared, AUX_DTOR(V) will be called. (var_dtor_free, below,
may be appropriate for use as AUX_DTOR.) */
void *
-var_attach_aux (struct variable *v,
+var_attach_aux (const struct variable *v_,
void *aux, void (*aux_dtor) (struct variable *))
{
+ struct variable *v = (struct variable *) v_ ; /* cast away const */
assert (v->aux == NULL);
assert (aux != NULL);
v->aux = aux;
@@ -924,8 +925,9 @@
/* Sets V's observed categorical values to CAT_VALS. */
void
-var_set_obs_vals (struct variable *v, struct cat_vals *cat_vals)
+var_set_obs_vals (const struct variable *v_, struct cat_vals *cat_vals)
{
+ struct variable *v = (struct variable *) v_ ; /* cast away const */
cat_stored_values_destroy (v->obs_vals);
v->obs_vals = cat_vals;
}
Index: src/data/variable.h
===================================================================
RCS file: /sources/pspp/pspp/src/data/variable.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/data/variable.h 26 Jan 2007 07:35:03 -0000 1.20
+++ src/data/variable.h 2 Apr 2007 08:55:51 -0000 1.21
@@ -155,7 +155,7 @@
/* Variable auxiliary data. */
void *var_get_aux (const struct variable *);
-void *var_attach_aux (struct variable *,
+void *var_attach_aux (const struct variable *,
void *aux, void (*aux_dtor) (struct variable *));
void var_clear_aux (struct variable *);
void *var_detach_aux (struct variable *);
@@ -163,7 +163,7 @@
/* Observed categorical values. */
struct cat_vals *var_get_obs_vals (const struct variable *);
-void var_set_obs_vals (struct variable *, struct cat_vals *);
+void var_set_obs_vals (const struct variable *, struct cat_vals *);
bool var_has_obs_vals (const struct variable *);
/* Classes of variables. */
Index: src/language/data-io/get.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/data-io/get.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- src/language/data-io/get.c 7 Jan 2007 04:04:00 -0000 1.29
+++ src/language/data-io/get.c 2 Apr 2007 08:55:51 -0000 1.30
@@ -746,7 +746,7 @@
struct mtf_file *next_min; /* Next in the chain of minimums. */
int type; /* One of MTF_*. */
- struct variable **by; /* List of BY variables for this file. */
+ const struct variable **by; /* List of BY variables for this file.
*/
struct file_handle *handle; /* File handle. */
struct any_reader *reader; /* File reader. */
struct dictionary *dict; /* Dictionary from system file. */
@@ -943,7 +943,7 @@
{
if (lex_match (lexer, T_BY))
{
- struct variable **by;
+ const struct variable **by;
if (mtf.by_cnt)
{
@@ -952,7 +952,7 @@
}
lex_match (lexer, '=');
- if (!parse_variables (lexer, mtf.dict, &by, &mtf.by_cnt,
+ if (!parse_variables_const (lexer, mtf.dict, &by, &mtf.by_cnt,
PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto error;
Index: src/language/data-io/list.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/data-io/list.q,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- src/language/data-io/list.q 15 Dec 2006 00:16:02 -0000 1.24
+++ src/language/data-io/list.q 2 Apr 2007 08:55:51 -0000 1.25
@@ -311,7 +311,7 @@
/* Put in vertical names. */
for (i = x = 0; i < prc->n_vertical; i++)
{
- struct variable *v = cmd.v_variables[i];
+ const struct variable *v = cmd.v_variables[i];
const char *name = var_get_name (v);
size_t name_len = strlen (name);
const struct fmt_spec *print = var_get_print_format (v);
@@ -327,7 +327,7 @@
/* Put in horizontal names. */
for (; i < cmd.n_variables; i++)
{
- struct variable *v = cmd.v_variables[i];
+ const struct variable *v = cmd.v_variables[i];
const char *name = var_get_name (v);
size_t name_len = strlen (name);
const struct fmt_spec *print = var_get_print_format (v);
@@ -550,7 +550,7 @@
/* Try layout #1. */
for (width = cmd.n_variables - 1, column = 0; column < cmd.n_variables;
column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
int fmt_width = var_get_print_format (v)->w;
int name_len = strlen (var_get_name (v));
width += MAX (fmt_width, name_len);
@@ -566,7 +566,7 @@
column < cmd.n_variables && width <= max_width;
column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
int fmt_width = var_get_print_format (v)->w;
size_t name_len = strlen (var_get_name (v));
width += fmt_width;
@@ -583,7 +583,7 @@
#endif
for (column = cmd.n_variables; column-- != 0; )
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
int name_len = strlen (var_get_name (v));
int fmt_width = var_get_print_format (v)->w;
int trial_width = width - fmt_width + MAX (fmt_width, name_len);
@@ -602,7 +602,7 @@
column < prc->n_vertical;
column++)
{
- struct variable *var = cmd.v_variables[column];
+ const struct variable *var = cmd.v_variables[column];
size_t name_len = strlen (var_get_name (var));
prc->header_rows = MAX (prc->header_rows, name_len);
}
@@ -649,7 +649,7 @@
for (column = 0; column < cmd.n_variables; column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
const struct fmt_spec *print = var_get_print_format (v);
int width;
@@ -715,7 +715,7 @@
for (column = 0; column < cmd.n_variables; column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
const struct fmt_spec *print = var_get_print_format (v);
char buf[256];
Index: src/language/data-io/print.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/data-io/print.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- src/language/data-io/print.c 9 Feb 2007 05:19:08 -0000 1.24
+++ src/language/data-io/print.c 2 Apr 2007 08:55:51 -0000 1.25
@@ -62,7 +62,7 @@
int first_column; /* 0-based first column. */
/* PRT_VAR only. */
- struct variable *var; /* Associated variable. */
+ const struct variable *var; /* Associated variable. */
struct fmt_spec format; /* Output spec. */
bool add_space; /* Add trailing space? */
bool sysmis_as_spaces; /* Output SYSMIS as spaces? */
@@ -305,13 +305,13 @@
int *record, int *column,
enum which_formats which_formats)
{
- struct variable **vars;
+ const struct variable **vars;
size_t var_cnt, var_idx;
struct fmt_spec *formats, *f;
size_t format_cnt;
bool add_space;
- if (!parse_variables_pool (lexer, tmp_pool, dict,
+ if (!parse_variables_const_pool (lexer, tmp_pool, dict,
&vars, &var_cnt, PV_DUPLICATE))
return false;
@@ -332,7 +332,7 @@
format_cnt = var_cnt;
for (i = 0; i < var_cnt; i++)
{
- struct variable *v = vars[i];
+ const struct variable *v = vars[i];
formats[i] = (which_formats == PRINT
? *var_get_print_format (v)
: *var_get_write_format (v));
@@ -344,7 +344,7 @@
for (f = formats; f < &formats[format_cnt]; f++)
if (!execute_placement_format (f, record, column))
{
- struct variable *var;
+ const struct variable *var;
struct prt_out_spec *spec;
var = vars[var_idx++];
Index: src/language/dictionary/delete-variables.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/dictionary/delete-variables.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- src/language/dictionary/delete-variables.c 22 Dec 2006 04:38:22 -0000
1.1
+++ src/language/dictionary/delete-variables.c 2 Apr 2007 08:55:52 -0000
1.2
@@ -41,7 +41,8 @@
msg (SE, _("DELETE VARIABLES may not be used after TEMPORARY. "
"Temporary transformations will be made permanent."));
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt, PV_NONE))
+ if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt,
+ PV_NONE))
goto error;
if (var_cnt == dict_get_var_cnt (dataset_dict (ds)))
{
Index: src/language/dictionary/modify-variables.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/dictionary/modify-variables.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- src/language/dictionary/modify-variables.c 9 Feb 2007 05:19:08 -0000
1.16
+++ src/language/dictionary/modify-variables.c 2 Apr 2007 08:55:52 -0000
1.17
@@ -141,7 +141,7 @@
"of variables."));
goto done;
}
- dict_get_vars (dataset_dict (ds), &v, &nv, 1u << DC_SYSTEM);
+ dict_get_vars_mutable (dataset_dict (ds), &v, &nv, 1u <<
DC_SYSTEM);
}
else
{
@@ -250,7 +250,7 @@
sort (keep_vars, keep_cnt, sizeof *keep_vars,
compare_variables_given_ordering,
&forward_positional_ordering);
- dict_get_vars (dataset_dict (ds), &all_vars, &all_cnt, 0);
+ dict_get_vars_mutable (dataset_dict (ds), &all_vars, &all_cnt, 0);
assert (all_cnt >= keep_cnt);
drop_cnt = all_cnt - keep_cnt;
@@ -408,7 +408,7 @@
size_t i;
/* All variables, in index order. */
- dict_get_vars (d, &all_vars, &all_cnt, 0);
+ dict_get_vars_mutable (d, &all_vars, &all_cnt, 0);
/* Drop variables, in index order. */
drop_cnt = vm->drop_cnt;
Index: src/language/dictionary/split-file.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/dictionary/split-file.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- src/language/dictionary/split-file.c 15 Dec 2006 00:16:02 -0000
1.14
+++ src/language/dictionary/split-file.c 2 Apr 2007 08:55:52 -0000
1.15
@@ -69,7 +69,7 @@
output_split_file_values (const struct dataset *ds, const struct ccase *c)
{
const struct dictionary *dict = dataset_dict (ds);
- struct variable *const *split;
+ const struct variable *const *split;
struct tab_table *t;
size_t split_cnt;
int i;
@@ -88,7 +88,7 @@
split = dict_get_split_vars (dict);
for (i = 0; i < split_cnt; i++)
{
- struct variable *v = split[i];
+ const struct variable *v = split[i];
char temp_buf[80];
const char *val_lab;
const struct fmt_spec *print = var_get_print_format (v);
Index: src/language/dictionary/sys-file-info.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/dictionary/sys-file-info.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- src/language/dictionary/sys-file-info.c 9 Feb 2007 05:28:21 -0000
1.22
+++ src/language/dictionary/sys-file-info.c 2 Apr 2007 08:55:52 -0000
1.23
@@ -62,7 +62,7 @@
AS_VECTOR
};
-static int describe_variable (struct variable *v, struct tab_table *t, int r,
int as);
+static int describe_variable (const struct variable *v, struct tab_table *t,
int r, int as);
/* Sets the widths of all the columns and heights of all the rows in
table T for driver D. */
@@ -193,7 +193,7 @@
static void display_macros (void);
static void display_documents (const struct dictionary *dict);
-static void display_variables (struct variable **, size_t, int);
+static void display_variables (const struct variable **, size_t, int);
static void display_vectors (const struct dictionary *dict, int sorted);
int
@@ -204,7 +204,7 @@
/* Variables to display. */
size_t n;
- struct variable **vl;
+ const struct variable **vl;
if (lex_match_id (lexer, "MACROS"))
display_macros ();
@@ -258,7 +258,7 @@
if (lex_token (lexer) != '.')
{
- if (!parse_variables (lexer, dataset_dict (ds), &vl, &n, PV_NONE))
+ if (!parse_variables_const (lexer, dataset_dict (ds), &vl, &n,
PV_NONE))
{
free (vl);
return CMD_FAILURE;
@@ -364,9 +364,9 @@
}
static void
-display_variables (struct variable **vl, size_t n, int as)
+display_variables (const struct variable **vl, size_t n, int as)
{
- struct variable **vp = vl; /* Variable pointer. */
+ const struct variable **vp = vl; /* Variable pointer. */
struct tab_table *t;
int nc; /* Number of columns. */
int nr; /* Number of rows. */
@@ -404,7 +404,7 @@
for (i = r = 1; i <= n; i++)
{
- struct variable *v;
+ const struct variable *v;
while (*vp == NULL)
vp++;
@@ -458,7 +458,7 @@
The variable will be described in the format AS. Returns the next
row available for use in the table. */
static int
-describe_variable (struct variable *v, struct tab_table *t, int r, int as)
+describe_variable (const struct variable *v, struct tab_table *t, int r, int
as)
{
const struct fmt_spec *print = var_get_print_format (v);
const struct fmt_spec *write = var_get_write_format (v);
Index: src/language/dictionary/value-labels.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/dictionary/value-labels.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/language/dictionary/value-labels.c 15 Dec 2006 00:16:02 -0000
1.15
+++ src/language/dictionary/value-labels.c 2 Apr 2007 08:55:52 -0000
1.16
@@ -38,7 +38,7 @@
/* Declarations. */
static int do_value_labels (struct lexer *,
- const struct dictionary *dict, int);
+ const struct dictionary *dict, bool);
static int verify_val_labs (struct variable **vars, size_t var_cnt);
static void erase_labels (struct variable **vars, size_t var_cnt);
static int get_label (struct lexer *, struct variable **vars, size_t var_cnt);
@@ -48,19 +48,19 @@
int
cmd_value_labels (struct lexer *lexer, struct dataset *ds)
{
- return do_value_labels (lexer, dataset_dict (ds), 1);
+ return do_value_labels (lexer, dataset_dict (ds), true);
}
int
cmd_add_value_labels (struct lexer *lexer, struct dataset *ds)
{
- return do_value_labels (lexer, dataset_dict (ds), 0);
+ return do_value_labels (lexer, dataset_dict (ds), false);
}
/* Do it. */
static int
-do_value_labels (struct lexer *lexer, const struct dictionary *dict, int erase)
+do_value_labels (struct lexer *lexer, const struct dictionary *dict, bool
erase)
{
struct variable **vars; /* Variable list. */
size_t var_cnt; /* Number of variables. */
@@ -115,7 +115,7 @@
for (i = 0; i < var_cnt; i++)
{
- struct variable *vp = vars[i];
+ const struct variable *vp = vars[i];
if (var_is_long_string (vp))
{
Index: src/language/expressions/optimize.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/expressions/optimize.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- src/language/expressions/optimize.c 15 Dec 2006 00:16:02 -0000 1.6
+++ src/language/expressions/optimize.c 2 Apr 2007 08:55:52 -0000 1.7
@@ -247,7 +247,7 @@
}
static void
-emit_variable (struct expression *e, struct variable *v)
+emit_variable (struct expression *e, const struct variable *v)
{
allocate_aux (e, OP_variable)->variable = v;
}
Index: src/language/expressions/parse.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/expressions/parse.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- src/language/expressions/parse.c 1 Feb 2007 15:01:42 -0000 1.24
+++ src/language/expressions/parse.c 2 Apr 2007 08:55:52 -0000 1.25
@@ -61,7 +61,7 @@
static bool type_check (struct expression *, union any_node **,
enum expr_type expected_type);
static union any_node *allocate_unary_variable (struct expression *,
- struct variable *);
+ const struct variable *);
/* Public functions. */
@@ -1219,11 +1219,11 @@
if (lex_token (lexer) == T_ID
&& toupper (lex_look_ahead (lexer)) == 'T')
{
- struct variable **vars;
+ const struct variable **vars;
size_t var_cnt;
size_t i;
- if (!parse_variables (lexer, dataset_dict (e->ds), &vars,
&var_cnt, PV_SINGLE))
+ if (!parse_variables_const (lexer, dataset_dict (e->ds), &vars,
&var_cnt, PV_SINGLE))
goto fail;
for (i = 0; i < var_cnt; i++)
add_arg (&args, &arg_cnt, &arg_cap,
@@ -1481,7 +1481,7 @@
}
union any_node *
-expr_allocate_variable (struct expression *e, struct variable *v)
+expr_allocate_variable (struct expression *e, const struct variable *v)
{
union any_node *n = pool_alloc (e->expr_pool, sizeof n->variable);
n->type = var_is_numeric (v) ? OP_num_var : OP_str_var;
@@ -1501,7 +1501,7 @@
/* Allocates a unary composite node that represents the value of
variable V in expression E. */
static union any_node *
-allocate_unary_variable (struct expression *e, struct variable *v)
+allocate_unary_variable (struct expression *e, const struct variable *v)
{
assert (v != NULL);
return expr_allocate_unary (e, var_is_numeric (v) ? OP_NUM_VAR : OP_STR_VAR,
Index: src/language/expressions/private.h
===================================================================
RCS file: /sources/pspp/pspp/src/language/expressions/private.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- src/language/expressions/private.h 15 Dec 2006 00:16:02 -0000 1.9
+++ src/language/expressions/private.h 2 Apr 2007 08:55:52 -0000 1.10
@@ -100,7 +100,7 @@
struct variable_node
{
operation_type type; /* OP_variable. */
- struct variable *v;
+ const struct variable *v;
};
struct integer_node
@@ -148,7 +148,7 @@
operation_type operation;
double number;
struct substring string;
- struct variable *variable;
+ const struct variable *variable;
const struct vector *vector;
struct fmt_spec *format;
int integer;
@@ -194,7 +194,7 @@
union any_node *expr_allocate_string (struct expression *e,
struct substring);
union any_node *expr_allocate_variable (struct expression *e,
- struct variable *);
+ const struct variable *);
union any_node *expr_allocate_format (struct expression *e,
const struct fmt_spec *);
union any_node *expr_allocate_vector (struct expression *e,
Index: src/language/lexer/q2c.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/lexer/q2c.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- src/language/lexer/q2c.c 16 Feb 2007 19:24:25 -0000 1.21
+++ src/language/lexer/q2c.c 2 Apr 2007 08:55:52 -0000 1.22
@@ -1134,12 +1134,12 @@
case SBC_VARLIST:
dump (0, "size_t %sn_%s;", st_lower (sbc->prefix),
st_lower (sbc->name));
- dump (0, "struct variable **%sv_%s;", st_lower (sbc->prefix),
+ dump (0, "const struct variable **%sv_%s;", st_lower (sbc->prefix),
st_lower (sbc->name));
break;
case SBC_VAR:
- dump (0, "struct variable *%sv_%s;", st_lower (sbc->prefix),
+ dump (0, "const struct variable *%sv_%s;", st_lower (sbc->prefix),
st_lower (sbc->name));
break;
@@ -1597,7 +1597,7 @@
}
else if (sbc->type == SBC_VARLIST)
{
- dump (1, "if (!parse_variables (lexer, dataset_dict (ds), &p->%sv_%s,
&p->%sn_%s, "
+ dump (1, "if (!parse_variables_const (lexer, dataset_dict (ds),
&p->%sv_%s, &p->%sn_%s, "
"PV_APPEND%s%s))",
st_lower (sbc->prefix), st_lower (sbc->name),
st_lower (sbc->prefix), st_lower (sbc->name),
@@ -1765,7 +1765,7 @@
}
dump (1, "{");
dump (0, "p->sbc_%s++;", st_lower (def->name));
- dump (1, "if (!parse_variables (lexer, dataset_dict (ds), &p->%sv_%s,
&p->%sn_%s, "
+ dump (1, "if (!parse_variables_const (lexer, dataset_dict (ds),
&p->%sv_%s, &p->%sn_%s, "
"PV_APPEND))",
st_lower (def->prefix), st_lower (def->name),
st_lower (def->prefix), st_lower (def->name));
Index: src/language/lexer/variable-parser.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/lexer/variable-parser.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/language/lexer/variable-parser.c 22 Dec 2006 04:38:23 -0000
1.15
+++ src/language/lexer/variable-parser.c 2 Apr 2007 08:55:52 -0000
1.16
@@ -40,6 +40,16 @@
#include "gettext.h"
#define _(msgid) gettext (msgid)
+static struct variable * var_set_get_var (const struct var_set *, size_t );
+
+static struct variable *var_set_lookup_var (const struct var_set *,
+ const char *);
+
+static bool var_set_lookup_var_idx (const struct var_set *, const char *,
+ size_t *);
+
+
+
/* Parses a name as a variable within VS. Sets *IDX to the
variable's index and returns true if successful. On failure
emits an error message and returns false. */
@@ -633,7 +643,7 @@
/* Return variable with index IDX in VS.
IDX must be less than the number of variables in VS. */
-struct variable *
+static struct variable *
var_set_get_var (const struct var_set *vs, size_t idx)
{
assert (vs != NULL);
@@ -819,3 +829,4 @@
return vs;
}
+
Index: src/language/lexer/variable-parser.h
===================================================================
RCS file: /sources/pspp/pspp/src/language/lexer/variable-parser.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/language/lexer/variable-parser.h 15 Dec 2006 00:16:02 -0000
1.7
+++ src/language/lexer/variable-parser.h 2 Apr 2007 08:55:52 -0000
1.8
@@ -1,5 +1,5 @@
/* PSPP - computes sample statistics.
- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 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
@@ -25,6 +25,7 @@
struct pool;
struct dictionary;
struct var_set;
+struct const_var_set;
struct variable;
struct lexer ;
@@ -33,13 +34,10 @@
size_t);
size_t var_set_get_cnt (const struct var_set *vs);
-struct variable *var_set_get_var (const struct var_set *vs, size_t idx);
-struct variable *var_set_lookup_var (const struct var_set *vs,
- const char *name);
-bool var_set_lookup_var_idx (const struct var_set *vs, const char *name,
- size_t *idx);
+
void var_set_destroy (struct var_set *vs);
+
/* Variable parsers. */
enum
@@ -72,4 +70,60 @@
struct pool *,
char ***names, size_t *cnt, int opts);
+
+/* Const wrappers */
+
+static inline const struct variable *
+parse_variable_const (struct lexer *l, const struct dictionary *d)
+{
+ return parse_variable (l, d);
+}
+
+static inline bool
+parse_variables_const (struct lexer *l, const struct dictionary *d,
+ const struct variable ***v, size_t *s,
+ int opts)
+{
+ return parse_variables (l, d, (struct variable ***) v, s, opts);
+}
+
+static inline bool
+parse_variables_const_pool (struct lexer *l, struct pool *p,
+ const struct dictionary *d,
+ const struct variable ***v, size_t *s, int opts)
+{
+ return parse_variables_pool (l, p, d, (struct variable ***) v, s, opts);
+}
+
+
+
+static inline struct const_var_set *
+const_var_set_create_from_dict (const struct dictionary *d)
+{
+ return (struct const_var_set *) var_set_create_from_dict (d);
+}
+
+static inline struct const_var_set *
+const_var_set_create_from_array (const struct variable *const *var,
+ size_t s)
+{
+ return (struct const_var_set *) var_set_create_from_array ((struct variable
*const *) var, s);
+}
+
+
+static inline bool
+parse_const_var_set_vars (struct lexer *l, const struct const_var_set *vs,
+ const struct variable ***v, size_t *s, int opts)
+{
+ return parse_var_set_vars (l, (const struct var_set *) vs,
+ (struct variable ***) v, s, opts);
+}
+
+static inline void
+const_var_set_destroy (struct const_var_set *vs)
+{
+ var_set_destroy ( (struct var_set *) vs);
+}
+
+
#endif /* variable-parser.h */
Index: src/language/stats/aggregate.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/aggregate.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- src/language/stats/aggregate.c 9 Feb 2007 05:19:08 -0000 1.30
+++ src/language/stats/aggregate.c 2 Apr 2007 08:55:52 -0000 1.31
@@ -64,7 +64,7 @@
struct agr_var *next; /* Next in list. */
/* Collected during parsing. */
- struct variable *src; /* Source variable. */
+ const struct variable *src; /* Source variable. */
struct variable *dest; /* Target variable. */
int function; /* Function. */
enum mv_class exclude; /* Classes of missing values to exclude. */
@@ -141,7 +141,7 @@
/* Break variables. */
struct sort_criteria *sort; /* Sort criteria. */
- struct variable **break_vars; /* Break variables. */
+ const struct variable **break_vars; /* Break variables. */
size_t break_var_cnt; /* Number of break variables. */
struct ccase break_case; /* Last values of break variables. */
@@ -396,7 +396,7 @@
union agr_argument arg[2];
- struct variable **src;
+ const struct variable **src;
size_t n_src;
size_t i;
@@ -496,7 +496,7 @@
else if (function->n_args)
pv_opts |= PV_SAME_TYPE;
- if (!parse_variables (lexer, dict, &src, &n_src, pv_opts))
+ if (!parse_variables_const (lexer, dict, &src, &n_src, pv_opts))
goto error;
}
@@ -959,7 +959,7 @@
for (i = 0; i < agr->break_var_cnt; i++)
{
- struct variable *v = agr->break_vars[i];
+ const struct variable *v = agr->break_vars[i];
size_t value_cnt = var_get_value_cnt (v);
memcpy (case_data_rw_idx (output, value_idx),
case_data (&agr->break_case, v),
Index: src/language/stats/autorecode.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/autorecode.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- src/language/stats/autorecode.c 19 Dec 2006 14:21:53 -0000 1.18
+++ src/language/stats/autorecode.c 2 Apr 2007 08:55:52 -0000 1.19
@@ -57,7 +57,7 @@
/* Explains how to recode an AUTORECODE variable. */
struct arc_spec
{
- struct variable *src; /* Source variable. */
+ const struct variable *src; /* Source variable. */
struct variable *dest; /* Target variable. */
struct hsh_table *items; /* Hash table of `freq's. */
};
@@ -80,7 +80,7 @@
/* AUTORECODE data. */
struct autorecode_pgm
{
- struct variable **src_vars; /* Source variables. */
+ const struct variable **src_vars; /* Source variables. */
char **dst_names; /* Target variable names. */
struct variable **dst_vars; /* Target variables. */
struct hsh_table **src_values; /* `union arc_value's of source vars. */
@@ -120,7 +120,8 @@
lex_match_id (lexer, "VARIABLES");
lex_match (lexer, '=');
- if (!parse_variables (lexer, dataset_dict (ds), &arc.src_vars, &arc.var_cnt,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &arc.src_vars,
+ &arc.var_cnt,
PV_NO_DUPLICATE))
goto lossage;
if (!lex_force_match_id (lexer, "INTO"))
@@ -177,12 +178,15 @@
arc.dst_vars = xnmalloc (arc.var_cnt, sizeof *arc.dst_vars);
arc.src_values = xnmalloc (arc.var_cnt, sizeof *arc.src_values);
for (i = 0; i < dst_cnt; i++)
+ {
+ /* FIXME: consolodate this hsh_create */
if (var_is_alpha (arc.src_vars[i]))
arc.src_values[i] = hsh_create (10, compare_alpha_value,
hash_alpha_value, NULL, arc.src_vars[i]);
else
arc.src_values[i] = hsh_create (10, compare_numeric_value,
hash_numeric_value, NULL, NULL);
+ }
proc_open (ds);
while (proc_read (ds, &c))
Index: src/language/stats/correlations.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/correlations.q,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/language/stats/correlations.q 15 Dec 2006 00:16:02 -0000 1.15
+++ src/language/stats/correlations.q 2 Apr 2007 08:55:52 -0000 1.16
@@ -36,7 +36,7 @@
struct cor_set
{
struct cor_set *next;
- struct variable **v1, **v2;
+ const struct variable **v1, **v2;
size_t nv1, nv2;
};
@@ -88,7 +88,7 @@
static int
cor_custom_variables (struct lexer *lexer, struct dataset *ds, struct
cmd_correlations *cmd UNUSED, void *aux UNUSED)
{
- struct variable **v1, **v2;
+ const struct variable **v1, **v2;
size_t nv1, nv2;
struct cor_set *cor;
@@ -99,13 +99,13 @@
return 2;
lex_match (lexer, '=');
- if (!parse_variables (lexer, dataset_dict (ds), &v1, &nv1,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v1, &nv1,
PV_NO_DUPLICATE | PV_NUMERIC))
return 0;
if (lex_match (lexer, T_WITH))
{
- if (!parse_variables (lexer, dataset_dict (ds), &v2, &nv2,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v2, &nv2,
PV_NO_DUPLICATE | PV_NUMERIC))
{
free (v1);
Index: src/language/stats/crosstabs.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/crosstabs.q,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- src/language/stats/crosstabs.q 19 Mar 2007 04:18:47 -0000 1.28
+++ src/language/stats/crosstabs.q 2 Apr 2007 08:55:52 -0000 1.29
@@ -116,7 +116,7 @@
int nvar; /* Number of variables. */
double missing; /* Missing cases count. */
int ofs; /* Integer mode: Offset into sorted_tab[]. */
- struct variable *vars[2]; /* At least two variables; sorted by
+ const struct variable *vars[2]; /* At least two variables; sorted by
larger indices first. */
};
@@ -129,7 +129,7 @@
};
static inline struct var_range *
-get_var_range (struct variable *v)
+get_var_range (const struct variable *v)
{
return var_get_aux (v);
}
@@ -147,7 +147,7 @@
static struct table_entry **sorted_tab; /* Sorted table. */
/* Variables specifies on VARIABLES. */
-static struct variable **variables;
+static const struct variable **variables;
static size_t variables_cnt;
/* TABLES. */
@@ -305,31 +305,32 @@
static int
crs_custom_tables (struct lexer *lexer, struct dataset *ds, struct
cmd_crosstabs *cmd UNUSED, void *aux UNUSED)
{
- struct var_set *var_set;
+ struct const_var_set *var_set;
int n_by;
- struct variable ***by = NULL;
+ const struct variable ***by = NULL;
size_t *by_nvar = NULL;
size_t nx = 1;
int success = 0;
/* Ensure that this is a TABLES subcommand. */
if (!lex_match_id (lexer, "TABLES")
- && (lex_token (lexer) != T_ID || dict_lookup_var (dataset_dict (ds),
lex_tokid (lexer)) == NULL)
+ && (lex_token (lexer) != T_ID ||
+ dict_lookup_var (dataset_dict (ds), lex_tokid (lexer)) == NULL)
&& lex_token (lexer) != T_ALL)
return 2;
lex_match (lexer, '=');
if (variables != NULL)
- var_set = var_set_create_from_array (variables, variables_cnt);
+ var_set = const_var_set_create_from_array (variables, variables_cnt);
else
- var_set = var_set_create_from_dict (dataset_dict (ds));
+ var_set = const_var_set_create_from_dict (dataset_dict (ds));
assert (var_set != NULL);
for (n_by = 0; ;)
{
by = xnrealloc (by, n_by + 1, sizeof *by);
by_nvar = xnrealloc (by_nvar, n_by + 1, sizeof *by_nvar);
- if (!parse_var_set_vars (lexer, var_set, &by[n_by], &by_nvar[n_by],
+ if (!parse_const_var_set_vars (lexer, var_set, &by[n_by], &by_nvar[n_by],
PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto done;
if (xalloc_oversized (nx, by_nvar[n_by]))
@@ -400,7 +401,7 @@
free (by_nvar);
}
- var_set_destroy (var_set);
+ const_var_set_destroy (var_set);
return success;
}
@@ -424,7 +425,7 @@
long min, max;
- if (!parse_variables (lexer, dataset_dict (ds),
+ if (!parse_variables_const (lexer, dataset_dict (ds),
&variables, &variables_cnt,
(PV_APPEND | PV_NUMERIC
| PV_NO_DUPLICATE | PV_NO_SCRATCH)))
@@ -660,7 +661,7 @@
ofs = x->ofs;
for (i = 0; i < x->nvar; i++)
{
- struct variable *const v = x->vars[i];
+ const struct variable *const v = x->vars[i];
struct var_range *vr = get_var_range (v);
double value = case_num (c, v);
@@ -681,10 +682,10 @@
}
{
- struct variable *row_var = x->vars[ROW_VAR];
+ const struct variable *row_var = x->vars[ROW_VAR];
const int row = case_num (c, row_var) - get_var_range (row_var)->min;
- struct variable *col_var = x->vars[COL_VAR];
+ const struct variable *col_var = x->vars[COL_VAR];
const int col = case_num (c, col_var) - get_var_range (col_var)->min;
const int col_dim = get_var_range (col_var)->count;
@@ -1633,7 +1634,7 @@
enum_var_values (struct table_entry **entries, int entry_cnt, int var_idx,
union value **values, int *value_cnt)
{
- struct variable *v = xtab[(*entries)->table]->vars[var_idx];
+ const struct variable *v = xtab[(*entries)->table]->vars[var_idx];
if (mode == GENERAL)
{
Index: src/language/stats/descriptives.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/descriptives.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- src/language/stats/descriptives.c 9 Feb 2007 05:19:08 -0000 1.22
+++ src/language/stats/descriptives.c 2 Apr 2007 08:55:52 -0000 1.23
@@ -63,7 +63,7 @@
calculating a Z-score. */
struct dsc_z_score
{
- struct variable *src_var; /* Variable on which z-score is based. */
+ const struct variable *src_var; /* Variable on which z-score is based. */
struct variable *z_var; /* New z-score variable. */
double mean; /* Distribution mean. */
double std_dev; /* Distribution standard deviation. */
@@ -74,7 +74,7 @@
{
struct dsc_z_score *z_scores; /* Array of Z-scores. */
int z_score_cnt; /* Number of Z-scores. */
- struct variable **vars; /* Variables for listwise missing checks. */
+ const struct variable **vars; /* Variables for listwise missing
checks. */
size_t var_cnt; /* Number of variables. */
enum dsc_missing_type missing_type; /* Treatment of missing values. */
enum mv_class exclude; /* Classes of missing values to exclude. */
@@ -126,7 +126,7 @@
/* A variable specified on DESCRIPTIVES. */
struct dsc_var
{
- struct variable *v; /* Variable to calculate on. */
+ const struct variable *v; /* Variable to calculate on. */
char z_name[LONG_NAME_LEN + 1]; /* Name for z-score variable. */
double valid, missing; /* Valid, missing counts. */
struct moments *moments; /* Moments. */
@@ -193,7 +193,7 @@
{
struct dictionary *dict = dataset_dict (ds);
struct dsc_proc *dsc;
- struct variable **vars = NULL;
+ const struct variable **vars = NULL;
size_t var_cnt = 0;
int save_z_scores = 0;
int z_cnt = 0;
@@ -316,11 +316,12 @@
{
int i;
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt,
+ if (!parse_variables_const (lexer, dataset_dict (ds),
+ &vars, &var_cnt,
PV_APPEND | PV_NO_DUPLICATE | PV_NUMERIC))
goto error;
- dsc->vars = xnrealloc (dsc->vars, var_cnt, sizeof *dsc->vars);
+ dsc->vars = xnrealloc ((void *)dsc->vars, var_cnt, sizeof
*dsc->vars);
for (i = dsc->var_cnt; i < var_cnt; i++)
{
struct dsc_var *dv = &dsc->vars[i];
@@ -586,7 +587,7 @@
{
struct dsc_trns *t = trns_;
struct dsc_z_score *z;
- struct variable **vars;
+ const struct variable **vars;
int all_sysmis = 0;
if (t->missing_type == DSC_LISTWISE)
Index: src/language/stats/examine.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/examine.q,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- src/language/stats/examine.q 23 Dec 2006 06:11:33 -0000 1.22
+++ src/language/stats/examine.q 2 Apr 2007 08:55:52 -0000 1.23
@@ -84,7 +84,7 @@
static struct cmd_examine cmd;
-static struct variable **dependent_vars;
+static const struct variable **dependent_vars;
static size_t n_dependent_vars;
@@ -116,19 +116,19 @@
/* Output functions */
-static void show_summary (struct variable **dependent_var, int n_dep_var,
+static void show_summary (const struct variable **dependent_var, int n_dep_var,
const struct factor *f);
-static void show_extremes (struct variable **dependent_var,
+static void show_extremes (const struct variable **dependent_var,
int n_dep_var,
const struct factor *factor,
int n_extremities);
-static void show_descriptives (struct variable **dependent_var,
+static void show_descriptives (const struct variable **dependent_var,
int n_dep_var,
struct factor *factor);
-static void show_percentiles (struct variable **dependent_var,
+static void show_percentiles (const struct variable **dependent_var,
int n_dep_var,
struct factor *factor);
@@ -525,7 +525,7 @@
return 2;
}
- if (!parse_variables (lexer, dict, &dependent_vars, &n_dependent_vars,
+ if (!parse_variables_const (lexer, dict, &dependent_vars, &n_dependent_vars,
PV_NO_DUPLICATE | PV_NUMERIC | PV_NO_SCRATCH) )
{
free (dependent_vars);
@@ -899,7 +899,7 @@
static void
-show_summary (struct variable **dependent_var, int n_dep_var,
+show_summary (const struct variable **dependent_var, int n_dep_var,
const struct factor *fctr)
{
static const char *subtitle[]=
@@ -1124,7 +1124,7 @@
static void
-show_extremes (struct variable **dependent_var, int n_dep_var,
+show_extremes (const struct variable **dependent_var, int n_dep_var,
const struct factor *fctr, int n_extremities)
{
int i;
@@ -1361,7 +1361,7 @@
/* Show the descriptives table */
void
-show_descriptives (struct variable **dependent_var,
+show_descriptives (const struct variable **dependent_var,
int n_dep_var,
struct factor *fctr)
{
@@ -1947,7 +1947,7 @@
/* Show the percentiles */
void
-show_percentiles (struct variable **dependent_var,
+show_percentiles (const struct variable **dependent_var,
int n_dep_var,
struct factor *fctr)
{
Index: src/language/stats/flip.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/flip.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- src/language/stats/flip.c 17 Feb 2007 16:16:23 -0000 1.22
+++ src/language/stats/flip.c 2 Apr 2007 08:55:52 -0000 1.23
@@ -64,7 +64,7 @@
struct flip_pgm
{
struct pool *pool; /* Pool containing FLIP data. */
- struct variable **var; /* Variables to transpose. */
+ const struct variable **var; /* Variables to transpose. */
int *idx_to_fv; /* var[]->index to compacted sink case fv. */
size_t var_cnt; /* Number of elements in `var'. */
int case_cnt; /* Pre-flip case count. */
@@ -122,7 +122,7 @@
if (lex_match_id (lexer, "VARIABLES"))
{
lex_match (lexer, '=');
- if (!parse_variables (lexer, dict, &flip->var, &flip->var_cnt,
+ if (!parse_variables_const (lexer, dict, &flip->var, &flip->var_cnt,
PV_NO_DUPLICATE))
goto error;
lex_match (lexer, '/');
Index: src/language/stats/frequencies.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/frequencies.q,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- src/language/stats/frequencies.q 23 Dec 2006 06:11:33 -0000 1.29
+++ src/language/stats/frequencies.q 2 Apr 2007 08:55:52 -0000 1.30
@@ -197,7 +197,7 @@
/* Variables for which to calculate statistics. */
static size_t n_variables;
-static struct variable **v_variables;
+static const struct variable **v_variables;
/* Arenas used to store semi-permanent storage. */
static struct pool *int_pool; /* Integer mode. */
@@ -269,17 +269,17 @@
static void determine_charts (void);
-static void calc_stats (struct variable *v, double d[frq_n_stats]);
+static void calc_stats (const struct variable *v, double d[frq_n_stats]);
static void precalc (const struct ccase *, void *, const struct dataset *);
static bool calc (const struct ccase *, void *, const struct dataset *);
static bool postcalc (void *, const struct dataset *);
-static void postprocess_freq_tab (struct variable *);
-static void dump_full (struct variable *);
-static void dump_condensed (struct variable *);
-static void dump_statistics (struct variable *, int show_varname);
-static void cleanup_freq_tab (struct variable *);
+static void postprocess_freq_tab (const struct variable *);
+static void dump_full (const struct variable *);
+static void dump_condensed (const struct variable *);
+static void dump_statistics (const struct variable *, int show_varname);
+static void cleanup_freq_tab (const struct variable *);
static hsh_compare_func compare_value_numeric_a, compare_value_alpha_a;
static hsh_compare_func compare_value_numeric_d, compare_value_alpha_d;
@@ -569,7 +569,7 @@
for (i = 0; i < n_variables; i++)
{
- struct variable *v = v_variables[i];
+ const struct variable *v = v_variables[i];
struct freq_tab *ft = &get_var_freqs (v)->tab;
if (ft->mode == FRQM_GENERAL)
@@ -597,7 +597,7 @@
for (i = 0; i < n_variables; i++)
{
- struct variable *v = v_variables[i];
+ const struct variable *v = v_variables[i];
struct var_freqs *vf = get_var_freqs (v);
struct freq_tab *ft = &vf->tab;
int n_categories;
@@ -705,7 +705,7 @@
/* Summarizes the frequency table data for variable V. */
static void
-postprocess_freq_tab (struct variable *v)
+postprocess_freq_tab (const struct variable *v)
{
hsh_compare_func *compare;
struct freq_tab *ft;
@@ -760,7 +760,7 @@
/* Frees the frequency table for variable V. */
static void
-cleanup_freq_tab (struct variable *v)
+cleanup_freq_tab (const struct variable *v)
{
struct freq_tab *ft = &get_var_freqs (v)->tab;
assert (ft->mode == FRQM_GENERAL);
@@ -784,7 +784,7 @@
|| dict_lookup_var (dataset_dict (ds), lex_tokid
(lexer)) == NULL))
return 2;
- if (!parse_variables (lexer, dataset_dict (ds), &v_variables, &n_variables,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v_variables,
&n_variables,
PV_APPEND | PV_NO_SCRATCH))
return 0;
@@ -815,7 +815,7 @@
for (i = old_n_variables; i < n_variables; i++)
{
- struct variable *v = v_variables[i];
+ const struct variable *v = v_variables[i];
struct var_freqs *vf;
if (var_get_aux (v) != NULL)
@@ -875,9 +875,9 @@
/* Variable list. */
size_t n;
- struct variable **v;
+ const struct variable **v;
- if (!parse_variables (lexer, dataset_dict (ds), &v, &n,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v, &n,
PV_NO_DUPLICATE | PV_NUMERIC))
return 0;
if (lex_match (lexer, '('))
@@ -1119,7 +1119,7 @@
/* Displays a full frequency table for variable V. */
static void
-dump_full (struct variable *v)
+dump_full (const struct variable *v)
{
int n_categories;
struct var_freqs *vf;
@@ -1250,7 +1250,7 @@
/* Display condensed frequency table for variable V. */
static void
-dump_condensed (struct variable *v)
+dump_condensed (const struct variable *v)
{
int n_categories;
struct var_freqs *vf;
@@ -1310,7 +1310,7 @@
/* Calculates all the pertinent statistics for variable V, putting
them in array D[]. FIXME: This could be made much more optimal. */
static void
-calc_stats (struct variable *v, double d[frq_n_stats])
+calc_stats (const struct variable *v, double d[frq_n_stats])
{
struct freq_tab *ft = &get_var_freqs (v)->tab;
double W = ft->valid_cases;
@@ -1472,7 +1472,7 @@
/* Displays a table of all the statistics requested for variable V. */
static void
-dump_statistics (struct variable *v, int show_varname)
+dump_statistics (const struct variable *v, int show_varname)
{
struct freq_tab *ft;
double stat_value[frq_n_stats];
Index: src/language/stats/means.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/means.q,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- src/language/stats/means.q 15 Dec 2006 00:16:03 -0000 1.12
+++ src/language/stats/means.q 2 Apr 2007 08:55:52 -0000 1.13
@@ -53,7 +53,7 @@
/* TABLES: Variable lists for each dimension. */
static int n_dim; /* Number of dimensions. */
static size_t *nv_dim; /* Number of variables in each dimension. */
-static struct variable ***v_dim; /* Variables in each dimension. */
+static const struct variable ***v_dim; /* Variables in each dimension. */
/* VARIABLES: List of variables. */
static struct variable **v_var;
@@ -123,7 +123,7 @@
static int
mns_custom_tables (struct lexer *lexer, struct dataset *ds, struct cmd_means
*cmd, void *aux UNUSED)
{
- struct var_set *var_set;
+ struct const_var_set *var_set;
if (!lex_match_id (lexer, "TABLES")
&& (lex_token (lexer) != T_ID || dict_lookup_var (dataset_dict (ds),
lex_tokid (lexer)) == NULL)
@@ -138,15 +138,15 @@
return 0;
}
- var_set = var_set_create_from_dict (dataset_dict (ds));
+ var_set = const_var_set_create_from_dict (dataset_dict (ds));
assert (var_set != NULL);
do
{
size_t nvl;
- struct variable **vl;
+ const struct variable **vl;
- if (!parse_var_set_vars (lexer, var_set, &vl, &nvl,
+ if (!parse_const_var_set_vars (lexer, var_set, &vl, &nvl,
PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto lossage;
@@ -159,11 +159,11 @@
}
while (lex_match (lexer, T_BY));
- var_set_destroy (var_set);
+ const_var_set_destroy (var_set);
return 1;
lossage:
- var_set_destroy (var_set);
+ const_var_set_destroy (var_set);
return 0;
}
Index: src/language/stats/npar.h
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/npar.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/language/stats/npar.h 20 Dec 2006 22:19:48 -0000 1.2
+++ src/language/stats/npar.h 2 Apr 2007 08:55:52 -0000 1.3
@@ -19,10 +19,11 @@
#if !npar_h
#define npar_h 1
-typedef struct variable *var_ptr;
+typedef const struct variable *var_ptr;
typedef var_ptr variable_pair[2];
struct hsh_table;
+struct const_hsh_table;
struct casefilter ;
struct npar_test
@@ -34,13 +35,13 @@
);
void (*insert_variables) (const struct npar_test *,
- struct hsh_table *);
+ struct const_hsh_table *);
};
struct one_sample_test
{
struct npar_test parent;
- struct variable **vars;
+ const struct variable **vars;
size_t n_vars;
};
Index: src/language/stats/npar.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/npar.q,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/language/stats/npar.q 9 Feb 2007 05:19:08 -0000 1.3
+++ src/language/stats/npar.q 2 Apr 2007 08:55:52 -0000 1.4
@@ -82,7 +82,7 @@
};
void one_sample_insert_variables (const struct npar_test *test,
- struct hsh_table *variables);
+ struct const_hsh_table *variables);
static bool
npar_execute(const struct ccase *first UNUSED,
@@ -130,10 +130,10 @@
bool ok;
int i;
struct npar_specs npar_specs = {0, 0, 0, 0, 0, 0, 0, 0};
- struct hsh_table *var_hash;
+ struct const_hsh_table *var_hash;
npar_specs.pool = pool_create ();
- var_hash = hsh_create_pool (npar_specs.pool, 0,
+ var_hash = const_hsh_create_pool (npar_specs.pool, 0,
compare_vars_by_name, hash_var_by_name,
NULL, NULL);
@@ -149,8 +149,8 @@
test->insert_variables (test, var_hash);
}
- npar_specs.vv = (const struct variable *const *) hsh_data (var_hash);
- npar_specs.n_vars = hsh_count (var_hash);
+ npar_specs.vv = (const struct variable *const *) const_hsh_data (var_hash);
+ npar_specs.n_vars = const_hsh_count (var_hash);
if ( cmd.sbc_statistics )
{
@@ -191,7 +191,7 @@
casefilter_destroy (npar_specs.filter);
- hsh_destroy (var_hash);
+ const_hsh_destroy (var_hash);
pool_destroy (npar_specs.pool);
@@ -209,7 +209,7 @@
((struct npar_test *)tp)->execute = chisquare_execute;
((struct npar_test *)tp)->insert_variables = one_sample_insert_variables;
- if (!parse_variables_pool (lexer, specs->pool, dataset_dict (ds),
+ if (!parse_variables_const_pool (lexer, specs->pool, dataset_dict (ds),
&tp->vars, &tp->n_vars,
PV_NO_SCRATCH | PV_NO_DUPLICATE))
{
@@ -329,7 +329,7 @@
if ( lex_match (lexer, '=') )
{
- if (parse_variables_pool (lexer, specs->pool, dataset_dict (ds),
+ if (parse_variables_const_pool (lexer, specs->pool, dataset_dict (ds),
&tp->vars, &tp->n_vars,
PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE) )
{
@@ -389,13 +389,13 @@
int n = 0;
bool paired = false;
bool with = false;
- struct variable **vlist1;
+ const struct variable **vlist1;
size_t n_vlist1;
- struct variable **vlist2;
+ const struct variable **vlist2;
size_t n_vlist2;
- if (!parse_variables_pool (lexer, pool,
+ if (!parse_variables_const_pool (lexer, pool,
dict,
&vlist1, &n_vlist1,
PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE) )
@@ -404,7 +404,7 @@
if ( lex_match(lexer, T_WITH))
{
with = true;
- if ( !parse_variables_pool (lexer, pool, dict,
+ if ( !parse_variables_const_pool (lexer, pool, dict,
&vlist2, &n_vlist2,
PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE)
)
return false;
@@ -558,12 +558,12 @@
/* Insert the variables for TEST into VAR_HASH */
void
one_sample_insert_variables (const struct npar_test *test,
- struct hsh_table *var_hash)
+ struct const_hsh_table *var_hash)
{
int i;
struct one_sample_test *ost = (struct one_sample_test *) test;
for ( i = 0 ; i < ost->n_vars ; ++i )
- hsh_insert (var_hash, ost->vars[i]);
+ const_hsh_insert (var_hash, ost->vars[i]);
}
Index: src/language/stats/oneway.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/oneway.q,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- src/language/stats/oneway.q 9 Feb 2007 05:19:08 -0000 1.21
+++ src/language/stats/oneway.q 2 Apr 2007 08:55:52 -0000 1.22
@@ -71,13 +71,13 @@
static struct cmd_oneway cmd;
/* The independent variable */
-static struct variable *indep_var;
+static const struct variable *indep_var;
/* Number of dependent variables */
static size_t n_vars;
/* The dependent variables */
-static struct variable **vars;
+static const struct variable **vars;
/* A hash table containing all the distinct values of the independent
@@ -225,7 +225,7 @@
&& lex_token (lexer) != T_ALL)
return 2;
- if (!parse_variables (lexer, dict, &vars, &n_vars,
+ if (!parse_variables_const (lexer, dict, &vars, &n_vars,
PV_DUPLICATE
| PV_NUMERIC | PV_NO_SCRATCH) )
{
Index: src/language/stats/rank.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/rank.q,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- src/language/stats/rank.q 16 Jan 2007 15:30:28 -0000 1.27
+++ src/language/stats/rank.q 2 Apr 2007 08:55:52 -0000 1.28
@@ -154,10 +154,10 @@
static struct sort_criteria *sc;
-static struct variable **group_vars;
+static const struct variable **group_vars;
static size_t n_group_vars;
-static struct variable **src_vars;
+static const struct variable **src_vars;
static size_t n_src_vars;
@@ -245,7 +245,7 @@
criteria.crits = xnmalloc (criteria.crit_cnt, sizeof *criteria.crits);
for (i = 0; i < n_splits ; i++)
{
- struct variable *v = dict_get_split_vars (dataset_dict (ds))[i];
+ const struct variable *v = dict_get_split_vars (dataset_dict (ds))[i];
criteria.crits[i].fv = var_get_case_index (v);
criteria.crits[i].width = var_get_width (v);
criteria.crits[i].dir = SRT_ASCEND;
@@ -946,7 +946,7 @@
return 2;
}
- if (!parse_variables (lexer, dataset_dict (ds),
+ if (!parse_variables_const (lexer, dataset_dict (ds),
&group_vars, &n_group_vars,
PV_NO_DUPLICATE | PV_NO_SCRATCH) )
{
Index: src/language/stats/regression.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/regression.q,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- src/language/stats/regression.q 30 Mar 2007 02:16:41 -0000 1.47
+++ src/language/stats/regression.q 2 Apr 2007 08:55:52 -0000 1.48
@@ -89,7 +89,7 @@
struct moments_var
{
struct moments1 *m;
- struct variable *v;
+ const struct variable *v;
};
/* Linear regression models. */
@@ -108,7 +108,7 @@
/*
Variables used (both explanatory and response).
*/
-static struct variable **v_variables;
+static const struct variable **v_variables;
/*
Number of variables.
@@ -974,8 +974,9 @@
Compute the first two moments.
*/
static size_t
-mark_missing_cases (const struct casefile *cf, struct variable *v,
- int *is_missing_case, double n_data, struct moments_var
*mom)
+mark_missing_cases (const struct casefile *cf, const struct variable *v,
+ int *is_missing_case, double n_data,
+ struct moments_var *mom)
{
struct casereader *r;
struct ccase c;
@@ -1024,7 +1025,7 @@
return 2;
- if (!parse_variables (lexer, dict, &v_variables, &n_variables, PV_NONE))
+ if (!parse_variables_const (lexer, dict, &v_variables, &n_variables,
PV_NONE))
{
free (v_variables);
return 0;
@@ -1064,8 +1065,9 @@
*/
static int
prepare_data (int n_data, int is_missing_case[],
- struct variable **indep_vars,
- struct variable *depvar, const struct casefile *cf, struct
moments_var *mom)
+ const struct variable **indep_vars,
+ const struct variable *depvar, const struct casefile *cf,
+ struct moments_var *mom)
{
int i;
int j;
@@ -1153,7 +1155,7 @@
const union value *val;
struct casereader *r;
struct ccase c;
- struct variable **indep_vars;
+ const struct variable **indep_vars;
struct design_matrix *X;
struct moments_var *mom;
gsl_vector *Y;
Index: src/language/stats/sort-criteria.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/sort-criteria.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/language/stats/sort-criteria.c 15 Dec 2006 00:16:03 -0000 1.7
+++ src/language/stats/sort-criteria.c 2 Apr 2007 08:55:52 -0000 1.8
@@ -50,13 +50,13 @@
*/
struct sort_criteria *
sort_parse_criteria (struct lexer *lexer, const struct dictionary *dict,
- struct variable ***vars, size_t *var_cnt,
+ const struct variable ***vars, size_t *var_cnt,
bool *saw_direction,
const int *terminators
)
{
struct sort_criteria *criteria;
- struct variable **local_vars = NULL;
+ const struct variable **local_vars = NULL;
size_t local_var_cnt;
assert ((vars == NULL) == (var_cnt == NULL));
@@ -81,7 +81,7 @@
enum sort_direction direction;
/* Variables. */
- if (!parse_variables (lexer, dict, vars, var_cnt,
+ if (!parse_variables_const (lexer, dict, vars, var_cnt,
PV_NO_DUPLICATE | PV_APPEND | PV_NO_SCRATCH))
goto error;
Index: src/language/stats/sort-criteria.h
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/sort-criteria.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/language/stats/sort-criteria.h 15 Dec 2006 00:16:03 -0000 1.4
+++ src/language/stats/sort-criteria.h 2 Apr 2007 08:55:52 -0000 1.5
@@ -28,7 +28,7 @@
struct lexer ;
struct sort_criteria *sort_parse_criteria (struct lexer *, const struct
dictionary *,
- struct variable ***, size_t *,
+ const struct variable ***, size_t *,
bool *saw_direction,
const int *terminators
);
Index: src/language/stats/t-test.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/t-test.q,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/language/stats/t-test.q 9 Feb 2007 05:19:08 -0000 1.20
+++ src/language/stats/t-test.q 2 Apr 2007 08:55:52 -0000 1.21
@@ -110,7 +110,7 @@
struct pair
{
/* The variables comprising the pair */
- struct variable *v[2];
+ const struct variable *v[2];
/* The number of valid variable pairs */
double n;
@@ -304,30 +304,29 @@
int i;
struct hsh_iterator hi;
- struct hsh_table *hash;
- struct variable *v;
+ struct const_hsh_table *hash;
+ const struct variable *v;
- hash = hsh_create (n_pairs, compare_vars_by_name, hash_var_by_name,
+ hash = const_hsh_create (n_pairs, compare_vars_by_name,
hash_var_by_name,
0, 0);
for (i=0; i < n_pairs; ++i)
{
- hsh_insert(hash,pairs[i].v[0]);
- hsh_insert(hash,pairs[i].v[1]);
+ const_hsh_insert (hash, pairs[i].v[0]);
+ const_hsh_insert (hash, pairs[i].v[1]);
}
assert(cmd.n_variables == 0);
- cmd.n_variables = hsh_count(hash);
+ cmd.n_variables = const_hsh_count (hash);
cmd.v_variables = xnrealloc (cmd.v_variables, cmd.n_variables,
sizeof *cmd.v_variables);
/* Iterate through the hash */
- for (i=0,v = (struct variable *) hsh_first(hash,&hi);
+ for (i=0,v = const_hsh_first (hash, &hi);
v != 0;
- v=hsh_next(hash,&hi) )
+ v = const_hsh_next (hash, &hi) )
cmd.v_variables[i++]=v;
-
- hsh_destroy(hash);
+ const_hsh_destroy(hash);
}
}
else if ( !cmd.sbc_variables)
@@ -441,7 +440,7 @@
static int
tts_custom_pairs (struct lexer *lexer, struct dataset *ds, struct cmd_t_test
*cmd UNUSED, void *aux UNUSED)
{
- struct variable **vars;
+ const struct variable **vars;
size_t n_vars;
size_t n_pairs_local;
@@ -452,7 +451,7 @@
lex_match (lexer, '=');
n_vars=0;
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &n_vars,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &vars, &n_vars,
PV_DUPLICATE | PV_NUMERIC | PV_NO_SCRATCH))
{
free (vars);
@@ -464,7 +463,7 @@
if (lex_match (lexer, T_WITH))
{
n_before_WITH = n_vars;
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &n_vars,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &vars, &n_vars,
PV_DUPLICATE | PV_APPEND
| PV_NUMERIC | PV_NO_SCRATCH))
{
@@ -749,7 +748,7 @@
for (i=0; i < cmd->n_variables; ++i)
{
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
struct hsh_table *grp_hash = group_proc_get (var)->group_hash;
int count=0;
@@ -1012,7 +1011,7 @@
double std_err_diff;
double mean_diff;
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
struct group_proc *grp_data = group_proc_get (var);
struct hsh_table *grp_hash = grp_data->group_hash;
@@ -1429,7 +1428,7 @@
for(i = 0; i < cmd->n_variables ; ++i)
{
- struct variable *v = cmd->v_variables[i];
+ const struct variable *v = cmd->v_variables[i];
if (! casefilter_variable_missing (filter, c, v) )
{
@@ -1505,7 +1504,7 @@
for(i=0; i< cmd->n_variables ; ++i)
{
struct group_statistics *gs;
- struct variable *v = cmd->v_variables[i];
+ const struct variable *v = cmd->v_variables[i];
const union value *val = case_data (c, v);
gs= &group_proc_get (cmd->v_variables[i])->ugs;
@@ -1578,8 +1577,8 @@
for(i=0; i < n_pairs ; ++i )
{
- struct variable *v0 = pairs[i].v[0];
- struct variable *v1 = pairs[i].v[1];
+ const struct variable *v0 = pairs[i].v[0];
+ const struct variable *v1 = pairs[i].v[1];
const union value *val0 = case_data (c, v0);
const union value *val1 = case_data (c, v1);
@@ -1711,7 +1710,7 @@
for(i=0; i< cmd->n_variables ; ++i)
{
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
const union value *val = case_data (c, var);
struct hsh_table *grp_hash = group_proc_get (var)->group_hash;
struct group_statistics *gs;
@@ -1742,7 +1741,7 @@
for (i = 0; i < cmd->n_variables ; ++i)
{
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
struct hsh_table *grp_hash = group_proc_get (var)->group_hash;
struct hsh_iterator g;
struct group_statistics *gs;
Index: src/language/xforms/count.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/xforms/count.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/language/xforms/count.c 23 Dec 2006 06:11:33 -0000 1.15
+++ src/language/xforms/count.c 2 Apr 2007 08:55:52 -0000 1.16
@@ -58,7 +58,7 @@
struct criteria *next;
/* Variables to count. */
- struct variable **vars;
+ const struct variable **vars;
size_t var_cnt;
/* Count special values? */
@@ -139,7 +139,8 @@
crit->next = NULL;
crit->vars = NULL;
- if (!parse_variables (lexer, dataset_dict (ds), &crit->vars,
&crit->var_cnt,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &crit->vars,
+ &crit->var_cnt,
PV_DUPLICATE | PV_SAME_TYPE))
goto fail;
pool_register (trns->pool, free, crit->vars);
Index: src/language/xforms/recode.c
===================================================================
RCS file: /sources/pspp/pspp/src/language/xforms/recode.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- src/language/xforms/recode.c 2 Feb 2007 00:52:38 -0000 1.19
+++ src/language/xforms/recode.c 2 Apr 2007 08:55:52 -0000 1.20
@@ -97,8 +97,8 @@
enum var_type dst_type; /* dst_vars[*]->type. */
/* Variables. */
- struct variable **src_vars; /* Source variables. */
- struct variable **dst_vars; /* Destination variables. */
+ const struct variable **src_vars; /* Source variables. */
+ const struct variable **dst_vars; /* Destination variables. */
char **dst_names; /* Name of dest variables, if they're new. */
size_t var_cnt; /* Number of variables. */
@@ -181,7 +181,7 @@
parse_src_vars (struct lexer *lexer,
struct recode_trns *trns, const struct dictionary *dict)
{
- if (!parse_variables (lexer, dict, &trns->src_vars, &trns->var_cnt,
+ if (!parse_variables_const (lexer, dict, &trns->src_vars, &trns->var_cnt,
PV_SAME_TYPE))
return false;
pool_register (trns->pool, free, trns->src_vars);
@@ -443,7 +443,7 @@
trns->var_cnt, sizeof *trns->dst_vars);
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *v;
+ const struct variable *v;
v = trns->dst_vars[i] = dict_lookup_var (dict, trns->dst_names[i]);
if (v == NULL && trns->dst_type == VAR_STRING)
{
@@ -472,7 +472,7 @@
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *v = trns->dst_vars[i];
+ const struct variable *v = trns->dst_vars[i];
if (v != NULL && var_get_type (v) != trns->dst_type)
{
msg (SE, _("Type mismatch. Cannot store %s data in "
@@ -498,7 +498,7 @@
max_dst_width = 0;
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *v = trns->dst_vars[i];
+ const struct variable *v = trns->dst_vars[i];
if (var_get_width (v) > max_dst_width)
max_dst_width = var_get_width (v);
}
@@ -523,7 +523,7 @@
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable **var = &trns->dst_vars[i];
+ const struct variable **var = &trns->dst_vars[i];
const char *name = trns->dst_names[i];
*var = dict_lookup_var (dict, name);
@@ -538,7 +538,7 @@
/* Returns the output mapping in TRNS for an input of VALUE on
variable V, or a null pointer if there is no mapping. */
static const struct map_out *
-find_src_numeric (struct recode_trns *trns, double value, struct variable *v)
+find_src_numeric (struct recode_trns *trns, double value, const struct
variable *v)
{
struct mapping *m;
@@ -627,8 +627,8 @@
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *src_var = trns->src_vars[i];
- struct variable *dst_var = trns->dst_vars[i];
+ const struct variable *src_var = trns->src_vars[i];
+ const struct variable *dst_var = trns->dst_vars[i];
const union value *src_data = case_data (c, src_var);
union value *dst_data = case_data_rw (c, dst_var);
Index: src/libpspp/hash.h
===================================================================
RCS file: /sources/pspp/pspp/src/libpspp/hash.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/libpspp/hash.h 15 Dec 2006 00:16:03 -0000 1.7
+++ src/libpspp/hash.h 2 Apr 2007 08:55:52 -0000 1.8
@@ -87,4 +87,109 @@
void hsh_dump (struct hsh_table *);
#endif
+
+/* Const Wrappers for the above */
+
+static inline struct const_hsh_table *
+const_hsh_create (int m,
+ hsh_compare_func *hcf,
+ hsh_hash_func *hhf, hsh_free_func *hff,
+ const void *aux)
+{
+ return (struct const_hsh_table *) hsh_create (m, hcf, hhf, hff, aux);
+}
+
+
+
+static inline struct const_hsh_table *
+const_hsh_create_pool (struct pool *pool, int m,
+ hsh_compare_func *cf,
+ hsh_hash_func *hf, hsh_free_func *ff,
+ const void *aux)
+{
+ return (struct const_hsh_table *) hsh_create_pool (pool, m, cf, hf, ff, aux);
+}
+
+
+static inline void
+const_hsh_clear (struct const_hsh_table *h)
+{
+ hsh_clear ( (struct hsh_table *) h);
+}
+
+static inline void
+const_hsh_destroy (struct const_hsh_table *h)
+{
+ hsh_destroy ( (struct hsh_table *) h);
+}
+
+static inline void *const *
+const_hsh_sort (struct const_hsh_table *h)
+{
+ return hsh_sort ( (struct hsh_table *) h);
+}
+
+static inline void *const *
+const_hsh_data (struct const_hsh_table *h)
+{
+ return hsh_data ( (struct hsh_table *) h);
+}
+
+static inline void **
+const_hsh_sort_copy (struct const_hsh_table *h)
+{
+ return hsh_sort_copy ( (struct hsh_table *) h);
+}
+
+static inline void **
+const_hsh_data_copy (struct const_hsh_table *h)
+{
+ return hsh_data_copy ( (struct hsh_table *) h);
+}
+
+
+static inline size_t
+const_hsh_count (struct const_hsh_table *h)
+{
+ return hsh_count ( (struct hsh_table *) h);
+}
+
+static inline void *
+const_hsh_insert (struct const_hsh_table *h, const void *item)
+{
+ return hsh_insert ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline void *
+const_hsh_replace (struct const_hsh_table *h, const void *item)
+{
+ return hsh_replace ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline void *
+const_hsh_find (struct const_hsh_table *h, const void *item)
+{
+ return hsh_find ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline bool
+const_hsh_delete (struct const_hsh_table *h, const void *item)
+{
+ return hsh_delete ( (struct hsh_table *)h, (void *) item);
+}
+
+
+static inline void *
+const_hsh_first (struct const_hsh_table *h, struct hsh_iterator *i)
+{
+ return hsh_first ( (struct hsh_table *) h, i);
+}
+
+static inline void *
+const_hsh_next (struct const_hsh_table *h, struct hsh_iterator *i)
+{
+ return hsh_next ( (struct hsh_table *) h, i);
+}
+
+
#endif /* hash_h */
Index: src/math/group-proc.h
===================================================================
RCS file: /sources/pspp/pspp/src/math/group-proc.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/math/group-proc.h 16 Dec 2006 04:26:43 -0000 1.2
+++ src/math/group-proc.h 2 Apr 2007 08:55:52 -0000 1.3
@@ -45,6 +45,6 @@
};
struct variable;
-struct group_proc *group_proc_get (struct variable *);
+struct group_proc *group_proc_get (const struct variable *);
#endif
Index: src/math/group.c
===================================================================
RCS file: /sources/pspp/pspp/src/math/group.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- src/math/group.c 16 Dec 2006 04:26:43 -0000 1.5
+++ src/math/group.c 2 Apr 2007 08:55:52 -0000 1.6
@@ -59,7 +59,7 @@
struct group_proc *
-group_proc_get (struct variable *v)
+group_proc_get (const struct variable *v)
{
/* This is not ideal, obviously. */
struct group_proc *group = var_get_aux (v);
Index: src/math/levene.c
===================================================================
RCS file: /sources/pspp/pspp/src/math/levene.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- src/math/levene.c 16 Dec 2006 04:26:43 -0000 1.9
+++ src/math/levene.c 2 Apr 2007 08:55:52 -0000 1.10
@@ -65,13 +65,13 @@
struct t_test_proc **group_stats;
/* The independent variable */
- struct variable *v_indep;
+ const struct variable *v_indep;
/* Number of dependent variables */
size_t n_dep;
/* The dependent variables */
- struct variable **v_dep;
+ const struct variable **v_dep;
/* Filter for missing values */
struct casefilter *filter;
@@ -94,7 +94,8 @@
void
levene(const struct dictionary *dict,
const struct casefile *cf,
- struct variable *v_indep, size_t n_dep, struct variable **v_dep,
+ const struct variable *v_indep, size_t n_dep,
+ const struct variable **v_dep,
struct casefilter *filter)
{
struct casereader *r;
@@ -159,7 +160,7 @@
for(i = 0; i < l->n_dep ; ++i )
{
- struct variable *var = l->v_dep[i];
+ const struct variable *var = l->v_dep[i];
struct group_proc *gp = group_proc_get (var);
struct group_statistics *gs;
struct hsh_iterator hi;
@@ -194,7 +195,7 @@
for (i = 0; i < l->n_dep; ++i)
{
- struct variable *var = l->v_dep[i];
+ const struct variable *var = l->v_dep[i];
struct group_proc *gp = group_proc_get (var);
double levene_z;
const union value *v = case_data (c, var);
@@ -254,7 +255,7 @@
struct hsh_iterator hi;
struct group_statistics *g;
- struct variable *var = l->v_dep[v] ;
+ const struct variable *var = l->v_dep[v] ;
struct hsh_table *hash = group_proc_get (var)->group_hash;
@@ -285,7 +286,7 @@
for (i = 0; i < l->n_dep; ++i)
{
double levene_z;
- struct variable *var = l->v_dep[i] ;
+ const struct variable *var = l->v_dep[i] ;
const union value *v = case_data (c, var);
struct group_statistics *gs;
@@ -319,7 +320,7 @@
struct hsh_iterator hi;
struct group_statistics *g;
- struct variable *var = l->v_dep[v] ;
+ const struct variable *var = l->v_dep[v] ;
struct group_proc *gp = group_proc_get (var);
struct hsh_table *hash = gp->group_hash;
Index: src/math/levene.h
===================================================================
RCS file: /sources/pspp/pspp/src/math/levene.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- src/math/levene.h 16 Dec 2006 04:26:43 -0000 1.5
+++ src/math/levene.h 2 Apr 2007 08:55:52 -0000 1.6
@@ -40,7 +40,8 @@
struct casefilter ;
void levene(const struct dictionary *dict, const struct casefile *cf,
- struct variable *v_indep, size_t n_dep, struct variable **v_dep,
+ const struct variable *v_indep, size_t n_dep,
+ const struct variable **v_dep,
struct casefilter *filter);
Index: src/ui/gui/data-editor.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-editor.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- src/ui/gui/data-editor.c 31 Mar 2007 11:44:45 -0000 1.21
+++ src/ui/gui/data-editor.c 2 Apr 2007 08:55:52 -0000 1.22
@@ -712,7 +712,7 @@
{
gint i;
GString *text;
- struct variable *const * split_vars = dict_get_split_vars (dict->dict);
+ const struct variable *const * split_vars = dict_get_split_vars
(dict->dict);
text = g_string_new (_("Split by "));
Index: src/ui/gui/split-file-dialog.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/split-file-dialog.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/ui/gui/split-file-dialog.c 31 Mar 2007 11:44:45 -0000 1.2
+++ src/ui/gui/split-file-dialog.c 2 Apr 2007 08:55:52 -0000 1.3
@@ -27,6 +27,7 @@
#include "dict-display.h"
#include <language/syntax-string-source.h>
#include "syntax-editor.h"
+#include <data/dictionary.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
@@ -147,7 +148,7 @@
{
GtkTreeIter iter;
gint i;
- struct variable *const *vars = dict_get_split_vars (d->dict->dict);
+ const struct variable *const *vars = dict_get_split_vars (d->dict->dict);
for (i = 0 ; i < n_vars; ++i )
{
@@ -172,6 +173,7 @@
gint response;
struct data_editor *de = data;
struct split_file_dialog sfd;
+ PsppireVarStore *vs ;
GtkWidget *dialog ;
GtkWidget *source ;
@@ -191,7 +193,7 @@
var_sheet = GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
- PsppireVarStore *vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
+ vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
sfd.dict = vs->dict;
sfd.tv = GTK_TREE_VIEW (dest);
Index: src/ui/gui/transpose-dialog.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/transpose-dialog.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/ui/gui/transpose-dialog.c 31 Mar 2007 11:44:45 -0000 1.4
+++ src/ui/gui/transpose-dialog.c 2 Apr 2007 08:55:52 -0000 1.5
@@ -52,7 +52,7 @@
GladeXML *xml = data;
GtkWidget *dest = get_widget_assert (xml, "variables-treeview");
GtkWidget *entry = get_widget_assert (xml, "new-name-entry");
- GtkTreeModel *dmodel = gtk_tree_view_get_model (dest);
+ GtkTreeModel *dmodel = gtk_tree_view_get_model (GTK_TREE_VIEW (dest));
gtk_list_store_clear (GTK_LIST_STORE (dmodel));
gtk_entry_set_text (GTK_ENTRY (entry), "");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] pspp po/de.po po/pspp.pot src/data/case.c src/d...,
John Darrington <=