Ben Pfaff [Tue, 19 Feb 2008 06:41:25 +0000 (06:41 +0000)]
(var_create): Use the new functions for default variable attributes below.
(var_default_formats): New function.
(var_default_measure): New function.
(var_default_alignment): New function.
Ben Pfaff [Tue, 19 Feb 2008 06:32:18 +0000 (06:32 +0000)]
Patch #6426. Reviewed by John Darrington.
(min_width): Renamed fmt_min_width and made public.
Updated all references.
(max_width): Renamed fmt_max_width and made public. Updated all
references.
(max_decimals): Renamed fmt_max_decimals and made public. Updated
all references.
John Darrington [Wed, 6 Feb 2008 02:08:18 +0000 (02:08 +0000)]
Optimise the psql reader, by fetching more than one record at a time.
Fix a few bugs. Ask the server to send the number of records when the
casereader is created.
Ben Pfaff [Sun, 3 Feb 2008 06:45:03 +0000 (06:45 +0000)]
In system files, allow missing values to be specified on long string
variables, but warn about them because PSPP does not yet support them.
Ignore extension records 20 and 21, which PSPP does not yet support.
Ben Pfaff [Sat, 8 Dec 2007 06:17:00 +0000 (06:17 +0000)]
Patch #6302.
(data_parser_make_active_file): Fix case count
argument to casereader_create_sequential, which fixes data reading
in the GUI.
Provided by John Darrington.
John Darrington [Sat, 8 Dec 2007 06:10:03 +0000 (06:10 +0000)]
Create a "pspp-stock-select" stock icon, and use it in selector actions.
It probably won't ever get displayed, but avoids GtkCritical errors in
older gtk libraries.
Ben Pfaff [Sat, 8 Dec 2007 06:09:03 +0000 (06:09 +0000)]
Patch #6302.
* casegrouper.c (casegrouper_get_next_group): Cause a casegrouper
made from an empty casereader produce a casegrouper with no
groups, instead of one with one group that has no cases.
* casereader.c (casereader_is_empty): New function.
Ben Pfaff [Wed, 5 Dec 2007 06:04:59 +0000 (06:04 +0000)]
* src/language/data-io/data-reader.c (struct dfm_reader): New
`file_size' member to support dfm_get_percent_read.
(dfm_open_reader): Initialize file_size.
(dfm_get_percent_read): New function.
Ben Pfaff [Sun, 25 Nov 2007 19:11:39 +0000 (19:11 +0000)]
* bugs/compression.sh: Don't fail on big-endian system. Partial
fix for bug #21590.
* bugs/sysfile-info.sh: Disregard "Integer Format" and "Real
Format" lines in SYSFILE INFO output, to permit big-endian systems
to pass also. Partial fix for bug #21590.
* float-format.c (assemble_number): Only store 32 bits for Z short
format. Partial fix for bug #21590.
Ben Pfaff [Sun, 11 Nov 2007 05:51:38 +0000 (05:51 +0000)]
Patch #6262. New developers guide and resulting fixes and cleanups.
* automake.mk (src_data_libdata_a_SOURCES): Add new files.
* dict-class.c: New file.
(dict_class_from_id): Move here.
(dict_class_to_name): Move here.
* dict-class.h: New file.
(enum dict_class): Move here. Change from consecutive integers to
consecutive bits, to make testing for any of multiple values
easier. Add new DC_ALL constant.
* dictionary.c (struct dictionary): Change `case_limit' from
size_t to casenumber.
(dict_get_vars): Make final argument an enum dict_class.
(dict_get_vars_mutable): Ditto.
(dict_get_case_limit): Change return value to casenumber.
(dict_set_case_limit): Change final argument to a casenumber.
(dict_unset_split_var): Add assertion. Rephrase slightly.
(dict_set_label): Use xstrndup to simplify.
* format.c (fmt_step_width): AHEX format also needs 2-byte
stepping.
(fmt_set_style): Simplify assertions.
* missing-values.c (mv_add_num_range): Rename mv_add_range.
Simplify implementation.
(mv_has_value): Simplify implementation.
(mv_pop_value): Remove the first value, not the last, to avoid
having GET followed by SAVE reverse the order of missing values.
(mv_peek_value): Rename mv_get_value. Simplify assertion.
(mv_has_range): Simplify implementation.
(mv_peek_range): Rename mv_get_range.
(can_resize_string): Removed.
(mv_is_resizable): Use value_is_resizable.
(mv_resize): Use value_resize.
* short-names.h (SHORT_NAME_LEN): Move here.
* val-type.h: New file, for definitions related to type and width
of abstract values. Before, these definitions were mixed among
those related to "union value" and those related to variables.
(macro SYSMIS): Move here.
(macro LOWEST): Move here.
(macro HIGHEST): Move here.
(macro MAX_STRING); Move here.
(enum val_type): New enum with values VAL_NUMERIC and VAL_STRING.
Replaces enum var_type that had values VAR_NUMERIC and VAR_STRING.
All references updated.
(val_type_is_valid): New function. Replaces var_type_is_valid.
All references updated.
(val_type_from_width): New function. Replaces
var_type_from_width. All references updated.
* value-labels.c (val_labs_copy): Renamed val_labs_clone. All
references updated.
(val_labs_can_set_width): Use value_is_resizable.
(val_labs_add): Simply return false if the value labels set is too
wide, instead of having undefined behavior.
(val_labs_replace): Ditto.
(val_labs_replace): Ditto.
(val_labs_first): Set iterator to null if iteration is complete.
(val_labs_first_sorted): Ditto.
(val_labs_done): Become a no-op if the iterator is null.
* value.c (value_is_resizable): New function.
(value_resize): New function.
* variable.c (var_get_dict_class): New function.
* variable.h (macro LONG_NAME_LEN): Rename VAR_NAME_LEN. Update
all references.
* not-implemented.texi: Fix @include command so that it works
consistently, by using a file name relative to Makefile.am's
srcdir instead of relative to doc.