+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ Add datasheet code.
+
+ * automake.mk: Add new files.
+
+ * datasheet.c: New file.
+
+ * datasheet.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ Until now, the procedure code has provided a case to the
+ case_source, which has filled in the data values that come from
+ the active file. "Left" data values that don't come from the
+ active file naturally stay the same from case to case, because the
+ procedure code keeps using that same case.
+
+ One of the compromises that comes with the new procedure code is
+ that the active file allocates and provides its own case, which
+ the procedure code then has to resize to provide room for any
+ other variables that should go in the case and then fill in the
+ values of "left" variables. Then, when we're done with that case,
+ we have to save the values of "left" variables to copy into the
+ next case read from the active file.
+
+ The caseinit code helps with this.
+
+ * automake.mk: Add new files.
+
+ * caseinit.c: New file.
+
+ * caseinit.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ * value.h (value_cnt_from_width): New function.
+
+ * variable.c (var_get_value_cnt): Use new function.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ Add casegrouper, to allow cases read from a given casereader to be
+ broken into groups, each of which has its own casereader.
+ Generally cases are grouped based on having equal values for some
+ set of variables.
+
+ * automake.mk: Add new files.
+
+ * casegrouper.c: New file.
+
+ * casegrouper.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ Add interface to lexicographical ordering of cases.
+
+ * automake.mk: Add new files.
+
+ * case-ordering.c: New file.
+
+ * case-ordering.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ Add casereaders and casewriters, the basis of the new data processing
+ implementation. A casereader is a uniform interface to reading cases
+ from a data source; a casewriter is a uniform interface to writing
+ cases to a data sink.
+
+ * automake.mk: Add new files.
+
+ * casereader-filter.c: New file.
+
+ * casereader-provider.h: New file.
+
+ * casereader-translator.c: New file.
+
+ * casereader.c: New file.
+
+ * casereader.h: New file.
+
+ * casewriter-provider.h: New file.
+
+ * casewriter-translator.c: New file.
+
+ * casewriter.c: New file.
+
+ * casewriter.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ "casewindow" data structure that extends the deque (from libpspp)
+ of cases with the ability to dump cases to disk if we get too many
+ of them in memory.
+
+ * automake.mk: Add new files.
+
+ * casewindow.c: New file.
+
+ * casewindow.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ sparse_cases data structure that augments a sparse_array of cases
+ with the ability to dump cases to disk if we get too many cases in
+ memory.
+
+ * automake.mk: Add new files.
+
+ * sparse-cases.c: New file.
+
+ * sparse-cases.h: New file.
+
+2007-06-06 Ben Pfaff <blp@gnu.org>
+
+ Adds a low-level on-disk case array data structure.
+
+ * automake.mk: Add new files.
+
+ * case-tmpfile.c: New file.
+
+ * case-tmpfile.h: New file.
+
2007-06-06 Ben Pfaff <blp@gnu.org>
In a couple of places we calculate the maximum number of cases to