Fix regression in command name completion reported by John Darrington.
[pspp-builds.git] / src / language / ChangeLog
1 Tue Jun 27 22:36:38 2006  Ben Pfaff  <blp@gnu.org>
2
3         Fix regression in command name completion reported by John
4         Darrington.  Now completion is again state-dependent and occurs
5         only on the first line of a command.
6         
7         * command.c (do_parse_command): Move reading the first token of
8         the command here, from execute_command and cmd_input_program.
9         Call set_completion_state and getl_set_prompt_style here.
10         (do_parse_command) Use in_correct_state instead of
11         verify_valid_command.
12         (verify_valid_command) Break into two new functions,
13         in_correct_state and report_state_mismatch.
14         (set_completion_state) New function.
15         (cmd_complete) New function.
16         [HAVE_READLINE] (pspp_attempted_completion_function) Removed.
17         [HAVE_READLINE] (command_generator) Removed.
18
19         * line-buffer.c: (struct getl_source) Change `interactive' member
20         signature to take enum getl_prompt_style instead of const char *.
21         (create_interactive_source) Ditto, for parameter type.
22         (getl_append_interactive) Ditto.
23         (read_line_from_source) Pass get_prompt_style() to interactive
24         function instead of get_prompt().
25         (get_prompt) Removed.
26         (get_prompt_style) New function.
27         
28 Sat May  6 13:25:25 2006  Ben Pfaff  <blp@gnu.org>
29
30         Continue reforming procedure execution.  In this phase, remove
31         PROCESS IF, which was deprecated anyway and can be easily
32         simulated with TEMPORARY followed by SELECT IF.
33
34         * command.def: Removed PROCESS IF.
35
36 Mon May  1 18:17:52 2006  Ben Pfaff  <blp@gnu.org>
37
38         Further clean up the CMD_* command result codes.
39         
40         * command.c (cmd_result_is_valid): New function.
41         (cmd_result_is_success) Assert that argument is valid.  Simplified
42         check to one for a positive result.
43         (cmd_result_is_failure) Assert that argument is valid.  Simplified
44         check to one for a negative result.
45         (do_parse_command) Check that command's returned result is valid.
46
47         * command.h: (enum cmd_result) Renamed CMD_QUIT to CMD_FINISH and
48         updated all users.  Removed CMD_END_SUBLOOP in favor of new
49         CMD_PRIVATE_FIRST...CMD_PRIVATE_LAST range.  Changed failure codes
50         to have negative values.
51
52 Mon May  1 15:56:56 2006  Ben Pfaff  <blp@gnu.org>
53
54         Remove vestiges of FILE TYPE support. 
55         
56         * command.def: Mark FILE TYPE, RECORD TYPE unimplemented.
57
58 Wed Apr 26 21:13:46 2006  Ben Pfaff  <blp@gnu.org>
59
60         CLEAR TRANSFORMATIONS is unsafe as implemented.  It's a fair
61         amount of work to implement it correctly, so make it
62         unimplemented.
63                 
64         * command.c: (cmd_clear_transformations) Removed.
65
66         * command.def: Mark CLEAR TRANSFORMATIONS as unimplemented.
67
68 Wed Apr 26 13:06:42 2006  Ben Pfaff  <blp@gnu.org>
69
70         Work on readline completion.
71
72         * command.c: (pspp_completion_function) Removed.
73         (pspp_attempted_completion_function) New function.
74         (command_generator) New function.
75
76 Wed Apr 26 13:04:48 2006  Ben Pfaff  <blp@gnu.org>
77
78         Improve the way we handle the various parsing "states".  Until now
79         we've hard-coded the state transitions in the command definition
80         file, but that's error-prone and, worse, it's redundant--we can
81         figure out what state we're in anyhow.  We can cleanly handle
82         INPUT PROGRAM and FILE TYPE with a nested command-processing loop.
83         
84         * command.c: (cmd_result_is_success) New function.
85         (cmd_result_is_failure) New function.
86         (enum states) New enum.
87         (enum flags) New enum.
88         (struct command) Add states, flags members.  Remove transition,
89         skip_entire_name, debug members.  Renamed func member as function.
90         (macro DEFCMD) Removed.
91         (macro DBGCMD) Removed.
92         (macro SPCCMD) Removed.
93         (macro UNIMPL) Removed.
94         (macro DEF_CMD) New.
95         (macro UNIMPL_CMD) New.
96         (macro COMMAND_CNT) Changed to static const var, renamed
97         command_cnt.  Updated all references.
98         (FILE_TYPE_okay) Removed.
99         (cmd_parse) Rewrote in terms of do_parse_command().
100         (do_parse_command) New function.
101         (find_command) New function.
102         (unknown_command_error) Use struct string to simplify code.
103         (parse_command_name) Recognize comment command names.  Handle
104         flags.  Don't reject testing-mode-only commands here--let higher
105         level do it.
106         (verify_valid_command) New function.
107         (cmd_comment) New function.
108
109         * command.def: Completely rewritten and now sensibly organized.
110
111         * command.h: (enum STATE_*) Renamed CMD_STATE_*.
112         (CMD_*) Now "enum cmd_result".  Added CMD_QUIT.  New
113         CMD_END_SUBLOOP.  Removed CMD_TRAILING_GARBAGE, CMD_PART_SUCCESS,
114         CMD_PART_SUCCESS_MAYBE and replaced all references by CMD_FAILURE.
115         Added CMD_NOT_IMPLEMENTED.
116         (macro DEFCMD) Removed.
117         (macro DBGCMD) Removed.
118         (macro SPCCMD) Removed.
119         (macro UNIMPL) Removed.
120         (macro DEF_CMD) New.
121         (macro UNIMPL_CMD) New.
122
123 Mon Apr  3 11:03:36 2006  Ben Pfaff  <blp@gnu.org>
124
125         * list.q: (write_all_headers) Adapt to new html and output
126         internals.
127         (clean_up) Ditto.
128         (write_varname) Ditto.
129         (write_fallback_headers) Ditto.
130         (determine_layout) Ditto.
131         (list_cases) Ditto.
132         
133
134 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
135         
136         * Moved files from src directory