Implemented the SET=TNUMBERS subcommand
[pspp] / doc / dev / system-file-format.texi
index b0b69dd4cae54f0922bd497232811ff1bd027c1f..7b0eff9f79823f0bb623e10d2f1da8c22922eff7 100644 (file)
@@ -391,6 +391,11 @@ Format types are defined as follows:
 @end multitable
 @end quotation
 
 @end multitable
 @end quotation
 
+A few system files have been observed in the wild with invalid
+@code{write} fields, in particular with value 0.  Readers should
+probably treat invalid @code{print} or @code{write} fields as some
+default format.
+
 @node Value Labels Records
 @section Value Labels Records
 
 @node Value Labels Records
 @section Value Labels Records
 
@@ -676,7 +681,8 @@ following:
 
 @itemize @bullet
 @item
 
 @itemize @bullet
 @item
-The set's name (an identifier that begins with @samp{$}).
+The set's name (an identifier that begins with @samp{$}), in mixed
+upper and lower case.
 
 @item
 An equals sign (@samp{=}).
 
 @item
 An equals sign (@samp{=}).
@@ -717,8 +723,8 @@ written if LABELSOURCE=VARLABEL was specified.
 A space.
 
 @item
 A space.
 
 @item
-The names of the variables in the set, each separated from the
-previous by a single space.
+The short names of the variables in the set, converted to lowercase,
+each separated from the previous by a single space.
 
 @item
 A line feed (byte 0x0a).
 
 @item
 A line feed (byte 0x0a).
@@ -987,8 +993,11 @@ The size of each element in the @code{encoding} member. Always set to 1.
 The total number of bytes in @code{encoding}.
 
 @item char encoding[];
 The total number of bytes in @code{encoding}.
 
 @item char encoding[];
-The name of the character encoding.  Normally this will be an official IANA characterset name or alias.
+The name of the character encoding.  Normally this will be an official
+IANA character set name or alias.
 See @url{http://www.iana.org/assignments/character-sets}.
 See @url{http://www.iana.org/assignments/character-sets}.
+Character set names are not case-sensitive, but SPSS appears to write
+them in all-uppercase.
 @end table
 
 This record is not present in files generated by older software.  See
 @end table
 
 This record is not present in files generated by older software.  See
@@ -1133,8 +1142,8 @@ element.
 In record type 18, this field contains a sequence of one or more
 variable attribute sets.  If more than one variable attribute set is
 present, each one after the first is delimited from the previous by
 In record type 18, this field contains a sequence of one or more
 variable attribute sets.  If more than one variable attribute set is
 present, each one after the first is delimited from the previous by
-@code{/}.  Each variable attribute set consists of a (potentially
-long) variable name,
+@code{/}.  Each variable attribute set consists of a long
+variable name,
 followed by @code{:}, followed by an attribute set with the same
 syntax as on record type 17.
 
 followed by @code{:}, followed by an attribute set with the same
 syntax as on record type 17.