a5895b66a9da8d4f2e46678e312856145c6f430b
[pspp-builds.git] / src / language / expressions / ChangeLog
1 2007-07-17  Ben Pfaff  <blp@gnu.org>
2
3         Patch #19335.  Reviewed by John Darrington.
4
5         * evaluate.h.pl: Use strict and all warnings.  Fix warnings that
6         this triggers.
7
8         * evaluate.inc.pl: Ditto.
9
10         * generate.pl: Ditto.
11
12         * operations.h.pl: Ditto.
13
14         * optimize.inc.pl: Ditto.
15
16         * parse.inc.pl: Ditto.
17
18 2007-04-15  Ben Pfaff  <blp@gnu.org>
19
20         * parse.c (expr_get_function): New function.
21         (expr_get_function_cnt): New function.
22         (expr_operation_get_name): New function.
23         (expr_operation_get_prototype): New function.
24         (expr_operation_get_arg_cnt): New function.
25
26 Thu Feb  1 06:59:27 2007  Ben Pfaff  <blp@gnu.org>
27
28         * parse.c (parse_function): Accept TO in any case for use with
29         n-ary functions.  Fixes bug #18923.  Thanks to John Darrington for
30         reporting this bug.
31
32 Sat Dec 16 12:20:14 2006  Ben Pfaff  <blp@gnu.org>
33
34         * operations.def: Reverse order of arguments to DATEDIFF, for
35         compatibility.  Thanks to Daniel Williams
36         <Daniel.E.Williams@state.or.us> for reporting this bug.
37
38 Wed Dec 13 19:30:26 2006  Ben Pfaff  <blp@gnu.org>
39
40         Implement support for DATESUM, DATEDIFF expression functions.  See
41         patch #5637.
42         
43         * helpers.c (enum date_unit): New enum.
44         [!HAVE_TRUNC] (trunc): New function.
45         (recognize_unit): New function.
46         (year_diff): New function.
47         (month_diff): New function.
48         (quarter_diff): New function.
49         (date_unit_duration): New function.
50         (expr_date_difference): New function.
51         (enum date_sum_method): New function.
52         (recognize_method): New function.
53         (add_months): New function.
54         (expr_date_sum): New function.
55         
56         * operations.def: Implement DATESUM, DATEDIFF functions.  Mark
57         VALUELABEL no_abbrev.
58
59 Sun Dec 10 16:49:33 2006  Ben Pfaff  <blp@gnu.org>
60
61         * operations.def: Implement VALUELABEL function.  Add DATEDIFF,
62         DATESUM unimplemented stubs.
63
64         * parse.c (type_coercion_core): Add support for OP_var type, which
65         is a name for a numeric or string variable.
66         (is_compatible) New function.
67         (check_operator) Only require values to be compatible with their
68         expected types, not identical.
69         (is_valid_node) Ditto.
70         (compare_names) Always return mismatch if the command name can't
71         be abbreviated.
72         (lookup_function_helper) Pass the new OPF_NO_ABBREV flag to the
73         comparison function.
74
75         * generate.pl (init_all_types): Add support for a type just called
76         "var" that may be a numeric or string variable name.  Also, add a
77         no_abbrev option that prevents a function name from being
78         abbreviated (in case of naming conflict otherwise).
79         
80         * parse.inc.pl: Output OPF_NO_ABBREV flag.
81
82         * private.h: Add OPF_NO_ABBREV flag.
83
84 Wed Jul 12 21:03:17 2006  Ben Pfaff  <blp@gnu.org>
85
86         * evaluate.c (cmd_debug_evaluate): Don't try to resize a null
87         case.
88
89 Fri Jun  9 13:59:15 2006  Ben Pfaff  <blp@gnu.org>
90
91         Reform string library.
92         
93         * generate.pl (init_all_types): `struct fixed_string' is now
94         `struct substring'.
95
96 Sun May  7 10:05:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
97
98         * evaluate.c: Removed call to copy_mangle, and replaced with the
99         original buf_copy_rpad.
100
101 Mon May  1 15:11:48 2006  Ben Pfaff  <blp@gnu.org>
102
103         Prohibit LAG following TEMPORARY.  This both matches SPSS behavior
104         and fixes a bug: we saved the cases for LAG before TEMPORARY but
105         allowed access to variables created afterward anyhow (which could
106         cause a segfault).
107
108         * generate.pl: Parse "perm_only" flag on operations.
109
110         * operations.def: Add "perm_only" flag to LAG operations.
111
112         * parse.c: Disallow OPF_PERM_ONLY operations after TEMPORARY.
113
114         * parse.inc.pl: Output OPF_PERM_ONLY flag for "perm_only"
115         operations.
116
117         * private.h: Add OPF_PERM_ONLY flag.
118
119 Sun Apr 23 22:06:45 2006  Ben Pfaff  <blp@gnu.org>
120
121         Continue reforming error message support.  In this phase, get rid
122         of message "titles" and put the message text in `struct error'.
123         Now `struct error' encapsulates a message more properly.
124         
125         * helpers.c: (expr_error) Use err_msg() instead of err_vmsg().
126         Format message ourselves.
127
128 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
129         
130         * Moved files from src directory