From: John Darrington Date: Thu, 3 Aug 2017 05:37:27 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/master' into sheet X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5dbf5abcbed01f04422d4dead1c0ae0bb7efde4f;hp=b5a56f8d1592fd0d9bf981d71e28851c4e733fef;p=pspp Merge remote-tracking branch 'origin/master' into sheet --- diff --git a/NEWS b/NEWS index ab6ae5daf3..f253c7b279 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,8 @@ Changes from 0.10.2 to 0.10.4 * The FACTOR command can now analyse matrix files prepared with MATRIX DATA. + * The FACTOR command can now print the anti-image matrices. + * The MATRIX DATA command has been added. * Some inappropriate properties in selection dialogs have been corrected. @@ -38,10 +40,14 @@ Changes from 0.10.2 to 0.10.4 ** The Non Parametric Statistics Menu has a new item: "K Independent Samples". + ** Dialog boxes can now be canceled using the key. + * The AUTORECODE command now accepts an optional / before INTO. * The short form of the VECTOR command can now create string variables. + * Bug fixes, including fixes for CVE-2017-10791 and CVE-2017-10792. + Changes from 0.10.1 to 0.10.2: * CROSSTABS implements a new COUNT subcommand to round case or cell diff --git a/README.Git b/README.Git index 123665095b..46bc0818eb 100644 --- a/README.Git +++ b/README.Git @@ -36,11 +36,14 @@ This version of PSPP should work with the Gnulib commit shown below. Gnulib does not maintain a stable API or ABI, so it is possible that PSPP will not work with older or newer versions of Gnulib. - commit baef0a4b9433d00e59c586b9eaad67d8461d7324 - Author: Karl Berry - Date: Tue Jun 14 09:05:27 2016 -0700 + commit 418a494eaac2dbec290de5991059bc9b33dc7df1 + Author: John E. Malmberg + Date: Sat Jul 15 23:11:44 2017 +0200 - autoupdate + sys_socket: Add support for OpenVMS. + + * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN. + * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues. To clone Gnulib into a directory named "gnulib" using Git, and then check out this particular commit, run these commands: diff --git a/Smake b/Smake index 99cde1e742..91b4230f5c 100644 --- a/Smake +++ b/Smake @@ -1,5 +1,23 @@ # -*- makefile -*- +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + all: everything # Adjust these to reflect where you've installed gnulib. diff --git a/build-aux/automake.mk b/build-aux/automake.mk index bfd8326ba3..ac778c47e0 100644 --- a/build-aux/automake.mk +++ b/build-aux/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- EXTRA_DIST += build-aux/svg2png build-aux/icon-list diff --git a/configure.ac b/configure.ac index 492cdd3085..6e7984bf98 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,24 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl dnl Process this file with autoconf to produce a configure script. dnl Initialize. AC_PREREQ(2.63) -AC_INIT([GNU PSPP], [0.10.5pre1], [bug-gnu-pspp@gnu.org], [pspp]) +AC_INIT([GNU PSPP], [0.10.4], [bug-gnu-pspp@gnu.org], [pspp]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_TESTDIR([tests]) diff --git a/doc/automake.mk b/doc/automake.mk index 28866ca2e9..c571a236d2 100644 --- a/doc/automake.mk +++ b/doc/automake.mk @@ -45,20 +45,6 @@ doc_pspp_dev_TEXINFOS = doc/version-dev.texi \ doc/dev/encrypted-file-wrappers.texi \ doc/dev/q2c.texi -if HAVE_DOT -$(PDFS): doc/dev/spv-structure.pdf -$(srcdir)/doc/dev/spv-structure.pdf: doc/dev/spv-structure.gv - dot -Tpdf < $< > $@ - -$(DVIS): doc/dev/spv-structure.eps -$(srcdir)/doc/dev/spv-structure.eps: doc/dev/spv-structure.gv - dot -Teps < $< > $@ -endif -EXTRA_DIST += \ - doc/dev/spv-structure.gv \ - doc/dev/spv-structure.pdf \ - doc/dev/spv-structure.eps - dist_man_MANS += doc/pspp.1 \ doc/psppire.1 diff --git a/doc/bugs.texi b/doc/bugs.texi index 67b10498be..e560041118 100644 --- a/doc/bugs.texi +++ b/doc/bugs.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Bugs @chapter Bugs diff --git a/doc/combining.texi b/doc/combining.texi index da0a5ea999..ad2ed03e3f 100644 --- a/doc/combining.texi +++ b/doc/combining.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Combining Data Files @chapter Combining Data Files diff --git a/doc/command-index.texi b/doc/command-index.texi index d26f907470..626a61727b 100644 --- a/doc/command-index.texi +++ b/doc/command-index.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Command Index @chapter Command Index @printindex vr diff --git a/doc/concept-index.texi b/doc/concept-index.texi index 29d8a624d2..cf3288d9a1 100644 --- a/doc/concept-index.texi +++ b/doc/concept-index.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Concept Index @chapter Concept Index @printindex cp diff --git a/doc/data-io.texi b/doc/data-io.texi index a5ba26f018..9341a58c8a 100644 --- a/doc/data-io.texi +++ b/doc/data-io.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @c (modify-syntax-entry ?_ "w") @c (modify-syntax-entry ?' "'") @c (modify-syntax-entry ?@ "'") @@ -966,10 +975,11 @@ active dataset. @display MATRIX DATA VARIABLES = @var{columns} - [eFILE='@var{file_name}'| INLINE @} + [FILE='@var{file_name}'| INLINE @} [/FORMAT= [@{LIST | FREE@}] [@{UPPER | LOWER | FULL@}] [@{DIAGONAL | NODIAGONAL@}]] + [/N= @var{n}] [/SPLIT= @var{split_variables}]. @end display @@ -1049,6 +1059,40 @@ single line. If you pass the keyword @var{FREE} to @subcmd{FORMAT} then the data may be data for several matrix rows may be specified on the same line, or a single row may be split across lines. +The @subcmd{N} subcommand may be used to specify the number +of valid cases for each variable. It should not be used if the +data contains a record whose ROWTYPE_ column is @samp{N} or @samp{N_VECTOR}. +It implies a @samp{N} record whose values are all @var{n}. +That is to say, +@example +matrix data + variables = rowtype_ var01 TO var04 + /format = upper nodiagonal + /n = 99. +begin data +mean 34 35 36 37 +sd 22 11 55 66 +corr 9 8 7 +corr 6 5 +corr 4 +end data. +@end example +produces an effect identical to +@example +matrix data + variables = rowtype_ var01 TO var04 + /format = upper nodiagonal +begin data +n 99 99 99 99 +mean 34 35 36 37 +sd 22 11 55 66 +corr 9 8 7 +corr 6 5 +corr 4 +end data. +@end example + + The @subcmd{SPLIT} is used to indicate that variables are to be considered as split variables. For example, the following defines two matrices using the variable @samp{S1} to distinguish diff --git a/doc/data-selection.texi b/doc/data-selection.texi index a8cb12d953..9d8cbbf2f5 100644 --- a/doc/data-selection.texi +++ b/doc/data-selection.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Data Selection @chapter Selecting data for analysis diff --git a/doc/dev/spv-file-format.texi b/doc/dev/spv-file-format.texi index ee99c24051..379f6988f7 100644 --- a/doc/dev/spv-file-format.texi +++ b/doc/dev/spv-file-format.texi @@ -1,5 +1,5 @@ @node SPSS Viewer File Format -@chapter SPSS Viewer File Format +@appendix SPSS Viewer File Format SPSS Viewer or @file{.spv} files, here called SPV files, are written by SPSS 16 and later to represent the contents of its output editor. @@ -80,13 +80,18 @@ their exact names do not matter to readers as long as they are unique. @node SPV Structure Member Format @section Structure Member Format +A structure member lays out the high-level structure for a group of +output items such as heading, tables, and charts. Structure members +do not include the details of tables and charts but instead refer to +them by their member names. + Structure members' XML files claim conformance with a collection of XML Schemas. These schemas are distributed, under a nonfree license, with SPSS binaries. Fortunately, the schemas are not necessary to -understand the structure members. To a degree, the schemas can even +understand the structure members. The schemas can even be deceptive because they document elements and attributes that are not in the corpus and do not document elements and attributes that are -commonly found there. +commonly found in the corpus. Structure members use a different XML namespace for each schema, but these namespaces are not entirely consistent. In some SPV files, for @@ -98,7 +103,78 @@ not resolvable to obtain the schemas themselves. One may ignore all of the above in interpreting a structure member. The actual XML has a simple and straightforward form that does not -require a reader to take schemas or namespaces into account. +require a reader to take schemas or namespaces into account. A +structure member's root is @code{heading} element, which contains +@code{heading} or @code{container} elements (or a mix), forming a +tree. In turn, @code{container} holds a @code{label} and one more +child, usually @code{text} or @code{table}. + +The following diagram shows the hierarchy within an SPV structure +member more precisely. Names represent elements and and + represent plain text and CDATA, respectively. Edges point +from parent to child. Unlabeled edges indicate that the child appears +exactly once; edges labeled with *, zero or more times; edges labeled +with ?, zero or one times. Where possible, child elements are shown +in the order they actually appear within a parent element. + +@example +@group +heading + +--?--> pageSetup + | +--> pageHeader +--> pageParagraph --> text --> + | +--> pageFooter +--> pageParagraph --> text --> + +-----> label --?--> + +--*--> heading + +--*--> container + +-----> label --?--> + +--?--> text ---> html --> + +--?--> table + | +--?-- tableProperties + | | +--> generalProperties + | | +--> footnoteProperties + | | +--> cellFormatProperties + | | | +--> caption -------> style + | | | +--> footnotes -----> style + | | | +--> rowLabelse ----> style + | | | +--> columnLabels --> style + | | | +--> data ----------> style + | | | +--> layers --------> style + | | | +--> title ---------> style + | | | +--> cornerLabels --> style + | | +--> borderProperties + | | | +--> topInnerFrame + | | | +--> rightInnerFrame + | | | +--> horizontalDimensionBorderColumns + | | | +--> horizontalDimensionBorderRows + | | | +--> horizontalCategoryBorderColumns + | | | +--> leftInnerFrame + | | | +--> verticalDimensionBorderRows + | | | +--> titleLayerSeparator + | | | +--> verticalCategoryBorderRows + | | | +--> topOuterFrame + | | | +--> bottomInnerFrame + | | | +--> leftOuterFrame + | | | +--> dataAreaTop + | | | +--> verticalDimensionBorderColumns + | | | +--> dataAreaLeft + | | | +--> horizontalCategoryBorderRows + | | | +--> bottomOuterFrame + | | | +--> rightOuterFrame + | | | +--> verticalCategoryBorderColumns + | | +--> printingProperties + | +----- tableStructure + | +--?--> path ------> + | +-----> dataPath --> + +--?--> graph + | +--?--> dataPath --> + | +-----> path ------> + +--?--> model + +--?--> ViZml --> + +--?--> path ---> + +--?--> pmmlContainerPath ---> + +--?--> statsContainerPath --> +@end group +@end example The elements found in structure members are documented below. For each element, we note the possible parent elements and the element's @@ -128,45 +204,75 @@ A choice between @var{a} and @var{b}. Zero or more @var{x}. @end table -@ifnottex -For a diagram illustrating the hierarchy of elements within an SPV -structure member, please refer to a PDF version of the manual. -@end ifnottex +The following example shows the contents of a typical structure member +for a @cmd{DESCRIPTIVES} procedure. A real structure member is not +indented. This example also omits most attributes, all XML namespace +information, and the CSS from the embedded HTML: -@iftex -The following diagram shows the hierarchy of elements within an SPV -structure member. Edges point from parent to child elements. -Unlabeled edges indicate that the child appears exactly once; edges -labeled with *, zero or more times; edges labeled with ?, zero or one -times. -@center @image{dev/spv-structure, 5in} -@end iftex +@example + + + + + + + + + +
Descriptives]]> + +
+
+ + + + + 00000000001_lightNotesData.bin + +
+
+ + + + + 00000000002_lightTableData.bin + +
+
+
+
+@end example @menu -* SPV heading Element:: -* SPV label Element:: -* SPV container Element:: -* SPV text Element (Inside @code{container}):: -* SPV html Element:: -* SPV table Element:: -* SPV tableStructure Element:: -* SPV dataPath Element:: -* SPV pageSetup Element:: -* SPV pageHeader and pageFooter Elements:: -* SPV pageParagraph Element:: -* SPV @code{text} Element (Inside @code{pageParagraph}):: +* SPV Structure heading Element:: +* SPV Structure label Element:: +* SPV Structure container Element:: +* SPV Structure text Element (Inside @code{container}):: +* SPV Structure html Element:: +* SPV Structure table Element:: +* SPV Structure tableStructure Element:: +* SPV Structure graph Element:: +* SPV Structure model Element:: +* SPV Structure dataPath and path Elements:: +* SPV Structure pageSetup Element:: +* SPV Structure pageHeader and pageFooter Elements:: +* SPV Structure pageParagraph Element:: +* SPV Structure @code{text} Element (Inside @code{pageParagraph}):: @end menu -@node SPV heading Element +@node SPV Structure heading Element @subsection The @code{heading} Element Parent: Document root or @code{heading} @* -Contents: [@code{pageSetup}] @code{label} (@code{container} @math{|} @code{heading})* +Contents: @code{pageSetup}? @code{label} (@code{container} @math{|} @code{heading})* The root of a structure member is a @code{heading}, which represents a section of output beginning with a title (the @code{label}) and ordinarily followed by content containers or further nested -(sub)-sections of output. +(sub)-sections of output. Unlike heading elements in HTML and other +common document formats, which precede the content that they head, +@code{heading} contains the elements that appear below the heading. The document root heading, only, may also contain a @code{pageSetup} element. @@ -194,7 +300,7 @@ file. @defvr {Optional} @code{creation-date-time} The date and time at which the SPV file was written, in a -locale-specific format, e.g. @code{Friday, May 16, 2014 6:47:37 PM +locale-specific format, e.g.@: @code{Friday, May 16, 2014 6:47:37 PM PDT} or @code{lunedì 17 marzo 2014 3.15.48 CET} or even @code{Friday, December 5, 2014 5:00:19 o'clock PM EST}. @end defvr @@ -234,7 +340,7 @@ The output language, e.g.@: @code{en}, @code{it}, @code{es}, @code{de}, @code{pt-BR}. @end defvr -@node SPV label Element +@node SPV Structure label Element @subsection The @code{label} Element Parent: @code{heading} or @code{container} @* @@ -250,16 +356,16 @@ often very generic, especially within a @code{container}, e.g.@: according to the output language, e.g.@: in Italian a frequency table procedure is labeled ``Frequenze''. -The corpus contains one example of an empty label, one that contains +The corpus contains a few examples of empty labels, ones that contain no text. This element has no attributes. -@node SPV container Element +@node SPV Structure container Element @subsection The @code{container} Element Parent: @code{heading} @* -Contents: @code{label} [@code{table} @math{|} @code{text}] +Contents: @code{label} (@code{table} @math{|} @code{text} @math{|} @code{graph} @math{|} @code{model}) A @code{container} serves to label a @code{table} or a @code{text} item. @@ -282,7 +388,7 @@ The width of the container in the form @code{@var{n}px}, e.g.@: @code{1097px}. @end defvr -@node SPV text Element (Inside @code{container}) +@node SPV Structure text Element (Inside @code{container}) @subsection The @code{text} Element (Inside @code{container}) Parent: @code{container} @* @@ -308,14 +414,14 @@ of where @code{commandName} is present but set to the empty string. As on the @code{heading} element. @end defvr -@node SPV html Element +@node SPV Structure html Element @subsection The @code{html} Element Parent: @code{text} @* Contents: CDATA The CDATA contains an HTML document. In some cases, the document -starts with @code{} and ends with @code{} and ends with @code{}; in others the @code{html} element is implied. Generally the HTML includes a @code{head} element with a CSS stylesheet. The HTML body often begins with @code{
}. The actual content ranges from trivial to simple: @@ -327,7 +433,7 @@ This element has the following attributes. This always contains @code{en} in the corpus. @end defvr -@node SPV table Element +@node SPV Structure table Element @subsection The @code{table} Element Parent: @code{container} @* @@ -361,7 +467,7 @@ As on the @code{heading} element. In the corpus, this is only present for version 21 and up and always includes all 8 digits. @end defvr -@node SPV tableStructure Element +@node SPV Structure tableStructure Element @subsection The @code{tableStructure} Element Parent: @code{table} @* @@ -369,18 +475,68 @@ Contents: @code{dataPath} This element has no attributes. -@node SPV dataPath Element -@subsection The @code{dataPath} Element +@node SPV Structure graph Element +@subsection The @code{graph} Element + +Parent: @code{container} @* +Contents: @code{dataPath}? @code{path} + +This element represents a graph. The @code{dataPath} and @code{path} +elements name the Zip members that give the details of the graph. +Normally, both elements are present; there is only one counterexample +in the corpus. + +@node SPV Structure model Element +@subsection The @code{model} Element + +Parent: @code{container} @* +Contents: (@code{ViZml}? @code{path}) @math{|} (@code{pmmlContainerPath} @code{statsContainerPath}) + +This element represents a model. The @code{dataPath} and @code{path} +elements name the Zip members that give the details of the model. +Normally, both elements are present; there is only one counterexample +in the corpus. + +The details are unexplored. The @code{ViZml} element contains base-64 +encoded text, that decodes to a binary format with some embedded text +strings, and @code{path} names an Zip member that contains XML. +Alternatively, @code{pmmlContainerPath} and @code{statsContainerPath} +name Zip members with @file{.scf} extension. -Parent: @code{tableStructure} @* +@node SPV Structure dataPath and path Elements +@subsection The @code{dataPath} and @code{path} Elements + +Parent: @code{tableStructure} or @code{graph} or @code{model} @* Contents: text -Contains the name of the Zip member that holds the table details, -e.g.@: @code{0000000001437_lightTableData.bin}. +These element contain the name of the Zip members that hold details +for a container. For tables: -This element has no attributes. +@itemize @bullet +@item +When a ``light'' format is used, only @code{dataPath} is present, and +it names a @file{.bin} member of the Zip file that has @code{light} in +its name, e.g.@: @code{0000000001437_lightTableData.bin} (@pxref{SPV +Light Detail Member Format}). -@node SPV pageSetup Element +@item +When the legacy format is used, both are present. In this case, +@code{dataPath} names a Zip member with a legacy binary format that +contains relevant data (@pxref{SPV Legacy Detail Member Binary +Format}), and @code{path} names a Zip member that uses an XML format +(@pxref{SPV Legacy Detail Member XML Format}). +@end itemize + +Graphs normally follow the legacy approach described above. The +corpus contains one example of a graph with @code{path} but not +@code{dataPath}. The reason is unexplored. + +Models use @code{path} but not @code{dataPath}. @xref{SPV Structure +graph Element}, for more information. + +These elements have no attributes. + +@node SPV Structure pageSetup Element @subsection The @code{pageSetup} Element Parent: @code{heading} @* @@ -419,7 +575,7 @@ Always @code{0deg}. Always @code{12pt}. @end defvr -@node SPV pageHeader and pageFooter Elements +@node SPV Structure pageHeader and pageFooter Elements @subsection The @code{pageHeader} and @code{pageFooter} Elements Parent: @code{pageSetup} @* @@ -427,7 +583,7 @@ Contents: @code{pageParagraph}* This element has no attributes. -@node SPV pageParagraph Element +@node SPV Structure pageParagraph Element @subsection The @code{pageParagraph} Element Parent: @code{pageHeader} or @code{pageFooter} @* @@ -437,11 +593,11 @@ Text to go at the top or bottom of a page, respectively. This element has no attributes. -@node SPV @code{text} Element (Inside @code{pageParagraph}) +@node SPV Structure @code{text} Element (Inside @code{pageParagraph}) @subsection The @code{text} Element (Inside @code{pageParagraph}) Parent: @code{pageParagraph} @* -Contents: [CDATA] +Contents: CDATA? This @code{text} element is nested inside a @code{pageParagraph}. There is a different @code{text} element that is nested inside a @@ -451,7 +607,7 @@ The element is either empty, or contains CDATA that holds almost-XHTML text: in the corpus, either an @code{html} or @code{p} element. It is @emph{almost}-XHTML because the @code{html} element designates the default namespace as -@code{http://xml.spss.com/spss/viewer/viewer-tree} instead of an XHTML +@indicateurl{http://xml.spss.com/spss/viewer/viewer-tree} instead of an XHTML namespace, and because the CDATA can contain substitution variables: @code{&[Page]} for the page number and @code{&[PageTitle]} for the page title. @@ -488,25 +644,46 @@ across multiple lines. Break points are chosen for aesthetics only and have no semantic significance. @item 00, 01, @dots{}, ff. -Bytes with fixed values are written in hexadecimal: +A bytes with a fixed value, written as a pair of hexadecimal digits. @item i0, i1, @dots{}, i9, i10, i11, @dots{} -32-bit integers with fixed values are written in decimal, prefixed by +@itemx b0, b1, @dots{}, b9, b10, b11, @dots{} +A 32-bit integer in little-endian or big-endian byte order, +respectively, with a fixed value, written in decimal, prefixed by @samp{i}. @item byte -An arbitrary byte. +A byte. + +@item bool +A byte with value 0 or 1. + +@item int16 +@itemx be16 +A 16-bit integer in little-endian or big-endian byte order, +respectively. @item int -An arbitrary 32-bit integer. +@itemx be32 +A 32-bit integer in little-endian or big-endian byte order, +respectively. + +@item int64 +@itemx be64 +A 64-bit integer in little-endian or big-endian byte order, +respectively. @item double -An arbitrary 64-bit IEEE floating-point number. +A 64-bit IEEE floating-point number. + +@item float +A 32-bit IEEE floating-point number. @item string -A 32-bit integer followed by the specified number of bytes of -character data. (The encoding is indicated by the Formats -nonterminal.) +@itemx bestring +A 32-bit integer, in little-endian or big-endian byte order, +respectively, followed by the specified number of bytes of character +data. (The encoding is indicated by the Formats nonterminal.) @item @var{x}? @var{x} is optional, e.g.@: 00? is an optional zero byte. @@ -540,15 +717,20 @@ In a version 1 @file{.bin} member, @var{x}; in version 3, nothing. In a version 3 @file{.bin} member, @var{x}; in version 1, nothing. @end table -All integer and floating-point values in this format use little-endian -byte order. +Little-endian byte order is far more common in this format, but a few +pieces of the format use big-endian byte order. A ``light'' detail member @file{.bin} consists of a number of sections concatenated together, terminated by a byte 01: @cartouche @format -LightMember @result{} Header Title Caption Footnotes Fonts Formats Dimensions Data 01 +LightMember @result{} + Header Title + Caption Footnotes + Fonts Borders PrintSettings TableSettings Formats + Dimensions Data + 01 @end format @end cartouche @@ -557,9 +739,12 @@ The following sections go into more detail. @menu * SPV Light Member Header:: * SPV Light Member Title:: -* PSV Light Member Caption:: +* SPV Light Member Caption:: * SPV Light Member Footnotes:: * SPV Light Member Fonts:: +* SPV Light Member Borders:: +* SPV Light Member Print Settings:: +* SPV Light Member Table Settings:: * SPV Light Member Formats:: * SPV Light Member Dimensions:: * SPV Light Member Categories:: @@ -571,15 +756,22 @@ The following sections go into more detail. @node SPV Light Member Header @subsection Header -An SPV file begins with an 39-byte header: +An SPV light member begins with a 39-byte header: @cartouche @format Header @result{} 01 00 (i1 @math{|} i3)[@t{version}] - 01 (00 @math{|} 01) byte*21 00 00 - int[@t{table-id}] byte*4 + bool + bool[@t{show-numeric-markers}] + bool[@t{rotate-inner-column-labels}] + bool[@t{rotate-outer-row-labels}] + bool + int + int[@t{min-column-width}] int[@t{max-column-width}] + int[@t{min-row-width}] int[@t{max-row-width}] + int64[@t{table-id}] @end format @end cartouche @@ -588,10 +780,29 @@ some of the other data in the member. We will refer to ``version 1'' and ``version 3'' later on and use v1(@dots{}) and v3(@dots{}) for version-specific formatting (as described previously). +If @code{show-numeric-markers} is 1, footnote markers are shown as +numbers, starting from 1; otherwise, they are shown as letters, +starting from @samp{a}. + +If @code{rotate-inner-column-labels} is 1, then column labels closest +to the data are rotated to be vertical; otherwise, they are shown +in the normal way. + +If @code{rotate-outer-row-labels} is 1, then row labels farthest from +the data are rotated to be vertical; otherwise, they are shown in the +normal way. + @code{table-id} is a binary version of the @code{tableId} attribute in the structure member that refers to the detail member. For example, -if @code{tableId} is @code{-4154297861994971133}, then @code{table-id} -would be 0xdca00003. +if @code{tableId} is @code{-4122591256483201023}, then @code{table-id} +would be 0xc6c99d183b300001. + +@code{min-column-width} is the minimum width that a column will be +assigned automatically. @code{max-column-width} is the maximum width +that a column will be assigned to accommodate a long column label. +@code{min-row-width} and @code{max-row-width} are a similar range for +the width of row labels. All of these measurements are in 1/96 inch +units. The meaning of the other variable parts of the header is not known. @@ -603,7 +814,7 @@ The meaning of the other variable parts of the header is not known. Title @result{} Value[@t{title1}] 01? Value[@t{c}] 01? 31 - Value[@t{title2}] 01? 00? 58 + Value[@t{title2}] 01? @end format @end cartouche @@ -617,16 +828,20 @@ appropriate for presentation, and localized to the user's language, well formatted. For example, for a frequency table, @code{title1} and @code{title2} name the variable and @code{c} is simply ``Frequencies''. -@node PSV Light Member Caption +@node SPV Light Member Caption @subsection Caption @cartouche @format -Caption @result{} 58 @math{|} 31 Value[@t{caption}] +Caption @result{} Caption1 Caption2 +Caption1 @result{} 31 Value @math{|} 58 +Caption2 @result{} 31 Value @math{|} 58 @end format @end cartouche -The @code{caption}, if presented, is shown below the table. +The Caption, if present, is shown below the table. Caption2 is +normally present. Caption1 is only rarely nonempty; it might reflect +user editing of the caption. @node SPV Light Member Footnotes @subsection Footnotes @@ -648,19 +863,18 @@ Each footnote has @code{text} and an optional customer @code{marker} @format Fonts @result{} 00 Font*8 Font @result{} - byte[@t{index}] 31 string[@t{typeface}] 00 00 - (10 @math{|} 20 @math{|} 40 @math{|} 50 @math{|} 70 @math{|} 80)[@t{f1}] 41 - (i0 @math{|} i1 @math{|} i2)[@t{f2}] 00 - (i0 @math{|} i2 @math{|} i64173)[@t{f3}] - (i0 @math{|} i1 @math{|} i2 @math{|} i3)[@t{f4}] - string[@t{fgcolor}] string[@t{bgcolor}] i0 i0 00 - v3(int[@t{f5}] int[@t{f6}] int[@t{f7}] int[@t{f8}])) + byte[@t{index}] 31 + string[@t{typeface}] float[@t{size}] int[@t{style}] bool[@t{underline}] + int[@t{halign}] int[@t{valign}] + string[@t{fgcolor}] string[@t{bgcolor}] + byte[@t{alternate}] string[@t{altfg}] string[@t{altbg}] + v3(int[@t{left-margin}] int[@t{right-margin}] int[@t{top-margin}] int[@t{bottom-margin}]) @end format @end cartouche Each Font represents the font style for a different element, in the -following order: title, caption, footnote, row labels, column labels, -corner labels, data, and layers. +following order: title, caption, footer, corner, column +labels, row labels, data, and layers. @code{index} is the 1-based index of the Font, i.e. 1 for the first Font, through 8 for the final Font. @@ -669,34 +883,217 @@ Font, through 8 for the final Font. is @code{SansSerif} in over 99% of instances and @code{Times New Roman} in the rest. +@code{size} is the size of the font, in points. The most common size +in the corpus is 12 points. + +@code{style} is a bit mask. Bit 0 (with value 1) is set for bold, bit +1 (with value 2) is set for italic. + +@code{underline} is 1 if the font is underlined, 0 otherwise. + +@code{halign} specifies horizontal alignment: 0 for center, 2 for +left, 4 for right, 61453 for decimal, 64173 for mixed. Mixed +alignment varies according to type: string data is left-justified, +numbers and most other formats are right-justified. + +@code{valign} specifies vertical alignment: 0 for center, 1 for top, 3 +for bottom. + @code{fgcolor} and @code{bgcolor} are the foreground color and background color, respectively. In the corpus, these are always @code{#000000} and @code{#ffffff}, respectively. -The meaning of the remaining data is unknown. It seems likely to -include font sizes, horizontal and vertical alignment, attributes such -as bold or italic, and margins. - -The table below lists the values observed in the corpus. When a cell -contains a single value, then 99@math{+}% of the corpus contains that value. -When a cell contains a pair of values, then the first value is seen in -about two-thirds of the corpus and the second value in about the -remaining one-third. In fonts that include multiple pairs, values are -correlated, that is, for font 3, f5 = 24, f6 = 24, f7 = 2 appears -about two-thirds of the time, as does the combination of f4 = 0, f6 = -10 for font 7. - -@multitable {font} {40} {f2} {64173} {0/1} {24/11} {10/11} {2/3} {f8} -@headitem font @tab f1 @tab f2 @tab f3 @tab f4 @tab f5 @tab f6 @tab f7 @tab f8 -@item 1 @tab 40 @tab 1 @tab 0 @tab 0 @tab 8 @tab 10/11 @tab 1 @tab 8 -@item 2 @tab 40 @tab 0 @tab 2 @tab 1 @tab 8 @tab 10/11 @tab 1 @tab 1 -@item 3 @tab 40 @tab 0 @tab 2 @tab 1 @tab 24/11 @tab 24/ 8 @tab 2/3 @tab 4 -@item 4 @tab 40 @tab 0 @tab 2 @tab 3 @tab 8 @tab 10/11 @tab 1 @tab 1 -@item 5 @tab 40 @tab 0 @tab 0 @tab 1 @tab 8 @tab 10/11 @tab 1 @tab 4 -@item 6 @tab 40 @tab 0 @tab 2 @tab 1 @tab 8 @tab 10/11 @tab 1 @tab 4 -@item 7 @tab 40 @tab 0 @tab 64173 @tab 0/1 @tab 8 @tab 10/11 @tab 1 @tab 1 -@item 8 @tab 40 @tab 0 @tab 2 @tab 3 @tab 8 @tab 10/11 @tab 1 @tab 4 -@end multitable +@code{alternate} is 01 if rows should alternate colors, 00 if all rows +should be the same color. When @code{alternate} is 01, @code{altfg} +and @code{altbg} specify the colors for the alternate rows. + +@code{left-margin}, @code{right-margin}, @code{top-margin}, and +@code{bottom-margin} are measured in multiples of 1/96 inch. + +@node SPV Light Member Borders +@subsection Borders + +@cartouche +@format +Borders @result{} + b1[@t{endian}] + be32[@t{n-borders}] Border*[@t{n-borders}] + bool[@t{show-grid-lines}] + 00 00 00 + +Border @result{} + be32[@t{border-type}] + be32[@t{stroke-type}] + be32[@t{color}] +@end format +@end cartouche + +The Borders reflect how borders between regions are drawn. + +The fixed value of @code{endian} can be used to validate the +endianness. + +@code{show-grid-lines} is 1 to draw grid lines, otherwise 0. + +Each Border describes one kind of border. @code{n-borders} seems to +always be 19. Each @code{border-type} appears once (although in an +unpredictable order) and correspond to the following borders: + +@table @asis +@item 0 +Title. +@item 1@dots{}4 +Left, top, right, and bottom outer frame. +@item 5@dots{}8 +Left, top, right, and bottom inner frame. +@item 9, 10 +Left and top of data area. +@item 11, 12 +Horizontal and vertical dimension rows. +@item 13, 14 +Horizontal and vertical dimension columns. +@item 15, 16 +Horizontal and vertical category rows. +@item 17, 18 +Horizontal and vertical category columns. +@end table + +@code{stroke-type} describes how a border is drawn, as one of: + +@table @asis +@item 0 +No line. +@item 1 +Solid line. +@item 2 +Dashed line. +@item 3 +Thick line. +@item 4 +Thin line. +@item 5 +Double line. +@end table + +@code{color} is an RGB color. Bits 24--31 are alpha, bits 16--23 are +red, 8--15 are green, 0--7 are blue. An alpha of 255 indicates an +opaque color, therefore opaque black is 0xff000000. + +@node SPV Light Member Print Settings +@subsection Print Settings + +@cartouche +@format +PrintSettings @result{} + b1[@t{endian}] + bool[@t{all-layers}] + bool[@t{paginate-layers}] + bool[@t{fit-width}] + bool[@t{fit-length}] + bool[@t{top-continuation}] + bool[@t{bottom-continuation}] + be32[@t{n-orphan-lines}] + bestring[@t{continuation-string}] +@end format +@end cartouche + +The PrintSettings reflect settings for printing. The fixed value of +@code{endian} can be used to validate the endianness. + +@code{all-layers} is 1 to print all layers, 0 to print only the +visible layers. + +@code{paginate-layers} is 1 to print each layer at the start of a new +page, 0 otherwise. (This setting is honored only @code{all-layers} is +1, since otherwise only one layer is printed.) + +@code{fit-width} and @code{fit-length} control whether the table is +shrunk to fit within a page's width or length, respectively. + +@code{n-orphan-lines} is the minimum number of rows or columns to put +in one part of a table that is broken across pages. + +If @code{top-continuation} is 1, then @code{continuation-string} is +printed at the top of a page when a table is broken across pages for +printing; similarly for @code{bottom-continuation} and the bottom of a +page. Usually, @code{continuation-string} is empty. + +@node SPV Light Member Table Settings +@subsection Table Settings + +@cartouche +@format +TableSettings @result{} + be32[@t{endian}] + be32 + be32[@t{current-layer}] + bool[@t{omit-empty}] + bool[@t{show-row-labels-in-corner}] + bool[@t{show-alphabetic-markers}] + bool[@t{footnote-marker-position}] + v3( + byte + count( + Breakpoints[@t{row-breaks}] Breakpoints[@t{column-breaks}] + Keeps[@t{row-keeps}] Keeps[@t{column-keeps}] + PointKeeps[@t{row-keeps}] PointKeeps[@t{column-keeps}] + ) + bestring[@t{notes}] + bestring[@t{table-look}] + 00... + ) + +Breakpoints @result{} be32[@t{n-breaks}] be32*[@t{n-breaks}] + +Keeps @result{} be32[@t{n-keeps}] Keep*@t{n-keeps} +Keep @result{} be32[@t{offset}] be[@t{n}] + +PointKeeps @result{} be32[@t{n-point-keeps}] PointKeep*@t{n-point-keeps} +PointKeep @result{} be32[@t{offset}] be32 be32 + +@end format +@end cartouche + +The TableSettings reflect display settings. The fixed value of +@code{endian} can be used to validate the endianness. + +@code{current-layer} is the displayed layer. + +If @code{omit-empty} is 1, empty rows or columns (ones with nothing in +any cell) are hidden; otherwise, they are shown. + +If @code{show-row-labels-in-corner} is 1, then row labels are shown in +the upper left corner; otherwise, they are shown nested. + +If @code{show-alphabetic-markers} is 1, markers are shown as letters +(e.g. @samp{a}, @samp{b}, @samp{c}, @dots{}); otherwise, they are +shown as numbers starting from 1. + +When @code{footnote-marker-position} is 1, footnote markers are shown +as superscripts, otherwise as subscripts. + +The Breakpoints are rows or columns after which there is a page break; +for example, a row break of 1 requests a page break after the second +row. Usually no breakpoints are specified, indicating that page +breaks should be selected automatically. + +The Keeps are ranges of rows or columns to be kept together without a +page break; for example, a row Keep with @code{offset} 1 and @code{n} +10 requests that the 10 rows starting with the second row be kept +together. Usually no Keeps are specified. + +The PointKeeps seem to be generated automatically based on +user-specified Keeps. They seems to indicate a conversion from rows +or columns to pixel or point offsets. + +@code{notes} is a text string that contains user-specified notes. It +is displayed when the user hovers the cursor over the table, like +``alt text'' on a webpage. It is not printed. It is usually empty. + +@code{table-look} is the name of a SPSS ``TableLook'' table style, +such as ``Default'' or ``Academic''; it is often empty. + +TableSettings ends with an arbitrary number of null bytes. @node SPV Light Member Formats @subsection Formats @@ -704,55 +1101,73 @@ about two-thirds of the time, as does the combination of f4 = 0, f6 = @cartouche @format Formats @result{} - int[@t{n1}] byte*[@t{n1}] - int[@t{n2}] byte*[@t{n2}] - int[@t{n3}] byte*[@t{n3}] - int[@t{n4}] int*[@t{n4}] + int[@t{n-widths}] int*[@t{n-widths}] string[@t{encoding}] - (i0 @math{|} i-1) (00 @math{|} 01) 00 (00 @math{|} 01) - int + int[@t{current-layer}] + bool[@t{digit-grouping}] bool[@t{leading-zero}] bool + int[@t{epoch}] byte[@t{decimal}] byte[@t{grouping}] - int[@t{n-ccs}] string*[@t{n-ccs}] - v1(i0) - v3(count(count(X5) count(X6))) - -X5 @result{} byte*33 int[@t{n}] int*[@t{n}] -X6 @result{} + CustomCurrency + count( + v1(X0?) + v3(count(X1 count(X2)) count(X3)) + +X0 @result{} + byte*14 + string[@t{command}] string[@t{command-local}] + string[@t{language}] string[@t{charset}] string[@t{locale}] + bool 00 bool bool + int[@t{epoch}] + byte[@t{decimal}] byte[@t{grouping}] + CustomCurrency + byte[@t{missing}] bool + +X1 @result{} + byte*2 + byte[@t{lang}] + byte[@t{variable-mode}] + byte[@t{value-mode}] + int*2 + 00*17 + bool + 01 +X2 @result{} + int[@t{n-heights}] int*[@t{n-heights}] + int[@t{n-style-map}] BlankMap*[@t{n-style-map}] + int[@t{n-styles}] StylePair*[@t{n-styles}] + count((i0 i0)?) +StyleMap @result{} int64[@t{cell-index}] int16[@t{style-index}] +X3 @result{} 01 00 (03 @math{|} 04) 00 00 00 - string[@t{command}] string[@t{subcommand}] + string[@t{command}] string[@t{command-local}] string[@t{language}] string[@t{charset}] string[@t{locale}] - (00 @math{|} 01) 00 (00 @math{|} 01) (00 @math{|} 01) - int + bool 00 bool bool + int[@t{epoch}] byte[@t{decimal}] byte[@t{grouping}] - byte*8 01 - (string[@t{dataset}] string[@t{datafile}] i0 int i0)? - int[@t{n-ccs}] string*[@t{n-ccs}] - 2e (00 @math{|} 01) (i2000000 i0)? + double[@t{small}] 01 + (string[@t{dataset}] string[@t{datafile}] i0 int[@t{date}] i0)? + CustomCurrency + byte[@t{missing}] bool (i2000000 i0)? + +CustomCurrency @result{} int[@t{n-ccs}] string*[@t{n-ccs}] @end format @end cartouche -In every example in the corpus, @code{n1} is 240. The meaning of the -bytes that follow it is unknown. - -In every example in the corpus, @code{n2} is 18 and the bytes that -follow it are @code{00 00 00 01 00 00 00 00 00 00 00 00 00 02 00 00 00 -00}. The meaning of these bytes is unknown. - -In every example in the corpus for version 1, @code{n3} is 16 and the -bytes that follow it are @code{00 00 00 01 00 00 00 01 00 00 00 00 01 -01 01 01}. In version 3, observed @code{n3} varies from 117 to 150, -and its bytes include a 1-byte count at offset 0x34. When the count -is nonzero, a text string of that length at offset 0x35 is the name of -a ``TableLook'', e.g. ``Default'' or ``Academic''. - -Observed values of @code{n4} vary from 0 to 17. Out of 7,060 examples -in the corpus, it is nonzero only 36 times. +If @code{n-widths} is nonzero, then the accompanying integers are +column widths as manually adjusted by the user. (Row heights are +computed automatically based on the widths.) @code{encoding} is a character encoding, usually a Windows code page such as @code{en_US.windows-1252} or @code{it_IT.windows-1252}. The rest of the character strings in the member use this encoding. The encoding string is itself encoded in US-ASCII. +@code{epoch} is the year that starts the epoch. A 2-digit year is +interpreted as belonging to the 100 years beginning at the epoch. The +default epoch year is 69 years prior to the current year; thus, in +2017 this field by default contains 1948. In the corpus, @code{epoch} +ranges from 1943 to 1948, plus some contain -1. + @code{decimal} is the decimal point character. The observed values are @samp{.} and @samp{,}. @@ -761,11 +1176,37 @@ are @samp{.} and @samp{,}. @samp{'} (apostrophe), @samp{ } (space), and zero (presumably indicating that digits should not be grouped). +@code{command} describes the statistical procedure that generated the +output, in English. It is not necessarily the literal syntax name of +the procedure: for example, NPAR TESTS becomes ``Nonparametric +Tests.'' @code{command-local} is the procedure's name, translated +into the output language; it is often empty and, when it is not, +sometimes the same as @code{command}. + +@code{dataset} is the name of the dataset analyzed to produce the +output, e.g.@: @code{DataSet1}, and @code{datafile} the name of the +file it was read from, e.g.@: @file{C:\Users\foo\bar.sav}. The latter +is sometimes the empty string. + +@code{date} is a date, as seconds since the epoch, i.e.@: since +January 1, 1970. Pivot tables within an SPV files often have dates a +few minutes apart, so this is probably a creation date for the tables +rather than for the file. + +Sometimes @code{dataset}, @code{datafile}, and @code{date} are present +and other times they are absent. The reader can distinguish by +assuming that they are present and then checking whether the +presumptive @code{dataset} contains a null byte (a valid string never +will). + @code{n-ccs} is observed as either 0 or 5. When it is 5, the following strings are CCA through CCE format strings. @xref{Custom Currency Formats,,, pspp, PSPP}. Most commonly these are all @code{-,,,} but other strings occur. +@code{missing} is the character used to indicate that a cell contains +a missing value. It is always observed as @samp{.}. + @node SPV Light Member Dimensions @subsection Dimensions @@ -775,30 +1216,34 @@ the categories associated with each dimension. @cartouche @format Dimensions @result{} int[@t{n-dims}] Dimension*[@t{n-dims}] -Dimension @result{} Value[@t{name}] DimUnknown int[@t{n-categories}] Category*[@t{n-categories}] -DimUnknown @result{} +Dimension @result{} Value[@t{name}] DimProperties int[@t{n-categories}] Category*[@t{n-categories}] +DimProperties @result{} byte[@t{d1}] (00 @math{|} 01 @math{|} 02)[@t{d2}] (i0 @math{|} i2)[@t{d3}] - (00 @math{|} 01)[@t{d4}] - (00 @math{|} 01)[@t{d5}] - 01 - int[@t{d6}] + bool[@t{show-dim-label}] + bool[@t{hide-all-labels}] + 01 int[@t{dim-index}] @end format @end cartouche @code{name} is the name of the dimension, e.g. @code{Variables}, @code{Statistics}, or a variable name. +The meanings of @code{d1}, @code{d2}, and @code{d3} are unknown. @code{d1} is usually 0 but many other values have been observed. -@code{d3} is 2 over 99% of the time. +If @code{show-dim-label} is 01, the pivot table displays a label for +the dimension itself. Because usually the group and category labels +are enough explanation, it is usually 00. -@code{d5} is 0 over 99% of the time. +If @code{hide-all-labels} is 01, the pivot table omits all labels for +the dimension, including group and category labels. It is usually 00. +When @code{hide-all-labels} is 01, @code{show-dim-label} is ignored. -@code{d6} is either -1 or the 0-based index of the dimension, e.g.@: 0 -for the first dimension, 1 for the second, and so on. The latter is -the case 98% of the time in the corpus. +@code{dim-index} is usually the 0-based index of the dimension, e.g.@: +0 for the first dimension, 1 for the second, and so on. Sometimes it +is -1. There is no visible difference. @node SPV Light Member Categories @subsection Categories @@ -809,23 +1254,26 @@ are really categories; the others just serve as grouping constructs. @cartouche @format Category @result{} Value[@t{name}] (Leaf @math{|} Group) -Leaf @result{} 00 00 00 i2 int[@t{index}] i0 +Leaf @result{} 00 00 00 i2 int[@t{cat-index}] i0 Group @result{} - (00 @math{|} 01)[@t{merge}] 00 01 (i0 @math{|} i2)[@t{data}] + bool[@t{merge}] 00 01 (i0 @math{|} i2)[@t{data}] i-1 int[@t{n-subcategories}] Category*[@t{n-subcategories}] @end format @end cartouche @code{name} is the name of the category (or group). -A Leaf represents a leaf category. The Leaf's @code{index} is a +A Leaf represents a leaf category. The Leaf's @code{cat-index} is a nonnegative integer less than @code{n-categories} in the Dimension in -which the Category is nested (directly or indirectly). +which the Category is nested (directly or indirectly). These +categories represent the original order in which the categories were +sorted; if the user sorted or rearranged the categories, then the +order of categories in the file reflects that without changing the +@code{cat-index} values. -A Group represents a Group of nested categories. Usually a Group -contains at least one Category, so that @code{n-subcategories} is -positive, but a few Groups with @code{n-subcategories} 0 has been -observed. +A Group is a group of nested categories. Usually a Group contains at +least one Category, so that @code{n-subcategories} is positive, but a +few Groups with @code{n-subcategories} 0 has been observed. If a Group's @code{merge} is 00, the most common value, then the group is really a distinct group that should be represented as such in the @@ -851,23 +1299,23 @@ The final part of an SPV light member contains the actual data. Data @result{} int[@t{layers}] int[@t{rows}] int[@t{columns}] int*[@t{n-dimensions}] int[@t{n-data}] Datum*[@t{n-data}] -Datum @result{} int64[@t{index}] v3(00?) Value +Datum @result{} int64[@t{index}] v1(00?) Value @end format @end cartouche -The values of @code{layers}, @code{rows}, and @code{columns} each -specifies the number of dimensions displayed in layers, rows, and +The values of @code{n-layers}, @code{n-rows}, and @code{n-columns} +each specifies the number of dimensions displayed in layers, rows, and columns, respectively. Any of them may be zero. Their values sum to @code{n-dimensions} from Dimensions (@pxref{SPV Light Member Dimensions}). The @code{n-dimensions} integers are a permutation of the 0-based -dimension numbers. The first @code{layers} integers specify each of -the dimensions represented by layers, the next @code{rows} integers +dimension numbers. The first @code{n-layers} integers specify each of +the dimensions represented by layers, the next @code{n-rows} integers specify the dimensions represented by rows, and the final -@code{columns} integers specify the dimensions represented by columns. -When there is more than one dimension of a given kind, the inner -dimensions are given first. +@code{n-columns} integers specify the dimensions represented by +columns. When there is more than one dimension of a given kind, the +inner dimensions are given first. The format of a Datum varies slightly from version 1 to version 3: in version 1 it allows for an extra optional 00 byte. @@ -887,6 +1335,7 @@ for each @math{i} from 0 to @math{d - 1}: For example, suppose there are 3 dimensions with 3, 4, and 5 categories, respectively. The datum at coordinates (1, 2, 3) has index @math{5 \times (4 \times (3 \times 0 + 1) + 2) + 3 = 33}. +Within a given dimension, the index is the @code{cat-index} in a Leaf. @node SPV Light Member Value @subsection Value @@ -901,7 +1350,7 @@ RawValue @result{} 01 ValueMod int[@t{format}] double[@t{x}] @math{|} 02 ValueMod int[@t{format}] double[@t{x}] string[@t{varname}] string[@t{vallab}] (01 @math{|} 02 @math{|} 03) - @math{|} 03 string[@t{local}] ValueMod string[@t{id}] string[@t{c}] (00 @math{|} 01)[@t{type}] + @math{|} 03 string[@t{local}] ValueMod string[@t{id}] string[@t{c}] bool[@t{type}] @math{|} 04 ValueMod int[@t{format}] string[@t{vallab}] string[@t{varname}] (01 @math{|} 02 @math{|} 03) string[@t{s}] @math{|} 05 ValueMod string[@t{varname}] string[@t{varlabel}] (01 @math{|} 02 @math{|} 03) @@ -1056,35 +1505,61 @@ A ValueMod can specify special modifications to a Value. ValueMod @result{} 31 i0 (i0 @math{|} i1 string[@t{subscript}]) v1(00 (i1 @math{|} i2) 00 00 int 00 00) - v3(count(FormatString Style ValueModUnknown)) - @math{|} 31 i1 int[@t{footnote-number}] Format - @math{|} 31 i2 (00 @math{|} 01 @math{|} 02) 00 (i1 @math{|} i2 @math{|} i3) Format - @math{|} 31 i3 00 00 01 00 i2 Format + v3(count(FormatString StylePair)) + @math{|} 31 int[@t{n-refs}] int16*[@t{n-refs}] Format @math{|} 58 -Style @result{} 58 @math{|} 31 01? 00? 00? 00? 01 string[@t{fgcolor}] string[@t{bgcolor}] string[@t{typeface}] byte + Format @result{} 00 00 count(FormatString Style 58) -FormatString @result{} count((i0 (58 @math{|} 31 string))?) -ValueModUnknown @result{} 58 @math{|} 31 i0 i0 i0 i0 01 00 (01 @math{|} 02 @math{|} 08) 00 08 00 0a 00) +FormatString @result{} count((count((i0 58)?) (58 @math{|} 31 string))?) + +StylePair @result{} + (31 Style | 58) + (31 Style2 | 58) + +Style @result{} + bool[@t{bold}] bool[@t{italic}] bool[@t{underline}] bool[@t{show}] + string[@t{fgcolor}] string[@t{bgcolor}] + string[@t{typeface}] byte[@t{size}] + +Style2 @result{} + int[@t{halign}] int[@t{valign}] double[@t{offset}] + int16[@t{left-margin}] int16[@t{right-margin}] + int16[@t{top-margin}] int16[@t{bottom-margin}] @end format @end cartouche -The @code{footnote-number}, if present, specifies a footnote that the -Value references. The footnote's marker is shown appended to the main -text of the Value, as a superscript. +A ValueMod that begins with ``31 i0'' specifies a string to append to +the main text of the Value, as a subscript. The subscript text is a +brief indicator, e.g.@: @samp{a} or @samp{a,b}, with its meaning +indicated by the table caption. In this usage, subscripts are similar +to footnotes. One apparent difference is that a Value can only +reference one footnote but a subscript can list more than one letter. -The @code{subscript}, if present, specifies a string to append to the -main text of the Value, as a subscript. The subscript text is a brief -indicator, e.g.@: @samp{a} or @samp{a,b}, with its meaning indicated -by the table caption. In this usage, subscripts are similar to -footnotes; one apparent difference is that a Value can only reference -one footnote but a subscript can list more than one letter. +A ValueMod that begins with 31 followed by a nonzero ``int'' specifies +a footnote or footnotes that the Value references. Footnote markers +are shown appended to the main text of the Value, as superscripts. The Format, if present, is a format string for substitutions using the syntax explained previously. It appears to be an English-language version of the localized format string in the Value in which the Format is nested. -The Style, if present, changes the style for this individual Value. +Style and Style2, if present, change the style for this individual +Value. @code{bold}, @code{italic}, and @code{underline} control the +particular style. @code{fgcolor} and @code{bgcolor} are strings, such +as @code{#ffffff}. The @code{size} is a font size in units of 1/96 +inch. + +@code{halign} is 0 for center, 2 for left, 4 for right, 6 for decimal, +0xffffffad for mixed. For decimal alignment, @code{offset} is the +decimal point's offset from the right side of the cell, in units of +1/72 inch. + +@code{valign} specifies vertical alignment: 0 for center, 1 for top, 3 +for bottom. + +@code{left-margin}, @code{right-margin}, @code{top-margin}, and +@code{bottom-margin} are in units of 1/72 inch. @node SPV Legacy Detail Member Binary Format @section Legacy Detail Member Binary Format @@ -1092,8 +1567,9 @@ The Style, if present, changes the style for this individual Value. Whereas the light binary format represents everything about a given pivot table, the legacy binary format conceptually consists of a number of named sources, each of which consists of a number of named -series, each of which is a 1-dimensional array of numbers or strings -or a mix. Thus, the legacy binary member format is quite simple. +variables, each of which is a 1-dimensional array of numbers or +strings or a mix. Thus, the legacy binary member format is quite +simple. This section uses the same context-free grammar notation as in the previous section, with the following additions: @@ -1140,18 +1616,19 @@ The following sections go into more detail. @cartouche @format Metadata @result{} - int[@t{per-series}] int[@t{n-series}] int[@t{offset}] + int[@t{n-data}] int[@t{n-variables}] int[@t{offset}] vAF(byte*32[@t{source-name}]) vB0(byte*64[@t{source-name}] int[@t{x}]) @end format @end cartouche -A data source consists of @code{n-series} series of data, with -@code{per-series} data values per series. +A data source has @code{n-variables} variables, each with +@code{n-data} data values. @code{source-name} is a 32- or 64-byte string padded on the right with -zero bytes. The names that appear in the corpus are very generic, -usually @code{tableData} or @code{source0}. +zero bytes. The names that appear in the corpus are very generic: +usually @code{tableData} for pivot table data or @code{source0} for +chart data. A given Metadata's @code{offset} is the offset, in bytes, from the beginning of the member to the start of the corresponding Data. This @@ -1166,26 +1643,25 @@ The meaning of @code{x} in version 0xb0 is unknown. @cartouche @format -Data @result{} NumericData StringData? -NumericData @result{} NumericSeries*[@t{n-series}] -NumericSeries @result{} byte*288[@t{series-name}] double*[@t{per-series}] +Data @result{} NumericData*[@t{n-variables}] StringData? +NumericData @result{} byte*288[@t{variable-name}] double*[@t{n-data}] @end format @end cartouche Data follow the Metadata in the legacy binary format, with sources in -the same order. Each NumericSeries begins with a @code{series-name} +the same order. Each NumericSeries begins with a @code{variable-name} that generally indicates its role in the pivot table, e.g.@: ``cell'', ``cellFormat'', ``dimension0categories'', ``dimension0group0'', -followed by the numeric data, one double per element in the series. A -double with the maximum negative double @code{-DBL_MAX} represents the -system-missing value SYSMIS. +followed by the numeric data, one double per datum. A double with the +maximum negative double @code{-DBL_MAX} represents the system-missing +value SYSMIS. @cartouche @format StringData @result{} i1 string[@t{source-name}] Pairs Labels -Pairs @result{} int[@t{n-string-series}] PairSeries*[@t{n-string-series}] -PairSeries @result{} string[@t{pair-series-name}] int[@t{n-pairs}] Pair*[@t{n-pairs}] +Pairs @result{} int[@t{n-string-vars}] PairSeries*[@t{n-string-vars}] +PairVar @result{} string[@t{pair-var-name}] int[@t{n-pairs}] Pair*[@t{n-pairs}] Pair @result{} int[@t{i}] int[@t{j}] Labels @result{} int[@t{n-labels}] Label*[@t{n-labels}] @@ -1195,23 +1671,23 @@ Label @result{} int[@t{frequency}] int[@t{s}] A source may include a mix of numeric and string data values. When a source includes any string data, the data values that are strings are -set to SYSMIS in the NumericSeries, and StringData follows the +set to SYSMIS in the NumericData, and StringData follows the NumericData. A source that contains no string data omits the StringData. To reliably determine whether a source includes StringData, the reader should check whether the offset following the -NumericData is the offset of the next series, as indicated by its +NumericData is the offset of the next source, as indicated by its Metadata (or the end of the member, in the case of the last source). StringData repeats the name of the source (from Metadata). -The string data overlays the numeric data. @code{n-string-series} is -the number of series within the source that include string data. More -precisely, it is the 1-based index of the last series in the source +The string data overlays the numeric data. @code{n-string-vars} is +the number of variables in the source that include string data. More +precisely, it is the 1-based index of the last variable in the source that includes any string data; thus, it would be 4 if there are 5 -series and only the fourth one includes string data. +variables and only the fourth one includes string data. -Each PairSeries consists a sequence of 0 or more Pair nonterminals, -each of which maps from a 0-based index within series @code{i} to a +Each PairVar consists a sequence of 0 or more Pair nonterminals, each +of which maps from a 0-based index within variable @code{i} to a 0-based label index @code{j}, e.g.@: pair @code{i} = 2, @code{j} = 3, means that the third data value (with value SYSMIS) is to be replaced by the string of the fourth Label. @@ -1225,3 +1701,1270 @@ label is the string @code{s}. Each label also includes a @section Legacy Detail Member XML Format This format is still under investigation. + +The design of the detail XML format is not what one would end up with +for describing pivot tables. This is because it is a special case +of a much more general format (``visualization XML'' or ``VizML'') +that can describe a wide range of visualizations. Most of this +generality is overkill for tables, and so we end up with a funny +subset of a general-purpose format. + +The important elements of the detail XML format are: + +@itemize @bullet +@item +Variables. Variables in detail XML roughly correspond to the +dimensions in a light detail member. There is one variable for each +dimension, plus one variable for each level of labeling along an axis. + +The bulk of variables are defined with @code{sourceVariable} elements. +The data for these variables comes from the associated +@code{tableData.bin} member. Some variables are defined, with +@code{derivedVariable} elements, as a constant or in terms of a +mapping function from a source variable. + +@item +Assignment of variables to axes. A variable can appear as columns, or +rows, or layers. The @code{faceting} element and its sub-elements +describe this assignment. +@end itemize + +All elements have an optional @code{id} attribute. In practice many +elements are assigned @code{id} attributes that are never referenced. + +@menu +* SPV Detail visualization Element:: +* SPV Detail userSource Element:: +* SPV Detail sourceVariable Element:: +* SPV Detail derivedVariable Element:: +* SPV Detail extension Element:: +* SPV Detail graph Element:: +* SPV Detail location Element:: +* SPV Detail coordinates Element:: +* SPV Detail faceting Element:: +* SPV Detail facetLayout Element:: +* SPV Detail style Element:: +@end menu + +@node SPV Detail visualization Element +@subsection The @code{visualization} Element + +@format +Parent: Document root +Contents: + extension? + userSource + (sourceVariable @math{|} derivedVariable)@math{+} + graph + labelFrame@math{+} + container? + style@math{+} + layerController? +@end format + +This element has the following attributes. + +@defvr {Required} creator +The version of the software that created this SPV file, as a string of +the form @code{xxyyzz}, which represents software version xx.yy.zz, +e.g.@: @code{160001} is version 16.0.1. The corpus includes major +versions 16 through 19. +@end defvr + +@defvr {Required} date +The date on the which the file was created, as a string of the form +@code{YYYY-MM-DD}. +@end defvr + +@defvr {Required} lang +The locale used for output, in Windows format, which is similar to the +format used in Unix with the underscore replaced by a hyphen, e.g.@: +@code{en-US}, @code{en-GB}, @code{el-GR}, @code{sr-Cryl-RS}. +@end defvr + +@defvr {Required} name +The title of the pivot table, localized to the output language. +@end defvr + +@defvr {Required} style +The @code{id} of a @code{style} element (@pxref{SPV Detail style +Element}). This is the base style for the entire pivot table. In +every example in the corpus, the value is @code{visualizationStyle} +and the corresponding @code{style} element has no attributes other +than @code{id}. +@end defvr + +@defvr {Required} type +A floating-point number. The meaning is unknown. +@end defvr + +@defvr {Required} version +The visualization schema version number. In the corpus, the value is +one of 2.4, 2.5, 2.7, and 2.8. +@end defvr + +@node SPV Detail userSource Element +@subsection The @code{userSource} Element + +Parent: @code{visualization} @* +Contents: + +This element has the following attributes. + +@defvr {Optional} missing +Always @code{listwise}. +@end defvr + +@node SPV Detail sourceVariable Element +@subsection The @code{sourceVariable} Element + +Parent: @code{visualization} @* +Contents: @code{extension}* (@code{format} @math{|} @code{stringFormat})? + +This element defines a variable whose values can be used elsewhere in +the visualization. It ties this element's @code{id} to a variable +from the @file{tableData.bin} member that corresponds to this +@file{.xml}. + +This element has the following attributes. + +@defvr {Required} categorical +Always set to @code{true}. +@end defvr + +@defvr {Required} source +Always set to @code{tableData}, the @code{source-name} in the +corresponding @file{tableData.bin} member (@pxref{SPV Legacy Member +Metadata}). +@end defvr + +@defvr {Required} sourceName +The name of a variable within the source, the @code{variable-name} in +the corresponding @file{tableData.bin} member (@pxref{SPV Legacy +Member Data}). +@end defvr + +@defvr {Optional} dependsOn +The @code{variable-name} of a variable linked to this one, so that a +viewer can work with them together. For a group variable, this is the +name of the corresponding categorical variable. +@end defvr + +@defvr {Optional} label +The variable label, if any +@end defvr + +@defvr {Optional} labelVariable +The @code{variable-name} of a variable whose string values correspond +one-to-one with the values of this variable and are suitable for use +as value labels. +@end defvr + +@node SPV Detail derivedVariable Element +@subsection The @code{derivedVariable} Element + +Parent: @code{visualization} @* +Contents: @code{extension}* (@code{format} @math{|} @code{stringFormat} @code{valueMapEntry}*) + +Like @code{sourceVariable}, this element defines a variable whose +values can be used elsewhere in the visualization. Instead of being +read from a data source, the variable's data are defined by a +mathematical expression. + +This element has the following attributes. + +@defvr {Required} categorical +Always set to @code{true}. +@end defvr + +@defvr {Required} value +An expression that defines the variable's value. In theory this could +be an arbitrary expression in terms of constants, functions, and other +variables, e.g.@: @math{(@var{var1} + @var{var2}) / 2}. In practice, +the corpus contains only the following forms of expressions: + +@table @code +@item constant(@var{number}) +@itemx constant(@var{variable}) +A constant. The meaning when a variable is named is unknown. +Sometimes the ``variable name'' has spaces in it. + +@item map(@var{variable}) +Transforms the values in the named @var{variable} using the +@code{valueMapEntry}s contained within the element. +@end table +@end defvr + +@defvr {Optional} dependsOn +The @code{variable-name} of a variable linked to this one, so that a +viewer can work with them together. For a group variable, this is the +name of the corresponding categorical variable. +@end defvr + +@menu +* SPV Detail valueMapEntry Element:: +@end menu + +@node SPV Detail valueMapEntry Element +@subsubsection The @code{valueMapEntry} Element + +Parent: @code{derivedVariable} @* +Contents: empty + +A @code{valueMapEntry} element defines a mapping from one or more +values of a source expression to a target value. (In the corpus, the +source expression is always just the name of a variable.) Each target +value requires a separate @code{valueMapEntry}. If multiple source +values map to the same target value, they can be combined or separate. + +@code{valueMapEntry} has the following attributes. + +@defvr {Required} from +A source value, or multiple source values separated by semicolons, +e.g.@: @code{0} or @code{13;14;15;16}. +@end defvr + +@defvr {Required} to +The target value. +@end defvr + +@node SPV Detail extension Element +@subsection The @code{extension} Element + +This is a general-purpose ``extension'' element. Readers that don't +understand a given extension should be able to safely ignore it. The +attributes on this element, and their meanings, vary based on the +context. Each known usage is described separately below. The current +extensions use attributes exclusively, without any nested elements. + +@subsubheading @code{visualization} Parent Element + +With @code{visualization} as its parent element, @code{extension} has +the following attributes. + +@defvr {Optional} numRows +An integer that presumably defines the number of rows in the displayed +pivot table. +@end defvr + +@defvr {Optional} showGridline +Always set to @code{false} in the corpus. +@end defvr + +@defvr {Optional} minWidthSet +@defvrx {Optional} maxWidthSet +Always set to @code{true} in the corpus. +@end defvr + +@subsubheading @code{container} Parent Element + +With @code{container} as its parent element, @code{extension} has the +following attributes. + +@defvr {Required} combinedFootnotes +Always set to @code{true} in the corpus. +@end defvr + +@subsubheading @code{sourceVariable} and @code{derivedVariable} Parent Element + +With @code{sourceVariable} or @code{derivedVariable} as its parent +element, @code{extension} has the following attributes. A given +parent element often contains several @code{extension} elements that +specify the meaning of the source data's variables or sources, e.g.@: + +@example + + + + +@end example + +@defvr {Required} from +An integer or a name like ``dimension0''. +@end defvr + +@defvr {Required} helpId +An identifier. +@end defvr + +@node SPV Detail graph Element +@subsection The @code{graph} Element + +Parent: @code{visualization} @* +Contents: @code{location}@math{+} @code{coordinates} @code{faceting} @code{facetLayout} @code{interval} + +@code{graph} has the following attributes. + +@defvr {Required} cellStyle +@defvrx {Required} style +Each of these is the @code{id} of a @code{style} element (@pxref{SPV +Detail style Element}). The former is the default style for +individual cells, the latter for the entire table. +@end defvr + +@node SPV Detail location Element +@subsection The @code{location} Element + +Parent: @code{graph} @* +Contents: empty + +Each instance of this element specifies where some part of the table +frame is located. All the examples in the corpus have four instances +of this element, one for each of the parts @code{height}, +@code{width}, @code{left}, and @code{top}. Some examples in the +corpus add a fifth for part @code{bottom}, even though it is not clear +how all of @code{top}, @code{bottom}, and @code{heigth} can be honored +at the same time. In any case, @code{location} seems to have little +importance in representing tables; a reader can safely ignore it. + +@defvr {Required} part +One of @code{height}, @code{width}, @code{top}, @code{bottom}, or +@code{left}. Presumably @code{right} is acceptable as well but the +corpus contains no examples. +@end defvr + +@defvr {Required} method +How the location is determined: + +@table @code +@item sizeToContent +Based on the natural size of the table. Observed only for +parts @code{height} and @code{width}. + +@item attach +Based on the location specified in @code{target}. Observed only for +parts @code{top} and @code{bottom}. + +@item fixed +Using the value in @code{value}. Observed only for parts @code{top}, +@code{bottom}, and @code{left}. + +@item same +Same as the specified @code{target}. Observed only for part +@code{left}. +@end table +@end defvr + +@defvr {Optional} min +Minimum size. Only observed with value @code{100pt}. Only observed +for part @code{width}. +@end defvr + +@defvr {Dependent} target +Required when @code{method} is @code{attach} or @code{same}, not +observed otherwise. This is the ID of an element to attach to. +Observed with the ID of @code{title}, @code{footnote}, @code{graph}, +and other elements. +@end defvr + +@defvr {Dependent} value +Required when @code{method} is @code{fixed}, not observed otherwise. +Observed values are @code{0%}, @code{0px}, @code{1px}, and @code{3px} +on parts @code{top} and @code{left}, and @code{100%} on part +@code{bottom}. +@end defvr + +@node SPV Detail coordinates Element +@subsection The @code{coordinates} Element + +Parent: @code{graph} @* +Contents: empty + +This element is always present and always empty, with no attributes +(except @code{id}). + +@node SPV Detail faceting Element +@subsection The @code{faceting} Element + +Parent: @code{graph} @* +Contents: @code{cross} @code{layer}* + +The @code{faceting} element describes the row, column, and layer +structure of the table. Its @code{cross} child determines the row and +column structure, and each @code{layer} child (if any) represents a +layer. + +@code{faceting} has no attributes (other than @code{id}). + +@subsubheading The @code{cross} Element + +Parent: @code{faceting} @* +Contents: @code{nest} @code{nest} + +The @code{cross} element describes the row and column structure of the +table. It has exactly two @code{nest} children, the first of which +describes the table's rows and the second the table's columns. + +@code{cross} has no attributes (other than @code{id}). + +@subsubheading The @code{nest} Element + +Parent: @code{cross} @* +Contents: @code{variableReference}@math{+} + +A given @code{nest} usually consists of one or more dimensions, each +of which is represented by @code{variableReference} child elements. +Minimally, a dimension has two @code{variableReference} children, one +for the categories, one for the data, e.g.: + +@example + + + + +@end example + +@noindent +Groups of categories introduce additional variable references, e.g.@: + +@example + + + + + +@end example + +@noindent +Grouping can be hierarchical, e.g.@: + +@example + + + + + + +@end example + +@noindent +XXX what are group maps? + +@example + + + + + + + + + + + +@end example + +@noindent +A @code{nest} can contain multiple dimensions: + +@example + + + + + + + +@end example + +One @code{nest} within a given @code{cross} may have no dimensions, in +which case it still has one @code{variableReference} child, which +references a @code{derivedVariable} whose @code{value} attribute is +@code{constant(0)}. In the corpus, such a @code{derivedVariable} has +@code{row} or @code{column}, respectively, as its @code{id}. + +@code{nest} has no attributes (other than @code{id}). + +@subsubheading The @code{variableReference} Element + +Parent: @code{nest} @* +Contents: empty + +@code{variableReference} has one attribute. + +@defvr {Required} ref +The @code{id} of a @code{sourceVariable} or @code{derivedVariable} +element. +@end defvr + +@subsubheading The @code{layer} Element + +Parent: @code{faceting} @* +Contents: empty + +Each layer is represented by a pair of @code{layer} elements. The +first of this pair is for a category variable, the second for the data +variable, e.g.: + +@example + + +@end example + +@noindent +@code{layer} has the following attributes. + +@defvr {Required} variable +The @code{id} of a @code{sourceVariable} or @code{derivedVariable} +element. +@end defvr + +@defvr {Required} value +The value to select. For a category variable, this is always +@code{0}; for a data variable, it is the same as the @code{variable} +attribute. +@end defvr + +@defvr {Optional} visible +Whether the layer is visible. Generally, category layers are visible +and data layers are not, but sometimes this attribute is omitted. +@end defvr + +@defvr {Optional} method +When present, this is always @code{nest}. +@end defvr + +@node SPV Detail facetLayout Element +@subsection The @code{facetLayout} Element + +Parent: @code{graph} @* +Contents: @code{tableLayout} @code{facetLevel}@math{+} @code{setCellProperties}* + +@subsubheading The @code{tableLayout} Element + +Parent: @code{facetLayout} @* +Contents: empty + +@defvr {Required} verticalTitlesInCorner +Always set to @code{true}. +@end defvr + +@defvr {Optional} style +The @code{id} of a @code{style} element. +@end defvr + +@defvr {Optional} fitCells +Always set to @code{ticks}. +@end defvr + +@subsubheading The @code{facetLevel} Element + +Parent: @code{facetLayout} @* +Contents: @code{axis} + +Each @code{facetLevel} describes a @code{variableReference} or +@code{layer}, and a table has one @code{facetLevel} element for +each such element. For example, an SPV detail member that contains +four @code{variableReference} elements and two @code{layer} elements +will contain six @code{facetLevel} elements. + +In the corpus, @code{facetLevel} elements and the elements that they +describe are always in the same order. The correspondence may also be +observed in two other ways. First, one may use the @code{level} +attribute, described below. Second, in the corpus, a +@code{facetLevel} always has an @code{id} that is the same as the +@code{id} of the element it describes with @code{_facetLevel} +appended. One should not formally rely on this, of course, but it is +usefully indicative. + +@defvr {Required} level +A 1-based index into the @code{variableReference} and @code{layer} +elements, e.g.@: a @code{facetLayout} with a @code{level} of 1 +describes the first @code{variableReference} in the SPV detail member, +and in a member with four @code{variableReference} elements, a +@code{facetLayout} with a @code{level} of 5 describes the first +@code{layer} in the member. +@end defvr + +@defvr {Required} gap +Always observed as @code{0pt}. +@end defvr + +@subsubheading The @code{axis} Element + +Parent: @code{facetLevel} @* +Contents: @code{label}? @code{majorTicks} + +@defvr {Attribute} style +The @code{id} of a @code{style} element. +@end defvr + +@subsubheading The @code{label} Element + +Parent: @code{axis} or @code{labelFrame} @* +Contents: @code{text}@math{+} @math{|} @code{descriptionGroup} + +This element represents a label on some aspect of the table. For example, +the table's title is a @code{label}. + +The contents of the label can be one or more @code{text} elements or a +@code{descriptionGroup}. + +@defvr {Attribute} style +@defvrx {Optional} textFrameStyle +Each of these is the @code{id} of a @code{style} element. +@code{style} is the style of the label text, @code{textFrameStyle} the +style for the frame around the label. +@end defvr + +@defvr {Optional} purpose +The kind of entity being labeled, one of @code{title}, +@code{subTitle}, @code{layer}, or @code{footnote}. +@end defvr + +@subsubheading The @code{descriptionGroup} Element + +Parent: @code{label} @* +Contents: (@code{description} @math{|} @code{text})@math{+} + +A @code{descriptionGroup} concatenates one or more elements to form a +label. Each element can be a @code{text} element, which contains +literal text, or a @code{description} element that substitutes a value +or a variable name. + +@defvr {Attribute} target +The @code{id} of an element being described. In the corpus, this is +always @code{faceting}. +@end defvr + +@defvr {Attribute} separator +A string to separate the description of multiple groups, if the +@code{target} has more than one. In the corpus, this is always a +new-line. +@end defvr + +Typical contents for a @code{descriptionGroup} are a value by itself: +@example + +@end example +@noindent or a variable and its value, separated by a colon: +@example +: +@end example + +@subsubheading The @code{description} Element + +Parent: @code{descriptionGroup} @* +Contents: empty + +A @code{description} is like a macro that expands to some property of +the target of its parent @code{descriptionGroup}. + +@defvr {Attribute} name +The name of the property. Only @code{variable} and @code{value} +appear in the corpus. +@end defvr + +@subsubheading The @code{majorTicks} Element + +Parent: @code{axis} @* +Contents: @code{gridline}? + +@defvr {Attribute} labelAngle +@defvrx {Attribute} length +Both always defined to @code{0}. +@end defvr + +@defvr {Attribute} style +@defvrx {Attribute} tickFrameStyle +Each of these is the @code{id} of a @code{style} element. +@code{style} is the style of the tick labels, @code{tickFrameStyle} +the style for the frames around the labels. +@end defvr + +@subsubheading The @code{gridline} Element + +Parent: @code{majorTicks} @* +Contents: empty + +Represents ``gridlines,'' which for a table represents the lines +between the rows or columns of a table (XXX?). + +@defvr {Attribute} style +The style for the gridline. +@end defvr + +@defvr {Attribute} zOrder +Observed as a number between 28 and 31. Does not seem to be +important. +@end defvr + +@subsubheading The @code{setCellProperties} Element + +Parent: @code{facetLayout} @* +Contents: @code{setMetaData} @code{setStyle}* @code{setFormat}@math{+} @code{union}? + +This element sets style properties of cells designated by the +@code{target} attribute of its child elements, as further restricted +by the optional @code{union} element if present. The @code{target} +values often used, e.g.@: @code{graph} or @code{labeling}, actually +affect every cell, so the @code{union} element is a useful +restriction. + +@defvr {Optional} applyToConverse +If present, always @code{true}. This appears to invert the meaning of +the @code{target} of sub-elements: the selected cells are the ones +@emph{not} designated by @code{target}. This is confusing, given the +additional restrictions of @code{union}, but in the corpus +@code{applyToConverse} is never present along with @code{union}. +@end defvr + +@subsubheading The @code{setMetaData} Element + +Parent: @code{setCellProperties} @* +Contents: empty + +This element is not known to have any visible effect. + +@defvr {Required} target +The @code{id} of an element whose metadata is to be set. In the +corpus, this is always @code{graph}, the @code{id} used for the +@code{graph} element. +@end defvr + +@defvr {Required} key +@defvrx {Required} value +A key-value pair to set for the target. + +In the corpus, @code{key} is @code{cellPropId} or, rarely, +@code{diagProps}, and @code{value} is always the @code{id} of the +parent @code{setCellProperties}. +@end defvr + +@subsubheading The @code{setStyle} Element + +Parent: @code{setCellProperties} @* +Contents: empty + +This element associates a style with the target. + +@defvr {Required} target +The @code{id} of an element whose style is to be set. In the corpus, +this is always the @code{id} of an @code{interval}, @code{labeling}, +or, rarely, @code{graph} element. +@end defvr + +@defvr {Required} style +The @code{id} of a @code{style} element that identifies the style to +set on the target. +@end defvr + +@subsubheading The @code{setFormat} Element + +@format +Parent: @code{setCellProperties} +Contents: + @code{format} + @math{|} @code{numberFormat} + @math{|} @code{stringFormat}@math{+} + @math{|} @code{dateTimeFormat} +@end format + +This element sets the format of the target, ``format'' in this case +meaning the SPSS print format for a variable. + +The details of this element vary depending on the schema version, as +declared in the root @code{visualization} element's @code{version} +attribute (@pxref{SPV Detail visualization Element}). In version 2.5 +and earlier, @code{setFormat} contains one of a number of child +elements that correspond to the different varieties of print formats. +In version 2.7 and later, @code{setFormat} instead always contains a +@code{format} element. + +XXX reinvestigate the above claim about versions: it appears to be +incorrect. + +The @code{setFormat} element itself has the following attributes. + +@defvr {Required} target +The @code{id} of an element whose style is to be set. In the corpus, +this is always the @code{id} of an @code{majorTicks} or +@code{labeling} element. +@end defvr + +@defvr {Optional} reset +If this is @code{true}, this format overrides the target's previous +format. If it is @code{false}, the adds to the previous format. In +the corpus this is always @code{true}. The default behavior is +unknown. +@end defvr + +@menu +* SPV Detail format Element:: +* SPV Detail numberFormat Element:: +* SPV Detail stringFormat Element:: +* SPV Detail dateTimeFormat Element:: +* SPV Detail affix Element:: +* SPV Detail relabel Element:: +* SPV Detail union Element:: +@end menu + +@node SPV Detail format Element +@subsubsection The @code{format} Element + +Parent: @code{sourceVariable}, @code{derivedVariable}, @code{formatMapping}, @code{labeling}, @code{formatMapping}, @code{setFormat} @* +Contents: (@code{affix}@math{+} @math{|} @code{relabel}@math{+})? + +This element appears only in schema version 2.7 (@pxref{SPV Detail +visualization Element}). + +This element determines a format, equivalent to an SPSS print format. + +@subsubheading Attributes for All Formats + +These attributes apply to all kinds of formats. The most important of +these attributes determines the high-level kind of formatting in use: + +@defvr {Optional} baseFormat +Either @code{dateTime} or @code{elapsedTime}. When this attribute is +omitted, this element is a numeric or string format. +@end defvr + +@noindent +Whether, in the corpus, other attributes are always present (``yes''), +never present (``no''), or sometimes present (``opt'') depends on +@code{baseFormat}: + +@multitable {maximumFractionDigits} {@code{dateTime}} {@code{elapsedTime}} {number} {string} +@headitem Attribute @tab @code{dateTime} @tab @code{elapsedTime} @tab number @tab string +@item errorCharacter @tab yes @tab yes @tab yes @tab opt +@item @w{ } +@item separatorChars @tab yes @tab no @tab no @tab no +@item @w{ } +@item mdyOrder @tab yes @tab no @tab no @tab no +@item @w{ } +@item showYear @tab yes @tab no @tab no @tab no +@item yearAbbreviation @tab yes @tab no @tab no @tab no +@item @w{ } +@item showMonth @tab yes @tab no @tab no @tab no +@item monthFormat @tab yes @tab no @tab no @tab no +@item @w{ } +@item showDay @tab yes @tab opt @tab no @tab no +@item dayPadding @tab yes @tab opt @tab no @tab no +@item dayOfMonthPadding @tab yes @tab no @tab no @tab no +@item dayType @tab yes @tab no @tab no @tab no +@item @w{ } +@item showHour @tab yes @tab opt @tab no @tab no +@item hourFormat @tab yes @tab opt @tab no @tab no +@item hourPadding @tab yes @tab yes @tab no @tab no +@item @w{ } +@item showMinute @tab yes @tab yes @tab no @tab no +@item minutePadding @tab yes @tab yes @tab no @tab no +@item @w{ } +@item showSecond @tab yes @tab yes @tab no @tab no +@item secondPadding @tab no @tab yes @tab no @tab no +@item @w{ } +@item showMillis @tab no @tab yes @tab no @tab no +@item @w{ } +@item minimumIntegerDigits @tab no @tab no @tab yes @tab no +@item maximumFractionDigits @tab no @tab yes @tab yes @tab no +@item minimumFractionDigits @tab no @tab yes @tab yes @tab no +@item useGrouping @tab no @tab opt @tab yes @tab no +@item scientific @tab no @tab no @tab yes @tab no +@item small @tab no @tab no @tab opt @tab no +@item suffix @tab no @tab no @tab opt @tab no +@item @w{ } +@item tryStringsAsNumbers @tab no @tab no @tab no @tab yes +@item @w{ } +@end multitable + +@defvr {Attribute} errorCharacter +A character that replaces the formatted value when it cannot otherwise +be represented in the given format. Always @samp{*}. +@end defvr + +@subsubheading Date and Time Attributes + +These attributes are used with @code{dateTime} and @code{elapsedTime} +formats or both. + +@defvr {Attribute} separatorChars +Exactly four characters. In order, these are used for: decimal point, +grouping, date separator, time separator. Always @samp{.,-:}. +@end defvr + +@defvr {Attribute} mdyOrder +Within a date, the order of the days, months, and years. +@code{dayMonthYear} is the only observed value, but one would expect +that @code{monthDayYear} and @code{yearMonthDay} to be reasonable as +well. +@end defvr + +@defvr {Attribute} showYear +@defvrx {Attribute} yearAbbreviation +Whether to include the year and, if so, whether the year should be +shown abbreviated, that is, with only 2 digits. Each is @code{true} +or @code{false}; only values of @code{true} and @code{false}, +respectively, have been observed. +@end defvr + +@defvr {Attribute} showMonth +@defvrx {Attribute} monthFormat +Whether to include the month (@code{true} or @code{false}) and, if so, +how to format it. @code{monthFormat} is one of the following: + +@table @code +@item long +The full name of the month, e.g.@: in an English locale, +@code{September}. + +@item short +The abbreviated name of the month, e.g.@: in an English locale, +@code{Sep}. + +@item number +The number representing the month, e.g.@: 9 for September. + +@item paddedNumber +A two-digit number representing the month, e.g.@: 09 for September. +@end table + +Only values of @code{true} and @code{short}, respectively, have been +observed. +@end defvr + +@defvr {Attribute} dayPadding +@defvrx {Attribute} dayOfMonthPadding +@defvrx {Attribute} hourPadding +@defvrx {Attribute} minutePadding +@defvrx {Attribute} secondPadding +These attributes presumably control whether each field in the output +is padded with spaces to its maximum width, but the details are not +understood. The only observed value for any of these attributes is +@code{true}. +@end defvr + +@defvr {Attribute} showDay +@defvrx {Attribute} showHour +@defvrx {Attribute} showMinute +@defvrx {Attribute} showSecond +@defvrx {Attribute} showMillis +These attributes presumably control whether each field is displayed +in the output, but the details are not understood. The only +observed value for any of these attributes is @code{true}. +@end defvr + +@defvr {Attribute} dayType +This attribute is always @code{month} in the corpus, specifying that +the day of the month is to be displayed; a value of @code{year} is +supposed to indicate that the day of the year, where 1 is January 1, +is to be displayed instead. +@end defvr + +@defvr {Attribute} hourFormat +@code{hourFormat}, if present, is one of: + +@table @code +@item AMPM +The time is displayed with an @code{am} or @code{pm} suffix, e.g.@: +@code{10:15pm}. + +@item AS_24 +The time is displayed in a 24-hour format, e.g.@: @code{22:15}. + +This is the only value observed in the corpus. + +@item AS_12 +The time is displayed in a 12-hour format, without distinguishing +morning or evening, e.g.@: @code{10;15}. +@end table + +@code{hourFormat} is sometimes present for @code{elapsedTime} formats, +which is confusing since a time duration does not have a concept of AM +or PM. This might indicate a bug in the code that generated the XML +in the corpus, or it might indicate that @code{elapsedTime} is +sometimes used to format a time of day. +@end defvr + +@subsubheading Numeric Attributes + +These attributes are used for formats when @code{baseFormat} is +@code{number}. Attributes @code{maximumFractionDigits}, and +@code{minimumFractionDigits}, and @code{useGrouping} are also used +when @code{baseFormat} is @code{elapsedTime}. + +@defvr {Attribute} minimumIntegerDigits +Minimum number of digits to display before the decimal point. Always +observed as @code{0}. +@end defvr + +@defvr {Attribute} maximumFractionDigits +@defvrx {Attribute} maximumFractionDigits +Maximum or minimum, respectively, number of digits to display after +the decimal point. The observed values of each attribute range from 0 +to 9. +@end defvr + +@defvr {Attribute} useGrouping +Whether to use the grouping character to group digits in large +numbers. It would make sense for the grouping character to come from +the @code{separatorChars} attribute, but that attribute is only +present when @code{baseFormat} is @code{dateTime} or +@code{elapsedTime}, in the corpus at least. Perhaps that is because +this attribute has only been observed as @code{false}. +@end defvr + +@defvr {Attribute} scientific +This attribute controls when and whether the number is formatted in +scientific notation. It takes the following values: + +@table @code +@item onlyForSmall +Use scientific notation only when the number's magnitude is smaller +than the value of the @code{small} attribute. + +@item whenNeeded +Use scientific notation when the number will not otherwise fit in the +available space. + +@item true +Always use scientific notation. Not observed in the corpus. + +@item false +Never use scientific notation. A number that won't otherwise fit will +be replaced by an error indication (see the @code{errorCharacter} +attribute). Not observed in the corpus. +@end table +@end defvr + +@defvr {Optional} small +Only present when the @code{scientific} attribute is +@code{onlyForSmall}, this is a numeric magnitude below which the +number will be formatted in scientific notation. The values @code{0} +and @code{0.0001} have been observed. The value @code{0} seems like a +pathological choice, since no real number has a magnitude less than 0; +perhaps in practice such a choice is equivalent to setting +@code{scientific} to @code{false}. +@end defvr + +@defvr {Optional} prefix +@defvrx {Optional} suffix +Specifies a prefix or a suffix to apply to the formatted number. Only +@code{suffix} has been observed, with value @samp{%}. +@end defvr + +@subsubheading String Attributes + +These attributes are used for formats when @code{baseFormat} is +@code{string}. + +@defvr {Attribute} tryStringsAsNumbers +When this is @code{true}, it is supposed to indicate that string +values should be parsed as numbers and then displayed according to +numeric formatting rules. However, in the corpus it is always +@code{false}. +@end defvr + +@node SPV Detail numberFormat Element +@subsubsection The @code{numberFormat} Element + +Parent: @code{setFormat} @* +Contents: @code{affix}@math{+} + +This element appears only in schema version 2.5 and earlier +(@pxref{SPV Detail visualization Element}). Possibly this element +could also contain @code{relabel} elements in a more diverse corpus. + +This element has the following attributes. + +@defvr {Attribute} maximumFractionDigits +@defvrx {Attribute} minimumFractionDigits +@defvrx {Attribute} minimumIntegerDigits +@defvrx {Optional} scientific +@defvrx {Optional} small +@defvrx {Optional} suffix +@defvrx {Optional} useGroupging +The syntax and meaning of these attributes is the same as on the +@code{format} element for a numeric format. @pxref{SPV Detail format +Element}. +@end defvr + +@node SPV Detail stringFormat Element +@subsubsection The @code{stringFormat} Element + +Parent: @code{setFormat} @* +Contents: (@code{affix}@math{+} @math{|} @code{relabel}@math{+})? + +This element appears only in schema version 2.5 and earlier +(@pxref{SPV Detail visualization Element}). + +This element has no attributes. + +@node SPV Detail dateTimeFormat Element +@subsubsection The @code{dateTimeFormat} Element + +Parent: @code{setFormat} @* +Contents: empty + +This element appears only in schema version 2.5 and earlier +(@pxref{SPV Detail visualization Element}). Possibly this element +could also contain @code{affix} and @code{relabel} elements in a more +diverse corpus. + +The following attribute is required. + +@defvr {Attribute} baseFormat +Either @code{dateTime} or @code{time}. +@end defvr + +When @code{baseFormat} is @code{dateTime}, the following attributes +are available. + +@defvr {Attribute} dayOfMonthPadding +@defvrx {Attribute} dayPadding +@defvrx {Attribute} dayType +@defvrx {Attribute} hourFormat +@defvrx {Attribute} hourPadding +@defvrx {Attribute} mdyOrder +@defvrx {Attribute} minutePadding +@defvrx {Attribute} monthFormat +@defvrx {Attribute} separatorChars +@defvrx {Attribute} showDay +@defvrx {Attribute} showHour +@defvrx {Attribute} showMinute +@defvrx {Attribute} showMonth +@defvrx {Attribute} showSecond +@defvrx {Attribute} showYear +@defvrx {Attribute} yearAbbreviation +The syntax and meaning of these attributes is the same as on the +@code{format} element when that element's @code{baseFormat} is +@code{dateTime}. @pxref{SPV Detail format Element}. +@end defvr + +When @code{baseFormat} is @code{time}, the following attributes are +available. + +@defvr {Attribute} hourFormat +@defvrx {Attribute} hourPadding +@defvrx {Attribute} minutePadding +@defvrx {Attribute} monthFormat +@defvrx {Attribute} separatorChars +@defvrx {Attribute} showDay +@defvrx {Attribute} showHour +@defvrx {Attribute} showMinute +@defvrx {Attribute} showMonth +@defvrx {Attribute} showSecond +@defvrx {Attribute} showYear +@defvrx {Attribute} yearAbbreviation +The syntax and meaning of these attributes is the same as on the +@code{format} element when that element's @code{baseFormat} is +@code{elapsedTime}. @pxref{SPV Detail format Element}. +@end defvr + +@node SPV Detail affix Element +@subsubsection The @code{affix} Element + +Parent: @code{format} or @code{numberFormat} or @code{stringFormat} @* +Contents: empty + +Possibly this element could have @code{dateTimeFormat} as a parent in +a more diverse corpus. + +This defines a suffix (or, theoretically, a prefix) for a formatted +value. It is used to insert a reference to a footnote. It has the +following attributes: + +@defvr {Attribute} definesReference +This specifies the footnote number as a natural number: 1 for the +first footnote, 2 for the second, and so on. +@end defvr + +@defvr {Attribute} position +Position for the footnote label. Always @code{superscript}. +@end defvr + +@defvr {Attribute} suffix +Whether the affix is a suffix (@code{true}) or a prefix +(@code{false}). Always @code{true}. +@end defvr + +@defvr {Attribute} value +The text of the suffix or prefix. Typically a letter, e.g.@: @code{a} +for footnote 1, @code{b} for footnote 2, @enddots{} The corpus +contains other values: @code{*}, @code{**}, and a few that begin with +at least one comma: @code{,b}, @code{,c}, @code{,,b}, and @code{,,c}. +@end defvr + +@node SPV Detail relabel Element +@subsubsection The @code{relabel} Element + +Parent: @code{format} or @code{stringFormat} @* +Contents: empty + +Possibly this element could have @code{numberFormat} or +@code{dateTimeFormat} as a parent in a more diverse corpus. + +This specifies how to display a given value. It is used to implement +value labels and to display the system-missing value in a +human-readable way. It has the following attributes: + +@defvr {Attribute} from +The value to map. In the corpus this is an integer or the +system-missing value @code{-1.797693134862316E300}. +@end defvr + +@defvr {Attribute} to +The string to display in place of the value of @code{from}. In the +corpus this is a wide variety of value labels; the system-missing +value is mapped to @samp{.}. +@end defvr + +@node SPV Detail union Element +@subsubsection The @code{union} Element + +Parent: @code{setCellProperties} @* +Contents: @code{intersect}@math{+} + +This element represents a set of cells, computed as the union of the +sets represented by each of its children. + +@subsubheading The @code{intersect} Element + +Parent: @code{union} @* +Contents: @code{where}@math{+} @math{|} @code{intersectWhere}? + +This element represents a set of cells, computed as the intersection +of the sets represented by each of its children. + +Of the two possible children, in the corpus @code{where} is far more +common, appearing thousands of times, whereas @code{intersectWhere} +only appears 4 times. + +Most @code{intersect} elements have two or more children. + +@subsubheading The @code{where} Element + +Parent: @code{intersect} @* +Contents: empty + +This element represents the set of cells in which the value of a +specified variable falls within a specified set. + +@defvr {Attribute} variable +The @code{id} of a variable, e.g.@: @code{dimension0categories} or +@code{dimension0group0map}. +@end defvr + +@defvr {Attribute} include +A value, or multiple values separated by semicolons, +e.g.@: @code{0} or @code{13;14;15;16}. +@end defvr + +@subsubheading The @code{intersectWhere} Element + +Parent: @code{intersect} @* +Contents: empty + +The meaning of this element is unknown. + +@defvr {Attribute} variable +@defvrx {Attribute} variable2 +The meaning of these attributes is unknown. In the four examples in +the corpus they always take the values @code{dimension2categories} and +@code{dimension0categories}, respectively. +@end defvr + +@node SPV Detail style Element +@subsection The @code{style} Element + +TBD. diff --git a/doc/dev/spv-structure.eps b/doc/dev/spv-structure.eps deleted file mode 100644 index af2e21e0c4..0000000000 --- a/doc/dev/spv-structure.eps +++ /dev/null @@ -1,626 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: graphviz version 2.38.0 (20140413.2041) -%%Title: spv_structure -%%Pages: 1 -%%BoundingBox: 36 36 517 487 -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def -/tapered { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 517 487 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 481 451 boxprim clip newpath -1 1 set_scale 0 rotate 40 40 translate -% heading -gsave -1 setlinewidth -0 0 0 nodecolor -253.65 425 38.19 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -232.15 421.3 moveto 43 (heading) alignedtext -grestore -% heading->heading -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 288.31 432.87 moveto -300.31 432.96 309.99 430.33 309.99 425 curveto -309.99 421.33 305.41 418.95 298.65 417.84 curveto -stroke -0 0 0 edgecolor -newpath 298.53 414.33 moveto -288.31 417.13 lineto -298.04 421.31 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 298.53 414.33 moveto -288.31 417.13 lineto -298.04 421.31 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -309.99 421.3 moveto 7 (*) alignedtext -grestore -% pageSetup -gsave -1 setlinewidth -0 0 0 nodecolor -173.65 338 47.39 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -145.15 334.3 moveto 57 (pageSetup) alignedtext -grestore -% heading->pageSetup -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 238.6 408.01 moveto -226.61 395.27 209.63 377.24 196.04 362.8 curveto -stroke -0 0 0 edgecolor -newpath 198.3 360.09 moveto -188.9 355.21 lineto -193.2 364.89 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 198.3 360.09 moveto -188.9 355.21 lineto -193.2 364.89 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -218.65 377.8 moveto 7 (?) alignedtext -grestore -% label -gsave -1 setlinewidth -0 0 0 nodecolor -269.65 251 27.9 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -256.15 247.3 moveto 27 (label) alignedtext -grestore -% heading->label -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 255.24 406.88 moveto -258.02 377 263.77 315.11 267.11 279.27 curveto -stroke -0 0 0 edgecolor -newpath 270.62 279.33 moveto -268.06 269.05 lineto -263.65 278.68 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 270.62 279.33 moveto -268.06 269.05 lineto -263.65 278.68 lineto -closepath stroke -grestore -% container -gsave -1 setlinewidth -0 0 0 nodecolor -325.65 338 43.59 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -300.15 334.3 moveto 51 (container) alignedtext -grestore -% heading->container -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 267.19 408.01 moveto -277.88 395.39 292.97 377.57 305.15 363.2 curveto -stroke -0 0 0 edgecolor -newpath 308.13 365.1 moveto -311.92 355.21 lineto -302.78 360.57 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 308.13 365.1 moveto -311.92 355.21 lineto -302.78 360.57 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -293.65 377.8 moveto 7 (*) alignedtext -grestore -% pageHeader -gsave -1 setlinewidth -0 0 0 nodecolor -52.65 251 52.79 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -20.15 247.3 moveto 65 (pageHeader) alignedtext -grestore -% pageSetup->pageHeader -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 152.01 321.8 moveto -132.89 308.37 104.8 288.63 83.35 273.57 curveto -stroke -0 0 0 edgecolor -newpath 85.1 270.52 moveto -74.91 267.64 lineto -81.08 276.25 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 85.1 270.52 moveto -74.91 267.64 lineto -81.08 276.25 lineto -closepath stroke -grestore -% pageFooter -gsave -1 setlinewidth -0 0 0 nodecolor -173.65 251 50.09 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -143.15 247.3 moveto 61 (pageFooter) alignedtext -grestore -% pageSetup->pageFooter -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 173.65 319.8 moveto -173.65 308.16 173.65 292.55 173.65 279.24 curveto -stroke -0 0 0 edgecolor -newpath 177.15 279.18 moveto -173.65 269.18 lineto -170.15 279.18 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 177.15 279.18 moveto -173.65 269.18 lineto -170.15 279.18 lineto -closepath stroke -grestore -% container->label -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 314.58 320.21 moveto -306.37 307.74 295.05 290.56 285.82 276.56 curveto -stroke -0 0 0 edgecolor -newpath 288.54 274.32 moveto -280.12 267.9 lineto -282.7 278.17 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 288.54 274.32 moveto -280.12 267.9 lineto -282.7 278.17 lineto -closepath stroke -grestore -% table -gsave -1 setlinewidth -0 0 0 nodecolor -397.65 251 27.9 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -384.15 247.3 moveto 27 (table) alignedtext -grestore -% container->table -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 339.53 320.61 moveto -350.46 307.71 365.83 289.56 378.02 275.17 curveto -stroke -0 0 0 edgecolor -newpath 380.98 277.09 moveto -384.77 267.2 lineto -375.64 272.56 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 380.98 277.09 moveto -384.77 267.2 lineto -375.64 272.56 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -365.65 290.8 moveto 7 (*) alignedtext -grestore -% text -gsave -1 setlinewidth -0 0 0 nodecolor -281.65 91 27 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -271.15 87.3 moveto 21 (text) alignedtext -grestore -% container->text -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 322.55 319.77 moveto -315.01 277.78 295.63 169.86 286.52 119.12 curveto -stroke -0 0 0 edgecolor -newpath 289.95 118.43 moveto -284.74 109.21 lineto -283.06 119.67 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 289.95 118.43 moveto -284.74 109.21 lineto -283.06 119.67 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -302.65 203.8 moveto 7 (*) alignedtext -grestore -% tableStructure -gsave -1 setlinewidth -0 0 0 nodecolor -413.65 164 59.59 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -375.65 160.3 moveto 76 (tableStructure) alignedtext -grestore -% table->tableStructure -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 400.88 232.8 moveto -403.07 221.16 406.01 205.55 408.52 192.24 curveto -stroke -0 0 0 edgecolor -newpath 412 192.65 moveto -410.41 182.18 lineto -405.12 191.36 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 412 192.65 moveto -410.41 182.18 lineto -405.12 191.36 lineto -closepath stroke -grestore -% html -gsave -1 setlinewidth -0 0 0 nodecolor -281.65 18 27.1 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -268.65 14.3 moveto 26 (html) alignedtext -grestore -% text->html -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 281.65 72.81 moveto -281.65 64.79 281.65 55.05 281.65 46.07 curveto -stroke -0 0 0 edgecolor -newpath 285.15 46.03 moveto -281.65 36.03 lineto -278.15 46.03 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 285.15 46.03 moveto -281.65 36.03 lineto -278.15 46.03 lineto -closepath stroke -grestore -% dataPath -gsave -1 setlinewidth -0 0 0 nodecolor -413.65 91 40.89 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -390.15 87.3 moveto 47 (dataPath) alignedtext -grestore -% tableStructure->dataPath -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 413.65 145.81 moveto -413.65 137.79 413.65 128.05 413.65 119.07 curveto -stroke -0 0 0 edgecolor -newpath 417.15 119.03 moveto -413.65 109.03 lineto -410.15 119.03 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 417.15 119.03 moveto -413.65 109.03 lineto -410.15 119.03 lineto -closepath stroke -grestore -% pageParagraph -gsave -1 setlinewidth -0 0 0 nodecolor -173.65 164 63.09 18 ellipse_path stroke -0 0 0 nodecolor -14 /Times-Roman set_font -133.15 160.3 moveto 81 (pageParagraph) alignedtext -grestore -% pageHeader->pageParagraph -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 74.56 234.61 moveto -93.59 221.24 121.37 201.72 142.68 186.75 curveto -stroke -0 0 0 edgecolor -newpath 144.9 189.47 moveto -151.08 180.85 lineto -140.88 183.74 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 144.9 189.47 moveto -151.08 180.85 lineto -140.88 183.74 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -120.65 203.8 moveto 7 (*) alignedtext -grestore -% pageFooter->pageParagraph -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 173.65 232.8 moveto -173.65 221.16 173.65 205.55 173.65 192.24 curveto -stroke -0 0 0 edgecolor -newpath 177.15 192.18 moveto -173.65 182.18 lineto -170.15 192.18 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 177.15 192.18 moveto -173.65 182.18 lineto -170.15 192.18 lineto -closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -173.65 203.8 moveto 7 (*) alignedtext -grestore -% pageParagraph->text -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 197.61 147.24 moveto -214.44 136.18 236.98 121.37 254.47 109.86 curveto -stroke -0 0 0 edgecolor -newpath 256.67 112.61 moveto -263.11 104.19 lineto -252.83 106.76 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 256.67 112.61 moveto -263.11 104.19 lineto -252.83 106.76 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -end -restore -%%EOF diff --git a/doc/dev/spv-structure.gv b/doc/dev/spv-structure.gv deleted file mode 100644 index 7807ab48d2..0000000000 --- a/doc/dev/spv-structure.gv +++ /dev/null @@ -1,25 +0,0 @@ -digraph spv_structure { - "heading" -> "pageSetup" [label="?"]; - "heading" -> "label"; - "heading" -> "container" [label="*"]; - "heading" -> "heading" [label="*"]; - - "container" -> "label"; - "container" -> "table" [label="*"]; - "container" -> "text" [label="*"]; - - "text" -> "html"; - - "table" -> "tableStructure"; - - "tableStructure" -> "dataPath"; - - "pageSetup" -> "pageHeader"; - "pageSetup" -> "pageFooter"; - - "pageHeader" -> "pageParagraph" [label="*"]; - - "pageFooter" -> "pageParagraph" [label="*"]; - - "pageParagraph" -> "text"; -} diff --git a/doc/dev/spv-structure.pdf b/doc/dev/spv-structure.pdf deleted file mode 100644 index b54a268cb9..0000000000 Binary files a/doc/dev/spv-structure.pdf and /dev/null differ diff --git a/doc/dev/system-file-format.texi b/doc/dev/system-file-format.texi index 7cc0342c4c..116fa6f787 100644 --- a/doc/dev/system-file-format.texi +++ b/doc/dev/system-file-format.texi @@ -222,6 +222,12 @@ pspp 0.1.4 - sparc-sun-solaris2.5.2}. The string is truncated if it would be longer than 60 characters; otherwise it is padded on the right with spaces. +The product name field allow readers to behave differently based on +quirks in the way that particular software writes system files. +@xref{Value Labels Records}, for the detail of the quirk that the PSPP +system file reader tolerates in files written by ReadStat, which has +@code{https://github.com/WizardMac/ReadStat} in @code{prod_name}. + @anchor{layout_code} @item int32 layout_code; Normally set to 2, although a few system files have been spotted in @@ -232,8 +238,8 @@ file's integer endianness (@pxref{System File Format}). Number of data elements per case. This is the number of variables, except that long string variables add extra data elements (one for every 8 characters after the first 8). However, string variables do not -contribute to this value beyond the first 255 bytes. Further, system -files written by some systems set this value to -1. In general, it is +contribute to this value beyond the first 255 bytes. Further, some +software always writes -1 or 0 in this field. In general, it is unsafe for systems reading system files to rely upon this value. @item int32 compression; @@ -524,6 +530,14 @@ numeric and short string variables only. Long string variables may have value labels, but their value labels are recorded using a different record type (@pxref{Long String Value Labels Record}). +ReadStat (@pxref{File Header Record}) writes value labels that label a +single value more than once. In more detail, it emits value labels +whose values are longer than string variables' widths, that are +identical in the actual width of the variable, e.g.@: labels for +values @code{ABC123} and @code{ABC456} for a string variable with +width 3. For files written by this software, PSPP ignores such +labels. + The value label record has the following format: @example @@ -605,7 +619,8 @@ char lines[][80]; Record type. Always set to 6. @item int32 n_lines; -Number of lines of documents present. +Number of lines of documents present. This should be greater than +zero, but ReadStats writes system files with zero @code{n_lines}. @item char lines[][80]; Document lines. The number of elements is defined by @code{n_lines}. @@ -1557,9 +1572,10 @@ value @var{code} - @var{bias}, where variable @code{bias} from the file header. For example, code 105 with bias 100.0 (the normal value) indicates a numeric variable of value 5. -One file has been seen written by SPSS 14 that contained such a code -in a @emph{string} field with the value 0 (after the bias is -subtracted) as a way of encoding null bytes. + +A code of 0 (after subtracting the bias) in a string field encodes +null bytes. This is unusual, since a string field normally encodes +text data, but it exists in real system files. @item 252 End of file. This code may or may not appear at the end of the data diff --git a/doc/expressions.texi b/doc/expressions.texi index 1141f3a53d..463d598865 100644 --- a/doc/expressions.texi +++ b/doc/expressions.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @c Use @func when refering to a function. @c Use @deftypefn for their definitions @macro func{NAME} @@ -414,7 +423,11 @@ functions. In particular, user-missing values for numeric variables are converted to system-missing values. @deftypefn {Function} {} MISSING (@var{expr}) -Returns 1 if @var{expr} has the system-missing value, 0 otherwise. +When @var{expr} is simply the name of a numeric variable, returns 1 if +the variable has the system-missing value or if it is user-missing. +For any other value 0 is returned. +If @var{expr} takes another form, the function returns 1 if the value is +system-missing, 0 otherwise. @end deftypefn @deftypefn {Function} {} NMISS (@var{expr} [, @var{expr}]@dots{}) @@ -430,10 +443,7 @@ variable ranges using the @code{@var{var1} TO @var{var2}} syntax. @end deftypefn @deftypefn {Function} {} SYSMIS (@var{expr}) -When @var{expr} is simply the name of a numeric variable, returns 1 if -the variable has the system-missing value, 0 if it is user-missing or -not missing. If given @var{expr} takes another form, results in 1 if -the value is system-missing, 0 otherwise. +Returns 1 if @var{expr} has the system-missing value, 0 otherwise. @end deftypefn @deftypefn {Function} {} VALUE (@var{variable}) diff --git a/doc/fdl.texi b/doc/fdl.texi index 8711c1ae04..47e8f19adb 100644 --- a/doc/fdl.texi +++ b/doc/fdl.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node GNU Free Documentation License @appendix GNU Free Documentation License diff --git a/doc/files.texi b/doc/files.texi index e3d2398eb9..f0b56aaf22 100644 --- a/doc/files.texi +++ b/doc/files.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node System and Portable File IO @chapter System and Portable File I/O diff --git a/doc/flow-control.texi b/doc/flow-control.texi index fe81c94357..04fd6c3c8f 100644 --- a/doc/flow-control.texi +++ b/doc/flow-control.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Conditionals and Looping @chapter Conditional and Looping Constructs diff --git a/doc/function-index.texi b/doc/function-index.texi index a41e60de1a..dc4083dfd7 100644 --- a/doc/function-index.texi +++ b/doc/function-index.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Function Index @chapter Function Index @printindex fn diff --git a/doc/installing.texi b/doc/installing.texi index 4482f42f97..9ce33b2238 100644 --- a/doc/installing.texi +++ b/doc/installing.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Installation @appendix Installing @pspp{} @cindex installation diff --git a/doc/introduction.texi b/doc/introduction.texi index 1516314ed2..3a6ca3bad5 100644 --- a/doc/introduction.texi +++ b/doc/introduction.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Introduction @chapter Introduction @cindex introduction diff --git a/doc/invoking.texi b/doc/invoking.texi index ea839fb1fe..bc53ae4dda 100644 --- a/doc/invoking.texi +++ b/doc/invoking.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Invoking PSPP @chapter Invoking @command{pspp} @cindex invocation diff --git a/doc/language.texi b/doc/language.texi index e344de3019..6d5ebf25d6 100644 --- a/doc/language.texi +++ b/doc/language.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Language @chapter The @pspp{} language @cindex language, @pspp{} diff --git a/doc/license.texi b/doc/license.texi index e3dfdc0b4c..ab7a30cf3e 100644 --- a/doc/license.texi +++ b/doc/license.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node License @chapter Your rights and obligations @cindex license diff --git a/doc/not-implemented.texi b/doc/not-implemented.texi index 5a858d0314..f58e3faa8b 100644 --- a/doc/not-implemented.texi +++ b/doc/not-implemented.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Not Implemented @chapter Not Implemented diff --git a/doc/pspp-convert.texi b/doc/pspp-convert.texi index 3719de224c..aad7e74d9e 100644 --- a/doc/pspp-convert.texi +++ b/doc/pspp-convert.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Invoking pspp-convert @chapter Invoking @command{pspp-convert} @cindex Invocation diff --git a/doc/pspp-dev.texi b/doc/pspp-dev.texi index a1c623ce03..1570271a22 100644 --- a/doc/pspp-dev.texi +++ b/doc/pspp-dev.texi @@ -1,4 +1,13 @@ \input texinfo @c -*- texinfo -*- +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". + @c %**start of header @setfilename pspp-dev.info @settitle PSPP diff --git a/doc/pspp-dump-sav.texi b/doc/pspp-dump-sav.texi index 951a79d776..1758288fe9 100644 --- a/doc/pspp-dump-sav.texi +++ b/doc/pspp-dump-sav.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Invoking pspp-dump-sav @chapter Invoking @command{pspp-dump-sav} @cindex Invocation diff --git a/doc/pspp.texi b/doc/pspp.texi index 7c7c4da6ef..2e8b8f43f2 100644 --- a/doc/pspp.texi +++ b/doc/pspp.texi @@ -1,4 +1,13 @@ \input texinfo @c -*- texinfo -*- +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". + @c %**start of header @setfilename pspp.info @settitle PSPP diff --git a/doc/regression.texi b/doc/regression.texi index 9a159014d0..9f236b8ea0 100644 --- a/doc/regression.texi +++ b/doc/regression.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node REGRESSION @section REGRESSION diff --git a/doc/statistics.texi b/doc/statistics.texi index b5026e7b2c..c46189bd07 100644 --- a/doc/statistics.texi +++ b/doc/statistics.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Statistics @chapter Statistics @@ -798,7 +807,7 @@ FACTOR @{ [ /ROTATION=@{VARIMAX, EQUAMAX, QUARTIMAX, PROMAX[(@var{k})], NOROTATE@}] - [ /PRINT=[INITIAL] [EXTRACTION] [ROTATION] [UNIVARIATE] [CORRELATION] [COVARIANCE] [DET] [KMO] [SIG] [ALL] [DEFAULT] ] + [ /PRINT=[INITIAL] [EXTRACTION] [ROTATION] [UNIVARIATE] [CORRELATION] [COVARIANCE] [DET] [KMO] [AIC] [SIG] [ALL] [DEFAULT] ] [ /PLOT=[EIGEN] ] @@ -825,7 +834,7 @@ individual data cases. Typically the matrix file will have been generated by If specified, @subcmd{MATRIX IN} must be followed by @samp{COV} or @samp{CORR}, then by @samp{=} and @var{file_spec} all in parentheses. @var{file_spec} may either be an asterisk, which indicates the currently loaded -dataset, or it may be a filename to be loaded. @xref{MATRIX DATA} for the expected +dataset, or it may be a filename to be loaded. @xref{MATRIX DATA}, for the expected format of the file. The @subcmd{/EXTRACTION} subcommand is used to specify the way in which factors (components) are extracted from the data. @@ -862,6 +871,8 @@ The @subcmd{/PRINT} subcommand may be used to select which features of the analy The covariance matrix is printed. @item @subcmd{DET} The determinant of the correlation or covariance matrix is printed. +@item @subcmd{AIC} + The anti-image covariance and anti-image correlation matrices are printed. @item @subcmd{KMO} The Kaiser-Meyer-Olkin measure of sampling adequacy and the Bartlett test of sphericity is printed. @item @subcmd{SIG} diff --git a/doc/transformation.texi b/doc/transformation.texi index 1ca2d22b29..03d6979136 100644 --- a/doc/transformation.texi +++ b/doc/transformation.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Data Manipulation @chapter Data transformations @cindex transformations diff --git a/doc/tutorial.texi b/doc/tutorial.texi index 65fcbbfa1a..b76d8bf838 100644 --- a/doc/tutorial.texi +++ b/doc/tutorial.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @alias prompt = sansserif @include tut.texi diff --git a/doc/utilities.texi b/doc/utilities.texi index 2d22f2bba7..c2dba0e479 100644 --- a/doc/utilities.texi +++ b/doc/utilities.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Utilities @chapter Utilities diff --git a/doc/variables.texi b/doc/variables.texi index cc13e784de..7f6d89bee2 100644 --- a/doc/variables.texi +++ b/doc/variables.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Variable Attributes @chapter Manipulating variables diff --git a/examples/automake.mk b/examples/automake.mk index d2713adef4..15b984abc1 100644 --- a/examples/automake.mk +++ b/examples/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/glade/automake.mk b/glade/automake.mk index fd947f64d8..0d6363e3c1 100644 --- a/glade/automake.mk +++ b/glade/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- module_LTLIBRARIES = libglade-psppire.la diff --git a/glade/psppire.xml b/glade/psppire.xml index a02d5fbc2b..e03f277341 100644 --- a/glade/psppire.xml +++ b/glade/psppire.xml @@ -1,4 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/lib/automake.mk b/lib/automake.mk index 690304e73c..dbda6b48a8 100644 --- a/lib/automake.mk +++ b/lib/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- include $(top_srcdir)/lib/linreg/automake.mk diff --git a/lib/linreg/automake.mk b/lib/linreg/automake.mk index da4fe535d3..9e4b6b24ed 100644 --- a/lib/linreg/automake.mk +++ b/lib/linreg/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- noinst_LTLIBRARIES += lib/linreg/liblinreg.la diff --git a/lib/tukey/automake.mk b/lib/tukey/automake.mk index 85bcd629d1..b7852a2a1c 100644 --- a/lib/tukey/automake.mk +++ b/lib/tukey/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- noinst_LTLIBRARIES += lib/tukey/libtukey.la diff --git a/perl-module/PSPP.xs b/perl-module/PSPP.xs index 909ffe9e53..74ea561170 100644 --- a/perl-module/PSPP.xs +++ b/perl-module/PSPP.xs @@ -17,6 +17,7 @@ 02110-1301, USA. */ +#undef VERSION #include /* The Gnulib "strftime" module defines my_strftime in for use by diff --git a/perl-module/automake.mk b/perl-module/automake.mk index 92e9dcaf73..b995d036df 100644 --- a/perl-module/automake.mk +++ b/perl-module/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- # PSPP diff --git a/perl-module/ppport.h b/perl-module/ppport.h index 181fb2be58..1f009d9de9 100644 --- a/perl-module/ppport.h +++ b/perl-module/ppport.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #if 0 <<'SKIP'; #endif diff --git a/po/automake.mk b/po/automake.mk index 7c349f0af8..df215288b7 100644 --- a/po/automake.mk +++ b/po/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# include $(top_srcdir)/po/Makevars XGETTEXT=xgettext diff --git a/po/de.po b/po/de.po index 45c324ee4c..dc788e7ce4 100644 --- a/po/de.po +++ b/po/de.po @@ -6,10 +6,10 @@ # Bob Earl , 2014 - msgid "" msgstr "" -"Project-Id-Version: pspp 0.10.2\n" +"Project-Id-Version: pspp 0.10.5pre1\n" "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n" "POT-Creation-Date: 2015-06-19 20:56-0700\n" -"PO-Revision-Date: 2016-11-09 17:19+0100\n" +"PO-Revision-Date: 2017-06-14 09:54+0200\n" "Last-Translator: Bob Earl \n" "Language-Team: German \n" "Language: de_DE\n" @@ -21,7 +21,7 @@ msgstr "" "X-Poedit-SourceCharset: UTF-8\n" "X-Generator: Poedit 1.8.11\n" -#: src/ui/gui/helper.c:203 +#: src/ui/gui/helper.c:210 msgid "Sorry. The help system hasn't yet been implemented." msgstr "Entschuldigung. Das Hilfesystem wurde noch nicht implementiert." @@ -84,8 +84,8 @@ msgstr "String" msgid "Numeric" msgstr "Numerisch" -#: src/data/format.c:416 src/data/sys-file-reader.c:2196 -#: src/data/sys-file-reader.c:2198 src/language/xforms/recode.c:512 +#: src/data/format.c:416 src/data/sys-file-reader.c:2195 +#: src/data/sys-file-reader.c:2197 src/language/xforms/recode.c:512 #: src/language/xforms/recode.c:513 src/language/xforms/recode.c:525 #: src/language/xforms/recode.c:526 #: src/language/dictionary/apply-dictionary.c:77 @@ -93,8 +93,8 @@ msgstr "Numerisch" msgid "numeric" msgstr "numerisch" -#: src/data/format.c:416 src/data/sys-file-reader.c:2196 -#: src/data/sys-file-reader.c:2198 src/language/xforms/recode.c:512 +#: src/data/format.c:416 src/data/sys-file-reader.c:2195 +#: src/data/sys-file-reader.c:2197 src/language/xforms/recode.c:512 #: src/language/xforms/recode.c:513 src/language/xforms/recode.c:525 #: src/language/xforms/recode.c:526 #: src/language/dictionary/apply-dictionary.c:77 @@ -143,69 +143,73 @@ msgstr "Bearbeiten" msgid "Remove" msgstr "Löschen" -#: src/ui/gui/psppire-buttonbox.c:326 +#: src/ui/gui/psppire-buttonbox.c:322 msgid "OK" msgstr "OK" -#: src/ui/gui/psppire-buttonbox.c:334 +#: src/ui/gui/psppire-buttonbox.c:330 msgid "Go To" msgstr "Gehe zu" -#: src/ui/gui/psppire-buttonbox.c:342 +#: src/ui/gui/psppire-buttonbox.c:338 msgid "Continue" msgstr "Weiter" -#: src/ui/gui/psppire-buttonbox.c:354 +#: src/ui/gui/psppire-buttonbox.c:350 #: src/ui/gui/psppire-import-assistant.c:938 msgid "Paste" msgstr "Einfügen" -#: src/ui/gui/psppire-buttonbox.c:360 src/ui/gui/psppire-data-window.c:490 -#: src/ui/gui/psppire-data-window.c:618 +#: src/ui/gui/psppire-buttonbox.c:356 src/ui/gui/psppire-data-window.c:533 +#: src/ui/gui/psppire-data-window.c:661 #: src/ui/gui/psppire-dialog-action-aggregate.c:216 -#: src/ui/gui/psppire-output-window.c:356 -#: src/ui/gui/psppire-syntax-window.c:568 src/ui/gui/psppire-window.c:473 -#: src/ui/gui/psppire-window.c:652 +#: src/ui/gui/psppire-output-window.c:381 +#: src/ui/gui/psppire-syntax-window.c:559 src/ui/gui/psppire-window.c:472 +#: src/ui/gui/psppire-window.c:651 msgid "Cancel" msgstr "Abbrechen" -#: src/ui/gui/psppire-buttonbox.c:366 +#: src/ui/gui/psppire-buttonbox.c:362 msgid "Close" msgstr "Schließen" -#: src/ui/gui/psppire-buttonbox.c:373 +#: src/ui/gui/psppire-buttonbox.c:369 #: src/ui/gui/psppire-import-assistant.c:939 msgid "Reset" msgstr "Zurücksetzen" -#: src/ui/gui/psppire-buttonbox.c:380 +#: src/ui/gui/psppire-buttonbox.c:376 msgid "Help" msgstr "Hilfe" -#: src/ui/gui/psppire-dictview.c:545 src/language/dictionary/split-file.c:82 +#: src/ui/gui/psppire-dictview.c:603 src/language/dictionary/split-file.c:82 #: src/language/dictionary/sys-file-info.c:240 #: src/language/dictionary/sys-file-info.c:440 #: src/language/dictionary/sys-file-info.c:738 -#: src/language/stats/descriptives.c:1019 -#: src/language/data-io/data-parser.c:654 -#: src/language/data-io/data-parser.c:693 src/language/data-io/print.c:446 -#: src/ui/gui/psppire-var-sheet.c:1249 +#: src/language/stats/descriptives.c:1027 +#: src/language/data-io/data-parser.c:672 +#: src/language/data-io/data-parser.c:711 src/language/data-io/print.c:446 +#: src/ui/gui/psppire-var-sheet.c:1243 msgid "Variable" msgstr "Variable" -#: src/ui/gui/psppire-dictview.c:583 +#: src/ui/gui/psppire-dictview.c:640 msgid "Prefer variable labels" msgstr "Variablenlabel verwenden" -#: src/ui/gui/psppire-dictview.c:596 +#: src/ui/gui/psppire-dictview.c:654 +msgid "Default sort order" +msgstr "Voreingestellte Sortierung" + +#: src/ui/gui/psppire-dictview.c:660 msgid "Unsorted (dictionary order)" msgstr "Unsortiert (Codebuch)" -#: src/ui/gui/psppire-dictview.c:602 +#: src/ui/gui/psppire-dictview.c:665 msgid "Sort by name" msgstr "Sortieren nach Name" -#: src/ui/gui/psppire-dictview.c:607 +#: src/ui/gui/psppire-dictview.c:670 msgid "Sort by label" msgstr "Sortieren nach Label" @@ -315,115 +319,115 @@ msgstr "Fehler beim öffnen `%s' um dies als Systemdatei zu speichern: %s." msgid "An I/O error occurred writing CSV file `%s'." msgstr "Ein I/O Fehler ist beim Schreiben von CSV Datei `%s' aufgetreten." -#: src/data/data-in.c:171 +#: src/data/data-in.c:175 #, c-format msgid "Data is not valid as format %s: %s" msgstr "Daten sind nicht als Format %s gültig: %s" -#: src/data/data-in.c:373 src/data/data-in.c:549 +#: src/data/data-in.c:377 src/data/data-in.c:553 msgid "Field contents are not numeric." msgstr "Feldinhalte sind nicht numerisch." -#: src/data/data-in.c:375 src/data/data-in.c:551 +#: src/data/data-in.c:379 src/data/data-in.c:555 msgid "Number followed by garbage." msgstr "Zahl gefolgt von Müll." -#: src/data/data-in.c:388 +#: src/data/data-in.c:392 msgid "Invalid numeric syntax." msgstr "Ungültige numerische Syntax." -#: src/data/data-in.c:396 src/data/data-in.c:567 +#: src/data/data-in.c:400 src/data/data-in.c:571 msgid "Too-large number set to system-missing." msgstr "Zu große Zahl auf fehlend gesetzt." -#: src/data/data-in.c:402 src/data/data-in.c:573 +#: src/data/data-in.c:406 src/data/data-in.c:577 msgid "Too-small number set to zero." msgstr "Zu kleine Zahl auf Null gesetzt." -#: src/data/data-in.c:422 +#: src/data/data-in.c:426 msgid "All characters in field must be digits." msgstr "Alle Zeichen im Feld müssen Ziffern sein." -#: src/data/data-in.c:441 +#: src/data/data-in.c:445 msgid "Unrecognized character in field." msgstr "Unerkanntes Zeichen im Feld." -#: src/data/data-in.c:462 src/data/data-in.c:725 +#: src/data/data-in.c:466 src/data/data-in.c:729 msgid "Field must have even length." msgstr "Felder müssen gleiche Länge haben." -#: src/data/data-in.c:464 src/data/data-in.c:728 +#: src/data/data-in.c:468 src/data/data-in.c:732 msgid "Field must contain only hex digits." msgstr "Felder dürfen nur Hex-Zahlen enthalten." -#: src/data/data-in.c:540 +#: src/data/data-in.c:544 msgid "Invalid zoned decimal syntax." msgstr "Fehlerhaft aufgeteilte Syntax der Dezimalen." -#: src/data/data-in.c:640 src/data/data-in.c:646 +#: src/data/data-in.c:644 src/data/data-in.c:650 msgid "Invalid syntax for P field." msgstr "Ungültige Syntax für P Feld." -#: src/data/data-in.c:764 src/data/data-in.c:810 +#: src/data/data-in.c:768 src/data/data-in.c:814 msgid "Syntax error in date field." msgstr "Syntaxfehler in Datum-Feld." -#: src/data/data-in.c:779 +#: src/data/data-in.c:783 #, c-format msgid "Day (%ld) must be between 1 and 31." msgstr "Tag (%ld) muss zwischen 1 und 31 liegen." -#: src/data/data-in.c:824 +#: src/data/data-in.c:828 msgid "Delimiter expected between fields in date." msgstr "Trennzeichen zwischen Feldern in Datum-Feld erwartet." -#: src/data/data-in.c:898 +#: src/data/data-in.c:902 msgid "Unrecognized month format. Months may be specified as Arabic or Roman numerals or as at least 3 letters of their English names." msgstr "Unbekanntes Monatsformat. Monate müssen mit arabischen oder romanischen Zahlen oder mindestens den ersten 3 Buchstaben ihrer englischen Namen bezeichnet werden." -#: src/data/data-in.c:925 +#: src/data/data-in.c:929 #, c-format msgid "Year (%ld) must be between 1582 and 19999." msgstr "Jahr (%ld) muss zwischen 1582 und 19999 liegen." -#: src/data/data-in.c:936 +#: src/data/data-in.c:940 #, c-format msgid "Trailing garbage `%.*s' following date." msgstr "Nach dem Datum folgt Müll `%.*s'." -#: src/data/data-in.c:950 +#: src/data/data-in.c:954 msgid "Julian day must have exactly three digits." msgstr "Julianischer Tag muss exakt drei Ziffern haben." -#: src/data/data-in.c:952 +#: src/data/data-in.c:956 #, c-format msgid "Julian day (%ld) must be between 1 and 366." msgstr "Julianischer Tag (%ld) muss zwischen 1 und 366 liegen." -#: src/data/data-in.c:976 +#: src/data/data-in.c:980 #, c-format msgid "Quarter (%ld) must be between 1 and 4." msgstr "Quartal (%ld) muss zwischen 1 und 4 liegen." -#: src/data/data-in.c:997 +#: src/data/data-in.c:1001 #, c-format msgid "Week (%ld) must be between 1 and 53." msgstr "Woche (%ld) muss zwischen 1 und 53 liegen." -#: src/data/data-in.c:1009 +#: src/data/data-in.c:1013 msgid "Delimiter expected between fields in time." msgstr "Trennzeichen zwischen Feldern in Zeit erwartet." -#: src/data/data-in.c:1029 +#: src/data/data-in.c:1033 #, c-format msgid "Minute (%ld) must be between 0 and 59." msgstr "Minute (%ld) muss zwischen 0 und 59 liegen." -#: src/data/data-in.c:1067 +#: src/data/data-in.c:1071 msgid "Unrecognized weekday name. At least the first two letters of an English weekday name must be specified." msgstr "Wochentagsname nicht erkannt. Mindestens die ersten zwei Buchstaben einer englischen Wochentagsbezeichnung müssen angegeben sein." -#: src/data/data-in.c:1197 +#: src/data/data-in.c:1201 #, c-format msgid "`%c' expected in date field." msgstr "`%c' erwartet im Datum-Feld." @@ -490,33 +494,33 @@ msgstr "Kann %s nicht als %s neu öffnen." msgid "Not opening pipe file `%s' because %s option set." msgstr "Die Ausgabedatei (pipe) `%s' wurde nicht geöffnet, weil die Option %s gesetzt ist." -#: src/data/gnumeric-reader.c:36 src/data/ods-reader.c:41 +#: src/data/gnumeric-reader.c:37 src/data/ods-reader.c:41 #, c-format msgid "Support for %s files was not compiled into this installation of PSPP" msgstr "Unterstützung für %s Dateien ist nicht in dieser PSPP Installation enthalten." -#: src/data/gnumeric-reader.c:507 src/data/ods-reader.c:532 +#: src/data/gnumeric-reader.c:520 src/data/ods-reader.c:544 #, c-format msgid "Cannot convert the value in the spreadsheet cell %s to format (%s): %s" msgstr "Der Wert in der Tabellenzelle %s kann nicht ins Format konvertiert werden (%s): %s" -#: src/data/gnumeric-reader.c:530 src/data/ods-reader.c:587 +#: src/data/gnumeric-reader.c:543 src/data/ods-reader.c:599 #, c-format msgid "There was a problem whilst reading the %s file `%s' (near line %d): `%s'" msgstr "Beim Lesen der %s Datei `%s' (ungefähr bei Zeile %d): `%s'" -#: src/data/gnumeric-reader.c:625 +#: src/data/gnumeric-reader.c:638 #, c-format msgid "The gnumeric file `%s' is encoded as %s instead of the usual UTF-8 encoding. Any non-ascii characters will be incorrectly imported." msgstr "Die Gnumeric-Datei `%s' ist mit %s kodiert, statt mit der üblichen UTF-8 Kodierung. Alle Nicht-ASCII-Zeichen werden fehlerhaft improtiert." -#: src/data/gnumeric-reader.c:669 src/data/ods-reader.c:718 +#: src/data/gnumeric-reader.c:682 src/data/ods-reader.c:730 #, c-format msgid "Invalid cell range `%s'" msgstr "Ungültiger Zellbereich `%s'" -#: src/data/gnumeric-reader.c:841 src/data/ods-reader.c:746 -#: src/data/ods-reader.c:879 +#: src/data/gnumeric-reader.c:854 src/data/ods-reader.c:758 +#: src/data/ods-reader.c:891 #, c-format msgid "Selected sheet or range of spreadsheet `%s' is empty." msgstr "Ausgewähltes Blatt oder Bereich der Tabelle `%s' ist leer." @@ -590,7 +594,7 @@ msgstr "Entferne %s: %s." msgid "%s is not a valid name for a multiple response set. Multiple response set names must begin with `$'." msgstr "%s ist kein gültiger Name für ein Set von Mehrfachantworten. Die Namen von Mehrfachantwort-Sets müssen mit `$' beginnen." -#: src/data/ods-reader.c:639 +#: src/data/ods-reader.c:651 #, c-format msgid "Cannot open %s as a OpenDocument file: %s" msgstr "Kann %s nicht als OpenDocument Datei öffnen: %s" @@ -606,7 +610,7 @@ msgstr "SPSS/PC+ Systemdatei" msgid "Error opening `%s' for reading as an SPSS/PC+ system file: %s." msgstr "Beim Öffnen von `%s' als SPSS/PC+ System-Datei ist ein Fehler aufgetreten: %s." -#: src/data/pc+-file-reader.c:224 src/data/sys-file-reader.c:3490 +#: src/data/pc+-file-reader.c:224 src/data/sys-file-reader.c:3492 #, c-format msgid "%s: stat failed (%s)." msgstr "%s: Stat ist fehlgeschlagen (%s)." @@ -626,12 +630,12 @@ msgstr "Der Verzeichniseintrag ist für einen Eintrag der Länge %u Byte beim Of msgid "Directory fields have unexpected values (%u,%u)." msgstr "Die Verzeichnisfelder haben unerwartete Werte (%u,%u)." -#: src/data/pc+-file-reader.c:372 src/data/sys-file-reader.c:680 +#: src/data/pc+-file-reader.c:372 src/data/sys-file-reader.c:679 #, c-format msgid "Variable %zu" msgstr "Variable %zu" -#: src/data/pc+-file-reader.c:380 src/data/sys-file-reader.c:688 +#: src/data/pc+-file-reader.c:380 src/data/sys-file-reader.c:687 #, c-format msgid "Variable %zu Label" msgstr "Beschriftung der Variable %zu" @@ -641,19 +645,19 @@ msgstr "Beschriftung der Variable %zu" msgid "Variable %zu Value Label %zu" msgstr "Variable %zu Wertelabel %zu" -#: src/data/pc+-file-reader.c:388 src/data/sys-file-reader.c:698 +#: src/data/pc+-file-reader.c:388 src/data/sys-file-reader.c:697 msgid "Creation Date" msgstr "Erstellungsdatum" -#: src/data/pc+-file-reader.c:389 src/data/sys-file-reader.c:699 +#: src/data/pc+-file-reader.c:389 src/data/sys-file-reader.c:698 msgid "Creation Time" msgstr "Erstellungszeit" -#: src/data/pc+-file-reader.c:390 src/data/sys-file-reader.c:700 +#: src/data/pc+-file-reader.c:390 src/data/sys-file-reader.c:699 msgid "Product" msgstr "Produkt" -#: src/data/pc+-file-reader.c:391 src/data/sys-file-reader.c:701 +#: src/data/pc+-file-reader.c:391 src/data/sys-file-reader.c:700 msgid "File Label" msgstr "Dateibezeichnung" @@ -662,7 +666,7 @@ msgstr "Dateibezeichnung" msgid "Using default encoding %s to read this SPSS/PC+ system file. For best results, specify an encoding explicitly. Use SYSFILE INFO with ENCODING=\"DETECT\" to analyze the possible encodings." msgstr "Beim Einlesen der SPSS/PC+ Systemdatei wird die voreingestellte Zeichensatzkodierung %s verwendet. Um Ihre Ergebnisse noch weiter zu verbessern, sollten Sie einen Zeichensatz explizit festlegen. Verwenden Sie den Befehl SYSFILE INFO mit dem Argument ENCODING=\"DETECT\", um die zur Verfügung stehenden Zeichensätze in Erfahren zu bringen." -#: src/data/pc+-file-reader.c:483 src/data/sys-file-reader.c:914 +#: src/data/pc+-file-reader.c:483 src/data/sys-file-reader.c:913 #, c-format msgid "Error closing system file `%s': %s." msgstr "Fehler beim schließen der Systemdatei `%s': %s." @@ -746,12 +750,12 @@ msgstr "Die Variable %u hat den ungültigen Typ %." msgid "Invalid weight index %u." msgstr "Ungültiger Gewichtungsindex %u." -#: src/data/pc+-file-reader.c:857 src/data/sys-file-reader.c:1438 +#: src/data/pc+-file-reader.c:857 src/data/sys-file-reader.c:1437 #, c-format msgid "Invalid variable name `%s'." msgstr "Ungültiger Variablenname `%s'." -#: src/data/pc+-file-reader.c:865 src/data/sys-file-reader.c:1453 +#: src/data/pc+-file-reader.c:865 src/data/sys-file-reader.c:1452 #, c-format msgid "Renaming variable with duplicate name `%s' to `%s'." msgstr "Variable mit doppeltem Namen wird von `%s' zu `%s' umbenannt." @@ -761,7 +765,7 @@ msgstr "Variable mit doppeltem Namen wird von `%s' zu `%s' umbenannt." msgid "Cannot weight by string variable `%s'." msgstr "Gewichtung mit der Stringvariablen `%s' ist nicht möglich." -#: src/data/pc+-file-reader.c:975 src/data/sys-file-reader.c:2713 +#: src/data/pc+-file-reader.c:975 src/data/sys-file-reader.c:2712 msgid "File ends in partial case." msgstr "Datei endet in einem Fall." @@ -770,36 +774,36 @@ msgstr "Datei endet in einem Fall." msgid "Case beginning at offset 0x%08x extends past end of data record at offset 0x%08x." msgstr "Der Fall, der am Offset 0x%08x beginnt, überschreitet das Ende des Dateneintrags am Offset 0x%08x." -#: src/data/pc+-file-reader.c:1000 src/data/sys-file-reader.c:2721 +#: src/data/pc+-file-reader.c:1000 src/data/sys-file-reader.c:2720 #, c-format msgid "Error reading case from file %s." msgstr "Fehler beim lesen eines Falls aus Datei %s." -#: src/data/pc+-file-reader.c:1116 src/data/sys-file-reader.c:2884 +#: src/data/pc+-file-reader.c:1116 src/data/sys-file-reader.c:2883 #, c-format msgid "Possible compressed data corruption: string contains compressed integer (opcode %d)." msgstr "Komprimierte Daten sind möglicherweise nicht lesbar: Zeichenfolge enthält eine Integerzahl (opcode %d)." -#: src/data/pc+-file-reader.c:1160 src/data/sys-file-reader.c:3179 +#: src/data/pc+-file-reader.c:1160 src/data/sys-file-reader.c:3181 #, c-format msgid "`%s' near offset 0x%llx: " msgstr "`%s' nahe Offset 0x%llx: " -#: src/data/pc+-file-reader.c:1163 src/data/sys-file-reader.c:3182 +#: src/data/pc+-file-reader.c:1163 src/data/sys-file-reader.c:3184 #, c-format msgid "`%s': " msgstr "`%s': " -#: src/data/pc+-file-reader.c:1219 src/data/sys-file-reader.c:3237 +#: src/data/pc+-file-reader.c:1219 src/data/sys-file-reader.c:3239 #, c-format msgid "System error: %s." msgstr "System Fehler: %s." -#: src/data/pc+-file-reader.c:1224 src/data/sys-file-reader.c:3242 +#: src/data/pc+-file-reader.c:1224 src/data/sys-file-reader.c:3244 msgid "Unexpected end of file." msgstr "Unerwartetes Dateiende." -#: src/data/pc+-file-reader.c:1309 src/data/sys-file-reader.c:3467 +#: src/data/pc+-file-reader.c:1309 src/data/sys-file-reader.c:3469 #, c-format msgid "%s: seek failed (%s)." msgstr "%s: Suche ist fehlgeschlagen (%s)." @@ -922,7 +926,7 @@ msgstr "Ungültige Variablenbreite %d." msgid "Invalid variable name `%s' in position %d." msgstr "Ungültiger Variablenname `%s' an Position %d. " -#: src/data/por-file-reader.c:734 src/data/sys-file-reader.c:1445 +#: src/data/por-file-reader.c:734 src/data/sys-file-reader.c:1444 #, c-format msgid "Bad width %d for variable %s." msgstr "Falsche Breite %d für Variable %s." @@ -988,13 +992,13 @@ msgstr "Postgres Server hat die Version %s. Das Lesen von Versionen kleiner als msgid "Connection is unencrypted, but unencrypted connections have not been permitted." msgstr "Die Verbindung ist unverschlüselt, aber es liegt keine Berechtigung für eine unverschlüsselte Verbindungen vor." -#: src/data/psql-reader.c:319 src/data/psql-reader.c:344 -#: src/data/psql-reader.c:354 +#: src/data/psql-reader.c:324 src/data/psql-reader.c:349 +#: src/data/psql-reader.c:359 #, c-format msgid "Error from psql source: %s." msgstr "Fehler aus psql Quelle: %s." -#: src/data/psql-reader.c:449 +#: src/data/psql-reader.c:454 #, c-format msgid "Unsupported OID %d. SYSMIS values will be inserted." msgstr "Nicht unterstützter Object Identifier (OID) %d. Stattdessen wird SYSMIS eingefügt." @@ -1015,477 +1019,477 @@ msgstr "%s: Benutzerdefinierte Währungsdefinition `%s' enthält nicht genau dre #. TRANSLATORS: this fragment will be interpolated into #. messages in fh_lock() that identify types of files. -#: src/data/sys-file-reader.c:411 src/data/sys-file-writer.c:245 +#: src/data/sys-file-reader.c:410 src/data/sys-file-writer.c:245 msgid "system file" msgstr "Systemdatei" -#: src/data/sys-file-reader.c:418 +#: src/data/sys-file-reader.c:417 #, c-format msgid "Error opening `%s' for reading as a system file: %s." msgstr "Beim Öffnen von `%s' als System-Datei ist ein Fehler aufgetreten: %s." -#: src/data/sys-file-reader.c:495 +#: src/data/sys-file-reader.c:494 msgid "Misplaced type 4 record." msgstr "Falsch gesetzter Typ 4 Eintrag." -#: src/data/sys-file-reader.c:501 +#: src/data/sys-file-reader.c:500 msgid "Duplicate type 6 (document) record." msgstr "Doppelter Typ 6 (Dokument) Eintrag." -#: src/data/sys-file-reader.c:514 src/data/sys-file-reader.c:1363 +#: src/data/sys-file-reader.c:513 src/data/sys-file-reader.c:1362 #, c-format msgid "Unrecognized record type 7, subtype %d. For help, please send this file to %s and mention that you were using %s." msgstr "Eintrag vom Typ 7, Untertyp %d wurde nicht erkannt. Bitte schicken Sie eine Kopie dieser Datei an %s und geben Sie an, dass Sie %s verwendet haben." -#: src/data/sys-file-reader.c:534 +#: src/data/sys-file-reader.c:533 #, c-format msgid "Record type 7, subtype %d found here has the same type as the record found near offset 0x%llx. For help, please send this file to %s and mention that you were using %s." msgstr "Der hier gefundene Eintrag vom Typ 7, Untertyp %d ist vom selben Type wie der Eintrag der in der Nähe des Offsets 0x%llx. Bitte senden Sie eine Kopie dieser Datei an %s und geben Sie an, dass Sie %s verwendet haben." -#: src/data/sys-file-reader.c:546 +#: src/data/sys-file-reader.c:545 #, c-format msgid "Unrecognized record type %d." msgstr "Typ des Eintrags %d nicht erkannt." -#: src/data/sys-file-reader.c:696 +#: src/data/sys-file-reader.c:695 #, c-format msgid "Value Label %zu" msgstr "Wertelabel %zu" -#: src/data/sys-file-reader.c:705 +#: src/data/sys-file-reader.c:704 msgid "Extra Product Info" msgstr "Zusätzliche Produktinformation" -#: src/data/sys-file-reader.c:718 +#: src/data/sys-file-reader.c:717 #, c-format msgid "Document Line %zu" msgstr "Zeile imDokument %zu" -#: src/data/sys-file-reader.c:726 +#: src/data/sys-file-reader.c:725 #, c-format msgid "MRSET %zu" msgstr "MRSET %zu" -#: src/data/sys-file-reader.c:728 +#: src/data/sys-file-reader.c:727 #, c-format msgid "MRSET %zu Label" msgstr "MRSET %zu Label" -#: src/data/sys-file-reader.c:733 +#: src/data/sys-file-reader.c:732 #, c-format msgid "MRSET %zu Counted Value" msgstr "MRSET %zu Anzahl" -#: src/data/sys-file-reader.c:772 +#: src/data/sys-file-reader.c:771 #, c-format msgid "This system file does not indicate its own character encoding. Using default encoding %s. For best results, specify an encoding explicitly. Use SYSFILE INFO with ENCODING=\"DETECT\" to analyze the possible encodings." msgstr "Diese Systemdatei enthält keine Angaben zur Kodierung des Zeichensatzes. Es wird der voreingestellte Zeichensatz %s verwendet. Um Ihre Ergebnisse noch weiter zu verbessern, sollten Sie einen Zeichensatz explizit festlegen. Verwenden Sie den Befehl SYSFILE INFO mit dem Argument ENCODING=\"DETECT\", um die zur Verfügung stehenden Zeichensätze in Erfahren zu bringen." -#: src/data/sys-file-reader.c:826 +#: src/data/sys-file-reader.c:825 #, c-format msgid "Ignoring string variable `%s' set as weighting variable." msgstr "Die Stringvariable `%s' wird nicht als Gewichtungsvariable übernommen." -#: src/data/sys-file-reader.c:869 +#: src/data/sys-file-reader.c:868 #, c-format msgid "File header claims %d variable positions but %zu were read from file." msgstr "Der Dateikopf legt %d Variablenpositionen fest, aber es wurden %zu Positionen ausgelesen." -#: src/data/sys-file-reader.c:980 src/data/sys-file-reader.c:994 +#: src/data/sys-file-reader.c:979 src/data/sys-file-reader.c:993 msgid "This is not an SPSS system file." msgstr "Dies ist keine SPSS System Datei." -#: src/data/sys-file-reader.c:1049 +#: src/data/sys-file-reader.c:1048 msgid "Compression bias is not the usual value of 100, or system file uses unrecognized floating-point format." msgstr "Der compression bias hat nicht den üblichen Wert von 100 oder die Systemdatei verwendet ein nicht erkanntes Format für Fließkommazahlen." -#: src/data/sys-file-reader.c:1124 +#: src/data/sys-file-reader.c:1123 msgid "Variable label indicator field is not 0 or 1." msgstr "Variablenindikator-Feld ist weder 0 noch 1." -#: src/data/sys-file-reader.c:1137 +#: src/data/sys-file-reader.c:1136 msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3." msgstr "Numerisches Feld für die Anzeige fehlender Werte ist nicht -3, -2, 0, 1, 2, oder 3." -#: src/data/sys-file-reader.c:1147 +#: src/data/sys-file-reader.c:1146 msgid "String missing value indicator field is not 0, 1, 2, or 3." msgstr "Wert für fehlende Daten ist nicht 0, 1, 2, oder 3." -#: src/data/sys-file-reader.c:1174 +#: src/data/sys-file-reader.c:1173 #, c-format msgid "Invalid number of labels %u." msgstr "Ungültige Anzahl von Beschriftungen %u." -#: src/data/sys-file-reader.c:1207 +#: src/data/sys-file-reader.c:1206 msgid "Variable index record (type 4) does not immediately follow value label record (type 3) as it should." msgstr "Der Eintrag des Variablenindex (Typ 4) folgt nicht direkt auf den Eintrag des Wertelabels (Typ 3) wie erforderlich." -#: src/data/sys-file-reader.c:1219 +#: src/data/sys-file-reader.c:1218 #, c-format msgid "Number of variables associated with a value label (%u) is not between 1 and the number of variables (%zu)." msgstr "Die Anzahl der Variablen, die mit einem Variablenlabel assoziiert wurden (%u) liegt nicht zwischen 1 und der Anzahl der Variablen (%zu)." -#: src/data/sys-file-reader.c:1248 +#: src/data/sys-file-reader.c:1247 #, c-format msgid "Number of document lines (%d) must be greater than 0 and less than %d." msgstr "Anzahl der Zeilen im Dokument (%d) muss größer als 0 und kleiner als %d sein." -#: src/data/sys-file-reader.c:1337 +#: src/data/sys-file-reader.c:1336 #, c-format msgid "Record type 7, subtype %d has bad size %u (expected %d)." msgstr "Eintrag vom Typ 7, Untertyp %d hat die falsche Größe %u (erwarteter Wert %d)." -#: src/data/sys-file-reader.c:1341 +#: src/data/sys-file-reader.c:1340 #, c-format msgid "Record type 7, subtype %d has bad count %u (expected %d)." msgstr "Eintrag vom Typ 7, Untertyp %d hat die falsche Anzahl %u (erwarteter Wert %d)." -#: src/data/sys-file-reader.c:1525 +#: src/data/sys-file-reader.c:1524 msgid "Missing string continuation record." msgstr "Fehlender Eintrag zur Fortführung der Zeichenfolge." -#: src/data/sys-file-reader.c:1571 +#: src/data/sys-file-reader.c:1570 #, c-format msgid "Variable %s with width %d has invalid print format 0x%x." msgstr "Variable %s mit Breite %d hat ein ungültiges Ausgabeformat 0x%x." -#: src/data/sys-file-reader.c:1575 +#: src/data/sys-file-reader.c:1574 #, c-format msgid "Variable %s with width %d has invalid write format 0x%x." msgstr "Variable %s mit Breite %d hat ein ungültiges Schreibformat 0x%x." -#: src/data/sys-file-reader.c:1580 +#: src/data/sys-file-reader.c:1579 msgid "Suppressing further invalid format warnings." msgstr "Weitere Warnungen zu ungültigen Formaten werden unterdrückt." -#: src/data/sys-file-reader.c:1634 +#: src/data/sys-file-reader.c:1633 #, c-format msgid "Floating-point representation indicated by system file (%d) differs from expected (%d)." msgstr "Die in der Systemdatei (%d) angegebene Fließkommadarstellung weicht vom erwarteten Format (%d) ab." -#: src/data/sys-file-reader.c:1650 +#: src/data/sys-file-reader.c:1649 #, c-format msgid "Integer format indicated by system file (%d) differs from expected (%d)." msgstr "Das in der Systemdatei (%d) angegebene Integerformat weicht vom erwarteten Format (%d) ab." -#: src/data/sys-file-reader.c:1668 src/data/sys-file-reader.c:1674 +#: src/data/sys-file-reader.c:1667 src/data/sys-file-reader.c:1673 #, c-format msgid "File specifies unexpected value %g (%a) as %s, instead of %g (%a)." msgstr "Die Datei legt unerwarteter Weise den Wert %g (%a) als %s fest anstatt %g (%a)." -#: src/data/sys-file-reader.c:1683 +#: src/data/sys-file-reader.c:1682 #, c-format msgid "File specifies unexpected value %g (%a) as %s, instead of %g (%a) or %g (%a)." msgstr "Die Datei legt unerwarteter Weise den Wert %g (%a) als %s fest anstatt %g (%a) oder %g (%a)." -#: src/data/sys-file-reader.c:1735 src/data/sys-file-reader.c:1754 +#: src/data/sys-file-reader.c:1734 src/data/sys-file-reader.c:1753 #, c-format msgid "Missing space following `%c' at offset %zu in MRSETS record." msgstr "Fehlendes Leezeichen nach `%c' beim Offset %zu in MRSETS Eintrag." -#: src/data/sys-file-reader.c:1764 +#: src/data/sys-file-reader.c:1763 #, c-format msgid "Unexpected label source value following `E' at offset %zu in MRSETS record." msgstr "Unerwarteter Wert für LABELSOURCE nach `E' beim Offset %zu in MRSETS Eintrag." -#: src/data/sys-file-reader.c:1771 +#: src/data/sys-file-reader.c:1770 #, c-format msgid "Missing `C', `D', or `E' at offset %zu in MRSETS record." msgstr "Fehlendes `C', `D', or `E' beim Offset %zu in MRSETS Eintrag." -#: src/data/sys-file-reader.c:1798 +#: src/data/sys-file-reader.c:1797 #, c-format msgid "Missing new-line parsing variable names at offset %zu in MRSETS record." msgstr "Fehlender Zeilenumbruch beim Einlesen der Variablennamen beim Offset %zu in MRSETS Eintrag." -#: src/data/sys-file-reader.c:1833 +#: src/data/sys-file-reader.c:1832 #, c-format msgid "Multiple response set name `%s' does not begin with `$'." msgstr "Name des Mehrfachantwort-Sets `%s' beginnt nicht mit `$'." -#: src/data/sys-file-reader.c:1867 +#: src/data/sys-file-reader.c:1866 #, c-format msgid "MRSET %s contains duplicate variable name %s." msgstr "MRSET %s enthält doppelten Variablennamen %s." -#: src/data/sys-file-reader.c:1882 +#: src/data/sys-file-reader.c:1881 #, c-format msgid "MRSET %s contains both string and numeric variables." msgstr "MRSET %s enthält sowohl Stringvariablen als auch numerische Variablen." -#: src/data/sys-file-reader.c:1894 +#: src/data/sys-file-reader.c:1893 #, c-format msgid "MRSET %s has no variables." msgstr "MRSET %s hat keine Variablen." -#: src/data/sys-file-reader.c:1896 +#: src/data/sys-file-reader.c:1895 #, c-format msgid "MRSET %s has only one variable." msgstr "MRSET %s hat nur eine Variable." -#: src/data/sys-file-reader.c:1940 +#: src/data/sys-file-reader.c:1939 #, c-format msgid "Extension 11 has bad count %u (for %zu variables)." msgstr "Erweiterung 11 hat die falsche Anzahl %u (für %zu Variablen)." -#: src/data/sys-file-reader.c:1973 +#: src/data/sys-file-reader.c:1972 #, c-format msgid "Invalid variable display parameters for variable %zu (%s). Default parameters substituted." msgstr "Ungültige Parameter der Variablenanzeige für Variable %zu (%s). Voreingestellte Parameter werden eingesetzt." -#: src/data/sys-file-reader.c:2068 +#: src/data/sys-file-reader.c:2067 #, c-format msgid "Long variable mapping from %s to invalid variable name `%s'." msgstr "Zuordnung eines langen Variablennamens von %s zum ungültigen Namen `%s'." -#: src/data/sys-file-reader.c:2079 +#: src/data/sys-file-reader.c:2078 #, c-format msgid "Duplicate long variable name `%s'." msgstr "Doppelter langer Variablenname `%s'." -#: src/data/sys-file-reader.c:2112 +#: src/data/sys-file-reader.c:2111 #, c-format msgid "%s listed as string of invalid length %s in very long string record." msgstr "%s wird als String mit ungültiger Länge %s in einem sehr langen Stringeintrag verzeichnet." -#: src/data/sys-file-reader.c:2123 +#: src/data/sys-file-reader.c:2122 #, c-format msgid "%s listed in very long string record with width %s, which requires only one segment." msgstr "%s ist in einem sehr langen Stringeintrag mit Breite %s verzeichnet, welcher nur ein Segment benötigt." -#: src/data/sys-file-reader.c:2131 +#: src/data/sys-file-reader.c:2130 #, c-format msgid "Very long string %s overflows dictionary." msgstr "Sehr lange Zeichenfolge %s übersteigt das Codebuch." -#: src/data/sys-file-reader.c:2149 +#: src/data/sys-file-reader.c:2148 #, c-format msgid "Very long string with width %ld has segment %d of width %d (expected %d)." msgstr "Sehr lange Zeichenfolge mit Breite %ld hat das Segment %d der Breite %d (erwartet wurde %d)." -#: src/data/sys-file-reader.c:2192 +#: src/data/sys-file-reader.c:2191 #, c-format msgid "Variables associated with value label are not all of identical type. Variable %s is %s, but variable %s is %s." msgstr "Die mit dem Wertelabel verbundenen Variablen haben nicht alle den gleichen Typ. Die Variable %s ist %s, aber die Variable %s ist %s." -#: src/data/sys-file-reader.c:2212 +#: src/data/sys-file-reader.c:2211 #, c-format msgid "Value labels may not be added to long string variables (e.g. %s) using records types 3 and 4." msgstr "Wertelabels dürfen nicht zu langen Stringvariablen hinzugefügt werden (z.B. %s), wenn Einträge des Typs 3 und 4 verwendet werden." -#: src/data/sys-file-reader.c:2233 +#: src/data/sys-file-reader.c:2232 #, c-format msgid "Duplicate value label for %g on %s." msgstr "Doppelte Wertebeschriftung für %g in %s." -#: src/data/sys-file-reader.c:2237 src/data/sys-file-reader.c:2550 +#: src/data/sys-file-reader.c:2236 src/data/sys-file-reader.c:2549 #, c-format msgid "Duplicate value label for `%.*s' on %s." msgstr "Doppelte Wertebeschriftung für `%.*s' in %s." -#: src/data/sys-file-reader.c:2264 +#: src/data/sys-file-reader.c:2263 #, c-format msgid "Variable index %d not in valid range 1...%zu." msgstr "Variablenindex %d liegt nicht im gültigen Bereich 1...%zu." -#: src/data/sys-file-reader.c:2273 +#: src/data/sys-file-reader.c:2272 #, c-format msgid "Variable index %d refers to long string continuation." msgstr "Der Variablenindex %d verweist auf die Forsetzung einer langen Zeichenfolge." -#: src/data/sys-file-reader.c:2309 +#: src/data/sys-file-reader.c:2308 #, c-format msgid "Error parsing attribute value %s[%d]." msgstr "Fehler beim bearbeiten des Attribut-Wertes %s[%d]." -#: src/data/sys-file-reader.c:2323 +#: src/data/sys-file-reader.c:2322 #, c-format msgid "Attribute value %s[%d] is not quoted: %s." msgstr "Der Wert des Attributs %s[%d] wurde nicht in Anführungszeichen gesetzt: %s." -#: src/data/sys-file-reader.c:2413 +#: src/data/sys-file-reader.c:2412 #, c-format msgid "Invalid role for variable %s." msgstr "Ungültige Rolle für Variable `%s'." -#: src/data/sys-file-reader.c:2422 +#: src/data/sys-file-reader.c:2421 #, c-format msgid "%zu other variables had invalid roles." msgstr "%zu weitere Variablen hatten ungültige Rollen." -#: src/data/sys-file-reader.c:2435 +#: src/data/sys-file-reader.c:2434 #, c-format msgid "Extension record subtype %d ends unexpectedly." msgstr "Erweiterungseintrag des Untertyps %d endet unerwartet." -#: src/data/sys-file-reader.c:2480 +#: src/data/sys-file-reader.c:2479 #, c-format msgid "Ignoring long string value label record for unknown variable %s." msgstr "Langer String im Eintrag der Wertebezeichnung für die Variable %s wird ignoriert." -#: src/data/sys-file-reader.c:2485 +#: src/data/sys-file-reader.c:2484 #, c-format msgid "Ignoring long string value label record for numeric variable %s." msgstr "Langer String im Eintrag der Wertebezeichnung für die numerische Variable %s wird ignoriert." -#: src/data/sys-file-reader.c:2492 +#: src/data/sys-file-reader.c:2491 #, c-format msgid "Ignoring long string value label record for variable %s because the record's width (%d) does not match the variable's width (%d)." msgstr "Langer String im Eintrag der Wertebezeichnung für Variable %s wird ignoriert, weil die Breite des Eintrags (%d) nicht mit der Breite der Variable (%d) übereinstimmt." -#: src/data/sys-file-reader.c:2523 +#: src/data/sys-file-reader.c:2522 #, c-format msgid "Ignoring long string value label %zu for variable %s, with width %d, that has bad value width %zu." msgstr "Langer String der Wertebezeichnung %zu für die Variable %s mit Breite %d hat die fehlerhafte Breite %zu und wird ignoriert." -#: src/data/sys-file-reader.c:2596 +#: src/data/sys-file-reader.c:2595 #, c-format msgid "Long string missing values record says variable %s has %d missing values, but only 1 to 3 missing values are allowed." msgstr "Langer String im Eintrag der fehlenden Werte besagt, dass die Variable %s %d fehlende Werte hat, es sind aber nur zwischen 1 und 3 fehlende Werte erlaubt." -#: src/data/sys-file-reader.c:2606 +#: src/data/sys-file-reader.c:2605 #, c-format msgid "Ignoring long string missing value record for unknown variable %s." msgstr "Langer String im Eintrag der fehlenden Werte für die unbekannte Variable %s wird ignoriert." -#: src/data/sys-file-reader.c:2611 +#: src/data/sys-file-reader.c:2610 #, c-format msgid "Ignoring long string missing value record for numeric variable %s." msgstr "Langer String im Eintrag der fehlenden Werte für die numerische Variable %s wird ignoriert." -#: src/data/sys-file-reader.c:2636 +#: src/data/sys-file-reader.c:2635 #, c-format msgid "Ignoring long string missing value %zu for variable %s, with width %d, that has bad value width %zu." msgstr "Langer String des fehlenden Wertes %zu für die Variable %s mit Breite %d hat die fehlerhafte Breite %zu und wird ignoriert." -#: src/data/sys-file-reader.c:2691 +#: src/data/sys-file-reader.c:2690 msgid "File ends in partial string value." msgstr "Datei endet innerhalb eines unvollständigen Falls." -#: src/data/sys-file-reader.c:2830 +#: src/data/sys-file-reader.c:2829 msgid "Possible compressed data corruption: compressed spaces appear in numeric field." msgstr "Komprimierte Daten sind möglicherweise nicht lesbar: kompriemierte Leerzeichen erscheinen in einem numerischen Feld." -#: src/data/sys-file-reader.c:2981 +#: src/data/sys-file-reader.c:2980 #, c-format msgid "Suppressed %d additional related warnings." msgstr "Weitere %d Warnungen, die damit in Verbindung stehen, werden unterdrückt." -#: src/data/sys-file-reader.c:3027 src/data/sys-file-reader.c:3044 +#: src/data/sys-file-reader.c:3026 src/data/sys-file-reader.c:3043 #, c-format msgid "Dictionary record refers to unknown variable %s." msgstr "Eintrag im Codebuch bezieht sich auf die unbekannte Variable %s." -#: src/data/sys-file-reader.c:3106 +#: src/data/sys-file-reader.c:3105 #, c-format msgid "Expecting digit at offset %zu in MRSETS record." msgstr "Beim Offset %zu im MRSETS Eintrag wurde eine Ziffer erwartet." -#: src/data/sys-file-reader.c:3114 +#: src/data/sys-file-reader.c:3113 #, c-format msgid "Expecting space at offset %zu in MRSETS record." msgstr "Beim Offset %zu im MRSETS Eintrag wurde ein Leerzeichen erwartet." -#: src/data/sys-file-reader.c:3122 +#: src/data/sys-file-reader.c:3121 #, c-format msgid "%zu-byte string starting at offset %zu exceeds record length %zu." msgstr "Die %zu-byte lange Zeichenfolge, die beim Offset %zu beginnt, überschreitet die Länge %zu." -#: src/data/sys-file-reader.c:3132 +#: src/data/sys-file-reader.c:3131 #, c-format msgid "Expecting space at offset %zu following %zu-byte string." msgstr "Beim Offset %zu nach der %zu-byte langen Zeichenfolge wurde ein Leerzeichen erwartet." -#: src/data/sys-file-reader.c:3425 +#: src/data/sys-file-reader.c:3427 #, c-format msgid "Wrong ZLIB data header offset %#llx (expected %#llx)." msgstr "Fehlerhafter Offset %#llx (erwartet wurde %#llx) im Kopf der ZLIB-Daten." -#: src/data/sys-file-reader.c:3433 +#: src/data/sys-file-reader.c:3435 #, c-format msgid "Impossible ZLIB trailer offset 0x%llx." msgstr "Offset 0x%llx im Nachspann der ZLIB-Daten ist nicht möglich." -#: src/data/sys-file-reader.c:3440 +#: src/data/sys-file-reader.c:3442 #, c-format msgid "Invalid ZLIB trailer length %lld." msgstr "Länge %lld des Nachspanns der ZLIB-Daten ist ungültig." -#: src/data/sys-file-reader.c:3504 +#: src/data/sys-file-reader.c:3506 #, c-format msgid "End of ZLIB trailer (0x%llx) is not file size (0x%llx)." msgstr "Das Ende des Nachspanns der ZLIB-Daten (0x%llx) stimmt nicht mit der Dateigröße (0x%llx) überein." -#: src/data/sys-file-reader.c:3514 +#: src/data/sys-file-reader.c:3516 #, c-format msgid "ZLIB trailer bias (%lld) differs from file header bias (%.2f)." msgstr "Der Bias im Nachspann der ZLIB-Daten (%lld) unterscheidet sich vom Bias im Kopf der Datei (%.2f)." -#: src/data/sys-file-reader.c:3524 +#: src/data/sys-file-reader.c:3526 #, c-format msgid "ZLIB trailer \"zero\" field has nonzero value %lld." msgstr "Das Feld \"zero\" im Nachspann der ZLIB-Daten hat den von Null verschiedenen Wert %lld." -#: src/data/sys-file-reader.c:3530 +#: src/data/sys-file-reader.c:3532 #, c-format msgid "ZLIB trailer specifies unexpected %u-byte block size." msgstr "Der Nachspann der ZLIB-Daten legt die unerwartete Blockgröße von %u Bytes fest." -#: src/data/sys-file-reader.c:3538 +#: src/data/sys-file-reader.c:3540 #, c-format msgid "%lld-byte ZLIB trailer specifies %u data blocks (expected %lld)." msgstr "Der Nachspann der ZLIB-Daten der Größe %lld Bytes legt %u Datenblocks fest (erwartet wurde %lld)." -#: src/data/sys-file-reader.c:3563 +#: src/data/sys-file-reader.c:3565 #, c-format msgid "ZLIB block descriptor %u reported uncompressed data offset %#llx, when %#llx was expected." msgstr "Die Blockbeschreibung %u der ZLIB-Daten berichtet ein Offset der unkomprimierten Daten von %#llx, wobei %#llx erwartet wurde." -#: src/data/sys-file-reader.c:3572 +#: src/data/sys-file-reader.c:3574 #, c-format msgid "ZLIB block descriptor %u reported compressed data offset %#llx, when %#llx was expected." msgstr "Die Blockbeschreibung %u der ZLIB-Daten berichtet ein Offset der komprimierten Daten von %#llx, wobei %#llx erwartet wurde." -#: src/data/sys-file-reader.c:3582 +#: src/data/sys-file-reader.c:3584 #, c-format msgid "ZLIB block descriptor %u reported block size %#x, when %#x was expected." msgstr "Die Blockbeschreibung %u der ZLIB-Daten berichtet eine Blockgröße von %#x, wobei %#x erwartet wurde." -#: src/data/sys-file-reader.c:3590 +#: src/data/sys-file-reader.c:3592 #, c-format msgid "ZLIB block descriptor %u reported block size %#x, when at most %#x was expected." msgstr "Die Blockbeschreibung %u der ZLIB-Daten berichtet eine Blockgröße von %#x, wobei höchstens %#x erwartet wurde." -#: src/data/sys-file-reader.c:3602 +#: src/data/sys-file-reader.c:3604 #, c-format msgid "ZLIB block descriptor %u reports compressed size %u and uncompressed size %u." msgstr "Die Blockbeschreibung %u der ZLIB-Daten berichtet eine komprimierte Größe von %u und eine unkomprimierte Größe von %u." -#: src/data/sys-file-reader.c:3614 +#: src/data/sys-file-reader.c:3616 #, c-format msgid "ZLIB trailer is at offset %#llx but %#llx would be expected from block descriptors." msgstr "Der Nachspann der ZLIB-Daten liegt beim Offset %#llx, aber auf Grund der Blockbeschreibungen wurde %#llx erwartet." -#: src/data/sys-file-reader.c:3633 +#: src/data/sys-file-reader.c:3635 #, c-format msgid "ZLIB initialization failed (%s)." msgstr "Initialisierung von ZLIB ist fehlgeschlagen (%s)." -#: src/data/sys-file-reader.c:3648 +#: src/data/sys-file-reader.c:3650 #, c-format msgid "Inconsistency at end of ZLIB stream (%s)." msgstr "Am Ende des ZLIB-Datenstroms ist eine Inkonsistenz aufgetreten (%s)." -#: src/data/sys-file-reader.c:3707 +#: src/data/sys-file-reader.c:3709 #, c-format msgid "ZLIB stream inconsistency (%s)." msgstr "Im ZLIB-Datenstrom ist eine Inkonsistenz aufgetreten (%s)." -#: src/data/sys-file-reader.c:3731 +#: src/data/sys-file-reader.c:3733 msgid "Unexpected end of ZLIB compressed data." msgstr "Unerwartetes Ende der komprimierten ZLIB-Daten." -#: src/data/sys-file-reader.c:3769 +#: src/data/sys-file-reader.c:3771 msgid "SPSS System File" msgstr "SPSS Systemdatei" @@ -1540,8 +1544,8 @@ msgstr "Skala" msgid "Input" msgstr "Eingabe" -#. TRANSLATORS: This will form a filename. Please avoid whitespace. -#: src/data/variable.c:877 src/ui/gui/psppire-output-window.c:526 +#. TRANSLATORS: This will be part of a filename. Please avoid whitespace. +#: src/data/variable.c:877 src/ui/gui/psppire-output-window.c:581 msgid "Output" msgstr "Ziel" @@ -1733,7 +1737,7 @@ msgid "Syntax error at end of input" msgstr "Syntax Fehler am ende der Eingabe" #: src/language/lexer/lexer.c:419 src/language/xforms/select-if.c:60 -#: src/language/stats/autorecode.c:217 src/language/stats/npar.c:503 +#: src/language/stats/autorecode.c:218 src/language/stats/npar.c:503 #: src/language/data-io/print-space.c:83 msgid "expecting end of command" msgstr "erwarte Befehlsende" @@ -1826,7 +1830,7 @@ msgstr "erwarte gültige Formatangabe" #: src/language/lexer/format-parser.c:116 #: src/language/lexer/format-parser.c:143 src/language/utilities/output.c:154 -#: src/language/data-io/data-list.c:453 src/language/data-io/get-data.c:643 +#: src/language/data-io/data-list.c:453 src/language/data-io/get-data.c:638 #: src/language/data-io/placement-parser.c:236 #, c-format msgid "Unknown format type `%s'." @@ -1924,11 +1928,11 @@ msgstr "Der numerische Suffix von `%s' ist größer als von TO unterstützt wird msgid "Scratch variables not allowed here." msgstr "Temporäre Variablen sind hier nicht erlaubt." -#: src/language/lexer/variable-parser.c:500 +#: src/language/lexer/variable-parser.c:501 msgid "Prefixes don't match in use of TO convention." msgstr "Die Prefixes stimmen nicht überein, wie für den TO Befehl erforderlich." -#: src/language/lexer/variable-parser.c:505 +#: src/language/lexer/variable-parser.c:506 msgid "Bad bounds in use of TO convention." msgstr "Die Grenzen bei der Verwendung des TO Befehls sind nicht richtig angegeben." @@ -2206,7 +2210,7 @@ msgstr "Das Codebuch des aktiven Datenblatts enthält keine Mehrfachantworten." msgid "Multiple Response Sets" msgstr "Mehrfachantworten-Sets" -#: src/language/dictionary/mrsets.c:548 src/ui/gui/psppire-var-sheet.c:1368 +#: src/language/dictionary/mrsets.c:548 src/ui/gui/psppire-var-sheet.c:1359 msgid "Name" msgstr "Name" @@ -2230,7 +2234,7 @@ msgstr "Mehrfachantworten-Set für kategoriale Daten" #: src/language/dictionary/split-file.c:84 #: src/language/dictionary/sys-file-info.c:444 #: src/language/dictionary/sys-file-info.c:543 -#: src/ui/gui/psppire-var-sheet.c:1381 src/ui/gui/compute.ui:141 +#: src/ui/gui/psppire-var-sheet.c:1372 src/ui/gui/compute.ui:141 msgid "Label" msgstr "Beschriftung" @@ -2543,11 +2547,11 @@ msgstr "In der Langform des VECTOR Befehls müssen die Vektorbezeichnungen durch msgid "Vectors must have at least one element." msgstr "Vektoren müssen mindestens ein Element besitzen." -#: src/language/dictionary/vector.c:152 +#: src/language/dictionary/vector.c:151 msgid "expecting vector length" msgstr "erwarte Vektorlänge" -#: src/language/dictionary/vector.c:172 +#: src/language/dictionary/vector.c:171 #, c-format msgid "%s is an existing variable name." msgstr "%s ist ein existierender Variablenname" @@ -2740,12 +2744,12 @@ msgstr "Die Wertargumente, die an die %s Funktion übergeben wurden, sind nicht msgid "Variable name %s is not unique within the aggregate file dictionary, which contains the aggregate variables and the break variables." msgstr "Der Variablenname %s erscheint im aggregierten Codebuch der Datei, das die zusammengefassten Variablen und die Break-Variablen enthält, mehr als einmal." -#: src/language/stats/autorecode.c:164 +#: src/language/stats/autorecode.c:165 #, c-format msgid "Source variable count (%zu) does not match target variable count (%zu)." msgstr "Anzahl der Quellvariablen (%zu) stimmt nicht mit der Anzahl der Zielvariablen (%zu) überein." -#: src/language/stats/autorecode.c:176 +#: src/language/stats/autorecode.c:177 #, c-format msgid "Target variable %s duplicates existing variable %s." msgstr "Zielvariable %s hat den selben Namen wie die existierende Variable %s." @@ -2769,12 +2773,12 @@ msgstr "Gruppe2" #: src/language/stats/binomial.c:222 src/language/stats/chisquare.c:184 #: src/language/stats/chisquare.c:246 src/language/stats/examine.c:1341 -#: src/language/stats/factor.c:1753 src/language/stats/frequencies.c:352 +#: src/language/stats/factor.c:1840 src/language/stats/frequencies.c:352 #: src/language/stats/glm.c:865 src/language/stats/kruskal-wallis.c:325 -#: src/language/stats/logistic.c:1410 src/language/stats/mann-whitney.c:215 -#: src/language/stats/means.c:1080 src/language/stats/oneway.c:1006 +#: src/language/stats/logistic.c:1410 src/language/stats/mann-whitney.c:214 +#: src/language/stats/means.c:1076 src/language/stats/oneway.c:1006 #: src/language/stats/oneway.c:1178 src/language/stats/reliability.c:584 -#: src/language/stats/regression.c:954 src/language/stats/sign.c:96 +#: src/language/stats/regression.c:980 src/language/stats/sign.c:96 #: src/language/stats/wilcoxon.c:256 #: src/ui/gui/psppire-dialog-action-crosstabs.c:91 #: src/language/stats/crosstabs.q:907 src/language/stats/crosstabs.q:1252 @@ -2793,8 +2797,8 @@ msgstr "Kategorie" #: src/language/stats/friedman.c:276 src/language/stats/kruskal-wallis.c:273 #: src/language/stats/ks-one-sample.c:293 src/language/stats/logistic.c:1404 #: src/language/stats/jonckheere-terpstra.c:381 -#: src/language/stats/mann-whitney.c:217 src/language/stats/means.c:408 -#: src/language/stats/means.c:1089 src/language/stats/mcnemar.c:262 +#: src/language/stats/mann-whitney.c:216 src/language/stats/means.c:408 +#: src/language/stats/means.c:1085 src/language/stats/mcnemar.c:262 #: src/language/stats/median.c:419 src/language/stats/npar-summary.c:123 #: src/language/stats/oneway.c:1077 src/language/stats/reliability.c:587 #: src/language/stats/sign.c:75 src/language/stats/t-test-indep.c:211 @@ -2833,20 +2837,20 @@ msgid "Expected N" msgstr "Erwartete N" #: src/language/stats/chisquare.c:170 src/language/stats/chisquare.c:213 -#: src/language/stats/regression.c:953 +#: src/language/stats/regression.c:979 #: src/ui/gui/psppire-dialog-action-crosstabs.c:93 msgid "Residual" msgstr "Residual" #: src/language/stats/chisquare.c:206 src/language/stats/cochran.c:161 #: src/language/stats/median.c:320 src/language/stats/sign.c:63 -#: src/ui/gui/frequencies.ui:656 +#: src/ui/gui/frequencies.ui:658 msgid "Frequencies" msgstr "Häufigkeiten" #: src/language/stats/chisquare.c:259 src/language/stats/cochran.c:215 #: src/language/stats/friedman.c:273 src/language/stats/kruskal-wallis.c:343 -#: src/language/stats/mann-whitney.c:278 src/language/stats/mcnemar.c:242 +#: src/language/stats/mann-whitney.c:277 src/language/stats/mcnemar.c:242 #: src/language/stats/median.c:409 src/language/stats/sign.c:115 #: src/language/stats/wilcoxon.c:305 msgid "Test Statistics" @@ -2858,11 +2862,11 @@ msgid "Chi-Square" msgstr "Chi-Quadrat" #: src/language/stats/chisquare.c:274 src/language/stats/cochran.c:224 -#: src/language/stats/factor.c:2189 src/language/stats/friedman.c:286 +#: src/language/stats/factor.c:2372 src/language/stats/friedman.c:286 #: src/language/stats/glm.c:761 src/language/stats/kruskal-wallis.c:349 #: src/language/stats/logistic.c:1224 src/language/stats/median.c:428 #: src/language/stats/oneway.c:983 src/language/stats/oneway.c:1390 -#: src/language/stats/regression.c:947 src/language/stats/t-test-indep.c:293 +#: src/language/stats/regression.c:973 src/language/stats/t-test-indep.c:293 #: src/language/stats/t-test-one-sample.c:96 #: src/language/stats/t-test-paired.c:306 src/language/stats/crosstabs.q:1312 msgid "df" @@ -2892,13 +2896,13 @@ msgstr "Misserfolg (%.*g)" msgid "Cochran's Q" msgstr "Cochrans Q" -#: src/language/stats/correlations.c:97 src/language/stats/factor.c:2094 +#: src/language/stats/correlations.c:97 src/language/stats/factor.c:2277 #: src/language/stats/npar-summary.c:109 msgid "Descriptive Statistics" msgstr "Deskriptive Statistiken" #: src/language/stats/correlations.c:118 src/language/stats/descriptives.c:108 -#: src/language/stats/examine.c:890 src/language/stats/factor.c:2115 +#: src/language/stats/examine.c:890 src/language/stats/factor.c:2298 #: src/language/stats/frequencies.c:141 src/language/stats/graph.c:212 #: src/language/stats/ks-one-sample.c:302 src/language/stats/means.c:407 #: src/language/stats/npar-summary.c:126 src/language/stats/oneway.c:1078 @@ -2912,7 +2916,7 @@ msgid "Mean" msgstr "Mittelwert" #: src/language/stats/correlations.c:119 src/language/stats/examine.c:982 -#: src/language/stats/factor.c:2116 src/language/stats/ks-one-sample.c:304 +#: src/language/stats/factor.c:2299 src/language/stats/ks-one-sample.c:304 #: src/language/stats/means.c:409 src/language/stats/npar-summary.c:129 #: src/language/stats/oneway.c:1079 src/language/stats/t-test-indep.c:213 #: src/language/stats/t-test-one-sample.c:161 @@ -2921,7 +2925,7 @@ msgstr "Mittelwert" msgid "Std. Deviation" msgstr "Std. Abweichung" -#: src/language/stats/correlations.c:192 src/language/stats/factor.c:1981 +#: src/language/stats/correlations.c:192 src/language/stats/factor.c:2068 msgid "Correlations" msgstr "Korrelationen" @@ -2936,7 +2940,7 @@ msgstr "Pearson Korrelation" msgid "Sig. (2-tailed)" msgstr "Sig. (2-seitig)" -#: src/language/stats/correlations.c:222 src/language/stats/factor.c:1993 +#: src/language/stats/correlations.c:222 src/language/stats/factor.c:2080 msgid "Sig. (1-tailed)" msgstr "Sig. (1-seitig)" @@ -2948,11 +2952,11 @@ msgstr "Kreuzprodukte" msgid "Covariance" msgstr "Kovarianz" -#: src/language/stats/correlations.c:310 +#: src/language/stats/correlations.c:311 msgid "The data for the chosen variables are all missing or empty." msgstr "Die Daten der ausgewählten Variablen sind entweder alle fehlend oder leer." -#: src/language/stats/correlations.c:466 src/language/stats/descriptives.c:374 +#: src/language/stats/correlations.c:467 src/language/stats/descriptives.c:382 #: src/language/data-io/list.c:168 msgid "No variables specified." msgstr "Keine Variablen angegeben." @@ -3031,53 +3035,53 @@ msgstr "Maximum" msgid "Sum" msgstr "Summe" -#: src/language/stats/descriptives.c:356 +#: src/language/stats/descriptives.c:364 #, c-format msgid "Z-score variable name %s would be a duplicate variable name." msgstr "Z-Wert Variablenname %s wäre ein Duplikat." -#: src/language/stats/descriptives.c:407 +#: src/language/stats/descriptives.c:415 msgid "DESCRIPTIVES with Z scores ignores TEMPORARY. Temporary transformations will be made permanent." msgstr "DESCRIPTIVES mit Z-Werten ignoriert TEMPORARY. Temporäre Umformungen werden dauerhaft gemacht." -#: src/language/stats/descriptives.c:484 +#: src/language/stats/descriptives.c:492 msgid "expecting statistic name: reverting to default" msgstr "erwarte den Namen einer Statistik: Rückfall auf die Voreinstellung" -#: src/language/stats/descriptives.c:567 +#: src/language/stats/descriptives.c:575 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 "Es stehen nicht genügend generische Namen für Z-Wert Variablen zur Verfügung. Es gibt nur 126 generische Namen: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09." -#: src/language/stats/descriptives.c:596 +#: src/language/stats/descriptives.c:604 msgid "Mapping of variables to corresponding Z-scores." msgstr "Abbildung der Variablen auf die entsprechenden Z-Werte." -#: src/language/stats/descriptives.c:600 src/language/stats/glm.c:755 +#: src/language/stats/descriptives.c:608 src/language/stats/glm.c:755 msgid "Source" msgstr "Quelle" -#: src/language/stats/descriptives.c:601 +#: src/language/stats/descriptives.c:609 msgid "Target" msgstr "Ziel" -#: src/language/stats/descriptives.c:673 +#: src/language/stats/descriptives.c:681 msgid "Internal error processing Z scores" msgstr "Interner Fehler beim Verarbeiten der Z-Werte" -#: src/language/stats/descriptives.c:771 +#: src/language/stats/descriptives.c:779 #, c-format msgid "Z-score of %s" msgstr "Z-Wert von %s" -#: src/language/stats/descriptives.c:1022 +#: src/language/stats/descriptives.c:1030 msgid "Valid N" msgstr "Gültige N" -#: src/language/stats/descriptives.c:1023 +#: src/language/stats/descriptives.c:1031 msgid "Missing N" msgstr "Fehlende N" -#: src/language/stats/descriptives.c:1051 +#: src/language/stats/descriptives.c:1059 #, c-format msgid "Valid cases = %.*g; cases with missing value(s) = %.*g." msgstr "Gültige Fälle = %.*g; Fälle mit fehlenden Werten = %.*g." @@ -3130,7 +3134,7 @@ msgstr "Deskriptive Statistiken" #: src/language/stats/examine.c:811 src/language/stats/oneway.c:1080 #: src/language/stats/oneway.c:1388 src/language/stats/oneway.c:1599 -#: src/language/stats/roc.c:993 src/language/stats/regression.c:837 +#: src/language/stats/roc.c:993 src/language/stats/regression.c:856 msgid "Std. Error" msgstr "Standardfehler" @@ -3141,13 +3145,13 @@ msgstr "%g%% Konfidenzintervall für Mittelwert" #: src/language/stats/examine.c:915 src/language/stats/oneway.c:1089 #: src/language/stats/oneway.c:1606 src/language/stats/roc.c:996 -#: src/language/stats/regression.c:855 +#: src/language/stats/regression.c:873 msgid "Lower Bound" msgstr "Untere Grenze" #: src/language/stats/examine.c:928 src/language/stats/oneway.c:1090 #: src/language/stats/oneway.c:1607 src/language/stats/roc.c:997 -#: src/language/stats/regression.c:856 +#: src/language/stats/regression.c:874 msgid "Upper Bound" msgstr "Obere Grenze" @@ -3169,7 +3173,7 @@ msgstr "Interquartilsabstand" msgid "Extreme Values" msgstr "Extremwerte" -#: src/language/stats/examine.c:1132 src/language/stats/quick-cluster.c:591 +#: src/language/stats/examine.c:1132 src/language/stats/quick-cluster.c:588 #: src/language/data-io/list.c:114 msgid "Case Number" msgstr "Fallnummer" @@ -3183,17 +3187,17 @@ msgid "Lowest" msgstr "Niedrigster" #: src/language/stats/examine.c:1311 src/language/stats/logistic.c:1394 -#: src/language/stats/means.c:1065 src/language/stats/reliability.c:552 +#: src/language/stats/means.c:1061 src/language/stats/reliability.c:552 msgid "Case Processing Summary" msgstr "Zusammenfassung der Fallverarbeitung" -#: src/language/stats/examine.c:1327 src/language/stats/means.c:1076 +#: src/language/stats/examine.c:1327 src/language/stats/means.c:1072 #: src/language/stats/reliability.c:575 src/language/stats/crosstabs.q:904 msgid "Cases" msgstr "Fälle" #: src/language/stats/examine.c:1331 src/language/stats/frequencies.c:1601 -#: src/language/stats/quick-cluster.c:641 src/language/stats/reliability.c:578 +#: src/language/stats/quick-cluster.c:638 src/language/stats/reliability.c:578 #: src/language/stats/crosstabs.q:905 msgid "Valid" msgstr "Gültig" @@ -3205,7 +3209,7 @@ msgstr "Fehlende Werte" #: src/language/stats/examine.c:1348 src/language/stats/frequencies.c:295 #: src/language/stats/frequencies.c:1500 src/language/stats/logistic.c:1405 -#: src/language/stats/means.c:1091 src/language/stats/crosstabs.q:915 +#: src/language/stats/means.c:1087 src/language/stats/crosstabs.q:915 msgid "Percent" msgstr "Prozent" @@ -3223,152 +3227,169 @@ msgstr "Perzentile müssen im Bereich (0, 100) liegen" msgid "%s and %s are mutually exclusive" msgstr "%s und %s schließen sich gegeseitig aus" -#: src/language/stats/factor.c:1048 +#: src/language/stats/factor.c:1071 +#, c-format +msgid "Matrix input for %s must be either COV or CORR" +msgstr "Die Eingabe der Matrix für %s muss entweder über COV oder CORR erfolgen" + +#: src/language/stats/factor.c:1468 msgid "Factor analysis on a single variable is not useful." msgstr "Faktorenanalyse einer einzelnen Variable ist nicht sinnvoll." -#: src/language/stats/factor.c:1493 +#: src/language/stats/factor.c:1472 +msgid "Factor analysis without variables is not possible." +msgstr "Eine Faktorenanalyse ohne Variablen ist nicht sinnvoll." + +#: src/language/stats/factor.c:1579 msgid "Component Number" msgstr "Komponentennummer" -#: src/language/stats/factor.c:1493 +#: src/language/stats/factor.c:1579 msgid "Factor Number" msgstr "Faktorzahl" -#: src/language/stats/factor.c:1524 +#: src/language/stats/factor.c:1610 msgid "Communalities" msgstr "Kommunalitäten" -#: src/language/stats/factor.c:1530 +#: src/language/stats/factor.c:1616 msgid "Initial" msgstr "Ursprünglich" -#: src/language/stats/factor.c:1533 +#: src/language/stats/factor.c:1619 msgid "Extraction" msgstr "Extraktion" -#: src/language/stats/factor.c:1598 src/language/stats/factor.c:1727 -#: src/language/stats/factor.c:1872 +#: src/language/stats/factor.c:1684 src/language/stats/factor.c:1814 +#: src/language/stats/factor.c:1959 msgid "Component" msgstr "Komponente" -#: src/language/stats/factor.c:1603 src/language/stats/factor.c:1729 -#: src/language/stats/factor.c:1874 +#: src/language/stats/factor.c:1689 src/language/stats/factor.c:1816 +#: src/language/stats/factor.c:1961 msgid "Factor" msgstr "Faktor" -#: src/language/stats/factor.c:1635 +#: src/language/stats/factor.c:1721 #, c-format msgid "%d" msgstr "%d" -#: src/language/stats/factor.c:1702 +#: src/language/stats/factor.c:1789 msgid "Total Variance Explained" msgstr "Erklärte Gesamtvarianz" -#: src/language/stats/factor.c:1734 +#: src/language/stats/factor.c:1821 msgid "Initial Eigenvalues" msgstr "Ursprüngliche Eigenwerte" -#: src/language/stats/factor.c:1740 +#: src/language/stats/factor.c:1827 msgid "Extraction Sums of Squared Loadings" msgstr "Summe der quadrierten Ladungen der Extraktion" -#: src/language/stats/factor.c:1747 +#: src/language/stats/factor.c:1834 msgid "Rotation Sums of Squared Loadings" msgstr "Summe der quadrierten Ladungen der Rotation" -#: src/language/stats/factor.c:1761 +#: src/language/stats/factor.c:1848 #, no-c-format msgid "% of Variance" msgstr "% der Varianz" -#: src/language/stats/factor.c:1762 +#: src/language/stats/factor.c:1849 msgid "Cumulative %" msgstr "Kumuliert %" -#: src/language/stats/factor.c:1787 src/language/stats/factor.c:1878 -#: src/language/stats/factor.c:1883 +#: src/language/stats/factor.c:1874 src/language/stats/factor.c:1965 +#: src/language/stats/factor.c:1970 #, c-format msgid "%zu" msgstr "%zu" -#: src/language/stats/factor.c:1847 +#: src/language/stats/factor.c:1934 msgid "Factor Correlation Matrix" msgstr "Faktor-Korrelationsmatrix" -#: src/language/stats/factor.c:1939 +#: src/language/stats/factor.c:2026 msgid "Correlation Matrix" msgstr "Korrelationsmatrix" -#: src/language/stats/factor.c:2013 +#: src/language/stats/factor.c:2100 msgid "Determinant" msgstr "Determinante" -#: src/language/stats/factor.c:2045 +#: src/language/stats/factor.c:2138 +msgid "Covariance Matrix" +msgstr "Kovarianzmatrix" + +#: src/language/stats/factor.c:2211 msgid "The dataset contains no complete observations. No analysis will be performed." msgstr "Der Datensatz enthält keine vollständigen Beobachtungen. Die Analyse wird nicht durchgeführt." -#: src/language/stats/factor.c:2117 +#: src/language/stats/factor.c:2235 +msgid "The dataset has no complete covariance or correlation matrix." +msgstr "Im Datensatz ist keine vollständige Kovarianz oder Korrelationsmatrix enthalten." + +#: src/language/stats/factor.c:2300 msgid "Analysis N" msgstr "Analyse N" -#: src/language/stats/factor.c:2154 +#: src/language/stats/factor.c:2337 msgid "KMO and Bartlett's Test" msgstr "KMO und Bartlett's Test" -#: src/language/stats/factor.c:2182 +#: src/language/stats/factor.c:2365 msgid "Kaiser-Meyer-Olkin Measure of Sampling Adequacy" msgstr "Kaiser-Meyer-Olkin-Maß für Angemessenheit der Stichproben" -#: src/language/stats/factor.c:2186 +#: src/language/stats/factor.c:2369 msgid "Bartlett's Test of Sphericity" msgstr "Bartlett's Test auf Sphärizität" -#: src/language/stats/factor.c:2188 +#: src/language/stats/factor.c:2371 msgid "Approx. Chi-Square" msgstr "Geschätztes Chi-Quadrat" -#: src/language/stats/factor.c:2190 src/language/stats/glm.c:764 +#: src/language/stats/factor.c:2373 src/language/stats/glm.c:764 #: src/language/stats/logistic.c:1225 src/language/stats/oneway.c:986 #: src/language/stats/oneway.c:1234 src/language/stats/oneway.c:1600 -#: src/language/stats/regression.c:841 src/language/stats/regression.c:950 +#: src/language/stats/regression.c:860 src/language/stats/regression.c:976 #: src/language/stats/t-test-indep.c:291 #: src/language/stats/t-test-paired.c:235 msgid "Sig." msgstr "Sig." -#: src/language/stats/factor.c:2231 +#: src/language/stats/factor.c:2416 #, c-format msgid "The %s criteria result in zero factors extracted. Therefore no analysis will be performed." msgstr "Auf Grund des %s-Kriteriums konnten keine Faktoren extrahiert werden. Daher wird keine Analyse durchgeführt." -#: src/language/stats/factor.c:2238 +#: src/language/stats/factor.c:2423 #, c-format msgid "The %s criteria result in more factors than variables, which is not meaningful. No analysis will be performed." msgstr "Das %s-Kriterium führt zu mehr Faktoren als Variablen. Dies ist nicht sinnvoll. Die Analyse wird nicht durchgeführt." -#: src/language/stats/factor.c:2330 +#: src/language/stats/factor.c:2515 msgid "Component Matrix" msgstr "Komponentenmatrix" -#: src/language/stats/factor.c:2330 +#: src/language/stats/factor.c:2515 msgid "Factor Matrix" msgstr "Faktor Matrix" -#: src/language/stats/factor.c:2335 +#: src/language/stats/factor.c:2520 msgid "Pattern Matrix" msgstr "Mustermatrix" -#: src/language/stats/factor.c:2342 +#: src/language/stats/factor.c:2527 msgid "Structure Matrix" msgstr "Strukturmatrix" -#: src/language/stats/factor.c:2343 +#: src/language/stats/factor.c:2528 msgid "Rotated Component Matrix" msgstr "Rotierte Komponentenmatrix" -#: src/language/stats/factor.c:2343 +#: src/language/stats/factor.c:2529 msgid "Rotated Factor Matrix" msgstr "Rotierte Faktormatrix" @@ -3488,12 +3509,12 @@ msgid "50 (Median)" msgstr "50 (Median)" #: src/language/stats/friedman.c:227 src/language/stats/kruskal-wallis.c:258 -#: src/language/stats/mann-whitney.c:198 src/language/stats/wilcoxon.c:226 +#: src/language/stats/mann-whitney.c:197 src/language/stats/wilcoxon.c:226 msgid "Ranks" msgstr "Ränge" #: src/language/stats/friedman.c:238 src/language/stats/kruskal-wallis.c:272 -#: src/language/stats/mann-whitney.c:223 src/language/stats/wilcoxon.c:240 +#: src/language/stats/mann-whitney.c:222 src/language/stats/wilcoxon.c:240 msgid "Mean Rank" msgstr "Durchschnittlicher Rang" @@ -3519,12 +3540,12 @@ msgid "Type %s Sum of Squares" msgstr "Quadratsumme Typ %s" #: src/language/stats/glm.c:762 src/language/stats/oneway.c:984 -#: src/language/stats/regression.c:948 +#: src/language/stats/regression.c:974 msgid "Mean Square" msgstr "Mittel der Quadrate" #: src/language/stats/glm.c:763 src/language/stats/oneway.c:985 -#: src/language/stats/regression.c:949 src/language/stats/t-test-indep.c:290 +#: src/language/stats/regression.c:975 src/language/stats/t-test-indep.c:290 msgid "F" msgstr "F" @@ -3532,7 +3553,7 @@ msgstr "F" msgid "Corrected Model" msgstr "Korrigiertes Modell" -#: src/language/stats/glm.c:774 src/language/stats/regression.c:1001 +#: src/language/stats/glm.c:774 src/language/stats/regression.c:1027 msgid "Model" msgstr "Modell" @@ -3645,7 +3666,7 @@ msgstr "Kolmogorov-Smirnov Z" #: src/language/stats/ks-one-sample.c:399 #: src/language/stats/jonckheere-terpstra.c:386 -#: src/language/stats/mann-whitney.c:294 src/language/stats/runs.c:402 +#: src/language/stats/mann-whitney.c:293 src/language/stats/runs.c:402 #: src/language/stats/wilcoxon.c:319 src/language/stats/crosstabs.q:1314 msgid "Asymp. Sig. (2-tailed)" msgstr "Asymp. Sig. (2-seitig)" @@ -3703,7 +3724,7 @@ msgstr "Variablen in der Gleichung " msgid "Step 1" msgstr "Schritt 1" -#: src/language/stats/logistic.c:1221 src/language/stats/regression.c:836 +#: src/language/stats/logistic.c:1221 src/language/stats/regression.c:855 msgid "B" msgstr "B" @@ -3830,29 +3851,29 @@ msgstr "Standardabweichung der J-T Statistik" msgid "Std. J-T Statistic" msgstr "Std. J-T Statistik" -#: src/language/stats/mann-whitney.c:229 src/language/stats/wilcoxon.c:241 +#: src/language/stats/mann-whitney.c:228 src/language/stats/wilcoxon.c:241 msgid "Sum of Ranks" msgstr "Summe der Ränge" -#: src/language/stats/mann-whitney.c:291 +#: src/language/stats/mann-whitney.c:290 msgid "Mann-Whitney U" msgstr "Mann-Whitney U" -#: src/language/stats/mann-whitney.c:292 +#: src/language/stats/mann-whitney.c:291 msgid "Wilcoxon W" msgstr "Wilcoxon W" -#: src/language/stats/mann-whitney.c:293 src/language/stats/runs.c:399 +#: src/language/stats/mann-whitney.c:292 src/language/stats/runs.c:399 #: src/language/stats/wilcoxon.c:318 msgid "Z" msgstr "Z" -#: src/language/stats/mann-whitney.c:298 src/language/stats/mcnemar.c:265 +#: src/language/stats/mann-whitney.c:297 src/language/stats/mcnemar.c:265 #: src/language/stats/sign.c:134 src/language/stats/wilcoxon.c:323 msgid "Exact Sig. (2-tailed)" msgstr "Exakte Sig. (2-seitig)" -#: src/language/stats/mann-whitney.c:299 src/language/stats/mcnemar.c:271 +#: src/language/stats/mann-whitney.c:298 src/language/stats/mcnemar.c:271 #: src/language/stats/sign.c:140 src/language/stats/wilcoxon.c:327 msgid "Point Probability" msgstr "Punktwahrscheinlichkeit" @@ -3893,21 +3914,21 @@ msgstr "Harmonisches Mittel" msgid "Geom. Mean" msgstr "Geom. Mittel" -#: src/language/stats/means.c:1078 +#: src/language/stats/means.c:1074 msgid "Included" msgstr "Eingeschlossen" -#: src/language/stats/means.c:1079 src/language/stats/reliability.c:581 +#: src/language/stats/means.c:1075 src/language/stats/reliability.c:581 msgid "Excluded" msgstr "Ausgeschlossen" -#: src/language/stats/means.c:1121 src/language/stats/means.c:1130 -#: src/language/stats/means.c:1139 +#: src/language/stats/means.c:1117 src/language/stats/means.c:1126 +#: src/language/stats/means.c:1135 #, c-format msgid "%g%%" msgstr "%g%%" -#: src/language/stats/means.c:1171 +#: src/language/stats/means.c:1167 msgid "Report" msgstr "Bericht" @@ -4009,7 +4030,7 @@ msgstr "In der Liste der Kontraste %zu stimmt die Anzahl der Koeffizienten (%zu) msgid "Coefficients for contrast %zu do not total zero" msgstr "Die Koeffizienten für den Kontrast %zu addieren sich nicht zu Null auf." -#: src/language/stats/oneway.c:982 src/language/stats/regression.c:946 +#: src/language/stats/oneway.c:982 src/language/stats/regression.c:972 msgid "Sum of Squares" msgstr "Quadratsumme" @@ -4057,7 +4078,7 @@ msgstr "Kontrast Tests" msgid "Value of Contrast" msgstr "Kontrastwert" -#: src/language/stats/oneway.c:1389 src/language/stats/regression.c:840 +#: src/language/stats/oneway.c:1389 src/language/stats/regression.c:859 #: src/language/stats/t-test-indep.c:292 #: src/language/stats/t-test-one-sample.c:95 #: src/language/stats/t-test-paired.c:305 @@ -4101,37 +4122,37 @@ msgstr "(I - J)" msgid "%g%% Confidence Interval" msgstr "%g%% Konfidenzintervall" -#: src/language/stats/quick-cluster.c:530 +#: src/language/stats/quick-cluster.c:527 msgid "Final Cluster Centers" msgstr "Clusterzentren der Ausgangsklassifikation" -#: src/language/stats/quick-cluster.c:534 +#: src/language/stats/quick-cluster.c:531 msgid "Initial Cluster Centers" msgstr "Anfängliche Clusterzentren" -#: src/language/stats/quick-cluster.c:537 -#: src/language/stats/quick-cluster.c:592 -#: src/language/stats/quick-cluster.c:629 +#: src/language/stats/quick-cluster.c:534 +#: src/language/stats/quick-cluster.c:589 +#: src/language/stats/quick-cluster.c:626 msgid "Cluster" msgstr "Cluster" -#: src/language/stats/quick-cluster.c:590 +#: src/language/stats/quick-cluster.c:587 msgid "Cluster Membership" msgstr "Cluster-Zugehörigkeit" -#: src/language/stats/quick-cluster.c:627 +#: src/language/stats/quick-cluster.c:624 msgid "Number of Cases in each Cluster" msgstr "Anzahl der Fälle in jedem Cluster" -#: src/language/stats/quick-cluster.c:747 +#: src/language/stats/quick-cluster.c:744 msgid "The number of clusters must be positive" msgstr "Anzahl der Cluster muß positiv sein" -#: src/language/stats/quick-cluster.c:763 +#: src/language/stats/quick-cluster.c:760 msgid "The convergence criterium must be positive" msgstr "Das Konvergenzkriterium muss positiv sein" -#: src/language/stats/quick-cluster.c:779 +#: src/language/stats/quick-cluster.c:776 msgid "The number of iterations must be positive" msgstr "Anzahl der Iterationen muß positiv sein" @@ -4338,84 +4359,89 @@ msgstr "Sensitivität" msgid "1 - Specificity" msgstr "1- Spezifität" -#: src/language/stats/regression.c:376 +#: src/language/stats/regression.c:222 src/language/stats/regression.c:227 +#, c-format +msgid "VARIABLES may not appear after %s" +msgstr "VARIABLES darf nicht nach %s erscheinen" + +#: src/language/stats/regression.c:406 msgid "REGRESSION with SAVE ignores TEMPORARY. Temporary transformations will be made permanent." msgstr "REGRESSION mit SAVE ignoriert TEMPORARY. Temporäre Umformungen werden dauerhaft gemacht." -#: src/language/stats/regression.c:380 +#: src/language/stats/regression.c:410 msgid "REGRESSION with SAVE ignores FILTER. All cases will be processed." msgstr "REGRESSION mit SAVE ignoriert FILTER. Es werden alle Fälle verarbeitet." -#: src/language/stats/regression.c:515 +#: src/language/stats/regression.c:545 msgid "The dependent variable is equal to the independent variable. The least squares line is therefore Y=X. Standard errors and related statistics may be meaningless." msgstr "Die abhängige Variable ist mit der unabhängigen Variable identisch. Die Regressionsgerade ist daher Y=X. Standardfehler und damit verbundene Statistiken sind eventuell aussagelos." -#: src/language/stats/regression.c:699 +#: src/language/stats/regression.c:719 msgid "No valid data found. This command was skipped." msgstr "Keine gültigen Daten gefunden. Dieser Befehl wird übersprungen." -#: src/language/stats/regression.c:784 +#: src/language/stats/regression.c:804 #: src/ui/gui/psppire-dialog-action-regression.c:42 msgid "R" msgstr "R" -#: src/language/stats/regression.c:785 +#: src/language/stats/regression.c:805 msgid "R Square" msgstr "R-Quadrat" -#: src/language/stats/regression.c:786 +#: src/language/stats/regression.c:806 msgid "Adjusted R Square" msgstr "Korrigiertes R-Quadrat" -#: src/language/stats/regression.c:787 +#: src/language/stats/regression.c:807 msgid "Std. Error of the Estimate" msgstr "Standardfehler des Schätzers " -#: src/language/stats/regression.c:792 +#: src/language/stats/regression.c:812 #, c-format msgid "Model Summary (%s)" msgstr "Modellzusammenfassung (%s)" -#: src/language/stats/regression.c:835 +#: src/language/stats/regression.c:854 msgid "Unstandardized Coefficients" msgstr "Unstandardisierte Koeffizienten" -#: src/language/stats/regression.c:838 +#: src/language/stats/regression.c:857 msgid "Standardized Coefficients" msgstr "Standardisierte Koeffizienten" -#: src/language/stats/regression.c:839 +#: src/language/stats/regression.c:858 msgid "Beta" msgstr "Beta" -#: src/language/stats/regression.c:842 -msgid "(Constant)" -msgstr "(Konstante)" - -#: src/language/stats/regression.c:853 +#: src/language/stats/regression.c:871 #, c-format msgid "%g%% Confidence Interval for B" msgstr "%g%% Konfidenzintervall für B" -#: src/language/stats/regression.c:917 +#: src/language/stats/regression.c:879 +msgid "(Constant)" +msgstr "(Konstante)" + +#: src/language/stats/regression.c:942 #, c-format msgid "Coefficients (%s)" msgstr "Koeffizienten (%s)" -#: src/language/stats/regression.c:952 src/ui/gui/regression.ui:8 +#: src/language/stats/regression.c:978 src/ui/gui/regression.ui:8 msgid "Regression" msgstr "Regression" -#: src/language/stats/regression.c:975 +#: src/language/stats/regression.c:1001 #, c-format msgid "ANOVA (%s)" msgstr "ANOVA (%s)" -#: src/language/stats/regression.c:1002 +#: src/language/stats/regression.c:1028 msgid "Covariances" msgstr "Kovarianzen" -#: src/language/stats/regression.c:1017 +#: src/language/stats/regression.c:1043 #, c-format msgid "Coefficient Correlations (%s)" msgstr "Korrelationen der Koeffizienten (%s)" @@ -4693,12 +4719,12 @@ msgstr "Kodierung sollte bei Inline-Daten nicht angegeben werden. Diese wird üb msgid "The %s subcommand may be used only with %s." msgstr "Der Unterbefehl %s darf nur mit %s verwendet werden." -#: src/language/data-io/data-list.c:284 +#: src/language/data-io/data-list.c:284 src/language/data-io/matrix-data.c:494 msgid "At least one variable must be specified." msgstr "Es muss mindestens eine Variable angegeben werden." #: src/language/data-io/data-list.c:383 src/language/data-io/data-list.c:491 -#: src/language/data-io/get-data.c:667 +#: src/language/data-io/get-data.c:662 #, c-format msgid "%s is a duplicate variable name." msgstr "Der Variablenname %s kommt doppelt vor." @@ -4718,61 +4744,61 @@ msgstr "Es gibt bereits eine Stringvariable %s mit einer anderen Breite." msgid "Cannot place variable %s on record %d when RECORDS=%d is specified." msgstr "Die Variable %s kann nicht im EIntrag %d platziert werden, wenn RECORDS=%d angegeben wurde." -#: src/language/data-io/data-parser.c:433 -#: src/language/data-io/data-parser.c:442 +#: src/language/data-io/data-parser.c:451 +#: src/language/data-io/data-parser.c:460 msgid "Quoted string extends beyond end of line." msgstr "Eine Zeichenfolge in Anführungszeichen erstreckt sich über das Zeilenende hinaus." -#: src/language/data-io/data-parser.c:468 +#: src/language/data-io/data-parser.c:486 msgid "Missing delimiter following quoted string." msgstr "Fehlendes Trennzeichen nach einer Zeichenfolge in Anführungszeichen." -#: src/language/data-io/data-parser.c:487 +#: src/language/data-io/data-parser.c:505 #, c-format msgid "Data for variable %s is not valid as format %s: %s" msgstr "Die Daten für die Variable %s sind im Format %s ungültig: %s" -#: src/language/data-io/data-parser.c:516 +#: src/language/data-io/data-parser.c:534 #, c-format msgid "Partial case of %d of %d records discarded." msgstr "Ein Teil des Falles %d mit %d Einträgen wurde verworfen." -#: src/language/data-io/data-parser.c:572 +#: src/language/data-io/data-parser.c:590 #, c-format msgid "Partial case discarded. The first variable missing was %s." msgstr "Ein Teil des Falles wurde verworfen. Die erste fehlende Variable ist %s." -#: src/language/data-io/data-parser.c:614 +#: src/language/data-io/data-parser.c:632 #, c-format msgid "Missing value(s) for all variables from %s onward. These will be filled with the system-missing value or blanks, as appropriate." msgstr "Fehlender Wert oder Werte für alle Variablen ab %s. Diese werden mit system-fehlenden Werten oder Leerzeichen aufgefüllt, je nachdem was jeweils angebracht erscheint." -#: src/language/data-io/data-parser.c:635 +#: src/language/data-io/data-parser.c:653 msgid "Record ends in data not part of any field." msgstr "Eintrag endet mit Daten nicht nicht Teil eines Feldes sind." -#: src/language/data-io/data-parser.c:655 src/language/data-io/print.c:447 +#: src/language/data-io/data-parser.c:673 src/language/data-io/print.c:447 msgid "Record" msgstr "Datensatz" -#: src/language/data-io/data-parser.c:656 src/language/data-io/print.c:448 -#: src/ui/gui/psppire-var-sheet.c:1389 +#: src/language/data-io/data-parser.c:674 src/language/data-io/print.c:448 +#: src/ui/gui/psppire-var-sheet.c:1380 msgid "Columns" msgstr "Spalten" -#: src/language/data-io/data-parser.c:657 -#: src/language/data-io/data-parser.c:694 src/language/data-io/print.c:449 +#: src/language/data-io/data-parser.c:675 +#: src/language/data-io/data-parser.c:712 src/language/data-io/print.c:449 msgid "Format" msgstr "Format" -#: src/language/data-io/data-parser.c:675 +#: src/language/data-io/data-parser.c:693 #, c-format msgid "Reading %d record from %s." msgid_plural "Reading %d records from %s." msgstr[0] "%d Eintrag wird von %s gelesen." msgstr[1] "%d Einträge werden von %s gelesen." -#: src/language/data-io/data-parser.c:709 +#: src/language/data-io/data-parser.c:727 #, c-format msgid "Reading free-form data from %s." msgstr "Unformatierte Daten werden aus %s gelesen." @@ -4903,46 +4929,51 @@ msgstr "es wurde ein Dateinname oder ein Identifikator erwartet" msgid "Handle for %s not allowed here." msgstr "Identifikator für %s ist hier nicht erlaubt." -#: src/language/data-io/get-data.c:138 +#: src/language/data-io/get-data.c:108 src/output/measure.c:262 +#, c-format +msgid "error reading file `%s'" +msgstr "Fehler beim Lesen der Datei `%s'" + +#: src/language/data-io/get-data.c:127 #, c-format msgid "Unsupported TYPE %s." msgstr "TYPE %s wird nicht unterstützt." -#: src/language/data-io/get-data.c:289 +#: src/language/data-io/get-data.c:278 msgid "The sheet index must be greater than or equal to 1" msgstr "Die Nummer des Datenblatts muss größer oder gleich 1 sein" -#: src/language/data-io/get-data.c:296 src/language/data-io/get-data.c:319 -#: src/language/data-io/get-data.c:338 +#: src/language/data-io/get-data.c:285 src/language/data-io/get-data.c:308 +#: src/language/data-io/get-data.c:327 #, c-format msgid "%s must be followed by either \"%s\" or \"%s\"." msgstr "Nach %s muss entweder von \"%s\" oder \"%s\" folgen." -#: src/language/data-io/get-data.c:368 +#: src/language/data-io/get-data.c:357 #, c-format msgid "%s is allowed only with %s arrangement, but %s arrangement was stated or implied earlier in this command." msgstr "%s ist nur in Verbindung mit /ARRAGEMENT=%s erlaubt, aber es wurde entweder explizit oder implizit in diesem Befehl an früherer Stelle festegelegt, dass /ARRAGEMENT=%s sein soll." -#: src/language/data-io/get-data.c:452 src/language/data-io/get-data.c:490 +#: src/language/data-io/get-data.c:441 src/language/data-io/get-data.c:479 #, c-format msgid "Value of %s must be 1 or greater." msgstr "Der Wert von %s muss 1 oder mehr betragen." -#: src/language/data-io/get-data.c:515 +#: src/language/data-io/get-data.c:504 msgid "Ignoring obsolete IMPORTCASES subcommand. (N OF CASES or SAMPLE may be used to substitute.)" msgstr "Der Unterbefehl IMPORTCASES wird ignoriert (ersatzweise können Sie die Befehle N OF CASES oder SAMPLE verwenden)." -#: src/language/data-io/get-data.c:562 +#: src/language/data-io/get-data.c:551 msgid "In compatible syntax mode, the QUALIFIER string must contain exactly one character." msgstr "Im Modus Kompatible Syntax muss der String QUALIFIER genau ein Zeichen enthalten." -#: src/language/data-io/get-data.c:594 +#: src/language/data-io/get-data.c:583 #: src/language/data-io/placement-parser.c:406 #, c-format msgid "The record number specified, %ld, is at or before the previous record, %d. Data fields must be listed in order of increasing record number." msgstr "Die angegebene Nummer des Eintrags, %ld, liegt beim oder vor dem vorhergehenden Eintrag, %d. Datenfelder müssen in aufsteigender Reihenfolge aufgelistet werden." -#: src/language/data-io/get-data.c:603 +#: src/language/data-io/get-data.c:592 #, c-format msgid "The record number specified, %ld, exceeds the number of records per case specified on FIXCASE, %d." msgstr "Die angegebene Nummer des Eintrags, %ld, übersteigt die Anzahl der Einträge pro Fall, %d, die mit FIXCASE festgelegt wurde." @@ -5054,6 +5085,27 @@ msgid_plural "Writing %zu records." msgstr[0] "%zu Eintrag wird geschrieben." msgstr[1] "%zu Einträge werden geschrieben." +#: src/language/data-io/matrix-data.c:176 +#, c-format +msgid "There are %d variable declared but the data has at least %d matrix rows." +msgstr "Es wurden %d Variablen spezifiziert, in den Daten sind aber mindestens %d Matrix-Zeilen enthalten." + +#: src/language/data-io/matrix-data.c:484 +msgid "FORMAT = FULL and FORMAT = NODIAGONAL are mutually exclusive." +msgstr "FORMAT = FULL und FORMAT = NODIAGONAL schließen sich gegeseitig aus." + +#: src/language/data-io/matrix-reader.c:98 +#: src/language/data-io/matrix-reader.c:114 +#, c-format +msgid "Matrix dataset lacks a variable called %s." +msgstr "Im Matrix-Datensatz fehlt die Variable %s." + +#: src/language/data-io/matrix-reader.c:105 +#: src/language/data-io/matrix-reader.c:121 +#, c-format +msgid "Matrix dataset variable %s should be of string type." +msgstr "Die Variable %s im Matrix-Datensatz sollte vom Typ String sein." + #: src/language/data-io/save-translate.c:170 #: src/language/data-io/save-translate.c:185 #, c-format @@ -5392,36 +5444,36 @@ msgstr "Anzahl der Warnmeldungen (%d) hat die Grenze (%d) überschritten. Verar msgid "Errors (%d) exceed limit (%d). Syntax processing will be halted." msgstr "Anzahl der Fehler (%d) hat die Grenze (%d) überschritten. Verarbeitung der Syntax wird angehalten." -#: src/libpspp/zip-reader.c:85 +#: src/libpspp/zip-reader.c:86 #, c-format msgid "Unsupported compression type (%d)" msgstr "Komprimierungstyp (%d) wird nicht unterstützt" -#: src/libpspp/zip-reader.c:211 +#: src/libpspp/zip-reader.c:212 #, c-format msgid "Corrupt file at 0x%llx: Expected %; got %" msgstr "Fehlerhafte Datei an der Stelle 0x%llx: erwartet %; gefunden %" -#: src/libpspp/zip-reader.c:335 +#: src/libpspp/zip-reader.c:337 msgid "Cannot find central directory" msgstr "Das Hauptverzeichnis konnte nicht gefunden werden." -#: src/libpspp/zip-reader.c:344 +#: src/libpspp/zip-reader.c:346 #, c-format msgid "Failed to seek to end of central directory record: %s" msgstr "Fehler bei der Suche nach dem Ende des Hauptverzeichnis-Eintrags: %s" -#: src/libpspp/zip-reader.c:370 +#: src/libpspp/zip-reader.c:372 #, c-format msgid "Failed to seek to central directory: %s" msgstr "Fehler bei der Suche nach dem Hauptverzeichnis: %s" -#: src/libpspp/zip-reader.c:425 +#: src/libpspp/zip-reader.c:427 #, c-format msgid "Failed to seek to start of member `%s': %s" msgstr "Fehler bei der Suche des Anfangs des Elements `%s': %s" -#: src/libpspp/zip-reader.c:456 +#: src/libpspp/zip-reader.c:458 #, c-format msgid "Name mismatch in zip archive. Central directory says `%s'; local file header says `%s'" msgstr "Diskrepanz zwischen den Namen im Zip-Archiv. Das Hauptverzeichnis besagt `%s'; der lokale Dateikopf besagt `%s'" @@ -5574,11 +5626,6 @@ msgstr "Unbekannter Papiertyp `%.*s'" msgid "error opening input file `%s'" msgstr "Fehler beim Öffnen der Eingabedatei `%s'" -#: src/output/measure.c:262 -#, c-format -msgid "error reading file `%s'" -msgstr "Fehler beim Lesen der Datei `%s'" - #: src/output/measure.c:279 #, c-format msgid "file `%s' does not state a paper size" @@ -5672,7 +5719,7 @@ msgstr "Das angegebene Seitenformat ist nicht groß genug um in der Standardschr msgid "error drawing output for %s driver: %s" msgstr "Fehler beim Zeichnen der Ausgabe für den Treiber %s: %s" -#: src/output/cairo.c:1468 +#: src/output/cairo.c:1469 #, c-format msgid "error writing output file `%s': %s" msgstr "Fehler beim Schreiben der Ausgabedatei `%s': %s" @@ -5784,7 +5831,7 @@ msgstr "%s: die Ausgabeoption `=' fehlt" msgid "%s: output option specified more than once" msgstr "%s: die Ausgabeoption wurde mehr als einmal angegeben" -#: src/ui/terminal/terminal-opts.c:173 +#: src/ui/terminal/terminal-opts.c:172 #, c-format msgid "" "PSPP, a program for statistical analysis of sampled data.\n" @@ -5857,11 +5904,6 @@ msgstr "" "\n" "Argumente ohne Optionen werden als Syntaxdateien interpretiert und ausgeführt.\n" -#: src/ui/terminal/terminal.c:62 -#, c-format -msgid "could not access definition for terminal `%s'" -msgstr "Auf die Eigenschaften des Terminals `%s' konnte nicht zugegriffen werden." - #: src/ui/gui/psppire-import-assistant.c:535 #, c-format msgid "Could not open `%s'" @@ -5891,8 +5933,8 @@ msgid "Importing Spreadsheet Data" msgstr "Einlesen von Tabellendokumenten" #: src/ui/gui/psppire-import-assistant.c:853 -#: src/ui/gui/psppire-data-window.c:512 src/ui/gui/psppire-syntax-window.c:581 -#: src/ui/gui/psppire-window.c:684 +#: src/ui/gui/psppire-data-window.c:555 src/ui/gui/psppire-syntax-window.c:572 +#: src/ui/gui/psppire-window.c:683 msgid "All Files" msgstr "Alle Dateien" @@ -5997,15 +6039,15 @@ msgstr "Der Feldinhalt `%.*s' kann nicht als Format %s geparst werden: %s" msgid "This input line has too few separators to fill in this field." msgstr "Diese Datenzeile besitzt zu wenig Trennzeichen um dieses Feld zu füllen." -#: src/ui/gui/psppire-import-assistant.c:1881 +#: src/ui/gui/psppire-import-assistant.c:1887 msgid "Choose Separators" msgstr "Trennzeichen auswählen" -#: src/ui/gui/psppire-import-assistant.c:2106 +#: src/ui/gui/psppire-import-assistant.c:2112 msgid "An error occurred reading the spreadsheet file." msgstr "Beim Schreiben des Tabellendokuments ist ein Fehler aufgetreten." -#: src/ui/gui/psppire-import-assistant.c:2161 +#: src/ui/gui/psppire-import-assistant.c:2167 msgid "Adjust Variable Formats" msgstr "Einstellen des Variablenformates" @@ -6031,85 +6073,39 @@ msgstr "" "Olaf Nöhring\n" "Bob Earl" -#: src/ui/gui/help-menu.c:173 +#: src/ui/gui/help-menu.c:174 #, c-format msgid "Help path conversion error: %s" msgstr "Fehler bei der Konvertierung des Hilfe-Pfades: %s" -#: src/ui/gui/help-menu.c:202 +#: src/ui/gui/help-menu.c:203 #, c-format msgid "Cannot open reference manual via yelp: %s. Cannot open via html: %s with uri: %s The PSSP manual is also available at %s" msgstr "Das Referenzhandbuch kann nicht mit yelp geöffnet werden: %s. Das Handbuch kann auch nicht als html geöffnet werden: %s mit URI: %s Das PSPP Benutzerhandbuch ist auch unter %s verfügbar" -#: src/ui/gui/help-menu.c:227 +#: src/ui/gui/help-menu.c:228 msgid "_Help" msgstr "_Hilfe" -#: src/ui/gui/help-menu.c:230 +#: src/ui/gui/help-menu.c:231 msgid "_About" msgstr "_Über" -#: src/ui/gui/help-menu.c:231 +#: src/ui/gui/help-menu.c:232 msgid "_Reference Manual" msgstr "_Handbuch inkl. Befehlsreferenz" -#: src/ui/gui/main.c:96 -#, c-format -msgid "" -"PSPPIRE, a GUI for PSPP, a program for statistical analysis of sampled data.\n" -"Usage: %s [OPTION]... FILE\n" -"\n" -"Arguments to long options also apply to equivalent short options.\n" -"\n" -"GUI options:\n" -" -q, --no-splash don't show splash screen during startup\n" -"\n" -"%sLanguage options:\n" -" -I, --include=DIR append DIR to search path\n" -" -I-, --no-include clear search path\n" -" -a, --algorithm={compatible|enhanced}\n" -" set to `compatible' if you want output\n" -" calculated from broken algorithms\n" -" -x, --syntax={compatible|enhanced}\n" -" set to `compatible' to disable PSPP extensions\n" -" -i, --interactive interpret syntax in interactive mode\n" -" -s, --safer don't allow some unsafe operations\n" -"Default search path: %s\n" -"\n" -"Informative output:\n" -" -h, --help display this help and exit\n" -" -V, --version output version information and exit\n" -"\n" -"A non-option argument is interpreted as a data file in .sav or .zsav or .por\n" -"format or a syntax file to load.\n" -msgstr "" -"PSPPIRE, eine grafische Oberfläche für PSPP, ein Programm zur statistischen Analyse von Stichprobendaten.\n" -"Befehl: %s [OPTION]... DATEI\n" -"\n" -"Die gezeigten Argumente für die Langform der Optionen finden auch in der entsprechenden Kurzform der Optionen Anwendung.\n" -"\n" -"GUI Optionen:\n" -" -q, --no-splash Begrüßungsbildschirm soll beim Start nicht gezeigt werden\n" -"\n" -"%sSprachoptionen:\n" -" -I, --include=VERZEICHNIS füge das VERZEICHNIS dem Suchpfad hinzu\n" -" -I-, --no-include Löschung des Suchpfads\n" -" -a, --algorithm={compatible|enhanced}\n" -" auf `compatible' setzen, um auch von fehlerhaften\n" -" Algorithmen Ausgaben erzeugen zu lassen\n" -" -x, --syntax={compatible|enhanced}\n" -" auf `compatible' setzen, um PSPP-Erweiterungen auszuschalten\n" -" -i, --interactive interpretiere die Syntax im interaktiven Modus\n" -" --syntax-encoding=KODIERUNG legt die Kodierung der Syntaxdatei fest\n" -" -s, --safer unterbindet unsichere Operationen\n" -"Voreigestellter Suchpfad: %s\n" -"\n" -"Information:\n" -" -h, --help Anzeige dieses Hilfetextes\n" -" -V, --version Anzeige der Versionsinformationen\n" -"\n" -"Ein Argument ohne Optionen wird als Datendatei im .sav oder .zsav Format interpretiert\n" -"oder als Syntaxdatei, die ausgeführt wird.\n" +#: src/ui/gui/main.c:271 +msgid "Show version information and exit" +msgstr "Zeige die Versionsinformation und beende die Anwendung" + +#: src/ui/gui/main.c:295 +msgid "Do not display the splash screen" +msgstr "Zeige den Startbildschirm nicht an" + +#: src/ui/gui/main.c:297 +msgid "Do not attempt single instance negotiation" +msgstr "Versuche keine Aushandlung einer Single Instance" #: src/ui/gui/missing-val-dialog.c:214 msgid "The maximum length of a missing value for a string variable is 8 in UTF-8." @@ -6123,33 +6119,25 @@ msgstr "Es muss mindestens ein Wert angegeben werden." msgid "Incorrect range specification" msgstr "Ungültige Bereichsspezifikation" -#: src/ui/gui/psppire.c:316 -msgid "_Reset" -msgstr "_Zurücksetzen" - -#: src/ui/gui/psppire.c:317 -msgid "_Select" -msgstr "A_swählen" - -#: src/ui/gui/psppire-data-editor.c:437 +#: src/ui/gui/psppire-data-editor.c:417 #, c-format msgid "%'d case" msgid_plural "%'d cases" msgstr[0] "%'d Fall" msgstr[1] "%'d Fälle" -#: src/ui/gui/psppire-data-editor.c:442 +#: src/ui/gui/psppire-data-editor.c:422 #, c-format msgid "%'d variable" msgid_plural "%'d variables" msgstr[0] "%'d Variable" msgstr[1] "%'d Variablen" -#: src/ui/gui/psppire-data-editor.c:733 +#: src/ui/gui/psppire-data-editor.c:715 msgid "Data View" msgstr "Datenansicht" -#: src/ui/gui/psppire-data-editor.c:746 +#: src/ui/gui/psppire-data-editor.c:728 msgid "Variable View" msgstr "Variablenansicht" @@ -6165,103 +6153,258 @@ msgstr "Geben Sie eine Zahl ein, um einen neuen Fall hinzuzufügen." msgid "Case" msgstr "Fall" -#: src/ui/gui/psppire-data-store.c:550 -msgid "var" -msgstr "var" +#: src/ui/gui/psppire-data-sheet.c:1662 src/ui/gui/psppire-data-window.c:1303 +msgid "_Insert Case" +msgstr "_Fall einfügen" -#: src/ui/gui/psppire-data-window.c:169 +#: src/ui/gui/psppire-data-sheet.c:1663 src/ui/gui/psppire-data-window.c:1351 +msgid "Cl_ear Cases" +msgstr "Fälle lös_chen" + +#: src/ui/gui/psppire-data-sheet.c:1678 src/ui/gui/psppire-data-window.c:1302 +#: src/ui/gui/psppire-var-sheet.c:944 +msgid "_Insert Variable" +msgstr "Variable _einfügen" + +#: src/ui/gui/psppire-data-sheet.c:1679 src/ui/gui/psppire-var-sheet.c:945 +msgid "Cl_ear Variables" +msgstr "Variabl_e löschen" + +#: src/ui/gui/psppire-data-sheet.c:1680 +msgid "Sort _Ascending" +msgstr "_Aufsteigend" + +#: src/ui/gui/psppire-data-sheet.c:1681 +msgid "Sort _Descending" +msgstr "A_bsteigend" + +#: src/ui/gui/psppire-data-window.c:212 msgid "Transformations Pending" msgstr "Offene Transformationen werden ausgeführt" -#: src/ui/gui/psppire-data-window.c:185 +#: src/ui/gui/psppire-data-window.c:228 msgid "Filter off" msgstr "Keine Auswahl" -#: src/ui/gui/psppire-data-window.c:197 +#: src/ui/gui/psppire-data-window.c:240 #, c-format msgid "Filter by %s" msgstr "Ausgewählt nach %s" -#: src/ui/gui/psppire-data-window.c:218 +#: src/ui/gui/psppire-data-window.c:261 msgid "No Split" msgstr "Keine Aufteilung" -#: src/ui/gui/psppire-data-window.c:227 +#: src/ui/gui/psppire-data-window.c:270 msgid "Split by " msgstr "Aufgeteilt nach" -#: src/ui/gui/psppire-data-window.c:255 +#: src/ui/gui/psppire-data-window.c:298 msgid "Weights off" msgstr "Keine Gewichtung" -#: src/ui/gui/psppire-data-window.c:267 +#: src/ui/gui/psppire-data-window.c:310 #, c-format msgid "Weight by %s" msgstr "Gewichtet nach %s" -#: src/ui/gui/psppire-data-window.c:487 src/ui/gui/psppire-data-window.c:491 +#: src/ui/gui/psppire-data-window.c:530 src/ui/gui/psppire-data-window.c:534 #: src/ui/gui/psppire-dialog-action-aggregate.c:217 -#: src/ui/gui/psppire-output-window.c:357 -#: src/ui/gui/psppire-syntax-window.c:569 src/ui/gui/psppire-window.c:477 +#: src/ui/gui/psppire-output-window.c:382 +#: src/ui/gui/psppire-syntax-window.c:560 src/ui/gui/psppire-window.c:476 #: src/ui/gui/aggregate.ui:549 msgid "Save" msgstr "Speichern" -#: src/ui/gui/psppire-data-window.c:497 +#: src/ui/gui/psppire-data-window.c:540 #: src/ui/gui/psppire-dialog-action-aggregate.c:226 msgid "System Files (*.sav)" msgstr "PSPP Systemdateien (*.sav)" -#: src/ui/gui/psppire-data-window.c:502 +#: src/ui/gui/psppire-data-window.c:545 #: src/ui/gui/psppire-dialog-action-aggregate.c:231 msgid "Compressed System Files (*.zsav)" msgstr "Komprimierte PSPP Systemdateien (*.zsav)" -#: src/ui/gui/psppire-data-window.c:507 +#: src/ui/gui/psppire-data-window.c:550 #: src/ui/gui/psppire-dialog-action-aggregate.c:236 -#: src/ui/gui/psppire-window.c:673 +#: src/ui/gui/psppire-window.c:672 msgid "Portable Files (*.por) " msgstr "Portable Dateien (*.por) " -#: src/ui/gui/psppire-data-window.c:529 +#: src/ui/gui/psppire-data-window.c:572 msgid "System File" msgstr "PSPP Systemdatei" -#: src/ui/gui/psppire-data-window.c:536 +#: src/ui/gui/psppire-data-window.c:579 msgid "Compressed System File" msgstr "Komprimierte PSPP Systemdatei" -#: src/ui/gui/psppire-data-window.c:542 +#: src/ui/gui/psppire-data-window.c:585 msgid "Portable File" msgstr "Portable Datei" -#: src/ui/gui/psppire-data-window.c:545 +#: src/ui/gui/psppire-data-window.c:588 msgid "Format:" msgstr "Format:" -#: src/ui/gui/psppire-data-window.c:609 +#: src/ui/gui/psppire-data-window.c:652 msgid "Delete Existing Dataset?" msgstr "Vorhandenes Datenblatt löschen?" -#: src/ui/gui/psppire-data-window.c:613 +#: src/ui/gui/psppire-data-window.c:656 #, c-format msgid "Renaming \"%s\" to \"%s\" will destroy the existing dataset named \"%s\". Are you sure that you want to do this?" msgstr "Umbenennen von \"%s\" nach \"%s\" löscht das vorhandene Datenblatt \"%s\". Sind Sie sicher, dass Sie das tun wollen?" -#: src/ui/gui/psppire-data-window.c:619 +#: src/ui/gui/psppire-data-window.c:662 msgid "Delete" msgstr "Löschen" -#: src/ui/gui/psppire-data-window.c:641 +#: src/ui/gui/psppire-data-window.c:684 #, c-format msgid "Please enter a new name for dataset \"%s\":" msgstr "Geben sie einen neuen Namen für das Datenblatt \"%s\" ein:" -#: src/ui/gui/psppire-data-window.c:643 +#: src/ui/gui/psppire-data-window.c:686 msgid "Rename Dataset" msgstr "Datenblatt umbenennen" -#: src/ui/gui/psppire-data-window.c:1301 +#: src/ui/gui/psppire-data-window.c:1165 src/ui/gui/output-window.ui:52 +#: src/ui/gui/syntax-editor.ui:6 +msgid "_File" +msgstr "_Datei" + +#: src/ui/gui/psppire-data-window.c:1169 src/ui/gui/syntax-editor.ui:9 +msgid "_New" +msgstr "_Neu" + +#: src/ui/gui/psppire-data-window.c:1176 +msgid "_Syntax" +msgstr "_Syntax" + +#: src/ui/gui/psppire-data-window.c:1179 src/ui/gui/data-editor.ui:161 +#: src/ui/gui/data-editor.ui:173 +msgid "_Data" +msgstr "_Daten" + +#: src/ui/gui/psppire-data-window.c:1186 src/ui/gui/syntax-editor.ui:20 +msgid "_Open" +msgstr "_Öffnen" + +#: src/ui/gui/psppire-data-window.c:1189 +msgid "_Import Data..." +msgstr "Daten _importieren..." + +#: src/ui/gui/psppire-data-window.c:1197 src/ui/gui/logistic.ui:244 +#: src/ui/gui/regression.ui:50 +msgid "_Save..." +msgstr "Speichern..." + +#: src/ui/gui/psppire-data-window.c:1200 +msgid "Save _As..." +msgstr "Speichern _unter..." + +#: src/ui/gui/psppire-data-window.c:1203 +msgid "_Rename Dataset..." +msgstr "_Datenblatt umbenennen..." + +#: src/ui/gui/psppire-data-window.c:1214 +msgid "_Display Data File Information" +msgstr "_Informationen zur Arbeitsdatei anzeigen" + +#: src/ui/gui/psppire-data-window.c:1221 +msgid "Working File" +msgstr "Arbeitsdatei" + +#: src/ui/gui/psppire-data-window.c:1223 +msgid "_External File..." +msgstr "_Externe Datei..." + +#: src/ui/gui/psppire-data-window.c:1233 +msgid "_Recently Used Data" +msgstr "_Zuletzt verwendete Daten" + +#: src/ui/gui/psppire-data-window.c:1234 +msgid "Recently Used _Files" +msgstr "Z_uletzt verwendete Dateien" + +#: src/ui/gui/psppire-data-window.c:1281 src/ui/gui/output-window.ui:66 +#: src/ui/gui/syntax-editor.ui:43 +msgid "_Quit" +msgstr "_Beenden" + +#: src/ui/gui/psppire-data-window.c:1298 src/ui/gui/output-window.ui:73 +#: src/ui/gui/syntax-editor.ui:50 +msgid "_Edit" +msgstr "_Bearbeiten" + +#: src/ui/gui/psppire-data-window.c:1304 +msgid "_Go To Variable..." +msgstr "_Gehe zu Variable..." + +#: src/ui/gui/psppire-data-window.c:1305 +msgid "_Go To Case..." +msgstr "Gehe zu _Fall..." + +#: src/ui/gui/psppire-data-window.c:1327 src/ui/gui/syntax-editor.ui:53 +msgid "Cu_t" +msgstr "_Schnittpunkt" + +#: src/ui/gui/psppire-data-window.c:1335 src/ui/gui/output-window.ui:80 +#: src/ui/gui/syntax-editor.ui:58 +msgid "_Copy" +msgstr "_Kopieren" + +#: src/ui/gui/psppire-data-window.c:1341 src/ui/gui/syntax-editor.ui:63 +msgid "_Paste" +msgstr "_Einfügen" + +#: src/ui/gui/psppire-data-window.c:1347 +msgid "Clear _Variables" +msgstr "Variabl_e löschen" + +#: src/ui/gui/psppire-data-window.c:1360 +msgid "_Find..." +msgstr "_Suchen..." + +#: src/ui/gui/psppire-data-window.c:1366 src/ui/gui/logistic.ui:229 +msgid "_Options..." +msgstr "_Optionen..." + +#: src/ui/gui/psppire-data-window.c:1644 +msgid "Jump to variable" +msgstr "Zu Variable springen" + +#: src/ui/gui/psppire-data-window.c:1657 +msgid "Jump to a case in the data sheet" +msgstr "Gehe zu Fall" + +#: src/ui/gui/psppire-data-window.c:1671 +msgid "Search for values in the data" +msgstr "Suche nach Werten im Datensatz" + +#: src/ui/gui/psppire-data-window.c:1683 +msgid "Create a new case at the current position" +msgstr "An der aktuellen Stelle einen neuen Fall einfügen" + +#: src/ui/gui/psppire-data-window.c:1695 +msgid "Create a new variable at the current position" +msgstr "An der aktuellen Stelle eine neue Variable einfügen" + +#: src/ui/gui/psppire-data-window.c:1709 +msgid "Split the active dataset" +msgstr "Datei aufteilen" + +#: src/ui/gui/psppire-data-window.c:1721 +msgid "Weight cases by variable" +msgstr "Fälle anhand einer Variable gewichten" + +#: src/ui/gui/psppire-data-window.c:1732 +msgid "Show/hide value labels" +msgstr "Ein- / Ausblenden der Wertelabels" + +#: src/ui/gui/psppire-data-window.c:1875 msgid "Data Editor" msgstr "Dateneditor" @@ -6270,13 +6413,13 @@ msgid "Aggregate destination file" msgstr "Zusammenführende Zieldatei" #: src/ui/gui/psppire-dialog-action-autorecode.c:343 -#: src/ui/gui/psppire-dialog-action-recode.c:536 +#: src/ui/gui/psppire-dialog-action-recode.c:528 #: src/ui/gui/psppire-dialog-action-recode-different.c:286 msgid "New" msgstr "Neu" #: src/ui/gui/psppire-dialog-action-autorecode.c:357 -#: src/ui/gui/psppire-dialog-action-recode.c:528 +#: src/ui/gui/psppire-dialog-action-recode.c:520 #: src/ui/gui/psppire-dialog-action-recode-different.c:299 msgid "Old" msgstr "Alt" @@ -6385,7 +6528,7 @@ msgid "Contrast %d of %d" msgstr "Kontraste %d von %d" #: src/ui/gui/psppire-dialog-action-paired.c:167 src/ui/gui/examine.ui:266 -#: src/ui/gui/indep-samples.ui:315 src/ui/gui/t-test.ui:276 +#: src/ui/gui/indep-samples.ui:318 src/ui/gui/t-test.ui:280 msgid "O_ptions..." msgstr "_Optionen..." @@ -6393,7 +6536,7 @@ msgstr "_Optionen..." msgid "Paired Samples T Test" msgstr "T-Test bei gepaarten Stichproben" -#: src/ui/gui/psppire-dialog-action-recode-same.c:108 src/ui/gui/recode.ui:373 +#: src/ui/gui/psppire-dialog-action-recode-same.c:108 src/ui/gui/recode.ui:374 msgid "Recode into Same Variables" msgstr "Umkodieren in dieselbe Variable " @@ -6461,7 +6604,7 @@ msgid "%d thru %d" msgstr "%d bis %d" #: src/ui/gui/psppire-dialog-action-two-sample.c:186 -#: src/ui/gui/k-related.ui:181 +#: src/ui/gui/k-independent.ui:387 src/ui/gui/k-related.ui:180 msgid "Test Type" msgstr "Testtyp" @@ -6532,51 +6675,51 @@ msgstr "Weiter" msgid "Back" msgstr "Zurück" -#: src/ui/gui/psppire-output-view.c:354 +#: src/ui/gui/psppire-output-view.c:366 msgid "Message" msgstr "Nachricht" -#: src/ui/gui/psppire-output-view.c:476 +#: src/ui/gui/psppire-output-view.c:488 msgid "failed to create temporary directory during clipboard operation" msgstr "Erstellung eines temporären Verzeichnisses während einer Operation der Zwischenablage fehlgeschlagen" -#: src/ui/gui/psppire-output-window.c:245 +#: src/ui/gui/psppire-output-window.c:270 msgid "Infer file type from extension" msgstr "Dateityp aus Dateiendung bestimmen" -#: src/ui/gui/psppire-output-window.c:246 +#: src/ui/gui/psppire-output-window.c:271 msgid "PDF (*.pdf)" msgstr "PDF (*.pdf)" -#: src/ui/gui/psppire-output-window.c:247 +#: src/ui/gui/psppire-output-window.c:272 msgid "HTML (*.html)" msgstr "HTML (*.html)" -#: src/ui/gui/psppire-output-window.c:248 +#: src/ui/gui/psppire-output-window.c:273 msgid "OpenDocument (*.odt)" msgstr "OpenDocument (*.odt)" -#: src/ui/gui/psppire-output-window.c:249 +#: src/ui/gui/psppire-output-window.c:274 msgid "Text (*.txt)" msgstr "Text (*.txt)" -#: src/ui/gui/psppire-output-window.c:250 +#: src/ui/gui/psppire-output-window.c:275 msgid "Text [plain] (*.txt)" msgstr "Text [ohne Formatierung] (*.txt)" -#: src/ui/gui/psppire-output-window.c:251 +#: src/ui/gui/psppire-output-window.c:276 msgid "PostScript (*.ps)" msgstr "PostScript (*.ps)" -#: src/ui/gui/psppire-output-window.c:252 +#: src/ui/gui/psppire-output-window.c:277 msgid "Comma-Separated Values (*.csv)" msgstr "CSV Datei (*.csv)" -#: src/ui/gui/psppire-output-window.c:353 +#: src/ui/gui/psppire-output-window.c:378 msgid "Export Output" msgstr "Ausgabe exportieren" -#: src/ui/gui/psppire-output-window.c:527 +#: src/ui/gui/psppire-output-window.c:582 msgid "Output Viewer" msgstr "Ausgabeanzeige" @@ -6584,24 +6727,24 @@ msgstr "Ausgabeanzeige" msgid "(empty)" msgstr "(leer)" -#: src/ui/gui/psppire-syntax-window.c:544 +#: src/ui/gui/psppire-syntax-window.c:535 #, c-format msgid "Saved file `%s'" msgstr "Gepeicherte Datei `%s'" -#: src/ui/gui/psppire-syntax-window.c:565 +#: src/ui/gui/psppire-syntax-window.c:556 msgid "Save Syntax" msgstr "Syntax speichern" -#: src/ui/gui/psppire-syntax-window.c:575 src/ui/gui/psppire-window.c:678 +#: src/ui/gui/psppire-syntax-window.c:566 src/ui/gui/psppire-window.c:677 msgid "Syntax Files (*.sps) " msgstr "Syntax Dateien (*.sps) " -#: src/ui/gui/psppire-syntax-window.c:879 +#: src/ui/gui/psppire-syntax-window.c:929 msgid "Syntax Editor" msgstr "Syntax Editor" -#: src/ui/gui/psppire-syntax-window.c:894 +#: src/ui/gui/psppire-syntax-window.c:949 #, c-format msgid "Cannot load syntax file `%s'" msgstr "Die Syntax-Datei `%s' kann nicht geladen werden" @@ -6638,63 +6781,63 @@ msgstr "Geben Sie einen Variablennamen ein, um eine neue Variable hinzuzufügen" msgid "{%s, %s}\n" msgstr "{%s,%s}\n" -#: src/ui/gui/psppire-var-sheet.c:1374 src/language/stats/crosstabs.q:1390 +#: src/ui/gui/psppire-var-sheet.c:1365 src/language/stats/crosstabs.q:1390 #: src/ui/gui/compute.ui:287 msgid "Type" msgstr "Typ" -#: src/ui/gui/psppire-var-sheet.c:1377 src/ui/gui/compute.ui:199 +#: src/ui/gui/psppire-var-sheet.c:1368 src/ui/gui/compute.ui:199 msgid "Width" msgstr "Spaltenbreite" -#: src/ui/gui/psppire-var-sheet.c:1379 +#: src/ui/gui/psppire-var-sheet.c:1370 msgid "Decimals" msgstr "Dezimalstellen" -#: src/ui/gui/psppire-var-sheet.c:1383 src/ui/gui/val-labs-dialog.ui:178 +#: src/ui/gui/psppire-var-sheet.c:1374 src/ui/gui/val-labs-dialog.ui:178 msgid "Value Labels" msgstr "Wertelabels" -#: src/ui/gui/psppire-var-sheet.c:1386 src/ui/gui/examine.ui:398 -#: src/ui/gui/t-test.ui:88 +#: src/ui/gui/psppire-var-sheet.c:1377 src/ui/gui/examine.ui:399 +#: src/ui/gui/t-test.ui:89 msgid "Missing Values" msgstr "Fehlende Werte" -#: src/ui/gui/psppire-var-sheet.c:1391 +#: src/ui/gui/psppire-var-sheet.c:1382 msgid "Align" msgstr "Ausrichtung" -#: src/ui/gui/psppire-var-sheet.c:1397 +#: src/ui/gui/psppire-var-sheet.c:1388 msgid "Measure" msgstr "Messniveau" -#: src/ui/gui/psppire-var-sheet.c:1403 +#: src/ui/gui/psppire-var-sheet.c:1394 msgid "Role" msgstr "Rolle" -#: src/ui/gui/psppire-window.c:458 +#: src/ui/gui/psppire-window.c:457 #, c-format msgid "Save the changes to `%s' before closing?" msgstr "Änderungen an `%s' vor dem Schließen speichern?" -#: src/ui/gui/psppire-window.c:465 +#: src/ui/gui/psppire-window.c:464 #, c-format msgid "If you don't save, changes from the last %ld seconds will be permanently lost." msgstr "Falls Sie nicht speichern, gehen die Änderungen der letzten %ld Sekunden dauerhaft verloren." -#: src/ui/gui/psppire-window.c:469 +#: src/ui/gui/psppire-window.c:468 msgid "Close _without saving" msgstr "Schließen _ohne Speichern" -#: src/ui/gui/psppire-window.c:649 src/ui/gui/psppire-window.c:653 +#: src/ui/gui/psppire-window.c:648 src/ui/gui/psppire-window.c:652 msgid "Open" msgstr "Öffnen" -#: src/ui/gui/psppire-window.c:658 +#: src/ui/gui/psppire-window.c:657 msgid "Data and Syntax Files" msgstr "Daten- und Syntaxdateien" -#: src/ui/gui/psppire-window.c:667 +#: src/ui/gui/psppire-window.c:666 msgid "System Files (*.sav, *.zsav)" msgstr "PSPP Systemdateien (*.sav, *.zsav)" @@ -6703,7 +6846,7 @@ msgstr "PSPP Systemdateien (*.sav, *.zsav)" msgid "Con_fidence Interval: %2d %%" msgstr "_Konfidenzintervall: %2d %%" -#: src/ui/gui/val-labs-dialog.c:573 +#: src/ui/gui/val-labs-dialog.c:575 #, c-format msgid "%s = `%s'" msgstr "%s = `%s'" @@ -7176,11 +7319,11 @@ msgstr "_Leere Strings als benutzerdefiniert fehlend markieren" msgid "_Test Variable List:" msgstr "Test_variablen:" -#: src/ui/gui/binomial.ui:144 src/ui/gui/chi-square.ui:266 +#: src/ui/gui/binomial.ui:144 src/ui/gui/chi-square.ui:265 msgid "_Get from data" msgstr "Aus _den Daten ermitteln" -#: src/ui/gui/binomial.ui:165 src/ui/gui/indep-samples.ui:133 +#: src/ui/gui/binomial.ui:165 src/ui/gui/indep-samples.ui:134 msgid "_Cut point:" msgstr "_Trennwert:" @@ -7212,31 +7355,31 @@ msgstr "_String" msgid "_Numeric" msgstr "_Numerisch" -#: src/ui/gui/compute.ui:326 +#: src/ui/gui/compute.ui:327 msgid "Compute Variable" msgstr "Variable berechnen" -#: src/ui/gui/compute.ui:364 +#: src/ui/gui/compute.ui:365 msgid "Target _Variable:" msgstr "Ziel_variable:" -#: src/ui/gui/compute.ui:395 +#: src/ui/gui/compute.ui:396 msgid "_Type & Label..." -msgstr "Typ & _Label ..." +msgstr "Typ & _Label..." -#: src/ui/gui/compute.ui:452 +#: src/ui/gui/compute.ui:453 msgid "=" msgstr "=" -#: src/ui/gui/compute.ui:509 +#: src/ui/gui/compute.ui:510 msgid "_Numeric Expressions:" msgstr "Numerischer _Ausdruck:" -#: src/ui/gui/compute.ui:581 +#: src/ui/gui/compute.ui:582 msgid "_Functions:" msgstr "_Funktionen:" -#: src/ui/gui/compute.ui:661 +#: src/ui/gui/compute.ui:662 msgid "_If..." msgstr "F_alls..." @@ -7284,35 +7427,35 @@ msgstr "Kategorien-C_luster:" msgid "Bivariate Correlations" msgstr "Bivariate Korrelationen" -#: src/ui/gui/correlation.ui:133 +#: src/ui/gui/correlation.ui:132 msgid "Pearso_n" msgstr "_Pearson" -#: src/ui/gui/correlation.ui:149 +#: src/ui/gui/correlation.ui:148 msgid "_Kendall's tau-b" msgstr "_Kendalls Tau b" -#: src/ui/gui/correlation.ui:165 +#: src/ui/gui/correlation.ui:164 msgid "_Spearman" msgstr "_Spearman" -#: src/ui/gui/correlation.ui:185 +#: src/ui/gui/correlation.ui:184 msgid "Correlation Coefficients" msgstr "Korrelationskoeffizienten" -#: src/ui/gui/correlation.ui:209 +#: src/ui/gui/correlation.ui:208 msgid "_Two-tailed" msgstr "Z_weiseitig" -#: src/ui/gui/correlation.ui:226 +#: src/ui/gui/correlation.ui:225 msgid "One-tai_led" msgstr "E_inseitig" -#: src/ui/gui/correlation.ui:247 +#: src/ui/gui/correlation.ui:246 msgid "Test of Significance" msgstr "Signifikanztest" -#: src/ui/gui/correlation.ui:260 +#: src/ui/gui/correlation.ui:259 msgid "_Flag significant correlations" msgstr "Signifi_kante Korrelationen markieren" @@ -7320,19 +7463,19 @@ msgstr "Signifi_kante Korrelationen markieren" msgid "Count Occurrences of Values within Cases" msgstr "Häufigkeiten von Werten in den Fällen zählen" -#: src/ui/gui/count.ui:102 +#: src/ui/gui/count.ui:101 msgid "Numeric _Variables:" msgstr "_Numerische Variablen:" -#: src/ui/gui/count.ui:132 +#: src/ui/gui/count.ui:131 msgid "_Target Variable:" msgstr "_Zielvariable:" -#: src/ui/gui/count.ui:163 +#: src/ui/gui/count.ui:162 msgid "Target _Label:" msgstr "Ziel_label:" -#: src/ui/gui/count.ui:177 +#: src/ui/gui/count.ui:176 msgid "_Define Values..." msgstr "_Werte definieren..." @@ -7352,11 +7495,11 @@ msgstr "Datendateikommentare" msgid "Comments:" msgstr "Kommentare" -#: src/ui/gui/comments.ui:89 +#: src/ui/gui/comments.ui:90 msgid "Display comments in output" msgstr "Kommentare in der Ausgabe anzeigen" -#: src/ui/gui/comments.ui:110 +#: src/ui/gui/comments.ui:111 msgid "Column Number: 0" msgstr "Spaltennummer: 0" @@ -7368,15 +7511,15 @@ msgstr "Kreuztabellen: Zellen anzeigen" msgid "Cell Display" msgstr "Anzeige in den Zellen" -#: src/ui/gui/crosstabs.ui:81 +#: src/ui/gui/crosstabs.ui:82 msgid "Crosstabs" msgstr "Kreuztabellen" -#: src/ui/gui/crosstabs.ui:132 +#: src/ui/gui/crosstabs.ui:133 msgid "_Rows" msgstr "_Reihen" -#: src/ui/gui/crosstabs.ui:177 +#: src/ui/gui/crosstabs.ui:178 msgid "_Columns" msgstr "S_palten" @@ -7392,27 +7535,27 @@ msgstr "_Statistiken..." msgid "Ce_lls..." msgstr "_Zellen..." -#: src/ui/gui/crosstabs.ui:330 +#: src/ui/gui/crosstabs.ui:331 msgid "Crosstabs: Format" msgstr "Kreuztabellen: Format" -#: src/ui/gui/crosstabs.ui:352 +#: src/ui/gui/crosstabs.ui:353 msgid "Print tables" msgstr "Tabellen ausgeben" -#: src/ui/gui/crosstabs.ui:368 +#: src/ui/gui/crosstabs.ui:369 msgid "Pivot" msgstr "Pivottabelle" -#: src/ui/gui/crosstabs.ui:384 src/ui/gui/sort.ui:141 +#: src/ui/gui/crosstabs.ui:385 src/ui/gui/sort.ui:141 msgid "Ascending" msgstr "Aufsteigend" -#: src/ui/gui/crosstabs.ui:435 +#: src/ui/gui/crosstabs.ui:437 msgid "Crosstabs: Statistics" msgstr "Kreuztabellen: Statistiken" -#: src/ui/gui/crosstabs.ui:478 src/ui/gui/oneway.ui:451 +#: src/ui/gui/crosstabs.ui:480 src/ui/gui/oneway.ui:452 msgid "Statistics" msgstr "Statistiken" @@ -7436,111 +7579,44 @@ msgstr "Erwartete Werte:" msgid "Test _Variables" msgstr "_Testvariablen:" -#: src/ui/gui/chi-square.ui:283 +#: src/ui/gui/chi-square.ui:282 msgid "Use _specified range" msgstr "_Angegebenen Bereich verwenden" -#: src/ui/gui/chi-square.ui:308 +#: src/ui/gui/chi-square.ui:307 msgid "_Lower:" msgstr "_Minimum:" -#: src/ui/gui/chi-square.ui:322 +#: src/ui/gui/chi-square.ui:321 msgid "_Upper:" msgstr "Ma_ximum:" -#: src/ui/gui/chi-square.ui:366 +#: src/ui/gui/chi-square.ui:365 msgid "Expected Range:" msgstr "Erwarteter Bereich:" -#: src/ui/gui/data-sheet.ui:51 src/ui/gui/data-editor.ui:115 -#: src/ui/gui/output-window.ui:30 src/ui/gui/syntax-editor.ui:71 -#: src/ui/gui/var-sheet.ui:35 -msgid "_Edit" -msgstr "_Bearbeiten" - -#: src/ui/gui/data-sheet.ui:57 src/ui/gui/var-sheet.ui:41 -msgid "Insert Variable" -msgstr "Variable einfügen" - -#: src/ui/gui/data-sheet.ui:58 src/ui/gui/var-sheet.ui:42 -msgid "Create a new variable at the current position" -msgstr "An der aktuellen Stelle eine neue Variable einfügen" - -#: src/ui/gui/data-sheet.ui:65 -msgid "Insert Case" -msgstr "_Fall einfügen" - -#: src/ui/gui/data-sheet.ui:66 -msgid "Create a new case at the current position" -msgstr "An der aktuellen Stelle einen neuen Fall einfügen" - -#: src/ui/gui/data-sheet.ui:73 src/ui/gui/var-sheet.ui:49 -msgid "Go To Variable..." -msgstr "_Gehe zu Variable..." - -#: src/ui/gui/data-sheet.ui:74 src/ui/gui/data-editor.ui:530 -#: src/ui/gui/var-sheet.ui:50 -msgid "Jump to variable" -msgstr "Zu Variable springen" - -#: src/ui/gui/data-sheet.ui:80 -msgid "Go To Case..." -msgstr "Gehe zu Fall..." - -#: src/ui/gui/data-sheet.ui:82 -msgid "Jump to a case in the data sheet" -msgstr "Gehe zu Fall" - -#: src/ui/gui/data-sheet.ui:107 src/ui/gui/var-sheet.ui:75 -msgid "Cl_ear Variables" -msgstr "Variabl_e löschen" - -#: src/ui/gui/data-sheet.ui:108 src/ui/gui/var-sheet.ui:76 -msgid "Delete the variables at the selected position(s)" -msgstr "Die ausgewählte(n) Variable(n) löschen" - -#: src/ui/gui/data-sheet.ui:116 -msgid "_Clear Cases" -msgstr "Fälle lös_chen" - -#: src/ui/gui/data-sheet.ui:117 -msgid "Delete the cases at the selected position(s)" -msgstr "Lösche Fälle in den/der ausgewählten Position(en)" - -#: src/ui/gui/data-sheet.ui:124 -msgid "_Find..." -msgstr "_Suchen..." - -#: src/ui/gui/data-sheet.ui:131 -msgid "Sort _Ascending" -msgstr "_Aufsteigend" - -#: src/ui/gui/data-sheet.ui:138 -msgid "Sort _Descending" -msgstr "A_bsteigend" - -#: src/ui/gui/descriptives.ui:116 src/ui/gui/factor.ui:776 -#: src/ui/gui/recode.ui:619 +#: src/ui/gui/descriptives.ui:115 src/ui/gui/factor.ui:779 +#: src/ui/gui/recode.ui:621 msgid "_Variables:" msgstr "_Variablen:" -#: src/ui/gui/descriptives.ui:161 +#: src/ui/gui/descriptives.ui:160 msgid "S_tatistics:" msgstr "_Statistiken:" -#: src/ui/gui/descriptives.ui:215 +#: src/ui/gui/descriptives.ui:214 msgid "_Exclude entire case if any selected variable is missing" msgstr "_Ausschluss des gesamten Falls, wenn eine der gewählten Variablen fehlt " -#: src/ui/gui/descriptives.ui:232 +#: src/ui/gui/descriptives.ui:231 msgid "_Include user-missing data in analysis" msgstr "_Benutzerdefiniert fehlende Werte in Analyse mit einschließen" -#: src/ui/gui/descriptives.ui:249 +#: src/ui/gui/descriptives.ui:248 msgid "Save _Z-scores of selected variables as new variables" msgstr "_Z-Werte der gewählten Variablen als neue Variablen speichern" -#: src/ui/gui/descriptives.ui:271 +#: src/ui/gui/descriptives.ui:270 msgid "Options:" msgstr "Optionen:" @@ -7560,35 +7636,35 @@ msgstr "F_aktorenliste" msgid "_Dependent List:" msgstr "Liste der ab_hängigen Variablen" -#: src/ui/gui/examine.ui:314 +#: src/ui/gui/examine.ui:315 msgid "Explore: Options" msgstr "Explorative Datenanalyse: Optionen" -#: src/ui/gui/examine.ui:337 src/ui/gui/t-test.ui:64 +#: src/ui/gui/examine.ui:338 src/ui/gui/t-test.ui:65 msgid "Exclude cases _listwise" msgstr "_Listenweiser Fallausschluss" -#: src/ui/gui/examine.ui:355 +#: src/ui/gui/examine.ui:356 msgid "Exclude cases _pairwise" msgstr "_Paarweiser Fallausschluss" -#: src/ui/gui/examine.ui:374 +#: src/ui/gui/examine.ui:375 msgid "_Report values" msgstr "W_erte einbeziehen" -#: src/ui/gui/examine.ui:430 +#: src/ui/gui/examine.ui:432 msgid "Explore: Statistics" msgstr "Explorative Datenanalyse: Statistiken" -#: src/ui/gui/examine.ui:448 src/ui/gui/oneway.ui:412 +#: src/ui/gui/examine.ui:450 src/ui/gui/oneway.ui:413 msgid "_Descriptives" msgstr "_Deskriptive" -#: src/ui/gui/examine.ui:465 +#: src/ui/gui/examine.ui:467 msgid "_Extremes" msgstr "_Ausreißer" -#: src/ui/gui/examine.ui:482 +#: src/ui/gui/examine.ui:484 msgid "_Percentiles" msgstr "_Perzentile" @@ -7628,71 +7704,71 @@ msgstr "Methode" msgid "_Display rotated solution" msgstr "_Rotierte Lösung anzeigen" -#: src/ui/gui/factor.ui:164 src/ui/gui/factor.ui:563 +#: src/ui/gui/factor.ui:164 src/ui/gui/factor.ui:564 msgid "Ma_ximum iterations for convergence:" msgstr "Ma_ximale Anzahl der Iterationsschritte für Konvergenz:" -#: src/ui/gui/factor.ui:223 src/ui/gui/factor.ui:237 +#: src/ui/gui/factor.ui:224 src/ui/gui/factor.ui:238 msgid "Principal Components Analysis" msgstr "Hauptkomponentenanalyse" -#: src/ui/gui/factor.ui:228 src/ui/gui/factor.ui:240 +#: src/ui/gui/factor.ui:229 src/ui/gui/factor.ui:241 msgid "Principal Axis Factoring" msgstr "Hauptachsen-Faktorenanalyse" -#: src/ui/gui/factor.ui:246 +#: src/ui/gui/factor.ui:247 msgid "Factor Analysis: Extraction" msgstr "Faktorenanalyse: Extraktion" -#: src/ui/gui/factor.ui:271 +#: src/ui/gui/factor.ui:272 msgid "_Method: " msgstr "_Methode:" -#: src/ui/gui/factor.ui:326 +#: src/ui/gui/factor.ui:327 msgid "Co_rrelation matrix" msgstr "_Korrelationsmatrix" -#: src/ui/gui/factor.ui:342 +#: src/ui/gui/factor.ui:343 msgid "Co_variance matrix" msgstr "Ko_varianzmatrix" -#: src/ui/gui/factor.ui:363 +#: src/ui/gui/factor.ui:364 msgid "Analyze" msgstr "Analysieren" -#: src/ui/gui/factor.ui:388 +#: src/ui/gui/factor.ui:389 msgid "_Unrotated factor solution" msgstr "Nicht _rotierte Faktorlösung" -#: src/ui/gui/factor.ui:404 +#: src/ui/gui/factor.ui:405 msgid "_Scree plot" msgstr "_Screeplot" -#: src/ui/gui/factor.ui:424 src/ui/gui/histogram.ui:130 src/ui/gui/roc.ui:313 +#: src/ui/gui/factor.ui:425 src/ui/gui/histogram.ui:130 src/ui/gui/roc.ui:313 msgid "Display" msgstr "Anzeige" -#: src/ui/gui/factor.ui:507 +#: src/ui/gui/factor.ui:508 msgid "_Number of factors:" msgstr "_Anzahl der Faktoren:" -#: src/ui/gui/factor.ui:544 +#: src/ui/gui/factor.ui:545 msgid "Extract" msgstr "Extrahieren" -#: src/ui/gui/factor.ui:620 +#: src/ui/gui/factor.ui:622 msgid "Factor Analysis" msgstr "Faktorenanalyse" -#: src/ui/gui/factor.ui:651 src/ui/gui/data-editor.ui:312 +#: src/ui/gui/factor.ui:654 src/ui/gui/data-editor.ui:250 msgid "_Descriptives..." msgstr "_Deskriptive Statistiken..." -#: src/ui/gui/factor.ui:664 +#: src/ui/gui/factor.ui:667 msgid "_Extraction..." msgstr "E_xtraktion..." -#: src/ui/gui/factor.ui:678 +#: src/ui/gui/factor.ui:681 msgid "_Rotations..." msgstr "Ro_tation..." @@ -7744,7 +7820,7 @@ msgstr "_Niemals" msgid "If no _more than " msgstr "_Wenn nicht mehr als " -#: src/ui/gui/frequencies.ui:112 src/ui/gui/frequencies.ui:435 +#: src/ui/gui/frequencies.ui:112 src/ui/gui/frequencies.ui:436 msgid "100" msgstr "100" @@ -7776,87 +7852,87 @@ msgstr "Ab_steigenden Häufigkeiten" msgid "Order by" msgstr "Sortieren nach" -#: src/ui/gui/frequencies.ui:306 +#: src/ui/gui/frequencies.ui:307 msgid "Frequencies: Charts" msgstr "Häufigkeiten: Diagramme" -#: src/ui/gui/frequencies.ui:337 +#: src/ui/gui/frequencies.ui:338 msgid "Scale:" msgstr "Skala:" -#: src/ui/gui/frequencies.ui:347 +#: src/ui/gui/frequencies.ui:348 msgid "_Frequencies" msgstr "_Häufigkeiten" -#: src/ui/gui/frequencies.ui:364 +#: src/ui/gui/frequencies.ui:365 msgid "_Percentages" msgstr "_Prozentwerte" -#: src/ui/gui/frequencies.ui:388 +#: src/ui/gui/frequencies.ui:389 msgid "Exclude values _below " msgstr "Ausschließen von Werten _unter " -#: src/ui/gui/frequencies.ui:403 +#: src/ui/gui/frequencies.ui:404 msgid "Exclude values _above " msgstr "Ausschließen von Werten _über " -#: src/ui/gui/frequencies.ui:422 src/ui/gui/reliability.ui:212 +#: src/ui/gui/frequencies.ui:423 src/ui/gui/reliability.ui:211 msgid "0" msgstr "0" -#: src/ui/gui/frequencies.ui:450 +#: src/ui/gui/frequencies.ui:451 msgid "Chart Formatting" msgstr "Diagrammformat" -#: src/ui/gui/frequencies.ui:475 +#: src/ui/gui/frequencies.ui:476 msgid "Draw _histograms" msgstr "_Histogramme zeichnen" -#: src/ui/gui/frequencies.ui:491 +#: src/ui/gui/frequencies.ui:492 msgid "Superimpose _normal curve" msgstr "_Normalverteilungskurve anzeigen" -#: src/ui/gui/frequencies.ui:511 +#: src/ui/gui/frequencies.ui:512 msgid "Histograms" msgstr "Histogramme" -#: src/ui/gui/frequencies.ui:536 +#: src/ui/gui/frequencies.ui:537 msgid "Draw _bar charts" msgstr "_Balkendiagramm zeichnen" -#: src/ui/gui/frequencies.ui:556 +#: src/ui/gui/frequencies.ui:557 msgid "Bar Charts" msgstr "Balkendiagramme" -#: src/ui/gui/frequencies.ui:581 +#: src/ui/gui/frequencies.ui:582 msgid "Draw _pie charts" msgstr "_Kreisdiagramm zeichnen" -#: src/ui/gui/frequencies.ui:597 +#: src/ui/gui/frequencies.ui:598 msgid "Include slices for _missing values" msgstr "_Segmente für fehlende Werte einfügen" -#: src/ui/gui/frequencies.ui:617 +#: src/ui/gui/frequencies.ui:618 msgid "Pie Charts" msgstr "Kreisdiagramme" -#: src/ui/gui/frequencies.ui:705 src/ui/gui/rank.ui:471 +#: src/ui/gui/frequencies.ui:707 src/ui/gui/rank.ui:472 msgid "_Variable(s):" msgstr "_Variable(n):" -#: src/ui/gui/frequencies.ui:749 +#: src/ui/gui/frequencies.ui:751 msgid "_Statistics:" msgstr "_Statistiken:" -#: src/ui/gui/frequencies.ui:763 +#: src/ui/gui/frequencies.ui:765 msgid "Include _missing values" msgstr "_Fehlende Werte mit einschließen" -#: src/ui/gui/frequencies.ui:786 +#: src/ui/gui/frequencies.ui:788 msgid "Ch_arts..." msgstr "_Diagramme..." -#: src/ui/gui/frequencies.ui:801 +#: src/ui/gui/frequencies.ui:803 msgid "Frequency _Tables..." msgstr "_Häufigkeitstabellen..." @@ -7868,38 +7944,66 @@ msgstr "Histogramm" msgid "_Display normal curve" msgstr "_Normalverteilungskurve anzeigen" -#: src/ui/gui/indep-samples.ui:9 +#: src/ui/gui/indep-samples.ui:9 src/ui/gui/k-independent.ui:19 msgid "Define Groups" msgstr "Gruppenvariable" -#: src/ui/gui/indep-samples.ui:58 +#: src/ui/gui/indep-samples.ui:59 msgid "Group_2 value:" msgstr "Wert Gruppe_2:" -#: src/ui/gui/indep-samples.ui:72 +#: src/ui/gui/indep-samples.ui:73 msgid "Group_1 value:" msgstr "Wert Gruppe_1:" -#: src/ui/gui/indep-samples.ui:173 +#: src/ui/gui/indep-samples.ui:174 msgid "_Use specified values:" msgstr "_Angegebene Werte verwenden:" -#: src/ui/gui/indep-samples.ui:241 +#: src/ui/gui/indep-samples.ui:243 msgid "Independent-Samples T Test" msgstr "T-Test bei unabhängigen Stichproben" -#: src/ui/gui/indep-samples.ui:300 +#: src/ui/gui/indep-samples.ui:303 msgid "_Define Groups..." msgstr "Gruppen _definieren" -#: src/ui/gui/indep-samples.ui:382 src/ui/gui/t-test.ui:191 +#: src/ui/gui/indep-samples.ui:385 src/ui/gui/t-test.ui:195 msgid "_Test Variable(s):" msgstr "_Testvariable(n):" -#: src/ui/gui/indep-samples.ui:435 +#: src/ui/gui/indep-samples.ui:438 src/ui/gui/k-independent.ui:148 msgid "_Grouping Variable:" msgstr "_Gruppenvariable:" +#: src/ui/gui/k-independent.ui:46 +msgid "_Upper limit:" +msgstr "Ma_ximum:" + +#: src/ui/gui/k-independent.ui:60 +msgid "_Lower limit:" +msgstr "_Minimum:" + +#: src/ui/gui/k-independent.ui:120 +msgid "Tests for Several Independent Samples" +msgstr "Tests für mehreren unabhängige Stichproben" + +#: src/ui/gui/k-independent.ui:191 src/ui/gui/ks-one-sample.ui:115 +msgid "Test _Variable List:" +msgstr "_Testvariablen:" + +#: src/ui/gui/k-independent.ui:303 +msgid "_Define Groups" +msgstr "Gruppenvariable" + +#: src/ui/gui/k-independent.ui:348 +msgid "_Kruskal-Wallis H" +msgstr "_Kruskal-Wallis H" + +#: src/ui/gui/k-independent.ui:365 src/ui/gui/runs.ui:124 +msgid "_Median" +msgstr "_Median" + #: src/ui/gui/k-means.ui:8 msgid "K-Means Cluster Analysis" msgstr "k-Means Clusteranalyse" @@ -7912,43 +8016,39 @@ msgstr "Anzahl der Cluster:" msgid "Tests for Several Related Samples" msgstr "Tests für mehreren verbundenen Stichproben" -#: src/ui/gui/k-related.ui:97 +#: src/ui/gui/k-related.ui:96 msgid "_Test Variables:" msgstr "Test_variablen:" -#: src/ui/gui/k-related.ui:129 +#: src/ui/gui/k-related.ui:128 msgid "_Friedman" msgstr "Frie_dman" -#: src/ui/gui/k-related.ui:145 +#: src/ui/gui/k-related.ui:144 msgid "_Kendall's W" msgstr "Kendall-_W" -#: src/ui/gui/k-related.ui:161 +#: src/ui/gui/k-related.ui:160 msgid "_Cochran's Q" msgstr "_Cochran-Q" -#: src/ui/gui/ks-one-sample.ui:116 -msgid "Test _Variable List:" -msgstr "_Testvariablen:" - -#: src/ui/gui/ks-one-sample.ui:148 +#: src/ui/gui/ks-one-sample.ui:147 msgid "_Normal" msgstr "_Normalverteilung" -#: src/ui/gui/ks-one-sample.ui:166 +#: src/ui/gui/ks-one-sample.ui:165 msgid "_Poisson" msgstr "_Poisson" -#: src/ui/gui/ks-one-sample.ui:183 +#: src/ui/gui/ks-one-sample.ui:182 msgid "_Uniform" msgstr "_Gleichverteilung" -#: src/ui/gui/ks-one-sample.ui:198 +#: src/ui/gui/ks-one-sample.ui:197 msgid "_Exponential" msgstr "_Exponential" -#: src/ui/gui/ks-one-sample.ui:217 +#: src/ui/gui/ks-one-sample.ui:216 msgid "Test Distribution" msgstr "Zu testende Verteilung" @@ -7972,24 +8072,15 @@ msgstr "_Maximale Anzahl der Iterationen:" msgid "Include _constant in model" msgstr "K_onstante in Modell einschließen" -#: src/ui/gui/logistic.ui:201 +#: src/ui/gui/logistic.ui:202 msgid "Logistic Regression" msgstr "Logistische Regression" -#: src/ui/gui/logistic.ui:228 -msgid "_Options..." -msgstr "_Optionen..." - -#: src/ui/gui/logistic.ui:243 src/ui/gui/regression.ui:50 -#: src/ui/gui/syntax-editor.ui:45 -msgid "_Save..." -msgstr "Speichern..." - -#: src/ui/gui/logistic.ui:346 src/ui/gui/regression.ui:169 +#: src/ui/gui/logistic.ui:347 src/ui/gui/regression.ui:169 msgid "_Dependent" msgstr "_Abhängige Variable" -#: src/ui/gui/logistic.ui:394 src/ui/gui/regression.ui:216 +#: src/ui/gui/logistic.ui:395 src/ui/gui/regression.ui:216 msgid "_Independent" msgstr "_Unabhängige Variable(n)" @@ -8005,23 +8096,23 @@ msgstr "Liste der _abhänigen Variablen" msgid "_No missing values" msgstr "Kei_ne fehlenden Werte" -#: src/ui/gui/missing-val-dialog.ui:119 +#: src/ui/gui/missing-val-dialog.ui:120 msgid "_Discrete missing values" msgstr "_Einzelne fehlende Werte" -#: src/ui/gui/missing-val-dialog.ui:155 +#: src/ui/gui/missing-val-dialog.ui:156 msgid "_Low:" msgstr "_Kleinster Wert:" -#: src/ui/gui/missing-val-dialog.ui:180 +#: src/ui/gui/missing-val-dialog.ui:181 msgid "_High:" msgstr "_Größter Wert:" -#: src/ui/gui/missing-val-dialog.ui:204 +#: src/ui/gui/missing-val-dialog.ui:205 msgid "Di_screte value:" msgstr "Ein_zelner Wert:" -#: src/ui/gui/missing-val-dialog.ui:228 +#: src/ui/gui/missing-val-dialog.ui:229 msgid "_Range plus one optional discrete missing value" msgstr "_Bereich und einzelner fehlender Wert" @@ -8041,27 +8132,71 @@ msgstr "Koeffizientensumme:" msgid "Contrast 1 of 1" msgstr "Kontrast 1 von 1" -#: src/ui/gui/oneway.ui:215 +#: src/ui/gui/oneway.ui:216 msgid "One-Way ANOVA" msgstr "Einfaktorielle ANOVA" -#: src/ui/gui/oneway.ui:244 +#: src/ui/gui/oneway.ui:245 msgid "_Factor:" msgstr "Fak_tor:" -#: src/ui/gui/oneway.ui:287 +#: src/ui/gui/oneway.ui:288 msgid "Dependent _Variable(s):" msgstr "_Abhängige Variable(n):" -#: src/ui/gui/oneway.ui:429 +#: src/ui/gui/oneway.ui:430 msgid "_Homogeneity" msgstr "_Homogenität" -#: src/ui/gui/oneway.ui:471 +#: src/ui/gui/oneway.ui:472 msgid "_Contrasts..." msgstr "_Kontraste..." -#: src/ui/gui/paired-samples.ui:130 +#: src/ui/gui/options.ui:9 +msgid "Options Case" +msgstr "Optionen" + +#: src/ui/gui/options.ui:39 +msgid "Display _Labels" +msgstr "Zeige _Wertelabels" + +#: src/ui/gui/options.ui:55 +msgid "Display _Names" +msgstr "Zeige _Namen" + +#: src/ui/gui/options.ui:83 +msgid "Sort by L_abel" +msgstr "Sortieren nach L_abel" + +#: src/ui/gui/options.ui:99 +msgid "Sort by Na_me" +msgstr "Sortieren nach Na_me" + +#: src/ui/gui/options.ui:115 +msgid "Do not S_ort" +msgstr "Nicht S_ortieren" + +#: src/ui/gui/options.ui:143 +msgid "Variable Lists" +msgstr "Variablenlisten" + +#: src/ui/gui/options.ui:168 +msgid "Ma_ximize" +msgstr "Ma_ximieren" + +#: src/ui/gui/options.ui:183 +msgid "_Raise" +msgstr "_Erhöhen" + +#: src/ui/gui/options.ui:198 +msgid "Aler_t" +msgstr "_Warnung" + +#: src/ui/gui/options.ui:217 +msgid "Output Window Action" +msgstr "Ausgabe Fenster" + +#: src/ui/gui/paired-samples.ui:131 msgid "_Test Pair(s):" msgstr "_Variablenpaar(e):" @@ -8121,79 +8256,75 @@ msgstr "_Van der Waerden" msgid "Proportion Estimation Formula" msgstr "Formel für Anteilsschätzung" -#: src/ui/gui/rank.ui:351 +#: src/ui/gui/rank.ui:352 msgid "Rank Cases" msgstr "Rangfolge bilden" -#: src/ui/gui/rank.ui:416 +#: src/ui/gui/rank.ui:417 msgid "_By:" msgstr "_Schritt:" -#: src/ui/gui/rank.ui:577 +#: src/ui/gui/rank.ui:578 msgid "_Smallest Value" msgstr "Kleinste_m Wert" -#: src/ui/gui/rank.ui:595 +#: src/ui/gui/rank.ui:596 msgid "_Largest Value" msgstr "_Größtem Wert" -#: src/ui/gui/rank.ui:619 +#: src/ui/gui/rank.ui:620 msgid "Assign rank 1 to:" msgstr "Rang 1 zuweisen:" -#: src/ui/gui/rank.ui:638 +#: src/ui/gui/rank.ui:639 msgid "_Display summary tables" msgstr "Z_usammenfassungen anzeigen" -#: src/ui/gui/rank.ui:661 +#: src/ui/gui/rank.ui:662 msgid "Rank T_ypes" msgstr "Rang_typen" -#: src/ui/gui/rank.ui:676 +#: src/ui/gui/rank.ui:677 msgid "_Ties..." msgstr "Rang_bedingungen" -#: src/ui/gui/rank.ui:737 +#: src/ui/gui/rank.ui:739 msgid "Rank Cases: Ties" msgstr "Rangfolge bilden: Rangbedienungen" -#: src/ui/gui/rank.ui:768 +#: src/ui/gui/rank.ui:770 msgid "_Mean" msgstr "_Mittelwert" -#: src/ui/gui/rank.ui:786 +#: src/ui/gui/rank.ui:788 msgid "_Low" msgstr "Mi_nimum" -#: src/ui/gui/rank.ui:805 +#: src/ui/gui/rank.ui:807 msgid "_High" msgstr "Ma_ximum" -#: src/ui/gui/rank.ui:831 +#: src/ui/gui/rank.ui:833 msgid "_Sequential ranks to unique values" msgstr "_Ränge fortlaufend vergeben" -#: src/ui/gui/rank.ui:855 +#: src/ui/gui/rank.ui:857 msgid "Rank Assigned to Ties" msgstr "Zugewiesener Rang bein Rangbedingungen" -#: src/ui/gui/runs.ui:125 -msgid "_Median" -msgstr "_Median" - -#: src/ui/gui/runs.ui:140 +#: src/ui/gui/runs.ui:139 msgid "M_ean" msgstr "Mittel_wert" -#: src/ui/gui/runs.ui:156 +#: src/ui/gui/runs.ui:155 msgid "Mo_de" msgstr "Mo_dalwert" -#: src/ui/gui/runs.ui:176 +#: src/ui/gui/runs.ui:175 msgid "_Custom:" msgstr "_Benutzerdefiniert:" -#: src/ui/gui/runs.ui:215 +#: src/ui/gui/runs.ui:214 msgid "Cut Point" msgstr "Trennwert" @@ -8277,23 +8408,23 @@ msgstr "Aus_gabe der Variablen als Strings" msgid "Width: " msgstr "Breite:" -#: src/ui/gui/recode.ui:480 +#: src/ui/gui/recode.ui:482 msgid "_Name:" msgstr "_Name:" -#: src/ui/gui/recode.ui:508 +#: src/ui/gui/recode.ui:510 msgid "La_bel:" msgstr "_Beschriftung:" -#: src/ui/gui/recode.ui:537 +#: src/ui/gui/recode.ui:539 msgid "Chan_ge" msgstr "_Ändern" -#: src/ui/gui/recode.ui:565 +#: src/ui/gui/recode.ui:567 msgid "Output Variable" msgstr "Ausgabevariable" -#: src/ui/gui/recode.ui:639 +#: src/ui/gui/recode.ui:641 msgid "Old and New Va_lues..." msgstr "Alte und neue _Werte" @@ -8301,23 +8432,23 @@ msgstr "Alte und neue _Werte" msgid "S_tatistics..." msgstr "_Statistiken..." -#: src/ui/gui/regression.ui:255 +#: src/ui/gui/regression.ui:256 msgid "Regression: Save" msgstr "Lineare Regression: Speichern" -#: src/ui/gui/regression.ui:272 src/ui/gui/univariate.ui:26 +#: src/ui/gui/regression.ui:273 src/ui/gui/univariate.ui:26 msgid "_Predicted values" msgstr "_Vorhergesagte Werte" -#: src/ui/gui/regression.ui:289 src/ui/gui/univariate.ui:43 +#: src/ui/gui/regression.ui:290 src/ui/gui/univariate.ui:43 msgid "_Residuals" msgstr "_Residuen" -#: src/ui/gui/regression.ui:332 +#: src/ui/gui/regression.ui:334 msgid "Regression: Statistics" msgstr "Lineare Regression: Statistiken" -#: src/ui/gui/regression.ui:373 src/ui/gui/univariate.ui:126 +#: src/ui/gui/regression.ui:375 src/ui/gui/univariate.ui:127 msgid "S_tatistics" msgstr "_Statistiken" @@ -8329,19 +8460,19 @@ msgstr "Alpha" msgid "Reliability Analysis" msgstr "Reliabilitätsanalyse" -#: src/ui/gui/reliability.ui:129 +#: src/ui/gui/reliability.ui:128 msgid "_Items:" msgstr "I_tems:" -#: src/ui/gui/reliability.ui:151 +#: src/ui/gui/reliability.ui:150 msgid "_Model: " msgstr "_Modell:\t" -#: src/ui/gui/reliability.ui:197 +#: src/ui/gui/reliability.ui:196 msgid "_Variables in first split:" msgstr "_Variablen in der ersten Hälfte:" -#: src/ui/gui/reliability.ui:244 +#: src/ui/gui/reliability.ui:243 msgid "Show _descriptives for scale if item is deleted" msgstr "_Deskriptive Statistiken für Skala anzeigen, wenn das Item gelöscht wurde" @@ -8401,63 +8532,63 @@ msgstr "Letzter Fall" msgid "Observation" msgstr "Beobachtung" -#: src/ui/gui/select-cases.ui:144 +#: src/ui/gui/select-cases.ui:145 msgid "Select Cases" msgstr "Fälle auswählen" -#: src/ui/gui/select-cases.ui:296 +#: src/ui/gui/select-cases.ui:297 msgid "Use filter variable" msgstr "Filtervariable verwenden" -#: src/ui/gui/select-cases.ui:363 +#: src/ui/gui/select-cases.ui:364 msgid "Based on time or case range" msgstr "Nach Zeit oder Fallbereich" -#: src/ui/gui/select-cases.ui:378 +#: src/ui/gui/select-cases.ui:379 msgid "Range..." msgstr "Bereich..." -#: src/ui/gui/select-cases.ui:427 +#: src/ui/gui/select-cases.ui:428 msgid "Random sample of cases" msgstr "Zufallsstichprobe aus den Fällen" -#: src/ui/gui/select-cases.ui:443 +#: src/ui/gui/select-cases.ui:444 msgid "Sample..." msgstr "Stichprobe..." -#: src/ui/gui/select-cases.ui:491 +#: src/ui/gui/select-cases.ui:492 msgid "If condition is satisfied" msgstr "Wenn Bedingung erfüllt ist" -#: src/ui/gui/select-cases.ui:506 +#: src/ui/gui/select-cases.ui:507 msgid "If..." msgstr "Falls..." -#: src/ui/gui/select-cases.ui:550 +#: src/ui/gui/select-cases.ui:551 msgid "All Cases" msgstr "Alle Fälle" -#: src/ui/gui/select-cases.ui:564 +#: src/ui/gui/select-cases.ui:565 msgid "Select" msgstr "Auswahl" -#: src/ui/gui/select-cases.ui:591 +#: src/ui/gui/select-cases.ui:592 msgid "Filtered" msgstr "Filtern" -#: src/ui/gui/select-cases.ui:608 +#: src/ui/gui/select-cases.ui:609 msgid "Deleted" msgstr "Löschen" -#: src/ui/gui/select-cases.ui:630 +#: src/ui/gui/select-cases.ui:631 msgid "Unselected Cases Are" msgstr "Nicht gewählte Fälle" -#: src/ui/gui/select-cases.ui:676 +#: src/ui/gui/select-cases.ui:678 msgid "Select Cases: Random Sample" msgstr "Fälle auswählen: Zufallsstichprobe" -#: src/ui/gui/select-cases.ui:738 +#: src/ui/gui/select-cases.ui:740 msgid "Sample Size" msgstr "Stichprobengröße" @@ -8465,15 +8596,15 @@ msgstr "Stichprobengröße" msgid "Options" msgstr "Optionen" -#: src/ui/gui/t-test.ui:46 +#: src/ui/gui/t-test.ui:47 msgid "Exclude cases _analysis by analysis" msgstr "Fallau_sschluss Test für Test" -#: src/ui/gui/t-test.ui:130 +#: src/ui/gui/t-test.ui:132 msgid "One - Sample T Test" msgstr "T-Test bei einer Stichprobe" -#: src/ui/gui/t-test.ui:245 +#: src/ui/gui/t-test.ui:249 msgid "Test _Value: " msgstr "Test_wert:" @@ -8607,19 +8738,19 @@ msgstr "Variable(n):" msgid "Univariate: Save" msgstr "Univariat: Speichern" -#: src/ui/gui/univariate.ui:86 +#: src/ui/gui/univariate.ui:87 msgid "Univariate: Statistics" msgstr "Univariat: Statistiken" -#: src/ui/gui/univariate.ui:160 +#: src/ui/gui/univariate.ui:162 msgid "Univariate" msgstr "Univariat" -#: src/ui/gui/univariate.ui:264 +#: src/ui/gui/univariate.ui:265 msgid "_Dependent Variable" msgstr "_Abhängige Variable" -#: src/ui/gui/univariate.ui:312 +#: src/ui/gui/univariate.ui:313 msgid "_Fixed Factors" msgstr "F_este Faktoren" @@ -8627,363 +8758,309 @@ msgstr "F_este Faktoren" msgid "Value Label:" msgstr "Wertelabel:" -#: src/ui/gui/data-editor.ui:9 src/ui/gui/output-window.ui:9 -#: src/ui/gui/syntax-editor.ui:10 -msgid "_File" -msgstr "_Datei" - -#: src/ui/gui/data-editor.ui:15 src/ui/gui/syntax-editor.ui:17 -msgid "_New..." -msgstr "_Neu..." - -#: src/ui/gui/data-editor.ui:23 src/ui/gui/syntax-editor.ui:24 -msgid "_Syntax" -msgstr "_Syntax" - -#: src/ui/gui/data-editor.ui:30 src/ui/gui/data-editor.ui:156 -#: src/ui/gui/data-editor.ui:169 src/ui/gui/syntax-editor.ui:31 -msgid "_Data" -msgstr "_Daten" - -#: src/ui/gui/data-editor.ui:37 src/ui/gui/syntax-editor.ui:38 -msgid "_Open..." -msgstr "Ö_ffnen..." - -#: src/ui/gui/data-editor.ui:44 -msgid "I_mport Data..." -msgstr "Daten importieren..." - -#: src/ui/gui/data-editor.ui:51 -msgid "_Rename Dataset..." -msgstr "_Datenblatt umbenennen..." - -#: src/ui/gui/data-editor.ui:59 -msgid "_Save" -msgstr "Speichern" - -#: src/ui/gui/data-editor.ui:67 src/ui/gui/syntax-editor.ui:52 -msgid "Save _As..." -msgstr "Speichern _unter..." - -#: src/ui/gui/data-editor.ui:74 -msgid "D_isplay Data File Information" -msgstr "_Informationen zur Arbeitsdatei anzeigen" +#: src/ui/gui/data-editor.ui:17 +msgid "Information Area" +msgstr "Informationsbereich" -#: src/ui/gui/data-editor.ui:81 -msgid "Working File" -msgstr "Arbeitsdatei" +#: src/ui/gui/data-editor.ui:39 +msgid "Case Counter Area" +msgstr "Status der verarbeiteten Fälle" -#: src/ui/gui/data-editor.ui:88 -msgid "External File..." -msgstr "Externe Datei..." +#: src/ui/gui/data-editor.ui:64 +msgid "Filter Use Status Area" +msgstr "Status der Fallauswahl" -#: src/ui/gui/data-editor.ui:95 -msgid "Recently Used Da_ta" -msgstr "_Zuletzt verwendete Daten" +#: src/ui/gui/data-editor.ui:90 +msgid "Weight Status Area" +msgstr "Status der Fallgewichtung" -#: src/ui/gui/data-editor.ui:102 -msgid "Recently Used _Files" -msgstr "Z_uletzt verwendete Dateien" +#: src/ui/gui/data-editor.ui:116 +msgid "Split File Status Area" +msgstr "Status der Dateiaufteilung" -#: src/ui/gui/data-editor.ui:121 +#: src/ui/gui/data-editor.ui:138 msgid "_View" msgstr "A_nsicht" -#: src/ui/gui/data-editor.ui:128 +#: src/ui/gui/data-editor.ui:141 msgid "_Status Bar" msgstr "_Statusleiste" -#: src/ui/gui/data-editor.ui:135 +#: src/ui/gui/data-editor.ui:147 msgid "_Font..." msgstr "S_chriftart..." -#: src/ui/gui/data-editor.ui:142 +#: src/ui/gui/data-editor.ui:151 msgid "_Grid Lines" msgstr "_Gitterlinien" -#: src/ui/gui/data-editor.ui:148 +#: src/ui/gui/data-editor.ui:155 msgid "Value _Labels" msgstr "_Wertelabels" -#: src/ui/gui/data-editor.ui:149 -msgid "Show/hide value labels" -msgstr "Ein- / Ausblenden der Wertelabels" - -#: src/ui/gui/data-editor.ui:162 +#: src/ui/gui/data-editor.ui:166 msgid "_Variables" msgstr "V_ariablen" -#: src/ui/gui/data-editor.ui:174 +#: src/ui/gui/data-editor.ui:176 msgid "_Sort Cases..." msgstr "Fälle s_ortieren..." -#: src/ui/gui/data-editor.ui:178 -msgid "Sort cases in the active dataset" -msgstr "Sortieren der Fälle im aktiven Datenblatt" - -#: src/ui/gui/data-editor.ui:186 +#: src/ui/gui/data-editor.ui:180 msgid "_Transpose..." msgstr "Trans_ponieren..." -#: src/ui/gui/data-editor.ui:187 -msgid "Transpose the cases with the variables" -msgstr "Transponiert die Fälle mit den Variablen" - -#: src/ui/gui/data-editor.ui:195 +#: src/ui/gui/data-editor.ui:184 msgid "_Aggregate..." msgstr "_Aggregieren..." -#: src/ui/gui/data-editor.ui:196 -msgid "Aggregate the case values into a new variable" -msgstr "Zusammenführung der Werte in einer neuen Variable" - -#: src/ui/gui/data-editor.ui:203 +#: src/ui/gui/data-editor.ui:190 msgid "S_plit File..." msgstr "Datei aufte_ilen..." -#: src/ui/gui/data-editor.ui:204 -msgid "Split the active dataset" -msgstr "Datei aufteilen" - -#: src/ui/gui/data-editor.ui:212 +#: src/ui/gui/data-editor.ui:194 msgid "Select _Cases..." msgstr "Fälle au_swählen..." -#: src/ui/gui/data-editor.ui:213 -msgid "Choose a subset of cases for analysis" -msgstr "Wählen Sie einen Teil der Fälle zur Analyse aus" - -#: src/ui/gui/data-editor.ui:220 +#: src/ui/gui/data-editor.ui:198 msgid "_Weight Cases..." msgstr "Fä_lle gewichten..." -#: src/ui/gui/data-editor.ui:222 -msgid "Weight cases by variable" -msgstr "Fälle anhand einer Variable gewichten" - -#: src/ui/gui/data-editor.ui:229 +#: src/ui/gui/data-editor.ui:204 msgid "_Transform" msgstr "T_ransformieren" -#: src/ui/gui/data-editor.ui:236 +#: src/ui/gui/data-editor.ui:207 msgid "_Compute..." msgstr "Varia_ble berechnen..." -#: src/ui/gui/data-editor.ui:244 +#: src/ui/gui/data-editor.ui:211 msgid "Cou_nt..." msgstr "Werte in Fällen _zählen..." -#: src/ui/gui/data-editor.ui:252 +#: src/ui/gui/data-editor.ui:215 msgid "Ran_k Cases..." msgstr "Ran_gfolge bilden..." -#: src/ui/gui/data-editor.ui:260 +#: src/ui/gui/data-editor.ui:219 msgid "Auto_matic Recode..." msgstr "_Automatisches Umkodieren..." -#: src/ui/gui/data-editor.ui:268 +#: src/ui/gui/data-editor.ui:225 msgid "Recode into _Same Variables..." msgstr "Umko_dieren in dieselbe Variable..." -#: src/ui/gui/data-editor.ui:276 +#: src/ui/gui/data-editor.ui:229 msgid "Recode into _Different Variables..." msgstr "_Umkodieren in andere Variable..." -#: src/ui/gui/data-editor.ui:283 +#: src/ui/gui/data-editor.ui:235 msgid "_Run Pending Transforms" msgstr "Offene _Transformationen ausführen" -#: src/ui/gui/data-editor.ui:291 +#: src/ui/gui/data-editor.ui:241 msgid "_Analyze" msgstr "Anal_ysieren" -#: src/ui/gui/data-editor.ui:297 +#: src/ui/gui/data-editor.ui:244 msgid "_Descriptive Statistics" msgstr "D_eskriptive Statistiken" -#: src/ui/gui/data-editor.ui:305 +#: src/ui/gui/data-editor.ui:246 msgid "_Frequencies..." msgstr "_Häufigkeiten..." -#: src/ui/gui/data-editor.ui:319 +#: src/ui/gui/data-editor.ui:254 msgid "_Explore..." msgstr "_Explorative Datenanalyse..." -#: src/ui/gui/data-editor.ui:326 +#: src/ui/gui/data-editor.ui:258 msgid "_Crosstabs..." msgstr "_Kreuztabellen..." -#: src/ui/gui/data-editor.ui:332 +#: src/ui/gui/data-editor.ui:263 msgid "Compare _Means" msgstr "_Mittelwerte vergleichen" -#: src/ui/gui/data-editor.ui:340 +#: src/ui/gui/data-editor.ui:265 msgid "_Means..." msgstr "_Mittelwerte..." -#: src/ui/gui/data-editor.ui:347 +#: src/ui/gui/data-editor.ui:269 msgid "_One Sample T Test..." msgstr "T-Te_st bei einer Stichprobe..." -#: src/ui/gui/data-editor.ui:354 +#: src/ui/gui/data-editor.ui:273 msgid "_Independent Samples T Test..." msgstr "_T-Test bei unabhängigen Stichproben..." -#: src/ui/gui/data-editor.ui:361 +#: src/ui/gui/data-editor.ui:277 msgid "_Paired Samples T Test..." msgstr "T-Test bei gepaarten Stich_proben..." -#: src/ui/gui/data-editor.ui:368 -msgid "One Way _ANOVA..." -msgstr "Einf_aktorielle ANOVA..." +#: src/ui/gui/data-editor.ui:281 +msgid "_One Way _ANOVA..." +msgstr "Einfaktorielle _ANOVA..." -#: src/ui/gui/data-editor.ui:375 +#: src/ui/gui/data-editor.ui:286 msgid "_Univariate Analysis..." msgstr "_Univariate Analyse..." -#: src/ui/gui/data-editor.ui:383 +#: src/ui/gui/data-editor.ui:290 msgid "Bivariate _Correlation..." msgstr "Bivariate _Korrelationen..." -#: src/ui/gui/data-editor.ui:391 +#: src/ui/gui/data-editor.ui:294 msgid "_K-Means Cluster..." msgstr "k-Means Clusteranalyse..." -#: src/ui/gui/data-editor.ui:399 -msgid "Factor _Analysis..." -msgstr "Faktorenanalyse..." +#: src/ui/gui/data-editor.ui:298 +msgid "_Factor Analysis..." +msgstr "_Faktorenanalyse..." -#: src/ui/gui/data-editor.ui:407 +#: src/ui/gui/data-editor.ui:302 msgid "Re_liability..." msgstr "Re_liabilitätsanalyse..." -#: src/ui/gui/data-editor.ui:414 +#: src/ui/gui/data-editor.ui:306 msgid "_Regression" msgstr "_Regression" -#: src/ui/gui/data-editor.ui:422 +#: src/ui/gui/data-editor.ui:309 msgid "_Linear..." msgstr "_Linear..." -#: src/ui/gui/data-editor.ui:429 +#: src/ui/gui/data-editor.ui:313 msgid "_Binary Logistic..." msgstr "_Binär Logistisch..." -#: src/ui/gui/data-editor.ui:435 +#: src/ui/gui/data-editor.ui:319 msgid "_Non-Parametric Statistics" msgstr "_Nichtparametrische Tests" -#: src/ui/gui/data-editor.ui:443 -msgid "_Chi-Square..." +#: src/ui/gui/data-editor.ui:322 +msgid "_Chi Square..." msgstr "_Chi-Quadrat..." -#: src/ui/gui/data-editor.ui:450 +#: src/ui/gui/data-editor.ui:326 msgid "_Binomial..." msgstr "_Binominal..." -#: src/ui/gui/data-editor.ui:457 -msgid "R_uns..." +#: src/ui/gui/data-editor.ui:330 +msgid "_Runs..." msgstr "R_uns-Test..." -#: src/ui/gui/data-editor.ui:464 -msgid "1-Sample _K-S..." +#: src/ui/gui/data-editor.ui:334 +msgid "_1 Sample K-S..." msgstr "K-S Test bei einer Stichprobe..." -#: src/ui/gui/data-editor.ui:471 -msgid "2 _Related Samples..." +#: src/ui/gui/data-editor.ui:338 +msgid "_2 Related Samples..." msgstr "Zwei _verbundene Stichproben..." -#: src/ui/gui/data-editor.ui:478 -msgid "K Related _Samples..." +#: src/ui/gui/data-editor.ui:342 +msgid "_K Related Samples..." msgstr "K ver_bundene Stichproben..." -#: src/ui/gui/data-editor.ui:485 +#: src/ui/gui/data-editor.ui:346 +msgid "K _Independent Samples..." +msgstr "K _unabhängige Stichproben..." + +#: src/ui/gui/data-editor.ui:352 msgid "ROC Cur_ve..." msgstr "ROC-Kur_ve..." -#: src/ui/gui/data-editor.ui:492 +#: src/ui/gui/data-editor.ui:358 msgid "_Graphs" msgstr "_Diagramme" -#: src/ui/gui/data-editor.ui:499 +#: src/ui/gui/data-editor.ui:361 msgid "_Scatterplot" msgstr "_Scatterplot" -#: src/ui/gui/data-editor.ui:507 +#: src/ui/gui/data-editor.ui:365 msgid "_Histogram" msgstr "_Histogramm" -#: src/ui/gui/data-editor.ui:515 +#: src/ui/gui/data-editor.ui:369 msgid "_Barchart" msgstr "_Balkendiagramm" -#: src/ui/gui/data-editor.ui:522 +#: src/ui/gui/data-editor.ui:375 msgid "_Utilities" msgstr "E_xtras" -#: src/ui/gui/data-editor.ui:529 +#: src/ui/gui/data-editor.ui:378 msgid "_Variables..." msgstr "_Variablen..." -#: src/ui/gui/data-editor.ui:538 +#: src/ui/gui/data-editor.ui:382 msgid "Data File _Comments..." msgstr "Datendateikommentare..." -#: src/ui/gui/data-editor.ui:682 -msgid "Information Area" -msgstr "Informationsbereich" - -#: src/ui/gui/data-editor.ui:704 -msgid "Case Counter Area" -msgstr "Status der verarbeiteten Fälle" - -#: src/ui/gui/data-editor.ui:729 -msgid "Filter Use Status Area" -msgstr "Status der Fallauswahl" - -#: src/ui/gui/data-editor.ui:755 -msgid "Weight Status Area" -msgstr "Status der Fallgewichtung" - -#: src/ui/gui/data-editor.ui:781 -msgid "Split File Status Area" -msgstr "Status der Dateiaufteilung" - -#: src/ui/gui/output-window.ui:16 src/ui/gui/syntax-editor.ui:59 +#: src/ui/gui/output-window.ui:55 msgid "_Print..." msgstr "_Drucken..." -#: src/ui/gui/output-window.ui:24 +#: src/ui/gui/output-window.ui:60 msgid "_Export..." msgstr "_Exportieren..." -#: src/ui/gui/output-window.ui:37 +#: src/ui/gui/output-window.ui:76 msgid "Select _All" msgstr "_Alles auswählen" -#: src/ui/gui/output-window.ui:44 -msgid "_Copy" -msgstr "_Kopieren" +#: src/ui/gui/syntax-editor.ui:11 +msgid "Syntax" +msgstr "Syntax" -#: src/ui/gui/syntax-editor.ui:119 +#: src/ui/gui/syntax-editor.ui:15 +msgid "Data" +msgstr "Daten" + +#: src/ui/gui/syntax-editor.ui:25 +msgid "_Save" +msgstr "Speichern" + +#: src/ui/gui/syntax-editor.ui:30 +msgid "Save _As" +msgstr "Speichern _unter..." + +#: src/ui/gui/syntax-editor.ui:37 +msgid "_Print" +msgstr "_Drucken" + +#: src/ui/gui/syntax-editor.ui:68 +msgid "_Delete" +msgstr "_Löschen" + +#: src/ui/gui/syntax-editor.ui:74 +msgid "_Undo" +msgstr "_Rückgängig" + +#: src/ui/gui/syntax-editor.ui:78 +msgid "_Redo" +msgstr "_Wiederherstellen" + +#: src/ui/gui/syntax-editor.ui:84 msgid "_Run" msgstr "_Ausführen" -#: src/ui/gui/syntax-editor.ui:126 -msgid "All" -msgstr "Alles" +#: src/ui/gui/syntax-editor.ui:87 +msgid "_All" +msgstr "_Alle" -#: src/ui/gui/syntax-editor.ui:133 -msgid "Selection" -msgstr "Auswahl" +#: src/ui/gui/syntax-editor.ui:91 +msgid "_Selection" +msgstr "_Auswahl" -#: src/ui/gui/syntax-editor.ui:140 -msgid "Current Line" -msgstr "Aktuelle Zeile" +#: src/ui/gui/syntax-editor.ui:95 +msgid "_Current Line" +msgstr "Aktuelle _Zeile" -#: src/ui/gui/syntax-editor.ui:148 -msgid "To End" -msgstr "Bis Ende" +#: src/ui/gui/syntax-editor.ui:100 +msgid "_To End" +msgstr "_Bis Ende" #: src/ui/gui/var-type-dialog.ui:83 msgid "Scientific notation" @@ -9037,6 +9114,95 @@ msgstr "Statistische Software" msgid "Analyze statistical data with a free alternative to SPSS" msgstr "Analyse statistischer Daten mit einer freien Alternative zu SPSS" +#~ msgid "could not access definition for terminal `%s'" +#~ msgstr "Auf die Eigenschaften des Terminals `%s' konnte nicht zugegriffen werden." + +#~ msgid "" +#~ "PSPPIRE, a GUI for PSPP, a program for statistical analysis of sampled data.\n" +#~ "Usage: %s [OPTION]... FILE\n" +#~ "\n" +#~ "Arguments to long options also apply to equivalent short options.\n" +#~ "\n" +#~ "GUI options:\n" +#~ " -q, --no-splash don't show splash screen during startup\n" +#~ "\n" +#~ "%sLanguage options:\n" +#~ " -I, --include=DIR append DIR to search path\n" +#~ " -I-, --no-include clear search path\n" +#~ " -a, --algorithm={compatible|enhanced}\n" +#~ " set to `compatible' if you want output\n" +#~ " calculated from broken algorithms\n" +#~ " -x, --syntax={compatible|enhanced}\n" +#~ " set to `compatible' to disable PSPP extensions\n" +#~ " -i, --interactive interpret syntax in interactive mode\n" +#~ " -s, --safer don't allow some unsafe operations\n" +#~ "Default search path: %s\n" +#~ "\n" +#~ "Informative output:\n" +#~ " -h, --help display this help and exit\n" +#~ " -V, --version output version information and exit\n" +#~ "\n" +#~ "A non-option argument is interpreted as a data file in .sav or .zsav or .por\n" +#~ "format or a syntax file to load.\n" +#~ msgstr "" +#~ "PSPPIRE, eine grafische Oberfläche für PSPP, ein Programm zur statistischen Analyse von Stichprobendaten.\n" +#~ "Befehl: %s [OPTION]... DATEI\n" +#~ "\n" +#~ "Die gezeigten Argumente für die Langform der Optionen finden auch in der entsprechenden Kurzform der Optionen Anwendung.\n" +#~ "\n" +#~ "GUI Optionen:\n" +#~ " -q, --no-splash Begrüßungsbildschirm soll beim Start nicht gezeigt werden\n" +#~ "\n" +#~ "%sSprachoptionen:\n" +#~ " -I, --include=VERZEICHNIS füge das VERZEICHNIS dem Suchpfad hinzu\n" +#~ " -I-, --no-include Löschung des Suchpfads\n" +#~ " -a, --algorithm={compatible|enhanced}\n" +#~ " auf `compatible' setzen, um auch von fehlerhaften\n" +#~ " Algorithmen Ausgaben erzeugen zu lassen\n" +#~ " -x, --syntax={compatible|enhanced}\n" +#~ " auf `compatible' setzen, um PSPP-Erweiterungen auszuschalten\n" +#~ " -i, --interactive interpretiere die Syntax im interaktiven Modus\n" +#~ " --syntax-encoding=KODIERUNG legt die Kodierung der Syntaxdatei fest\n" +#~ " -s, --safer unterbindet unsichere Operationen\n" +#~ "Voreigestellter Suchpfad: %s\n" +#~ "\n" +#~ "Information:\n" +#~ " -h, --help Anzeige dieses Hilfetextes\n" +#~ " -V, --version Anzeige der Versionsinformationen\n" +#~ "\n" +#~ "Ein Argument ohne Optionen wird als Datendatei im .sav oder .zsav Format interpretiert\n" +#~ "oder als Syntaxdatei, die ausgeführt wird.\n" + +#~ msgid "_Reset" +#~ msgstr "_Zurücksetzen" + +#~ msgid "_Select" +#~ msgstr "A_swählen" + +#~ msgid "var" +#~ msgstr "var" + +#~ msgid "Delete the variables at the selected position(s)" +#~ msgstr "Die ausgewählte(n) Variable(n) löschen" + +#~ msgid "Delete the cases at the selected position(s)" +#~ msgstr "Lösche Fälle in den/der ausgewählten Position(en)" + +#~ msgid "_Open..." +#~ msgstr "Ö_ffnen..." + +#~ msgid "Transpose the cases with the variables" +#~ msgstr "Transponiert die Fälle mit den Variablen" + +#~ msgid "Aggregate the case values into a new variable" +#~ msgstr "Zusammenführung der Werte in einer neuen Variable" + +#~ msgid "Choose a subset of cases for analysis" +#~ msgstr "Wählen Sie einen Teil der Fälle zur Analyse aus" + +#~ msgid "All" +#~ msgstr "Alles" + #~ msgid "expecting number or data string" #~ msgstr "erwarte Zahl oder Zeichenkette" diff --git a/src/automake.mk b/src/automake.mk index efbdf72012..20a3cc052b 100644 --- a/src/automake.mk +++ b/src/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- # PSPP diff --git a/src/data/automake.mk b/src/data/automake.mk index 8031de188a..1572eea83e 100644 --- a/src/data/automake.mk +++ b/src/data/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# noinst_LTLIBRARIES += src/data/libdata.la src_data_libdata_la_CPPFLAGS = $(LIBXML2_CFLAGS) $(PG_CFLAGS) $(AM_CPPFLAGS) diff --git a/src/data/calendar.h b/src/data/calendar.h index 5535690447..ce6d3a3141 100644 --- a/src/data/calendar.h +++ b/src/data/calendar.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #ifndef CALENDAR_H #define CALENDAR_H 1 diff --git a/src/data/sys-file-encoding.c b/src/data/sys-file-encoding.c index 5138e84ba3..37e989b43f 100644 --- a/src/data/sys-file-encoding.c +++ b/src/data/sys-file-encoding.c @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + /* -*- mode: c; buffer-read-only: t -*- Generated by sys-file-encoding.pl. Do not modify! diff --git a/src/data/sys-file-reader.c b/src/data/sys-file-reader.c index b49ccf7856..9d7e392d01 100644 --- a/src/data/sys-file-reader.c +++ b/src/data/sys-file-reader.c @@ -203,6 +203,7 @@ struct sfm_reader size_t sfm_var_cnt; /* Number of variables. */ int case_cnt; /* Number of cases */ const char *encoding; /* String encoding. */ + bool written_by_readstat; /* From https://github.com/WizardMac/ReadStat? */ /* Decompression. */ enum any_compression compression; @@ -282,7 +283,7 @@ static bool read_variable_record (struct sfm_reader *, struct sfm_var_record *); static bool read_value_label_record (struct sfm_reader *, struct sfm_value_label_record *); -static struct sfm_document_record *read_document_record (struct sfm_reader *); +static bool read_document_record (struct sfm_reader *); static bool read_extension_record (struct sfm_reader *, int subtype, struct sfm_extension_record **); static bool skip_extension_record (struct sfm_reader *, int subtype); @@ -500,8 +501,7 @@ read_record (struct sfm_reader *r, int type, sys_error (r, r->pos, _("Duplicate type 6 (document) record.")); return false; } - r->document = read_document_record (r); - return r->document != NULL; + return read_document_record (r); case 7: if (!read_int (r, &subtype)) @@ -523,7 +523,7 @@ read_record (struct sfm_reader *r, int type, 18. I'm surprised that SPSS puts up with this. */ struct sfm_extension_record *ext; bool ok = read_extension_record (r, subtype, &ext); - if (ok) + if (ok && ext) ll_push_tail (&r->var_attrs, &ext->ll); return ok; } @@ -862,7 +862,7 @@ sfm_decode (struct any_reader *r_, const char *encoding, amount that the header claims. SPSS version 13 gets this wrong when very long strings are involved, so don't warn in that case. */ - if (r->header.nominal_case_size != -1 + if (r->header.nominal_case_size > 0 && r->header.nominal_case_size != r->n_vars && r->info.version_major != 13) sys_warn (r, -1, _("File header claims %d variable positions but " @@ -968,6 +968,8 @@ read_header (struct sfm_reader *r, struct any_read_info *info, if (!read_string (r, header->magic, sizeof header->magic) || !read_string (r, header->eye_catcher, sizeof header->eye_catcher)) return false; + r->written_by_readstat = strstr (header->eye_catcher, + "https://github.com/WizardMac/ReadStat"); if (!strcmp (ASCII_MAGIC, header->magic) || !strcmp (EBCDIC_MAGIC, header->magic)) @@ -1229,33 +1231,35 @@ read_value_label_record (struct sfm_reader *r, return true; } -/* Reads a document record from R and returns it. */ -static struct sfm_document_record * +/* Reads a document record from R. Returns true if successful, false on + error. */ +static bool read_document_record (struct sfm_reader *r) { - struct sfm_document_record *record; int n_lines; - - record = pool_malloc (r->pool, sizeof *record); - record->pos = r->pos; - if (!read_int (r, &n_lines)) - return NULL; - if (n_lines <= 0 || n_lines >= INT_MAX / DOC_LINE_LENGTH) + return false; + else if (n_lines == 0) + return true; + else if (n_lines < 0 || n_lines >= INT_MAX / DOC_LINE_LENGTH) { - sys_error (r, record->pos, + sys_error (r, r->pos, _("Number of document lines (%d) " "must be greater than 0 and less than %d."), n_lines, INT_MAX / DOC_LINE_LENGTH); - return NULL; + return false; } + struct sfm_document_record *record; + record = pool_malloc (r->pool, sizeof *record); + record->pos = r->pos; record->n_lines = n_lines; record->documents = pool_malloc (r->pool, DOC_LINE_LENGTH * n_lines); if (!read_bytes (r, record->documents, DOC_LINE_LENGTH * n_lines)) - return NULL; + return false; - return record; + r->document = record; + return true; } static bool @@ -2227,7 +2231,15 @@ parse_value_labels (struct sfm_reader *r, struct dictionary *dict, if (!var_add_value_label (var, &value, utf8_labels[j])) { - if (var_is_numeric (var)) + if (r->written_by_readstat) + { + /* Ignore the problem. ReadStat is buggy and emits value + labels whose values are longer than string variables' + widths, that are identical in the actual width of the + variable, e.g. both values "ABC123" and "ABC456" for a + string variable with width 3. */ + } + else if (var_is_numeric (var)) sys_warn (r, record->pos, _("Duplicate value label for %g on %s."), value.f, var_get_name (var)); @@ -2463,7 +2475,8 @@ parse_long_string_value_labels (struct sfm_reader *r, ofs += 4; /* Parse variable name, width, and number of labels. */ - if (!check_overflow (r, record, ofs, var_name_len + 8)) + if (!check_overflow (r, record, ofs, var_name_len) + || !check_overflow (r, record, ofs, var_name_len + 8)) return; var_name = recode_string_pool ("UTF-8", dict_encoding, (const char *) record->data + ofs, @@ -2581,7 +2594,8 @@ parse_long_string_missing_values (struct sfm_reader *r, ofs += 4; /* Parse variable name. */ - if (!check_overflow (r, record, ofs, var_name_len + 1)) + if (!check_overflow (r, record, ofs, var_name_len) + || !check_overflow (r, record, ofs, var_name_len + 1)) return; var_name = recode_string_pool ("UTF-8", dict_encoding, (const char *) record->data + ofs, diff --git a/src/language/automake.mk b/src/language/automake.mk index 7e684a7f6a..cc90ade4dc 100644 --- a/src/language/automake.mk +++ b/src/language/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- include $(top_srcdir)/src/language/lexer/automake.mk diff --git a/src/language/control/automake.mk b/src/language/control/automake.mk index 11c5fdc3d0..3c12497885 100644 --- a/src/language/control/automake.mk +++ b/src/language/control/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/src/language/control/control-stack.c b/src/language/control/control-stack.c index f806c7803a..b6a405485e 100644 --- a/src/language/control/control-stack.c +++ b/src/language/control/control-stack.c @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include #include "language/control/control-stack.h" diff --git a/src/language/data-io/automake.mk b/src/language/data-io/automake.mk index 5579b81912..2d839991cc 100644 --- a/src/language/data-io/automake.mk +++ b/src/language/data-io/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- language_data_io_sources = \ diff --git a/src/language/data-io/matrix-data.c b/src/language/data-io/matrix-data.c index 752a0be3d2..609e5eb1fd 100644 --- a/src/language/data-io/matrix-data.c +++ b/src/language/data-io/matrix-data.c @@ -77,6 +77,7 @@ struct matrix_format int n_continuous_vars; struct variable **split_vars; size_t n_split_vars; + long n; }; /* @@ -206,6 +207,24 @@ preprocess (struct casereader *casereader0, const struct dictionary *dict, void const int idx = var_get_dict_index (mformat->varname); row = 0; + if (mformat->n >= 0) + { + int col; + struct ccase *outcase = case_create (proto); + union value *v = case_data_rw (outcase, mformat->rowtype); + uint8_t *n = value_str_rw (v, ROWTYPE_WIDTH); + strncpy ((char *) n, "N ", ROWTYPE_WIDTH); + blank_varname_column (outcase, mformat->varname); + for (col = 0; col < mformat->n_continuous_vars; ++col) + { + union value *dest_val = + case_data_rw_idx (outcase, + 1 + col + var_get_dict_index (mformat->varname)); + dest_val->f = mformat->n; + } + casewriter_write (writer, outcase); + } + prev_split_hash = 1; n_splits = 0; for (; (c = casereader_read (casereader0)) != NULL; prev_case = c) @@ -225,12 +244,23 @@ preprocess (struct casereader *casereader0, const struct dictionary *dict, void } prev_split_hash = split_hash; - case_unref (prev_case); - struct ccase *outcase = case_create (proto); - case_copy (outcase, 0, c, 0, caseproto_get_n_widths (proto)); const union value *v = case_data (c, mformat->rowtype); const char *val = (const char *) value_str (v, ROWTYPE_WIDTH); + if (mformat->n >= 0) + { + if (0 == strncasecmp (val, "n ", ROWTYPE_WIDTH) || + 0 == strncasecmp (val, "n_vector", ROWTYPE_WIDTH)) + { + msg (SW, + _("The N subcommand was specified, but a N record was also found in the data. The N record will be ignored.")); + continue; + } + } + + struct ccase *outcase = case_create (proto); + case_copy (outcase, 0, c, 0, caseproto_get_n_widths (proto)); + if (0 == strncasecmp (val, "corr ", ROWTYPE_WIDTH) || 0 == strncasecmp (val, "cov ", ROWTYPE_WIDTH)) { @@ -336,6 +366,7 @@ cmd_matrix (struct lexer *lexer, struct dataset *ds) mformat.diagonal = DIAGONAL; mformat.n_split_vars = 0; mformat.split_vars = NULL; + mformat.n = -1; dict = (in_input_program () ? dataset_dict (ds) @@ -406,7 +437,22 @@ cmd_matrix (struct lexer *lexer, struct dataset *ds) if (! lex_force_match (lexer, T_SLASH)) goto error; - if (lex_match_id (lexer, "FORMAT")) + if (lex_match_id (lexer, "N")) + { + lex_match (lexer, T_EQUALS); + + if (! lex_force_int (lexer)) + goto error; + + mformat.n = lex_integer (lexer); + if (mformat.n < 0) + { + msg (SE, _("%s must not be negative."), "N"); + goto error; + } + lex_get (lexer); + } + else if (lex_match_id (lexer, "FORMAT")) { lex_match (lexer, T_EQUALS); diff --git a/src/language/dictionary/automake.mk b/src/language/dictionary/automake.mk index b1fe0bf6c7..dbb7ec446f 100644 --- a/src/language/dictionary/automake.mk +++ b/src/language/dictionary/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- language_dictionary_sources = \ diff --git a/src/language/expressions/automake.mk b/src/language/expressions/automake.mk index 58e64327e7..5039c12247 100644 --- a/src/language/expressions/automake.mk +++ b/src/language/expressions/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- language_expressions_sources = \ diff --git a/src/language/expressions/generate.pl b/src/language/expressions/generate.pl index 9d1e50245d..1b821c412d 100644 --- a/src/language/expressions/generate.pl +++ b/src/language/expressions/generate.pl @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# use strict; use warnings 'all'; diff --git a/src/language/expressions/helpers.h b/src/language/expressions/helpers.h index 8646233b66..84ba8616bd 100644 --- a/src/language/expressions/helpers.h +++ b/src/language/expressions/helpers.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #ifndef EXPRESSIONS_HELPERS_H #define EXPRESSIONS_HELPERS_H diff --git a/src/language/lexer/automake.mk b/src/language/lexer/automake.mk index 7313e08597..05b7d55d0e 100644 --- a/src/language/lexer/automake.mk +++ b/src/language/lexer/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/src/language/stats/automake.mk b/src/language/stats/automake.mk index 6388e148d6..33d9cd4c62 100644 --- a/src/language/stats/automake.mk +++ b/src/language/stats/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- AM_CPPFLAGS += -I$(top_srcdir)/src/language/stats diff --git a/src/language/stats/chart-category.h b/src/language/stats/chart-category.h index 8693920444..0ec56b9b31 100644 --- a/src/language/stats/chart-category.h +++ b/src/language/stats/chart-category.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #ifndef BARCHART_DEF_H #define BARCHART_DEF_H 1 diff --git a/src/language/stats/factor.c b/src/language/stats/factor.c index fc3eb5b4d2..095d98ff35 100644 --- a/src/language/stats/factor.c +++ b/src/language/stats/factor.c @@ -243,6 +243,8 @@ struct idata double detR; /* The determinant of the correlation matrix */ + gsl_matrix *ai_cov; /* The anti-image covariance matrix */ + gsl_matrix *ai_cor; /* The anti-image correlation matrix */ struct covariance *cvm; }; @@ -266,36 +268,32 @@ idata_free (struct idata *id) gsl_vector_free (id->msr); gsl_vector_free (id->eval); gsl_matrix_free (id->evec); + gsl_matrix_free (id->ai_cov); + gsl_matrix_free (id->ai_cor); free (id); } - -static gsl_matrix * -anti_image (const gsl_matrix *m) +/* Return the sum of squares of all the elements in row J excluding column J */ +static double +ssq_row_od_n (const gsl_matrix *m, int j) { - int i, j; - gsl_matrix *a; + int i; + double ss = 0; assert (m->size1 == m->size2); - a = gsl_matrix_alloc (m->size1, m->size2); + assert (j < m->size1); for (i = 0; i < m->size1; ++i) { - for (j = 0; j < m->size2; ++j) - { - double *p = gsl_matrix_ptr (a, i, j); - *p = gsl_matrix_get (m, i, j); - *p /= gsl_matrix_get (m, i, i); - *p /= gsl_matrix_get (m, j, j); - } + if (i == j ) continue; + ss += pow2 (gsl_matrix_get (m, i, j)); } - return a; + return ss; } - -/* Return the sum of all the elements excluding row N */ +/* Return the sum of squares of all the elements excluding row N */ static double ssq_od_n (const gsl_matrix *m, int n) { @@ -307,9 +305,9 @@ ssq_od_n (const gsl_matrix *m, int n) for (i = 0; i < m->size1; ++i) { - if (i == n ) continue; for (j = 0; j < m->size2; ++j) { + if (i == j) continue; ss += pow2 (gsl_matrix_get (m, i, j)); } } @@ -318,6 +316,58 @@ ssq_od_n (const gsl_matrix *m, int n) } +static gsl_matrix * +anti_image_corr (const gsl_matrix *m, const struct idata *idata) +{ + int i, j; + gsl_matrix *a; + assert (m->size1 == m->size2); + + a = gsl_matrix_alloc (m->size1, m->size2); + + for (i = 0; i < m->size1; ++i) + { + for (j = 0; j < m->size2; ++j) + { + double *p = gsl_matrix_ptr (a, i, j); + *p = gsl_matrix_get (m, i, j); + *p /= sqrt (gsl_matrix_get (m, i, i) * + gsl_matrix_get (m, j, j)); + } + } + + for (i = 0; i < m->size1; ++i) + { + double r = ssq_row_od_n (idata->mm.corr, i); + double u = ssq_row_od_n (a, i); + gsl_matrix_set (a, i, i, r / (r + u)); + } + + return a; +} + +static gsl_matrix * +anti_image_cov (const gsl_matrix *m) +{ + int i, j; + gsl_matrix *a; + assert (m->size1 == m->size2); + + a = gsl_matrix_alloc (m->size1, m->size2); + + for (i = 0; i < m->size1; ++i) + { + for (j = 0; j < m->size2; ++j) + { + double *p = gsl_matrix_ptr (a, i, j); + *p = gsl_matrix_get (m, i, j); + *p /= gsl_matrix_get (m, i, i); + *p /= gsl_matrix_get (m, j, j); + } + } + + return a; +} #if 0 static void @@ -1365,10 +1415,11 @@ cmd_factor (struct lexer *lexer, struct dataset *ds) else if (lex_match_id (lexer, "INV")) { } +#endif else if (lex_match_id (lexer, "AIC")) { + factor.print |= PRINT_AIC; } -#endif else if (lex_match_id (lexer, "SIG")) { factor.print |= PRINT_SIG; @@ -1981,6 +2032,81 @@ show_factor_correlation (const struct cmd_factor * factor, const gsl_matrix *fcm tab_submit (t); } +static void +show_aic (const struct cmd_factor *factor, const struct idata *idata) +{ + struct tab_table *t ; + size_t i; + + const int heading_rows = 1; + const int heading_columns = 2; + + const int nc = heading_columns + factor->n_vars; + const int nr = heading_rows + 2 * factor->n_vars; + + if ((factor->print & PRINT_AIC) == 0) + return; + + t = tab_create (nc, nr); + + tab_title (t, _("Anti-Image Matrices")); + + tab_hline (t, TAL_1, 0, nc - 1, heading_rows); + + tab_headers (t, heading_columns, 0, heading_rows, 0); + + tab_vline (t, TAL_2, 2, 0, nr - 1); + + /* Outline the box */ + tab_box (t, + TAL_2, TAL_2, + -1, -1, + 0, 0, + nc - 1, nr - 1); + + /* Vertical lines */ + tab_box (t, + -1, -1, + -1, TAL_1, + heading_columns, 0, + nc - 1, nr - 1); + + + for (i = 0; i < factor->n_vars; ++i) + tab_text (t, heading_columns + i, 0, TAT_TITLE, var_to_string (factor->vars[i])); + + tab_text (t, 0, heading_rows, TAT_TITLE, _("Anti-image Covariance")); + tab_hline (t, TAL_1, 0, nc - 1, heading_rows + factor->n_vars); + tab_text (t, 0, heading_rows + factor->n_vars, TAT_TITLE, _("Anti-image Correlation")); + + for (i = 0; i < factor->n_vars; ++i) + { + tab_text (t, 1, i + heading_rows, TAT_TITLE, + var_to_string (factor->vars[i])); + + tab_text (t, 1, factor->n_vars + i + heading_rows, TAT_TITLE, + var_to_string (factor->vars[i])); + } + + for (i = 0; i < factor->n_vars; ++i) + { + int j; + for (j = 0; j < factor->n_vars; ++j) + { + tab_double (t, heading_columns + i, heading_rows + j, 0, + gsl_matrix_get (idata->ai_cov, i, j), NULL, RC_OTHER); + } + + + for (j = 0; j < factor->n_vars; ++j) + { + tab_double (t, heading_columns + i, factor->n_vars + heading_rows + j, 0, + gsl_matrix_get (idata->ai_cor, i, j), NULL, RC_OTHER); + } + } + + tab_submit (t); +} static void show_correlation_matrix (const struct cmd_factor *factor, const struct idata *idata) @@ -2245,6 +2371,25 @@ do_factor_by_matrix (const struct cmd_factor *factor, struct idata *idata) else idata->analysis_matrix = idata->mm.cov; + gsl_matrix *r_inv; + r_inv = clone_matrix (idata->mm.corr); + gsl_linalg_cholesky_decomp (r_inv); + gsl_linalg_cholesky_invert (r_inv); + + idata->ai_cov = anti_image_cov (r_inv); + idata->ai_cor = anti_image_corr (r_inv, idata); + + int i; + double sum_ssq_r = 0; + double sum_ssq_a = 0; + for (i = 0; i < r_inv->size1; ++i) + { + sum_ssq_r += ssq_od_n (idata->mm.corr, i); + sum_ssq_a += ssq_od_n (idata->ai_cor, i); + } + + gsl_matrix_free (r_inv); + if (factor->print & PRINT_DETERMINANT || factor->print & PRINT_KMO) { @@ -2315,9 +2460,6 @@ do_factor_by_matrix (const struct cmd_factor *factor, struct idata *idata) if (factor->print & PRINT_KMO) { int i; - double sum_ssq_r = 0; - double sum_ssq_a = 0; - double df = factor->n_vars * (factor->n_vars - 1) / 2; double w = 0; @@ -2331,25 +2473,11 @@ do_factor_by_matrix (const struct cmd_factor *factor, struct idata *idata) const int nr = heading_rows + 4; const int nc = heading_columns + 1; - gsl_matrix *a, *x; + struct tab_table *t = tab_create (nc, nr); tab_title (t, _("KMO and Bartlett's Test")); - x = clone_matrix (idata->mm.corr); - gsl_linalg_cholesky_decomp (x); - gsl_linalg_cholesky_invert (x); - - a = anti_image (x); - - for (i = 0; i < x->size1; ++i) - { - sum_ssq_r += ssq_od_n (x, i); - sum_ssq_a += ssq_od_n (a, i); - } - - gsl_matrix_free (a); - gsl_matrix_free (x); tab_headers (t, heading_columns, 0, heading_rows, 0); @@ -2488,9 +2616,9 @@ do_factor_by_matrix (const struct cmd_factor *factor, struct idata *idata) } + show_aic (factor, idata); show_communalities (factor, initial_communalities, extracted_communalities); - if ( factor->rotation != ROT_NONE) { rotated_factors = gsl_matrix_calloc (factor_matrix->size1, factor_matrix->size2); diff --git a/src/language/tests/automake.mk b/src/language/tests/automake.mk index 429c770975..2996615a3f 100644 --- a/src/language/tests/automake.mk +++ b/src/language/tests/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- language_tests_sources = \ diff --git a/src/language/utilities/automake.mk b/src/language/utilities/automake.mk index 1c745b2b7f..4228eaa7a0 100644 --- a/src/language/utilities/automake.mk +++ b/src/language/utilities/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/src/language/xforms/automake.mk b/src/language/xforms/automake.mk index d0fe1cb6c0..3256ca9752 100644 --- a/src/language/xforms/automake.mk +++ b/src/language/xforms/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/src/libpspp/array.h b/src/libpspp/array.h index dc17fbd7ef..fbebd56835 100644 --- a/src/libpspp/array.h +++ b/src/libpspp/array.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #ifndef ALGORITHM_H #define ALGORITHM_H 1 diff --git a/src/libpspp/automake.mk b/src/libpspp/automake.mk index 0892a481c8..b68fce0d52 100644 --- a/src/libpspp/automake.mk +++ b/src/libpspp/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/src/libpspp/zip-reader.c b/src/libpspp/zip-reader.c index 13986cbeca..4810ae5337 100644 --- a/src/libpspp/zip-reader.c +++ b/src/libpspp/zip-reader.c @@ -378,7 +378,7 @@ zip_reader_create (const char *filename, struct string *errs) zr->members = xcalloc (zr->n_members, sizeof (*zr->members)); memset (zr->members, 0, zr->n_members * sizeof (*zr->members)); - zr->filename = strdup (filename); + zr->filename = xstrdup (filename); return zr; } diff --git a/src/math/automake.mk b/src/math/automake.mk index cdcc2c8cb7..36e1f5e304 100644 --- a/src/math/automake.mk +++ b/src/math/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- diff --git a/src/math/linreg.c b/src/math/linreg.c index be330bc40e..d1e0dae980 100644 --- a/src/math/linreg.c +++ b/src/math/linreg.c @@ -275,7 +275,7 @@ linreg_predict (const struct linreg *c, const double *vals, size_t n_vals) size_t j; double result; - assert (n_vals = c->n_coeffs); + assert (n_vals == c->n_coeffs); if (vals == NULL || c == NULL) { return GSL_NAN; @@ -322,6 +322,7 @@ linreg_set_indep_variable_mean (struct linreg *c, size_t j, double m) gsl_vector_set (c->indep_means, j, m); } +#if 0 static void linreg_fit_qr (const gsl_matrix *cov, struct linreg *l) { @@ -415,6 +416,7 @@ linreg_fit_qr (const gsl_matrix *cov, struct linreg *l) gsl_matrix_free (xtx); gsl_vector_free (params); } +#endif #define REG_LARGE_DATA 1000 @@ -432,6 +434,9 @@ linreg_fit (const gsl_matrix *cov, struct linreg *l) l->sst = gsl_matrix_get (cov, cov->size1 - 1, cov->size2 - 1); +#if 0 + /* This QR decomposition path seems to produce the incorrect + values. See https://savannah.gnu.org/bugs/?51373 */ if ((l->n_obs * l->n_obs > l->n_indeps) && (l->n_obs > REG_LARGE_DATA)) { /* @@ -440,6 +445,7 @@ linreg_fit (const gsl_matrix *cov, struct linreg *l) linreg_fit_qr (cov, l); } else +#endif { gsl_matrix *params = gsl_matrix_calloc (cov->size1, cov->size2); gsl_matrix_memcpy (params, cov); diff --git a/src/math/wilcoxon-sig.h b/src/math/wilcoxon-sig.h index 07eba552b2..92f1906579 100644 --- a/src/math/wilcoxon-sig.h +++ b/src/math/wilcoxon-sig.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #ifndef WX_MP_SR #define WX_MP_SR 1 diff --git a/src/output/automake.mk b/src/output/automake.mk index 04fddfd942..7e2a9afe6c 100644 --- a/src/output/automake.mk +++ b/src/output/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- noinst_LTLIBRARIES += src/output/liboutput.la diff --git a/src/ui/automake.mk b/src/ui/automake.mk index 6f4dd6ce72..4836caa926 100644 --- a/src/ui/automake.mk +++ b/src/ui/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- include $(top_srcdir)/src/ui/terminal/automake.mk diff --git a/src/ui/gui/aggregate.ui b/src/ui/gui/aggregate.ui index f42f8cba3c..850ef0161e 100644 --- a/src/ui/gui/aggregate.ui +++ b/src/ui/gui/aggregate.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index d302f5b258..1877263b73 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- UI_FILES = \ diff --git a/src/ui/gui/autorecode.ui b/src/ui/gui/autorecode.ui index d03a4d6273..cf6d095cda 100644 --- a/src/ui/gui/autorecode.ui +++ b/src/ui/gui/autorecode.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/barchart.ui b/src/ui/gui/barchart.ui index c7b8d0d66c..2ffac33ced 100644 --- a/src/ui/gui/barchart.ui +++ b/src/ui/gui/barchart.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/binomial.ui b/src/ui/gui/binomial.ui index f84d1f0b11..40e972be7f 100644 --- a/src/ui/gui/binomial.ui +++ b/src/ui/gui/binomial.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/chi-square.ui b/src/ui/gui/chi-square.ui index 3dd34d323f..f57db45a49 100644 --- a/src/ui/gui/chi-square.ui +++ b/src/ui/gui/chi-square.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/comments.ui b/src/ui/gui/comments.ui index 2803ed666f..95aec4e924 100644 --- a/src/ui/gui/comments.ui +++ b/src/ui/gui/comments.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/compute.ui b/src/ui/gui/compute.ui index 45a39b0975..18bd8ff119 100644 --- a/src/ui/gui/compute.ui +++ b/src/ui/gui/compute.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/correlation.ui b/src/ui/gui/correlation.ui index 0fe16d23c5..37161b5517 100644 --- a/src/ui/gui/correlation.ui +++ b/src/ui/gui/correlation.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/count.ui b/src/ui/gui/count.ui index d9ed2bd251..70189e5ebe 100644 --- a/src/ui/gui/count.ui +++ b/src/ui/gui/count.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/crosstabs.ui b/src/ui/gui/crosstabs.ui index d949ac372d..233657a6c1 100644 --- a/src/ui/gui/crosstabs.ui +++ b/src/ui/gui/crosstabs.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/data-editor.ui b/src/ui/gui/data-editor.ui index 0a5430f4d4..214af79738 100644 --- a/src/ui/gui/data-editor.ui +++ b/src/ui/gui/data-editor.ui @@ -1,4 +1,20 @@ - + + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/descriptives.ui b/src/ui/gui/descriptives.ui index ee8373d2cb..c63aa4cf86 100644 --- a/src/ui/gui/descriptives.ui +++ b/src/ui/gui/descriptives.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/entry-dialog.ui b/src/ui/gui/entry-dialog.ui index b45582b1ab..e914ce1a11 100644 --- a/src/ui/gui/entry-dialog.ui +++ b/src/ui/gui/entry-dialog.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/examine.ui b/src/ui/gui/examine.ui index c51244d343..5c7824371c 100644 --- a/src/ui/gui/examine.ui +++ b/src/ui/gui/examine.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/factor.ui b/src/ui/gui/factor.ui index c20349e487..445d5b2039 100644 --- a/src/ui/gui/factor.ui +++ b/src/ui/gui/factor.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/find.ui b/src/ui/gui/find.ui index 8f2aab877c..ac05b5961d 100644 --- a/src/ui/gui/find.ui +++ b/src/ui/gui/find.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/frequencies.ui b/src/ui/gui/frequencies.ui index 82957f32fd..03dabe55a6 100644 --- a/src/ui/gui/frequencies.ui +++ b/src/ui/gui/frequencies.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/goto-case.ui b/src/ui/gui/goto-case.ui index 1a48ec260b..79490b7a0c 100644 --- a/src/ui/gui/goto-case.ui +++ b/src/ui/gui/goto-case.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/histogram.ui b/src/ui/gui/histogram.ui index 4e374e2daf..e4c0313b3d 100644 --- a/src/ui/gui/histogram.ui +++ b/src/ui/gui/histogram.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/icons/automake.mk b/src/ui/gui/icons/automake.mk index 7aee3f3424..d3eb0ef1b7 100644 --- a/src/ui/gui/icons/automake.mk +++ b/src/ui/gui/icons/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# EXTRA_DIST += $(icons) $(icon_srcs) src/ui/gui/icons/COPYING_CCBYSA3 include $(top_srcdir)/src/ui/gui/icons/manifest diff --git a/src/ui/gui/indep-samples.ui b/src/ui/gui/indep-samples.ui index 69cfb67a5e..f42973e172 100644 --- a/src/ui/gui/indep-samples.ui +++ b/src/ui/gui/indep-samples.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/k-independent.ui b/src/ui/gui/k-independent.ui index 60ed0957e1..8b1ffb2836 100644 --- a/src/ui/gui/k-independent.ui +++ b/src/ui/gui/k-independent.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/k-means.ui b/src/ui/gui/k-means.ui index 06a5021c5d..838199228b 100644 --- a/src/ui/gui/k-means.ui +++ b/src/ui/gui/k-means.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/k-related.ui b/src/ui/gui/k-related.ui index ab52a5db5b..3c9ad814e1 100644 --- a/src/ui/gui/k-related.ui +++ b/src/ui/gui/k-related.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/ks-one-sample.ui b/src/ui/gui/ks-one-sample.ui index e7bb2e07eb..9b5a1dc6cd 100644 --- a/src/ui/gui/ks-one-sample.ui +++ b/src/ui/gui/ks-one-sample.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/logistic.ui b/src/ui/gui/logistic.ui index b226eedb35..94f7449bc3 100644 --- a/src/ui/gui/logistic.ui +++ b/src/ui/gui/logistic.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/means.ui b/src/ui/gui/means.ui index 1739191231..e277e43579 100644 --- a/src/ui/gui/means.ui +++ b/src/ui/gui/means.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/missing-val-dialog.ui b/src/ui/gui/missing-val-dialog.ui index b9360fb196..09db6398e3 100644 --- a/src/ui/gui/missing-val-dialog.ui +++ b/src/ui/gui/missing-val-dialog.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/oneway.ui b/src/ui/gui/oneway.ui index 02720a42ec..615ba2f380 100644 --- a/src/ui/gui/oneway.ui +++ b/src/ui/gui/oneway.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/options.ui b/src/ui/gui/options.ui index 75e827fcf3..3a15821edd 100644 --- a/src/ui/gui/options.ui +++ b/src/ui/gui/options.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/output-window.ui b/src/ui/gui/output-window.ui index faa85b27c3..f23dfd68b6 100644 --- a/src/ui/gui/output-window.ui +++ b/src/ui/gui/output-window.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/paired-samples.ui b/src/ui/gui/paired-samples.ui index 46c0b6dd31..cf59479fd3 100644 --- a/src/ui/gui/paired-samples.ui +++ b/src/ui/gui/paired-samples.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/psppire-buttonbox.c b/src/ui/gui/psppire-buttonbox.c index 87989cf12b..087c105587 100644 --- a/src/ui/gui/psppire-buttonbox.c +++ b/src/ui/gui/psppire-buttonbox.c @@ -301,19 +301,37 @@ on_validity_change (GtkWidget *toplevel, gboolean valid, gpointer data) gtk_widget_set_sensitive (GTK_WIDGET (bb->button[PSPPIRE_BUTTON_CONTINUE]), valid); } +static gboolean +on_key_press (GtkWidget *w, GdkEventKey *e, gpointer ud) +{ + PsppireButtonbox *bb = PSPPIRE_BUTTONBOX (ud); + if (e->keyval == GDK_KEY_Escape) + { + g_signal_emit_by_name (bb->button[PSPPIRE_BUTTON_CANCEL], "activate"); + g_signal_emit_by_name (bb->button[PSPPIRE_BUTTON_CLOSE], "activate"); + } + return FALSE; +} + + static void on_realize (GtkWidget *buttonbox, gpointer data) { GtkWidget *toplevel = gtk_widget_get_toplevel (buttonbox); - if ( PSPPIRE_IS_DIALOG (toplevel)) + if (PSPPIRE_IS_DIALOG (toplevel)) { g_signal_connect (toplevel, "validity-changed", G_CALLBACK (on_validity_change), buttonbox); + + g_signal_connect (toplevel, "key-press-event", + G_CALLBACK (on_key_press), buttonbox); } + set_default (PSPPIRE_BUTTONBOX (buttonbox)); } + static void psppire_button_box_init (PsppireButtonbox *bb) { diff --git a/src/ui/gui/rank.ui b/src/ui/gui/rank.ui index b1afc0e4c3..5c18d592f9 100644 --- a/src/ui/gui/rank.ui +++ b/src/ui/gui/rank.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/recode.ui b/src/ui/gui/recode.ui index ee31002c81..77f101c4bb 100644 --- a/src/ui/gui/recode.ui +++ b/src/ui/gui/recode.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/regression.ui b/src/ui/gui/regression.ui index d7aa7d1867..00b552e00c 100644 --- a/src/ui/gui/regression.ui +++ b/src/ui/gui/regression.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/reliability.ui b/src/ui/gui/reliability.ui index 76b75fc84e..4d739749c8 100644 --- a/src/ui/gui/reliability.ui +++ b/src/ui/gui/reliability.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/roc.ui b/src/ui/gui/roc.ui index f08322ff12..92258c64f9 100644 --- a/src/ui/gui/roc.ui +++ b/src/ui/gui/roc.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/runs.ui b/src/ui/gui/runs.ui index b0ece16a6a..3300bf653a 100644 --- a/src/ui/gui/runs.ui +++ b/src/ui/gui/runs.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/scatterplot.ui b/src/ui/gui/scatterplot.ui index 6cc59b2882..f460a1c01d 100644 --- a/src/ui/gui/scatterplot.ui +++ b/src/ui/gui/scatterplot.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/select-cases.ui b/src/ui/gui/select-cases.ui index 6eb7bda8a3..518ec4a6c1 100644 --- a/src/ui/gui/select-cases.ui +++ b/src/ui/gui/select-cases.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/sort.ui b/src/ui/gui/sort.ui index 6773c33932..37f6885937 100644 --- a/src/ui/gui/sort.ui +++ b/src/ui/gui/sort.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/split-file.ui b/src/ui/gui/split-file.ui index dde80d624f..c59700c34b 100644 --- a/src/ui/gui/split-file.ui +++ b/src/ui/gui/split-file.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/syntax-editor.ui b/src/ui/gui/syntax-editor.ui index a8451e0ef5..56423ea70b 100644 --- a/src/ui/gui/syntax-editor.ui +++ b/src/ui/gui/syntax-editor.ui @@ -1,4 +1,20 @@ - + + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/t-test.ui b/src/ui/gui/t-test.ui index f9a56e8e93..8f29347dba 100644 --- a/src/ui/gui/t-test.ui +++ b/src/ui/gui/t-test.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/text-data-import.ui b/src/ui/gui/text-data-import.ui index e7ee2d369c..86e6f39906 100644 --- a/src/ui/gui/text-data-import.ui +++ b/src/ui/gui/text-data-import.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/transpose.ui b/src/ui/gui/transpose.ui index 3b62febd03..09a76d1e0b 100644 --- a/src/ui/gui/transpose.ui +++ b/src/ui/gui/transpose.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/univariate.ui b/src/ui/gui/univariate.ui index e4b05a8ec8..031a776ded 100644 --- a/src/ui/gui/univariate.ui +++ b/src/ui/gui/univariate.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/val-labs-dialog.ui b/src/ui/gui/val-labs-dialog.ui index e3dbc185ec..12767198c4 100644 --- a/src/ui/gui/val-labs-dialog.ui +++ b/src/ui/gui/val-labs-dialog.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/var-display.c b/src/ui/gui/var-display.c index f779f4b1c1..086b5d6184 100644 --- a/src/ui/gui/var-display.c +++ b/src/ui/gui/var-display.c @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include #include "var-display.h" diff --git a/src/ui/gui/var-type-dialog.ui b/src/ui/gui/var-type-dialog.ui index 69383b49df..c47f623118 100644 --- a/src/ui/gui/var-type-dialog.ui +++ b/src/ui/gui/var-type-dialog.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/variable-info.ui b/src/ui/gui/variable-info.ui index 761c297b87..3135c1d026 100644 --- a/src/ui/gui/variable-info.ui +++ b/src/ui/gui/variable-info.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/weight.ui b/src/ui/gui/weight.ui index 9ee4e46ef3..6f2faa7eba 100644 --- a/src/ui/gui/weight.ui +++ b/src/ui/gui/weight.ui @@ -1,4 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/ui/gui/widgets.c b/src/ui/gui/widgets.c index 6878fa0fe5..26a5dac4fd 100644 --- a/src/ui/gui/widgets.c +++ b/src/ui/gui/widgets.c @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include #include diff --git a/src/ui/terminal/automake.mk b/src/ui/terminal/automake.mk index 4180591f1a..2a3c33966f 100644 --- a/src/ui/terminal/automake.mk +++ b/src/ui/terminal/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- noinst_LTLIBRARIES += src/ui/terminal/libui.la diff --git a/tests/atlocal.in b/tests/atlocal.in index f011d0849b..38679c050c 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -1,5 +1,23 @@ # -*- shell-script -*- +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + # Variables used internally by the testsuite. EXEEXT='@EXEEXT@' GNM_READ_SUPPORT='@GNM_READ_SUPPORT@' diff --git a/tests/automake.mk b/tests/automake.mk index 0f297f7ca0..31fddffddb 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ## Process this file with automake to produce Makefile.in -*- makefile -*- check_PROGRAMS += \ @@ -245,6 +261,8 @@ tests_ui_syntax_gen_test_LDADD = \ EXTRA_DIST += \ tests/coverage.sh \ + tests/data/CVE-2017-10791.sav \ + tests/data/CVE-2017-10792.sav \ tests/data/bcd-in.expected.cmp.gz \ tests/data/binhex-in.expected.cmp.gz \ tests/data/binhex-out.expected.gz \ diff --git a/tests/coverage.sh b/tests/coverage.sh index 3a210783c2..7a47296c8d 100755 --- a/tests/coverage.sh +++ b/tests/coverage.sh @@ -1,5 +1,22 @@ #!/bin/sh +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + # This little script can be used in conjunction with gcov to see how well # the regression test suite is covering the PSPP code. # diff --git a/tests/data/CVE-2017-10791.sav b/tests/data/CVE-2017-10791.sav new file mode 100644 index 0000000000..6462081f32 Binary files /dev/null and b/tests/data/CVE-2017-10791.sav differ diff --git a/tests/data/CVE-2017-10792.sav b/tests/data/CVE-2017-10792.sav new file mode 100644 index 0000000000..e36df43756 Binary files /dev/null and b/tests/data/CVE-2017-10792.sav differ diff --git a/tests/data/calendar.at b/tests/data/calendar.at index 4b64ecdc1a..4520858ef5 100644 --- a/tests/data/calendar.at +++ b/tests/data/calendar.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([calendar]) AT_SETUP([epoch]) diff --git a/tests/data/data-in.at b/tests/data/data-in.at index 0c3a183791..dfdf37ef1f 100644 --- a/tests/data/data-in.at +++ b/tests/data/data-in.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([data input (data-in)]) m4_divert_push([PREPARE_TESTS]) diff --git a/tests/data/data-out.at b/tests/data/data-out.at index 2ff7a2646d..f84e144928 100644 --- a/tests/data/data-out.at +++ b/tests/data/data-out.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([data output (data-out)]) AT_SETUP([numeric format output]) diff --git a/tests/data/datasheet-test.at b/tests/data/datasheet-test.at index 6f2f0e137b..0b24cfa821 100644 --- a/tests/data/datasheet-test.at +++ b/tests/data/datasheet-test.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([datasheet]) m4_define([DATASHEET_TEST], diff --git a/tests/data/dictionary.at b/tests/data/dictionary.at index 85ea5281bc..bc14638dfb 100644 --- a/tests/data/dictionary.at +++ b/tests/data/dictionary.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([dictionary]) AT_SETUP([dictionary case-insensitivity]) diff --git a/tests/data/encrypted-file.at b/tests/data/encrypted-file.at index 15a5ce219e..cfad7e05e2 100644 --- a/tests/data/encrypted-file.at +++ b/tests/data/encrypted-file.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([encrypted files]) AT_SETUP([decrypt an encrypted system file]) diff --git a/tests/data/file.at b/tests/data/file.at index bccdf003c5..686984046a 100644 --- a/tests/data/file.at +++ b/tests/data/file.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([files handling]) AT_SETUP([Write error - directory exists]) diff --git a/tests/data/format-guesser.at b/tests/data/format-guesser.at index 764d0f1668..f5df6efe80 100644 --- a/tests/data/format-guesser.at +++ b/tests/data/format-guesser.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([format guesser]) AT_SETUP([format guesser]) diff --git a/tests/data/pc+-file-reader.at b/tests/data/pc+-file-reader.at index a968e5dac0..2e032cdfb6 100644 --- a/tests/data/pc+-file-reader.at +++ b/tests/data/pc+-file-reader.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SPSS/PC+ file reader - positive]) AT_SETUP([variable labels and missing values]) diff --git a/tests/data/por-file.at b/tests/data/por-file.at index c23a047f31..d7ba804865 100644 --- a/tests/data/por-file.at +++ b/tests/data/por-file.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([portable files]) AT_SETUP([overwriting portable file]) diff --git a/tests/data/sys-file-reader.at b/tests/data/sys-file-reader.at index a00ef2b46c..be4782284c 100644 --- a/tests/data/sys-file-reader.at +++ b/tests/data/sys-file-reader.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([system file reader - positive]) AT_SETUP([variable labels and missing values]) @@ -568,6 +584,53 @@ num1 done AT_CLEANUP +AT_SETUP([empty document record]) +AT_KEYWORDS([sack synthetic system file positive]) +AT_DATA([sys-file.sack], [dnl +dnl File header. +"$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file"; +2; dnl Layout code +1; dnl Nominal case size +0; dnl Not compressed +0; dnl Not weighted +1; dnl 1 case. +100.0; dnl Bias. +"01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file"; +i8 0 *3; + +dnl Numeric variable, no label or missing values. +2; 0; 0; 0; 0x050800 *2; s8 "NUM1"; + +dnl Machine integer info record. +7; 3; 4; 8; 1; 2; 3; -1; 1; 1; ENDIAN; 1252; + +dnl Document record. +6; 0; + +dnl Character encoding record. +7; 20; 1; 12; "windows-1252"; + +dnl Dictionary termination record. +999; 0; + +dnl Data. +1.0; +]) +for variant in be le; do + AT_CHECK([sack --$variant sys-file.sack > sys-file.sav]) + AT_DATA([sys-file.sps], [dnl +GET FILE='sys-file.sav'. +LIST. +]) + AT_CHECK([pspp -o pspp.csv sys-file.sps]) + AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +num1 +1 +]) +done +AT_CLEANUP + AT_SETUP([multiple response sets]) AT_KEYWORDS([sack synthetic system file positive]) AT_DATA([sys-file.sack], [dnl @@ -2197,36 +2260,6 @@ done AT_CLEANUP -AT_SETUP([empty document record]) -AT_KEYWORDS([sack synthetic system file negative]) -AT_DATA([sys-file.sack], [dnl -dnl File header. -"$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file"; -2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3; - -dnl Numeric variable, no label or missing values. -2; 0; 0; 0; 0x050800 *2; s8 "NUM1"; - -dnl Empty document record. -6; >>0<<; - -dnl Dictionary termination record. -999; 0; - -dnl Data. -1.0; -]) -for variant in be le; do - AT_CHECK([sack --$variant sys-file.sack > sys-file.sav]) - AT_DATA([sys-file.sps], [dnl -GET FILE='sys-file.sav'. -]) - AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl -error: `sys-file.sav' near offset 0xd4: Number of document lines (0) must be greater than 0 and less than 26843545. -]) -done -AT_CLEANUP - AT_SETUP([extension record too large]) AT_KEYWORDS([sack synthetic system file negative]) AT_DATA([sys-file.sack], [dnl @@ -3873,3 +3906,29 @@ for variant in be le; do ]) done AT_CLEANUP + +# CVE-2017-10791. +# See also https://bugzilla.redhat.com/show_bug.cgi?id=1467004. +# See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866890. +# See also https://security-tracker.debian.org/tracker/CVE-2017-10791. +# Found by team OWL337, using the collAFL fuzzer. +AT_SETUP([integer overflows in long string missing values]) +AT_KEYWORDS([system file negative]) +cp $top_srcdir/tests/data/CVE-2017-10791.sav . +AT_CHECK([pspp-convert -O csv -e ASCII CVE-2017-10791.sav -], [0], [], [dnl +`CVE-2017-10791.sav' near offset 0x217: Extension record subtype 21 ends unexpectedly. +]) +AT_CLEANUP + +# CVE-2017-10792. +# See also https://bugzilla.redhat.com/show_bug.cgi?id=1467005. +# See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866890. +# See also https://security-tracker.debian.org/tracker/CVE-2017-10792. +# Reported by team OWL337, with fuzzer collAFL. +AT_SETUP([null dereference skipping bad extension record 18]) +AT_KEYWORDS([system file negative]) +cp $top_srcdir/tests/data/CVE-2017-10792.sav . +AT_CHECK([pspp-convert -O csv -e ASCII CVE-2017-10792.sav -], [0], [], [dnl +`CVE-2017-10792.sav' near offset 0x1c0: Record type 7, subtype 18 has bad size 4 (expected 1). +]) +AT_CLEANUP diff --git a/tests/data/sys-file.at b/tests/data/sys-file.at index 3e1fbb1fac..6e49b783c4 100644 --- a/tests/data/sys-file.at +++ b/tests/data/sys-file.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([system files]) # Also tests that long variable names are preserved by SAVE and GET. diff --git a/tests/language/command.at b/tests/language/command.at index 442355dbb6..476c8e71e8 100644 --- a/tests/language/command.at +++ b/tests/language/command.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([command parser]) dnl Tests for a bug which crashed pspp when given certain invalid input. diff --git a/tests/language/control/do-if.at b/tests/language/control/do-if.at index c4f9f0e483..01dae0d904 100644 --- a/tests/language/control/do-if.at +++ b/tests/language/control/do-if.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([DO IF]) AT_SETUP([DO IF]) diff --git a/tests/language/control/do-repeat.at b/tests/language/control/do-repeat.at index 75c0e77a36..4afd5eaf52 100644 --- a/tests/language/control/do-repeat.at +++ b/tests/language/control/do-repeat.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([DO REPEAT]) AT_SETUP([DO REPEAT -- simple]) diff --git a/tests/language/control/loop.at b/tests/language/control/loop.at index be214cce48..60baac7e9c 100644 --- a/tests/language/control/loop.at +++ b/tests/language/control/loop.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([LOOP]) m4_define([LOOP_DATA], [dnl diff --git a/tests/language/control/temporary.at b/tests/language/control/temporary.at index 5ec8bea55d..675ad777b6 100644 --- a/tests/language/control/temporary.at +++ b/tests/language/control/temporary.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([TEMPORARY]) dnl Tests for a bug that manifested when all transformations are temporary. diff --git a/tests/language/data-io/add-files.at b/tests/language/data-io/add-files.at index d6650819e0..8131eb592d 100644 --- a/tests/language/data-io/add-files.at +++ b/tests/language/data-io/add-files.at @@ -1,4 +1,19 @@ -m4_define([CHECK_ADD_FILES], +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl m4_define([CHECK_ADD_FILES], [AT_SETUP([ADD FILES -- $1 $2 with $3]) AT_DATA([a.data], [dnl 1aB diff --git a/tests/language/data-io/data-list.at b/tests/language/data-io/data-list.at index d154fd97fe..5bfdb497b1 100644 --- a/tests/language/data-io/data-list.at +++ b/tests/language/data-io/data-list.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([DATA LIST]) AT_SETUP([DATA LIST LIST with empty fields]) diff --git a/tests/language/data-io/data-reader.at b/tests/language/data-io/data-reader.at index b9e7607595..4ca00a6aa7 100644 --- a/tests/language/data-io/data-reader.at +++ b/tests/language/data-io/data-reader.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([BEGIN DATA]) # BEGIN DATA can run as a command in itself, or it can appear as part diff --git a/tests/language/data-io/dataset.at b/tests/language/data-io/dataset.at index 7d5e928e35..64139f9360 100644 --- a/tests/language/data-io/dataset.at +++ b/tests/language/data-io/dataset.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([DATASET commands]) AT_SETUP([DATASET COPY]) diff --git a/tests/language/data-io/file-handle.at b/tests/language/data-io/file-handle.at index add22d20ee..2207513cb6 100644 --- a/tests/language/data-io/file-handle.at +++ b/tests/language/data-io/file-handle.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([FILE HANDLE]) AT_SETUP([FILE HANDLE]) diff --git a/tests/language/data-io/get-data-psql.at b/tests/language/data-io/get-data-psql.at index 692de0957b..fc99babf34 100644 --- a/tests/language/data-io/get-data-psql.at +++ b/tests/language/data-io/get-data-psql.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([GET DATA /TYPE=PSQL]) m4_define([INIT_PSQL], diff --git a/tests/language/data-io/get-data-spreadsheet.at b/tests/language/data-io/get-data-spreadsheet.at index b6a18ddf2c..cc03ade983 100644 --- a/tests/language/data-io/get-data-spreadsheet.at +++ b/tests/language/data-io/get-data-spreadsheet.at @@ -1,4 +1,19 @@ - +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl m4_define([SPREADSHEET_TEST_PREP],[dnl m4_if($1,[GNM],[dnl AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric])dnl diff --git a/tests/language/data-io/get-data-txt.at b/tests/language/data-io/get-data-txt.at index 3b45f4c2c0..25d7d6b93d 100644 --- a/tests/language/data-io/get-data-txt.at +++ b/tests/language/data-io/get-data-txt.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([GET DATA /TYPE=TXT]) dnl These tests exercise features of GET DATA /TYPE=TXT that diff --git a/tests/language/data-io/get.at b/tests/language/data-io/get.at index 9f49b57744..f4ce9ac8f0 100644 --- a/tests/language/data-io/get.at +++ b/tests/language/data-io/get.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([GET]) dnl Tests for a bug which caused the second procedure diff --git a/tests/language/data-io/inpt-pgm.at b/tests/language/data-io/inpt-pgm.at index f5498855a7..a6ce23eefb 100644 --- a/tests/language/data-io/inpt-pgm.at +++ b/tests/language/data-io/inpt-pgm.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([INPUT PROGRAM]) dnl Tests for a bug which caused a crash when diff --git a/tests/language/data-io/list.at b/tests/language/data-io/list.at index 10bb52e92a..ccf03d66ff 100644 --- a/tests/language/data-io/list.at +++ b/tests/language/data-io/list.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([LIST]) AT_SETUP([LIST plain cases]) diff --git a/tests/language/data-io/match-files.at b/tests/language/data-io/match-files.at index d83eec8e48..f1b13daecf 100644 --- a/tests/language/data-io/match-files.at +++ b/tests/language/data-io/match-files.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([MATCH FILES]) m4_define([PREPARE_MATCH_FILES], diff --git a/tests/language/data-io/matrix-data.at b/tests/language/data-io/matrix-data.at index c015bca39f..67a3787299 100644 --- a/tests/language/data-io/matrix-data.at +++ b/tests/language/data-io/matrix-data.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([MATRIX DATA]) AT_SETUP([Matrix data (lower file)]) @@ -426,4 +442,42 @@ factor matrix=in(corr = *) AT_CHECK([pspp -O format=csv data.pspp], [1], [ignore]) -AT_CLEANUP \ No newline at end of file +AT_CLEANUP + + + + +AT_SETUP([Matrix data (N subcommand)]) + +AT_DATA([matrix-data.pspp], [dnl +matrix data + variables = rowtype_ var01 var02 var03 var04 + /n = 99 + /format = upper nodiagonal. +begin data +mean 34 35 36 37 +sd 22 11 55 66 +n_vector 1 2 3 4 +corr 9 8 7 +corr 6 5 +corr 4 +end data. + +list. +]) + +AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl +"matrix-data.pspp:12: warning: MATRIX DATA: The N subcommand was specified, but a N record was also found in the data. The N record will be ignored." + +Table: Data List +ROWTYPE_,VARNAME_,var01,var02,var03,var04 +N ,,99.0000,99.0000,99.0000,99.0000 +mean ,,34.0000,35.0000,36.0000,37.0000 +STDDEV ,,22.0000,11.0000,55.0000,66.0000 +corr ,var01,1.0000,9.0000,8.0000,7.0000 +corr ,var02,9.0000,1.0000,6.0000,5.0000 +corr ,var03,8.0000,6.0000,1.0000,4.0000 +corr ,var04,7.0000,5.0000,4.0000,1.0000 +]) + +AT_CLEANUP diff --git a/tests/language/data-io/print-space.at b/tests/language/data-io/print-space.at index e2bd2ee047..f3367f1b2e 100644 --- a/tests/language/data-io/print-space.at +++ b/tests/language/data-io/print-space.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([PRINT SPACE]) AT_SETUP([PRINT SPACE without arguments]) diff --git a/tests/language/data-io/print.at b/tests/language/data-io/print.at index 04701f6ac7..02c18c619f 100644 --- a/tests/language/data-io/print.at +++ b/tests/language/data-io/print.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([PRINT and WRITE]) dnl These tests check unusual aspects of the PRINT and WRITE diff --git a/tests/language/data-io/save-translate.at b/tests/language/data-io/save-translate.at index 408a06bfc5..aca5b0ed2a 100644 --- a/tests/language/data-io/save-translate.at +++ b/tests/language/data-io/save-translate.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SAVE TRANSLATE /TYPE=CSV]) m4_define([PREPARE_SAVE_TRANSLATE_CSV], [dnl diff --git a/tests/language/data-io/save.at b/tests/language/data-io/save.at index 8e3a4860c7..a2c005a93d 100644 --- a/tests/language/data-io/save.at +++ b/tests/language/data-io/save.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([IMPORT and EXPORT]) AT_SETUP([IMPORT and EXPORT]) diff --git a/tests/language/data-io/update.at b/tests/language/data-io/update.at index 41ccf21043..b2c7c482f2 100644 --- a/tests/language/data-io/update.at +++ b/tests/language/data-io/update.at @@ -1,4 +1,19 @@ -m4_define([CHECK_UPDATE], +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl m4_define([CHECK_UPDATE], [AT_SETUP([UPDATE $1 with $2]) AT_DATA([a.data], [dnl 1aB diff --git a/tests/language/dictionary/attributes.at b/tests/language/dictionary/attributes.at index 492709a875..8b9e7c96b7 100644 --- a/tests/language/dictionary/attributes.at +++ b/tests/language/dictionary/attributes.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([VARIABLE ATTRIBUTES and DATAFILE ATTRIBUTES]) AT_SETUP([VARIABLE ATTRIBUTES and DATAFILE ATTRIBUTES]) diff --git a/tests/language/dictionary/delete-variables.at b/tests/language/dictionary/delete-variables.at index 48bc40a69f..9ced4d36e8 100644 --- a/tests/language/dictionary/delete-variables.at +++ b/tests/language/dictionary/delete-variables.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([DELETE VARIABLES]) dnl Checks for regressions against a crash reported in bug #38843. diff --git a/tests/language/dictionary/formats.at b/tests/language/dictionary/formats.at index b1364f76f5..aa391f2c8a 100644 --- a/tests/language/dictionary/formats.at +++ b/tests/language/dictionary/formats.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([FORMATS]) AT_SETUP([FORMATS positive tests]) diff --git a/tests/language/dictionary/missing-values.at b/tests/language/dictionary/missing-values.at index d4a9016582..8073ab79e1 100644 --- a/tests/language/dictionary/missing-values.at +++ b/tests/language/dictionary/missing-values.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([MISSING VALUES]) AT_SETUP([MISSING VALUES valid cases]) diff --git a/tests/language/dictionary/mrsets.at b/tests/language/dictionary/mrsets.at index b69b91e1a4..49d9c7b215 100644 --- a/tests/language/dictionary/mrsets.at +++ b/tests/language/dictionary/mrsets.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([MRSETS]) m4_define([DEFINE_MRSETS_DATA], diff --git a/tests/language/dictionary/rename-variables.at b/tests/language/dictionary/rename-variables.at index 4a88741967..53bec03823 100644 --- a/tests/language/dictionary/rename-variables.at +++ b/tests/language/dictionary/rename-variables.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([RENAME VARIABLES]) AT_SETUP([RENAME VARIABLES]) diff --git a/tests/language/dictionary/sort-variables.at b/tests/language/dictionary/sort-variables.at index 92b9ccb3b3..17d8017dc9 100644 --- a/tests/language/dictionary/sort-variables.at +++ b/tests/language/dictionary/sort-variables.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SORT VARIABLES]) AT_SETUP([SORT VARIABLES]) diff --git a/tests/language/dictionary/split-file.at b/tests/language/dictionary/split-file.at index 83055bbf21..9538e714d8 100644 --- a/tests/language/dictionary/split-file.at +++ b/tests/language/dictionary/split-file.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SPLIT FILE]) AT_SETUP([SPLIT FILE - basic test]) diff --git a/tests/language/dictionary/sys-file-info.at b/tests/language/dictionary/sys-file-info.at index e822506b33..ac8e8cd54a 100644 --- a/tests/language/dictionary/sys-file-info.at +++ b/tests/language/dictionary/sys-file-info.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SYSFILE INFO]) AT_SETUP([SYSFILE INFO]) diff --git a/tests/language/dictionary/value-labels.at b/tests/language/dictionary/value-labels.at index b3a2f8f859..60bbdc3340 100644 --- a/tests/language/dictionary/value-labels.at +++ b/tests/language/dictionary/value-labels.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([VALUE LABELS]) AT_SETUP([VALUE LABELS date formats]) diff --git a/tests/language/dictionary/variable-display.at b/tests/language/dictionary/variable-display.at index 3bcbd8fc78..16de8a2640 100644 --- a/tests/language/dictionary/variable-display.at +++ b/tests/language/dictionary/variable-display.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([variable display attributes]) AT_SETUP([variable display attribute commands]) diff --git a/tests/language/dictionary/vector.at b/tests/language/dictionary/vector.at index 36aed7a6cb..67fdee495f 100644 --- a/tests/language/dictionary/vector.at +++ b/tests/language/dictionary/vector.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([VECTOR]) AT_SETUP([VECTOR short form]) diff --git a/tests/language/dictionary/weight.at b/tests/language/dictionary/weight.at index a85347e516..a0f3c53cd6 100644 --- a/tests/language/dictionary/weight.at +++ b/tests/language/dictionary/weight.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([WEIGHT]) AT_SETUP([WEIGHT]) diff --git a/tests/language/expressions/evaluate.at b/tests/language/expressions/evaluate.at index 15641d6073..e2f70e09d3 100644 --- a/tests/language/expressions/evaluate.at +++ b/tests/language/expressions/evaluate.at @@ -1,4 +1,19 @@ -m4_define([CHECK_EXPR_EVAL], +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl m4_define([CHECK_EXPR_EVAL], [AT_SETUP([expressions - $1]) AT_DATA([evaluate.sps], [set mxwarn 1000. diff --git a/tests/language/expressions/parse.at b/tests/language/expressions/parse.at index 31791a41da..eadc30dd74 100644 --- a/tests/language/expressions/parse.at +++ b/tests/language/expressions/parse.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([expression parsing]) AT_SETUP([parse expression with unknown variable crash]) diff --git a/tests/language/lexer/command-name.at b/tests/language/lexer/command-name.at index e0ecd59a99..18a005ca23 100644 --- a/tests/language/lexer/command-name.at +++ b/tests/language/lexer/command-name.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([command name matching]) AT_SETUP([single words]) diff --git a/tests/language/lexer/lexer.at b/tests/language/lexer/lexer.at index bd960710c4..f13940bd67 100644 --- a/tests/language/lexer/lexer.at +++ b/tests/language/lexer/lexer.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([lexer]) AT_SETUP([lexer ignores initial @%:@! line]) diff --git a/tests/language/lexer/q2c.at b/tests/language/lexer/q2c.at index b9bc092aa3..0b985e6280 100644 --- a/tests/language/lexer/q2c.at +++ b/tests/language/lexer/q2c.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([q2c]) AT_SETUP([q2c enforces mandatory subcommands]) diff --git a/tests/language/lexer/scan.at b/tests/language/lexer/scan.at index 50ee123df2..a6b0e62881 100644 --- a/tests/language/lexer/scan.at +++ b/tests/language/lexer/scan.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([syntax scanning]) m4_define([PSPP_CHECK_SCAN], [AT_CHECK([scan-test $1 input], [0], [expout])]) diff --git a/tests/language/lexer/segment.at b/tests/language/lexer/segment.at index 7d0f03aa33..bd3bc38281 100644 --- a/tests/language/lexer/segment.at +++ b/tests/language/lexer/segment.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([syntax segmentation]) m4_define([PSPP_CHECK_SEGMENT], [AT_CHECK([segment-test $1 input], [0], [expout]) diff --git a/tests/language/lexer/variable-parser.at b/tests/language/lexer/variable-parser.at index 59609f0380..a7f792fb2e 100644 --- a/tests/language/lexer/variable-parser.at +++ b/tests/language/lexer/variable-parser.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Variable parser]) dnl This program tests that both long and short variable names are parsed OK. diff --git a/tests/language/stats/aggregate.at b/tests/language/stats/aggregate.at index ae7a38ad83..976899b233 100644 --- a/tests/language/stats/aggregate.at +++ b/tests/language/stats/aggregate.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([AGGREGATE procedure]) dnl CHECK_AGGREGATE(OUTFILE, SORT, MISSING) diff --git a/tests/language/stats/autorecode.at b/tests/language/stats/autorecode.at index 52c56a8582..5dfdf5250e 100644 --- a/tests/language/stats/autorecode.at +++ b/tests/language/stats/autorecode.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([AUTORECODE procedure]) AT_SETUP([AUTORECODE numbers and short strings]) diff --git a/tests/language/stats/correlations.at b/tests/language/stats/correlations.at index 1de7eed195..12819835d3 100644 --- a/tests/language/stats/correlations.at +++ b/tests/language/stats/correlations.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([CORRELATIONS]) AT_SETUP([CORRELATIONS -- unweighted]) diff --git a/tests/language/stats/crosstabs.at b/tests/language/stats/crosstabs.at index 9cd2a04f09..6c34c68a43 100644 --- a/tests/language/stats/crosstabs.at +++ b/tests/language/stats/crosstabs.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([CROSSTABS procedure]) AT_SETUP([CROSSTABS integer mode crash]) diff --git a/tests/language/stats/descriptives.at b/tests/language/stats/descriptives.at index 9725cdae43..bc3bbb66d1 100644 --- a/tests/language/stats/descriptives.at +++ b/tests/language/stats/descriptives.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([DESCRIPTIVES procedure]) AT_SETUP([DESCRIPTIVES basics]) diff --git a/tests/language/stats/examine.at b/tests/language/stats/examine.at index 95889c50b4..6ccfac555a 100644 --- a/tests/language/stats/examine.at +++ b/tests/language/stats/examine.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([EXAMINE]) AT_SETUP([EXAMINE]) diff --git a/tests/language/stats/factor.at b/tests/language/stats/factor.at index 0b45656326..ac29f50cfc 100644 --- a/tests/language/stats/factor.at +++ b/tests/language/stats/factor.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([FACTOR procedure]) AT_SETUP([FACTOR extraction=paf method=correlation]) @@ -2094,18 +2110,12 @@ end data. factor matrix in (cov = *) / method = covariance - / print = initial covariance kmo + / print = initial covariance / extraction = pc / rotation = norotate. ]) AT_CHECK([pspp -O format=csv covariance-matrix.sps], [0], [dnl -Table: KMO and Bartlett's Test -Kaiser-Meyer-Olkin Measure of Sampling Adequacy,,.741 -Bartlett's Test of Sphericity,Approx. Chi-Square,104.810 -,df,28 -,Sig.,.000 - Table: Covariance Matrix ,var01,var02,var03,var04,var05,var06,var07,var08 var01,32.490,1.539,-29.469,11.902,4.309,8.464,15.390,1.454 @@ -2254,10 +2264,6 @@ bnt_actws_56,.562 AT_CLEANUP - - - - AT_SETUP([FACTOR bad input]) dnl Test for a crash @@ -2289,3 +2295,107 @@ FACTOR MATRIX IN (CORR =!*) AT_CHECK([pspp -O format=csv bad-input.sps], [1], [ignore]) AT_CLEANUP + + +AT_SETUP([FACTOR anti-image matrix]) + +AT_DATA([anti-image-matrix.sps], [dnl +SET FORMAT=F20.3 . +matrix data + variables = rowtype_ viq piq pa ran piatwr piatc + / n = 476 + / format = lower diagonal . +begin data +mean 96.88 100.51 -1.73 -0.94 -2.52 -1.85 +sd 10.97 11.19 1.19 0.88 0.85 0.97 +corr 1.00 +corr 0.38 1.00 +corr 0.26 0.24 1.00 +corr 0.16 0.17 0.34 1.00 +corr 0.25 0.07 0.46 0.38 1.00 +corr 0.37 0.22 0.39 0.30 0.59 1.00 +end data. + +factor matrix = in (cor = *) + / analysis = viq piq pa ran piatwr piatc + / format = sort + / extraction = pc + / rotation = norotate + / print = aic +]) + +AT_CHECK([pspp -O format=csv anti-image-matrix.sps], [0], [dnl +Table: Anti-Image Matrices +,,viq,piq,pa,ran,piatwr,piatc +Anti-image Covariance,viq,.762,-.248,-.048,.008,-.031,-.143 +,piq,-.248,.807,-.117,-.081,.108,-.071 +,pa,-.048,-.117,.711,-.125,-.173,-.060 +,ran,.008,-.081,-.125,.808,-.143,-.035 +,piatwr,-.031,.108,-.173,-.143,.551,-.265 +,piatc,-.143,-.071,-.060,-.035,-.265,.581 +Anti-image Correlation,viq,.741,-.316,-.066,.011,-.048,-.215 +,piq,-.316,.624,-.154,-.100,.163,-.103 +,pa,-.066,-.154,.811,-.165,-.277,-.093 +,ran,.011,-.100,-.165,.825,-.214,-.051 +,piatwr,-.048,.163,-.277,-.214,.675,-.469 +,piatc,-.215,-.103,-.093,-.051,-.469,.729 + +Table: Component Matrix +,Component,,,, +,1,2,3,4,5 +piatc,.774,.122,-.368,.365,-.322 +piatwr,.754,.418,.442,.219,-.115 +pa,.707,.124,-.117,-.161,.256 +piq,.456,-.733,.122,-.289,-.377 +viq,.589,-.539,.033,.298,.457 +ran,.592,.262,-.069,-.638,.096 +]) + +AT_CLEANUP + + +AT_SETUP([FACTOR Kaiser-Meyer-Olkin]) + +AT_DATA([kmo.sps], [dnl +SET FORMAT=F20.3 . +matrix data + variables = rowtype_ viq piq pa ran piatwr piatc + / n = 476 + / format = lower diagonal . +begin data +mean 96.88 100.51 -1.73 -0.94 -2.52 -1.85 +sd 10.97 11.19 1.19 0.88 0.85 0.97 +corr 1.00 +corr 0.38 1.00 +corr 0.26 0.24 1.00 +corr 0.16 0.17 0.34 1.00 +corr 0.25 0.07 0.46 0.38 1.00 +corr 0.37 0.22 0.39 0.30 0.59 1.00 +end data. + +factor matrix = in (cor = *) + / analysis = viq piq pa ran piatwr piatc + / extraction = pc + / rotation = norotate + / print = kmo +]) + +AT_CHECK([pspp -O format=csv kmo.sps], [0], [dnl +Table: KMO and Bartlett's Test +Kaiser-Meyer-Olkin Measure of Sampling Adequacy,,.730 +Bartlett's Test of Sphericity,Approx. Chi-Square,602.673 +,df,15 +,Sig.,.000 + +Table: Component Matrix +,Component,,,, +,1,2,3,4,5 +viq,.589,-.539,.033,.298,.457 +piq,.456,-.733,.122,-.289,-.377 +pa,.707,.124,-.117,-.161,.256 +ran,.592,.262,-.069,-.638,.096 +piatwr,.754,.418,.442,.219,-.115 +piatc,.774,.122,-.368,.365,-.322 +]) + +AT_CLEANUP diff --git a/tests/language/stats/flip.at b/tests/language/stats/flip.at index cd9ee98cfa..06fb969fa5 100644 --- a/tests/language/stats/flip.at +++ b/tests/language/stats/flip.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([FLIP command]) AT_SETUP([FLIP with NEWNAMES]) diff --git a/tests/language/stats/frequencies.at b/tests/language/stats/frequencies.at index e90d2d0ad0..cf7913b40d 100644 --- a/tests/language/stats/frequencies.at +++ b/tests/language/stats/frequencies.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([FREQUENCIES procedure]) AT_SETUP([FREQUENCIES string variable]) diff --git a/tests/language/stats/glm.at b/tests/language/stats/glm.at index 2ac5909fea..bbc343bc50 100644 --- a/tests/language/stats/glm.at +++ b/tests/language/stats/glm.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([GLM procedure]) AT_SETUP([GLM latin square design]) diff --git a/tests/language/stats/graph.at b/tests/language/stats/graph.at index f9daa69cbb..5fc6f82cc4 100644 --- a/tests/language/stats/graph.at +++ b/tests/language/stats/graph.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([GRAPH]) AT_SETUP([GRAPH simple scatterplot]) diff --git a/tests/language/stats/logistic.at b/tests/language/stats/logistic.at index b7285e26d1..3d7ae76c38 100644 --- a/tests/language/stats/logistic.at +++ b/tests/language/stats/logistic.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([LOGISTIC REGRESSION]) dnl These examples are adapted from diff --git a/tests/language/stats/means.at b/tests/language/stats/means.at index 0d990f85b1..aa59242d5c 100644 --- a/tests/language/stats/means.at +++ b/tests/language/stats/means.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([MEANS procedure]) AT_SETUP([MEANS simple example]) diff --git a/tests/language/stats/npar.at b/tests/language/stats/npar.at index 1fb9e66949..24a8cce659 100644 --- a/tests/language/stats/npar.at +++ b/tests/language/stats/npar.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([NPAR TESTS]) AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 < 1]) diff --git a/tests/language/stats/oneway.at b/tests/language/stats/oneway.at index a53dfcdd4d..6cec759749 100644 --- a/tests/language/stats/oneway.at +++ b/tests/language/stats/oneway.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([ONEWAY procedure]) AT_SETUP([ONEWAY basic operation]) diff --git a/tests/language/stats/quick-cluster.at b/tests/language/stats/quick-cluster.at index fd327f5c9a..d547dc7656 100644 --- a/tests/language/stats/quick-cluster.at +++ b/tests/language/stats/quick-cluster.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([QUICK CLUSTER]) AT_SETUP([QUICK CLUSTER with small data set]) diff --git a/tests/language/stats/rank.at b/tests/language/stats/rank.at index 2b909b9e54..589375b67b 100644 --- a/tests/language/stats/rank.at +++ b/tests/language/stats/rank.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([RANK]) AT_SETUP([RANK simple case with defaults]) diff --git a/tests/language/stats/regression.at b/tests/language/stats/regression.at index d2e99344ef..7461a45a03 100644 --- a/tests/language/stats/regression.at +++ b/tests/language/stats/regression.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([LINEAR REGRESSION]) AT_SETUP([LINEAR REGRESSION - basic]) diff --git a/tests/language/stats/reliability.at b/tests/language/stats/reliability.at index 9c5d41378e..be20341581 100644 --- a/tests/language/stats/reliability.at +++ b/tests/language/stats/reliability.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([RELIABILITY]) AT_SETUP([RELIABILITY]) diff --git a/tests/language/stats/roc.at b/tests/language/stats/roc.at index 458edbc45a..34c5b0011f 100644 --- a/tests/language/stats/roc.at +++ b/tests/language/stats/roc.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([ROC]) AT_SETUP([ROC, free distribution]) diff --git a/tests/language/stats/sort-cases.at b/tests/language/stats/sort-cases.at index b000cb56ef..4f6492d964 100644 --- a/tests/language/stats/sort-cases.at +++ b/tests/language/stats/sort-cases.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SORT CASES]) m4_divert_push([PREPARE_TESTS]) diff --git a/tests/language/stats/t-test.at b/tests/language/stats/t-test.at index 1203a5f393..46492319cf 100644 --- a/tests/language/stats/t-test.at +++ b/tests/language/stats/t-test.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([T-TEST]) AT_SETUP([T-TEST /PAIRS]) diff --git a/tests/language/utilities/cache.at b/tests/language/utilities/cache.at index 2edda09d0f..bb0f208d9a 100644 --- a/tests/language/utilities/cache.at +++ b/tests/language/utilities/cache.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([CACHE]) AT_SETUP([CACHE]) diff --git a/tests/language/utilities/cd.at b/tests/language/utilities/cd.at index f56f1b88e1..c120bbd9dd 100644 --- a/tests/language/utilities/cd.at +++ b/tests/language/utilities/cd.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([CD]) AT_SETUP([CD]) diff --git a/tests/language/utilities/date.at b/tests/language/utilities/date.at index ab1ca12b73..2b5b9032d5 100644 --- a/tests/language/utilities/date.at +++ b/tests/language/utilities/date.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([USE]) AT_SETUP([USE ALL]) diff --git a/tests/language/utilities/insert.at b/tests/language/utilities/insert.at index 8ae9f3eb51..a7a24fbf1d 100644 --- a/tests/language/utilities/insert.at +++ b/tests/language/utilities/insert.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([INSERT]) dnl Create a file "batch.sps" that is valid syntax only in batch mode. diff --git a/tests/language/utilities/permissions.at b/tests/language/utilities/permissions.at index 56698c337c..a6610dab95 100644 --- a/tests/language/utilities/permissions.at +++ b/tests/language/utilities/permissions.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([PERMISSIONS]) AT_SETUP([PERMISSIONS]) diff --git a/tests/language/utilities/set.at b/tests/language/utilities/set.at index ef31c836c8..059fdfbbc3 100644 --- a/tests/language/utilities/set.at +++ b/tests/language/utilities/set.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SET]) # This crashed older versions of PSPP (bug #30682). diff --git a/tests/language/utilities/show.at b/tests/language/utilities/show.at index ad3ebc0c74..e934d59b5d 100644 --- a/tests/language/utilities/show.at +++ b/tests/language/utilities/show.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SHOW]) AT_SETUP([SHOW N]) diff --git a/tests/language/utilities/title.at b/tests/language/utilities/title.at index cd954f24bc..bd8318ffb9 100644 --- a/tests/language/utilities/title.at +++ b/tests/language/utilities/title.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([TITLE and related commands]) AT_SETUP([FILE LABEL and (ADD) DOCUMENT]) diff --git a/tests/language/xforms/compute.at b/tests/language/xforms/compute.at index f992d0ea29..85e52caffd 100644 --- a/tests/language/xforms/compute.at +++ b/tests/language/xforms/compute.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([COMPUTE transformation]) AT_SETUP([COMPUTE crash with SAVE]) diff --git a/tests/language/xforms/count.at b/tests/language/xforms/count.at index eacf505d6b..d6a1f67d5b 100644 --- a/tests/language/xforms/count.at +++ b/tests/language/xforms/count.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([COUNT]) AT_SETUP([COUNT -- numeric data]) diff --git a/tests/language/xforms/recode.at b/tests/language/xforms/recode.at index d2290d7582..05f2ef64db 100644 --- a/tests/language/xforms/recode.at +++ b/tests/language/xforms/recode.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([RECODE transformation]) m4_define([RECODE_SAMPLE_DATA], diff --git a/tests/language/xforms/sample.at b/tests/language/xforms/sample.at index 912fb4f6a6..4024a92266 100644 --- a/tests/language/xforms/sample.at +++ b/tests/language/xforms/sample.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SAMPLE]) AT_SETUP([SAMPLE]) diff --git a/tests/language/xforms/select-if.at b/tests/language/xforms/select-if.at index 44ac01d4ad..27dd9ab78f 100644 --- a/tests/language/xforms/select-if.at +++ b/tests/language/xforms/select-if.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([FILTER]) AT_SETUP([FILTER]) diff --git a/tests/libpspp/abt.at b/tests/libpspp/abt.at index deb694638b..df4b34a8b2 100644 --- a/tests/libpspp/abt.at +++ b/tests/libpspp/abt.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Augmented binary tree (ABT) library]) m4_define([CHECK_ABT], diff --git a/tests/libpspp/bt.at b/tests/libpspp/bt.at index 62eb80f5cb..838364184b 100644 --- a/tests/libpspp/bt.at +++ b/tests/libpspp/bt.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Balanced tree (BT) library]) m4_define([CHECK_BT], diff --git a/tests/libpspp/encoding-guesser.at b/tests/libpspp/encoding-guesser.at index e969a48aca..1c7af5b709 100644 --- a/tests/libpspp/encoding-guesser.at +++ b/tests/libpspp/encoding-guesser.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([encoding guesser]) AT_SETUP([ASCII]) diff --git a/tests/libpspp/float-format.at b/tests/libpspp/float-format.at index e84166c15f..c65a09bc19 100644 --- a/tests/libpspp/float-format.at +++ b/tests/libpspp/float-format.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([floating point formats]) AT_SETUP([floating point format conversions]) diff --git a/tests/libpspp/heap.at b/tests/libpspp/heap.at index 14dd3a682e..d9041a622a 100644 --- a/tests/libpspp/heap.at +++ b/tests/libpspp/heap.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Heap library]) m4_define([CHECK_HEAP], diff --git a/tests/libpspp/hmap.at b/tests/libpspp/hmap.at index feb69bf0c0..e36d8d8a79 100644 --- a/tests/libpspp/hmap.at +++ b/tests/libpspp/hmap.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Hash map (hmap) library]) m4_define([CHECK_HMAP], diff --git a/tests/libpspp/hmapx.at b/tests/libpspp/hmapx.at index 2e2dec4687..034963ff6d 100644 --- a/tests/libpspp/hmapx.at +++ b/tests/libpspp/hmapx.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Hash map of pointers (hmapx) library]) m4_define([CHECK_HMAPX], diff --git a/tests/libpspp/i18n.at b/tests/libpspp/i18n.at index 9f73f597b0..78b86fd754 100644 --- a/tests/libpspp/i18n.at +++ b/tests/libpspp/i18n.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([i18n recoding]) # CHECK_I18N_RECODE([TITLE], [FROM-CODING], [TO-CODING], diff --git a/tests/libpspp/line-reader.at b/tests/libpspp/line-reader.at index 29cff4d792..30870d1feb 100644 --- a/tests/libpspp/line-reader.at +++ b/tests/libpspp/line-reader.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([line_reader]) AT_SETUP([read ASCII]) diff --git a/tests/libpspp/ll.at b/tests/libpspp/ll.at index d382012ff0..36c9f51b7e 100644 --- a/tests/libpspp/ll.at +++ b/tests/libpspp/ll.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([doubly linked list (ll) library]) m4_define([CHECK_LL], diff --git a/tests/libpspp/llx.at b/tests/libpspp/llx.at index 973f9258f0..7b7507296f 100644 --- a/tests/libpspp/llx.at +++ b/tests/libpspp/llx.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([doubly linked list of pointers (llx) library]) m4_define([CHECK_LLX], diff --git a/tests/libpspp/range-map.at b/tests/libpspp/range-map.at index d414f50af1..d31d08cf3c 100644 --- a/tests/libpspp/range-map.at +++ b/tests/libpspp/range-map.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([range map library]) m4_define([CHECK_RANGE_MAP], diff --git a/tests/libpspp/range-set.at b/tests/libpspp/range-set.at index 35eed8c7d2..cb29ae6d5a 100644 --- a/tests/libpspp/range-set.at +++ b/tests/libpspp/range-set.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([range set library]) m4_define([CHECK_RANGE_SET], diff --git a/tests/libpspp/range-tower.at b/tests/libpspp/range-tower.at index 77fccf2175..981b0ba8bf 100644 --- a/tests/libpspp/range-tower.at +++ b/tests/libpspp/range-tower.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([range tower library]) m4_define([CHECK_RANGE_TOWER], diff --git a/tests/libpspp/sparse-array.at b/tests/libpspp/sparse-array.at index ac2abef9a9..83ff809fb7 100644 --- a/tests/libpspp/sparse-array.at +++ b/tests/libpspp/sparse-array.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([sparse array library]) m4_define([CHECK_SPARSE_ARRAY], diff --git a/tests/libpspp/sparse-xarray-test.at b/tests/libpspp/sparse-xarray-test.at index e759180889..76f0c3362d 100644 --- a/tests/libpspp/sparse-xarray-test.at +++ b/tests/libpspp/sparse-xarray-test.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([sparse external arrays]) m4_divert_push([PREPARE_TESTS]) diff --git a/tests/libpspp/str.at b/tests/libpspp/str.at index 83ccc95851..c132a94d58 100644 --- a/tests/libpspp/str.at +++ b/tests/libpspp/str.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([string library]) AT_SETUP([26-adic string formatting]) diff --git a/tests/libpspp/string-map.at b/tests/libpspp/string-map.at index 0c1dbc9ab1..5732ec7535 100644 --- a/tests/libpspp/string-map.at +++ b/tests/libpspp/string-map.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([string map library]) m4_define([CHECK_STRING_MAP], diff --git a/tests/libpspp/string-set.at b/tests/libpspp/string-set.at index d782e9b0f5..ee22ccebc1 100644 --- a/tests/libpspp/string-set.at +++ b/tests/libpspp/string-set.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([string set library]) m4_define([CHECK_STRING_SET], diff --git a/tests/libpspp/stringi-map.at b/tests/libpspp/stringi-map.at index c14f0e6f65..61a916dd25 100644 --- a/tests/libpspp/stringi-map.at +++ b/tests/libpspp/stringi-map.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([case-insensitive string map library]) m4_define([CHECK_STRINGI_MAP], diff --git a/tests/libpspp/stringi-set.at b/tests/libpspp/stringi-set.at index b38e8479a5..16594c0be5 100644 --- a/tests/libpspp/stringi-set.at +++ b/tests/libpspp/stringi-set.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([case-insensitive string set library]) m4_define([CHECK_STRINGI_SET], diff --git a/tests/libpspp/tower.at b/tests/libpspp/tower.at index c4d6f8208c..ae89b5b2c0 100644 --- a/tests/libpspp/tower.at +++ b/tests/libpspp/tower.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([tower library]) m4_define([CHECK_TOWER], diff --git a/tests/libpspp/u8-istream.at b/tests/libpspp/u8-istream.at index 5b5b4e006e..9b1bafcd39 100644 --- a/tests/libpspp/u8-istream.at +++ b/tests/libpspp/u8-istream.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([u8_istream]) AT_SETUP([read ASCII]) diff --git a/tests/libpspp/zip.at b/tests/libpspp/zip.at index 55bf563f1b..a2f9d6f179 100644 --- a/tests/libpspp/zip.at +++ b/tests/libpspp/zip.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([zip]) AT_SETUP([Basic zip - unzip test]) @@ -21,13 +37,13 @@ while test $s -le 8192 ; do names="$names $bn"; done -(cd $dir1 && $abs_top_builddir/tests/libpspp/zip-test w foo.zip $names) +(cd $dir1 && zip-test w foo.zip $names) mkdir -p $dir2 cp $dir1/foo.zip $dir2 cd $dir2 -$abs_top_builddir/tests/libpspp/zip-test r foo.zip $names +zip-test r foo.zip $names # Compare the files to their originals for f in $names; do diff --git a/tests/math/chart-geometry.at b/tests/math/chart-geometry.at index 5a7d858f3c..143d214775 100644 --- a/tests/math/chart-geometry.at +++ b/tests/math/chart-geometry.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Chart Geometry]) AT_SETUP([Chart Scale]) diff --git a/tests/math/moments.at b/tests/math/moments.at index 774d17bdd9..5552f434bf 100644 --- a/tests/math/moments.at +++ b/tests/math/moments.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([calculating moments]) m4_define([MOMENTS_TESTCASES], diff --git a/tests/math/randist.at b/tests/math/randist.at index afc1185640..677bee8120 100644 --- a/tests/math/randist.at +++ b/tests/math/randist.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([random distributions]) m4_divert_push([PREPARE_TESTS]) diff --git a/tests/output/ascii.at b/tests/output/ascii.at index d606e6ed88..dfdd4b6497 100644 --- a/tests/output/ascii.at +++ b/tests/output/ascii.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([ASCII driver -- rendering corner cases]) AT_SETUP([ASCII driver overwriting single-width text]) diff --git a/tests/output/charts.at b/tests/output/charts.at index 59ad8ca319..28d5ac672e 100644 --- a/tests/output/charts.at +++ b/tests/output/charts.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([CHARTS Rudimentary run tests]) dnl Check that the charts work diff --git a/tests/output/html.at b/tests/output/html.at index 9a048caadf..973ba08433 100644 --- a/tests/output/html.at +++ b/tests/output/html.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([HTML driver]) AT_SETUP([HTML bug]) diff --git a/tests/output/output.at b/tests/output/output.at index f6351a4e9b..bb97e011db 100644 --- a/tests/output/output.at +++ b/tests/output/output.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([output drivers]) m4_define([OUTPUT_UNWRITABLE_DIR], diff --git a/tests/output/paper-size.at b/tests/output/paper-size.at index 2ae4cdc1db..5b811c4555 100644 --- a/tests/output/paper-size.at +++ b/tests/output/paper-size.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([output -- paper sizes]) AT_SETUP([letter default paper size]) diff --git a/tests/output/render.at b/tests/output/render.at index 9aaef8cf8e..b2c9731ce0 100644 --- a/tests/output/render.at +++ b/tests/output/render.at @@ -1,4 +1,19 @@ -# +-+---+-+-+-+ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl # +-+---+-+-+-+ # |a|bcd|e|f|i| # +-+-+-+-+g+-+ # |j|m|nop|h|q| diff --git a/tests/output/tables.at b/tests/output/tables.at index 1a7727fc2e..623d366c0c 100644 --- a/tests/output/tables.at +++ b/tests/output/tables.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([output -- tables]) AT_SETUP([OUTPUT precision]) diff --git a/tests/perl-module.at b/tests/perl-module.at index 5424d10324..c13a8b857a 100644 --- a/tests/perl-module.at +++ b/tests/perl-module.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([Perl module tests]) dnl This command can be used to run with the PSPP Perl module after it has been diff --git a/tests/testsuite.in b/tests/testsuite.in index ef11e91931..ea502079b0 100644 --- a/tests/testsuite.in +++ b/tests/testsuite.in @@ -1,3 +1,20 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl + AT_INIT # Define SKIP_IF for compatibility with Autotest before 2.64 diff --git a/tests/ui/syntax-gen-test.c b/tests/ui/syntax-gen-test.c index 31dd8eb6b9..6177f0c377 100644 --- a/tests/ui/syntax-gen-test.c +++ b/tests/ui/syntax-gen-test.c @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 Free Software Foundation, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include #include "ui/syntax-gen.h" diff --git a/tests/ui/syntax-gen.at b/tests/ui/syntax-gen.at index 6b0f768fe2..71dcb8857c 100644 --- a/tests/ui/syntax-gen.at +++ b/tests/ui/syntax-gen.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([SYNTAX GENERATOR]) AT_SETUP([Syntax Generation - printf like]) diff --git a/tests/ui/terminal/main.at b/tests/ui/terminal/main.at index 128ad4182d..a67447e48e 100644 --- a/tests/ui/terminal/main.at +++ b/tests/ui/terminal/main.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([PSPP terminal UI]) AT_SETUP([nonexistent syntax file crash]) diff --git a/utilities/automake.mk b/utilities/automake.mk index d6a720bb34..cbcf0ae2bb 100644 --- a/utilities/automake.mk +++ b/utilities/automake.mk @@ -1,3 +1,19 @@ +# PSPP - a program for statistical analysis. +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# bin_PROGRAMS += utilities/pspp-dump-sav dist_man_MANS += utilities/pspp-dump-sav.1 utilities_pspp_dump_sav_SOURCES = \