John Darrington [Mon, 13 Apr 2009 06:50:06 +0000 (14:50 +0800)]
Use replacement rename function from gnulib
John Darrington [Sat, 11 Apr 2009 07:49:36 +0000 (15:49 +0800)]
Tolerate the inability to convert character encodings
Ben Pfaff [Thu, 9 Apr 2009 04:55:31 +0000 (21:55 -0700)]
Use Bob Jenkins lookup3 hash instead of FNV.
The Jenkins lookup3 hash is superior to FNV in collision resistance,
avalanching, and performance on systems that do not have fast
multiplication. It also provides a good way to combine the result of
a previous hashing step with the current hash, using its "basis" argument.
This commit replaces the PSPP implementation of FNV with the Jenkins
lookup3 hash and updates all the current users.
In addition, John Darrington pointed out that commit
dd2e61b4a
"Make create_iconv() properly distinguish converters by name"
unintentionally introduced gratuitous hash collisions, by causing
all converters where tocode and fromcode were the same to hash to
value 0, and converters where tocode and fromcode were swapped to
hash to the same value as each other. Using the "basis" argument to
the Jenkins hash properly, instead of just attempting to combine
hash values with XOR, fixes this problem.
Ben Pfaff [Thu, 9 Apr 2009 04:39:22 +0000 (21:39 -0700)]
NPAR TESTS: Consistently order variables in summary statistics.
The set of variables in the NPAR TESTS specs structure was ordered
randomly, according to however the hash function happened to arrange them.
Sort them by variable name, instead, so that they always appear in
alphabetical order in, e.g., descriptive statistics output.
The particular hash function PSPP uses now tends to order variables
alphabetically anyhow. The next commit changes the PSPP hash functions,
so fixing this in advance prevents having to update any test output.
John Darrington [Thu, 9 Apr 2009 10:53:52 +0000 (18:53 +0800)]
Fix some compiler warnings
John Darrington [Thu, 9 Apr 2009 07:58:58 +0000 (15:58 +0800)]
Implemented the sign test.
Added an implementation of the SIGN test for the NPAR TESTS
command. Closes patch #6801
John Darrington [Thu, 9 Apr 2009 00:51:24 +0000 (08:51 +0800)]
Fixed crash on quit
Ben Pfaff [Wed, 8 Apr 2009 04:26:50 +0000 (21:26 -0700)]
Fix memory leak in cmd_data_list().
Ben Pfaff [Wed, 8 Apr 2009 04:24:43 +0000 (21:24 -0700)]
Fix a few typos and capitalization errors in developers guide.
Ben Pfaff [Wed, 8 Apr 2009 04:20:47 +0000 (21:20 -0700)]
SET LOCALE: Don't use lex_tokstr() after skipping to next token.
The return value from lex_tokstr() is only valid until the next call to
lex_get() (or another function that changes the current token), so don't
advance past the token until we're done with its string value.
Ben Pfaff [Wed, 8 Apr 2009 04:15:40 +0000 (21:15 -0700)]
Make create_iconv() properly distinguish converters by name.
The code in create_iconv() assumed that every pair of different converters
had a different hash value. This is a bad assumption: eventually, we will
be unlucky, and two different converters will hash to the same value, and
we will get a bad conversion. So we have to compare (and store) the
names of the codes that each converters converts to and from.
Also, compute the hash value without making an extra copy of fromcode
and tocode.
Ben Pfaff [Wed, 8 Apr 2009 04:02:14 +0000 (21:02 -0700)]
Add "x" prefix to calls to plain malloc(), calloc(), strdup(), realloc().
In review commit
503f53bfdde "Read dictionary encoding from data files"
I noticed uses of plain strdup() (not xstrdup()). Some greps showed that
there were several other uses of strdup(), as well as calloc(), malloc(),
and realloc(), in the source tree. This commit adds "x" prefixes to each
of them, to ensure proper error handling.
Ben Pfaff [Wed, 8 Apr 2009 03:48:10 +0000 (20:48 -0700)]
Remove redundant test in lex_is_idn().
Commit
90f346cc0 "Made var_is_valid_name more permissive" made characters
with values above 127 valid in identifiers by allowing them in
lex_is_id1() and lex_is_idn(), but since the latter includes the former
in its test the addition there is redundant and can be eliminated.
John Darrington [Wed, 8 Apr 2009 01:14:57 +0000 (09:14 +0800)]
Merge commit 'origin/master' into charset
Conflicts:
src/ui/gui/psppire-data-editor.c
John Darrington [Wed, 8 Apr 2009 00:07:37 +0000 (08:07 +0800)]
Fix problems saving data files with non-ascii filenames.
Convert filenames to the system encoding before stuffing into
syntax strings.
John Darrington [Tue, 7 Apr 2009 23:13:10 +0000 (07:13 +0800)]
Fixed problem saving syntax files with non-ascii names.
The function save_editor_to_file now takes a filename
in Glib filename encoding.
John Darrington [Tue, 7 Apr 2009 11:30:23 +0000 (19:30 +0800)]
Merge commit 'origin/stable'
Conflicts:
src/language/stats/crosstabs.q
src/language/stats/examine.q
src/language/stats/frequencies.q
src/language/stats/oneway.q
tests/command/examine-extremes.sh
tests/command/examine.sh
John Darrington [Tue, 7 Apr 2009 05:00:08 +0000 (13:00 +0800)]
Issue warning when combining files of distinct encodings
John Darrington [Tue, 7 Apr 2009 03:31:57 +0000 (11:31 +0800)]
Implemented the ENCODING subcommand to DATA LIST.
Implemented the ENCODING subcommand which enables syntax
authors to tell pspp the encoding of a text file from which
data is to be read.
John Darrington [Tue, 7 Apr 2009 02:30:13 +0000 (10:30 +0800)]
Allow users to set the precision of output statistics.
Instead of hard coding the width and decimals of output
numbers, respect the default format in most instances.
Counts are normally displayed with the format of the weight
variable, if any. Closes patch #6785
John Darrington [Mon, 6 Apr 2009 11:07:30 +0000 (19:07 +0800)]
Added a cell-padding parameter to the sheet.
Added a cell-padding paramter of type GtkBorder which specifies the
space between a cell's contents and the border. The text is no
longer squashed right up against the left hand edge.
John Darrington [Mon, 6 Apr 2009 02:21:01 +0000 (10:21 +0800)]
Merge psppire-axis and psppire-axis-impl
There's only one implementation of psppire-axis now,
and having the implementation seperated from the interface
in a brige configuration just adds too much complexity.
John Darrington [Fri, 3 Apr 2009 10:16:57 +0000 (18:16 +0800)]
Binomial tests can now be specified by a cutpoint.
This change extends the NPAR TEST /BINOMIAL subcommand
so that binomial tests can be specified by cutpoint.
The manual had previously, incorrectly stated that this
was supported. Now it actually is. Fixes bug #26056
John Darrington [Fri, 3 Apr 2009 05:35:03 +0000 (13:35 +0800)]
Another one I forgot ...
John Darrington [Fri, 3 Apr 2009 05:32:33 +0000 (13:32 +0800)]
Oops. Add new file.
John Darrington [Fri, 3 Apr 2009 05:30:10 +0000 (13:30 +0800)]
Add a dialog box for the reliability command.
John Darrington [Fri, 3 Apr 2009 01:46:13 +0000 (09:46 +0800)]
Add PsppireDictView to glade library.
Make the PsppireDictView widget available to
users of glade.
John Darrington [Thu, 2 Apr 2009 23:10:28 +0000 (07:10 +0800)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Thu, 2 Apr 2009 02:53:44 +0000 (10:53 +0800)]
Update pspp developer's guide with new i18n changes.
John Darrington [Thu, 2 Apr 2009 02:26:03 +0000 (10:26 +0800)]
Allow non-ascii characters to be entered as variable names.
Previously, only ascii could be used in the name of a variable,
so the variable sheet did not bother converting. Now we have
to convert the encoding.
John Darrington [Thu, 2 Apr 2009 00:46:57 +0000 (08:46 +0800)]
Use a system file's "character code" to set the encoding.
When reading a system file, use the "character code" as a
fallback to set the dictionary's character encoding. If present,
record 7, subtype 20 will override this parameter.
John Darrington [Thu, 2 Apr 2009 00:26:15 +0000 (08:26 +0800)]
New datasets to use the current default encoding.
When creating a new dataset, its dictionary is now set
to the current default encoding (which can be changed
using SET LOCALE).
John Darrington [Thu, 2 Apr 2009 00:19:09 +0000 (08:19 +0800)]
Fixed bug where piecharts with many segments crashed.
Make sure that we don't index beyond the bounds of the
data_colour array.
Jason H Stover [Wed, 1 Apr 2009 20:13:10 +0000 (16:13 -0400)]
covariance_matrix.c (get_n_rows): New function to compute the number
of rows in the covariance matrix.
John Darrington [Wed, 1 Apr 2009 01:58:49 +0000 (09:58 +0800)]
Merge commit 'origin/master' into charset
John Darrington [Wed, 1 Apr 2009 01:56:49 +0000 (09:56 +0800)]
Implemented the SET LOCALE='...' command.
Allow the user to set the default character encoding.
John Darrington [Wed, 1 Apr 2009 00:43:07 +0000 (08:43 +0800)]
Refactor locale initialisation.
Created a common i18n_init function that both
the GUI and terminal can use, instead of each
doing it their own way.
John Darrington [Tue, 31 Mar 2009 07:48:51 +0000 (15:48 +0800)]
Merge commit 'origin/stable'
John Darrington [Tue, 31 Mar 2009 05:07:03 +0000 (13:07 +0800)]
Fixed bug writing portable files.
Don't append slash to sysmis values when writing portable
files. Fixes bug #26034
Jason H Stover [Mon, 30 Mar 2009 20:39:27 +0000 (16:39 -0400)]
design_matrix.c: New accessor functions design_matrix_get_element and
design_matrix_set_element.
covariance_matrix.c: New accessor function
covariance_matrix_get_element. Use new accessor functions
design_matrix_get_element and design_matrix_set_element.
John Darrington [Sun, 29 Mar 2009 23:59:42 +0000 (07:59 +0800)]
Merge branch 'refs/heads/charset' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into charset
John Darrington [Sun, 29 Mar 2009 23:57:30 +0000 (07:57 +0800)]
Add code to read character encoding to dissect-sysfile.
John Darrington [Sun, 29 Mar 2009 23:47:38 +0000 (07:47 +0800)]
Document record 7, subtype 20 in system file format.
Add information about the character encoding record to
the developer's reference guide.
John Darrington [Sun, 29 Mar 2009 23:05:22 +0000 (07:05 +0800)]
Set the dictionary's encoding when reading postgresql data.
Jason Stover [Sun, 29 Mar 2009 15:04:31 +0000 (11:04 -0400)]
covariance-matrix.c (covariance_accumulator_to_matrix): Use sum_i and
sum_j to compute products of means. Store the sums of variables in
cov->sums, rather than storing the means.
John Darrington [Sun, 29 Mar 2009 10:13:33 +0000 (18:13 +0800)]
Set dictionary's encoding when reading gnumeric files
John Darrington [Sun, 29 Mar 2009 05:19:59 +0000 (13:19 +0800)]
Write encoding to system files.
Write the encoding to record 7(20) when saving.
John Darrington [Sun, 29 Mar 2009 04:23:15 +0000 (12:23 +0800)]
Ensure value labels dialog doesn't grow unreasonably large
John Darrington [Sun, 29 Mar 2009 04:05:09 +0000 (12:05 +0800)]
Fix crash running two consecutive examine commands.
Re-initialise list in the dynamically instead of
relying on the static initialiser. Fixes bug #25903
John Darrington [Sun, 29 Mar 2009 01:29:41 +0000 (09:29 +0800)]
Avoid calling iconv_open on each conversion.
Instead of creating a convertor each time a string
needs to be re-encoded, we now keep a hash of convertors
keyed by the permutation of input/output encodings.
Jason Stover [Sat, 28 Mar 2009 19:24:57 +0000 (15:24 -0400)]
covariance-matrix.c (get_sum): New function to compute means during
loop over covariance matrix.
covariance-matrix.c (covariance_accumulator_to_matrix): Use get_sum to
compute the means.
John Darrington [Sat, 28 Mar 2009 12:00:26 +0000 (21:00 +0900)]
Display a file's encoding in SYSFILE INFO.
Add a file's encoding to the information given by SYSFILE INFO.
John Darrington [Sat, 28 Mar 2009 11:50:51 +0000 (20:50 +0900)]
Convert encoding even if encodings are identical.
recode_string must continue, even if the source and
target encodings are identical, because invalid bytes
in the source string need to become '?' to avoid
later problems.
John Darrington [Sat, 28 Mar 2009 11:46:46 +0000 (20:46 +0900)]
Pass dict to name_to_string and label_to_string.
Oops, forgot to replace these NULLs.
John Darrington [Sat, 28 Mar 2009 06:23:12 +0000 (15:23 +0900)]
Remove LIB_CLOSE variables from linker options.
Gnulib used to define @LIB_CLOSE@ but no longer does,
so this variable is no longer needed nor appropriate.
John Darrington [Sat, 28 Mar 2009 03:24:34 +0000 (12:24 +0900)]
Convert files named on the command line to filename encoding.
Files specified on the command line must be converted to the
"filename" encoding (whatever it may be) otherwise some systems
will not know they exist. Tested by Michel Boaventura.
Partially fixes bug #26023
John Darrington [Fri, 27 Mar 2009 04:55:26 +0000 (13:55 +0900)]
Test for NULL before calling strdup
John Darrington [Fri, 27 Mar 2009 04:47:01 +0000 (13:47 +0900)]
Read dictionary encoding from data files.
If record 7 subtype 20 exists, use it to set the encoding of the
dictionary when reading a file.
Ben Pfaff [Mon, 19 Jan 2009 04:10:43 +0000 (20:10 -0800)]
Fix memory leak in wilcoxon_execute().
Ben Pfaff [Fri, 27 Mar 2009 04:11:12 +0000 (21:11 -0700)]
Fix error message for bad characters in syntax files.
Before this commit, on systems where "char" is a signed type,
formatting a char with %o would sign-extend to the width of "int",
so that a typical error message would look like:
Bad character in input: `\
37777777605'.
With this commit, the value gets zero-extended, producing the more
sensible error mesage:
Bad character in input: `\205'.
John Darrington [Fri, 27 Mar 2009 02:51:35 +0000 (11:51 +0900)]
Made var_is_valid_name more permissive.
Allowed lex_is_id1 and lex_is_id2 to match non-ascii characters,
in addition to the others it tests for.
John Darrington [Fri, 27 Mar 2009 02:46:21 +0000 (11:46 +0900)]
Redesign the character re-encoding code.
Remove the statically allocated convertors,
instead, assume that the encoding of variables,
data and associated metadata is stored in the dictionary.
John Darrington [Thu, 26 Mar 2009 23:19:27 +0000 (08:19 +0900)]
Removed some unused features from src/libpspp/i18n.c and src/libpspp/i18n.h
John Darrington [Wed, 25 Mar 2009 01:48:31 +0000 (10:48 +0900)]
Added the "Display Data File Information" item.
Added a menuitem to the File menu which calls either
DISPLAY DICTIONARY or SYSFILE INFO per spss.
John Darrington [Tue, 24 Mar 2009 11:17:09 +0000 (20:17 +0900)]
Set the text import dialog's default button.
Grab the focus of the appropriate button of the
text import dialog, when a new page is prepared.
This makes it much easier to use without a mouse.
John Darrington [Tue, 24 Mar 2009 10:12:44 +0000 (19:12 +0900)]
Added #include <config.h> to files as appropriate.
Thanks to Michel Boaventura for reporting this problem.
John Darrington [Mon, 23 Mar 2009 22:04:52 +0000 (07:04 +0900)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Mon, 23 Mar 2009 11:12:30 +0000 (20:12 +0900)]
Fix bug in text-import-dialog
John Darrington [Mon, 23 Mar 2009 08:44:05 +0000 (17:44 +0900)]
Convert filename on confirmation dialog
John Darrington [Mon, 23 Mar 2009 08:22:18 +0000 (17:22 +0900)]
Show error dialog if syntax file is not readable.
Popup a dialog box, if a syntax file cannot be
opened for any reason.
John Darrington [Mon, 23 Mar 2009 07:39:06 +0000 (16:39 +0900)]
Convert filename encodings when opening files.
On w32, filenames have to be converted from utf8 to
the libc encoding before passing to the lexer.
John Darrington [Mon, 23 Mar 2009 06:42:38 +0000 (15:42 +0900)]
Initialise description on init.
Windows' description parameter must not be
NULL. So initialize it to the empty string.
John Darrington [Sun, 22 Mar 2009 08:37:42 +0000 (17:37 +0900)]
Allow non-ascii characters to be entered into the variable and data sheets.
Convert strings from utf8 to the pspp (data) localeĀ“s encoding before passing
to the model.
John Darrington [Sun, 22 Mar 2009 04:19:12 +0000 (13:19 +0900)]
Avoid potential bugs with setlocale's return value.
Use strdup to copy all return values from setlocale,
since it's statically allocated.
John Darrington [Sat, 21 Mar 2009 06:12:47 +0000 (15:12 +0900)]
Fix crash when running under windows with non-english locale
Fixed a bug which manifested itself when running a Mingw compiled
binary with a non-english locale. setlocale returns a statically
allocated string, so it's valid only until the next call to setlocale.
Thanks to Michel Boaventura for reporting and helping to diagnose this
problem.
John Darrington [Fri, 20 Mar 2009 01:27:46 +0000 (10:27 +0900)]
Fix corrupted .sav files on w32 builds
Added the O_BINARY flag to the mode of files
created with open, so that lines aren't appended
with extraneous characters, thus corrupting .sav
files.
John Darrington [Thu, 19 Mar 2009 22:10:31 +0000 (07:10 +0900)]
Added missing '#include <config.h>' lines.
Added these missing #includes at top of *.c files.
Thanks to Michel Boaventura for reporting this.
John Darrington [Wed, 18 Mar 2009 22:22:17 +0000 (07:22 +0900)]
Change name of config parameter
John Darrington [Wed, 18 Mar 2009 08:21:00 +0000 (17:21 +0900)]
Rename the "model" property to "dictionary"
John Darrington [Tue, 17 Mar 2009 23:44:32 +0000 (08:44 +0900)]
Fixed crash which occured when deleting dictionaries which had variable labels
John Darrington [Tue, 17 Mar 2009 21:56:53 +0000 (06:56 +0900)]
Correct typo in BINOMIAL section of user manual.
Thanks to Erik Frebold for pointing out this problem.
Closes bug #25892
John Darrington [Tue, 17 Mar 2009 12:14:12 +0000 (21:14 +0900)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Tue, 17 Mar 2009 12:13:26 +0000 (21:13 +0900)]
Fix bug saving window positions
John Darrington [Tue, 17 Mar 2009 11:58:51 +0000 (20:58 +0900)]
Add a popup menu to the PsppireDictView object.
Currently this menu contains only one item, which
lets you choose between labels or values.
John Darrington [Tue, 17 Mar 2009 10:34:54 +0000 (19:34 +0900)]
Remove some unnecessary #includes
John Darrington [Tue, 17 Mar 2009 10:22:21 +0000 (19:22 +0900)]
Namespace police duty.
Changed a number of instances of G_TYPE_ to PSPPIRE_TYPE_
John Darrington [Tue, 17 Mar 2009 10:13:48 +0000 (19:13 +0900)]
Delete extraneous characters from comment.
Thanks to Ben Pfaff for pointing this out.
John Darrington [Tue, 17 Mar 2009 10:11:20 +0000 (19:11 +0900)]
New object PsppireDictView
Created a new object PsppireDictView, which derives
from GtkTreeView for the purpose of displaying a
dictionary. Replaces much of the functionality in
dict-display.c
John Darrington [Mon, 16 Mar 2009 23:22:15 +0000 (08:22 +0900)]
Remove preprocessor condition
John Darrington [Mon, 16 Mar 2009 22:01:15 +0000 (07:01 +0900)]
Make psppire_sheet_get_attributes a private function
John Darrington [Mon, 16 Mar 2009 21:37:11 +0000 (06:37 +0900)]
Use GtkHPaned in variable info dialog
Moved variable info dialog spec from psppire.glade into
its own file. Added a "sliding" property to PsppireDialog
which causes Gtk[VH]Paned to be used instead of Gtk[VH]Box.
Set the sliding property for the variable info dialog.
Jason H Stover [Mon, 16 Mar 2009 21:32:51 +0000 (17:32 -0400)]
covariance-matrix.c: Add matrices to store valid sample sizes and
products of means in struct covariance_matrix.
covariance-matrix.c (update_ssize): New function
covariance-matrix.c (covariance_accumulator_to_matrix): Store valid
sample sizes and products of means, then use them to compute the
entries of the covariance matrix after passing through the
hash. Return void.
John Darrington [Mon, 16 Mar 2009 09:02:24 +0000 (18:02 +0900)]
Indicate filtered cases in data sheet.
Add feature to indicate filtered out cases
on data sheet. Closes bug #20828
John Darrington [Mon, 16 Mar 2009 00:31:21 +0000 (09:31 +0900)]
Prevent wierd focusing issues when changing cell
John Darrington [Sun, 15 Mar 2009 22:50:58 +0000 (07:50 +0900)]
Emit variable callback even if label is null.
When a label was set to null, previously no callback
was emitted. Fixes bug #25872
John Darrington [Sun, 15 Mar 2009 22:15:00 +0000 (07:15 +0900)]
Focus var/data sheet after switching tabs
John Darrington [Sun, 15 Mar 2009 21:58:34 +0000 (06:58 +0900)]
Config option to prefer variable labels vs. names
Added user config option to select whether dictionary
treeviews in dialog boxes should prefer variable labels
over names. Default is names.
John Darrington [Sat, 14 Mar 2009 23:24:12 +0000 (08:24 +0900)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Sat, 14 Mar 2009 22:59:49 +0000 (07:59 +0900)]
Save windows' maximized status as well as their geometry.
Jason H Stover [Fri, 13 Mar 2009 21:28:37 +0000 (17:28 -0400)]
covariance-matrix.c (is_origin): New function
covariance-matrix.c (get_exact_subscript): New function
covariance-matrix.c (covariance_matrix_insert): Use get_exact_subscript.
covariance-matrix.c (is_covariance_contributor): New function.
covariance-matrix.c (covariance_accumulator_to_matrix): Iterate over
the rows and columns of the covariance matrix, and the hash table to
accumulate values for each entry of the matrix.
design-matrix.c (design_matrix_get_n_cols): New function
design-matrix.c (design_matrix_get_n_rows): New function