Sun Oct 15 19:38:55 2006 Ben Pfaff * command.c: (do_parse_command) Issue an error for unimplemented commands, instead of silently ignoring them. Reported by John Darrington. Wed Jun 28 11:38:23 2006 Ben Pfaff Don't offer both the full and abbreviated names for a single command in command name completion. * command.c: (enum flags) Add F_ABBREV flag. (cmd_complete) Ignore command with F_ABBREV flag set. * command.def: Add F_ABBREV to N, Q, SORT commands. Tue Jun 27 22:36:38 2006 Ben Pfaff Fix regression in command name completion reported by John Darrington. Now completion is again state-dependent and occurs only on the first line of a command. * command.c (do_parse_command): Move reading the first token of the command here, from execute_command and cmd_input_program. Call set_completion_state and getl_set_prompt_style here. (do_parse_command) Use in_correct_state instead of verify_valid_command. (verify_valid_command) Break into two new functions, in_correct_state and report_state_mismatch. (set_completion_state) New function. (cmd_complete) New function. [HAVE_READLINE] (pspp_attempted_completion_function) Removed. [HAVE_READLINE] (command_generator) Removed. * line-buffer.c: (struct getl_source) Change `interactive' member signature to take enum getl_prompt_style instead of const char *. (create_interactive_source) Ditto, for parameter type. (getl_append_interactive) Ditto. (read_line_from_source) Pass get_prompt_style() to interactive function instead of get_prompt(). (get_prompt) Removed. (get_prompt_style) New function. Sat May 6 13:25:25 2006 Ben Pfaff Continue reforming procedure execution. In this phase, remove PROCESS IF, which was deprecated anyway and can be easily simulated with TEMPORARY followed by SELECT IF. * command.def: Removed PROCESS IF. Mon May 1 18:17:52 2006 Ben Pfaff Further clean up the CMD_* command result codes. * command.c (cmd_result_is_valid): New function. (cmd_result_is_success) Assert that argument is valid. Simplified check to one for a positive result. (cmd_result_is_failure) Assert that argument is valid. Simplified check to one for a negative result. (do_parse_command) Check that command's returned result is valid. * command.h: (enum cmd_result) Renamed CMD_QUIT to CMD_FINISH and updated all users. Removed CMD_END_SUBLOOP in favor of new CMD_PRIVATE_FIRST...CMD_PRIVATE_LAST range. Changed failure codes to have negative values. Mon May 1 15:56:56 2006 Ben Pfaff Remove vestiges of FILE TYPE support. * command.def: Mark FILE TYPE, RECORD TYPE unimplemented. Wed Apr 26 21:13:46 2006 Ben Pfaff CLEAR TRANSFORMATIONS is unsafe as implemented. It's a fair amount of work to implement it correctly, so make it unimplemented. * command.c: (cmd_clear_transformations) Removed. * command.def: Mark CLEAR TRANSFORMATIONS as unimplemented. Wed Apr 26 13:06:42 2006 Ben Pfaff Work on readline completion. * command.c: (pspp_completion_function) Removed. (pspp_attempted_completion_function) New function. (command_generator) New function. Wed Apr 26 13:04:48 2006 Ben Pfaff Improve the way we handle the various parsing "states". Until now we've hard-coded the state transitions in the command definition file, but that's error-prone and, worse, it's redundant--we can figure out what state we're in anyhow. We can cleanly handle INPUT PROGRAM and FILE TYPE with a nested command-processing loop. * command.c: (cmd_result_is_success) New function. (cmd_result_is_failure) New function. (enum states) New enum. (enum flags) New enum. (struct command) Add states, flags members. Remove transition, skip_entire_name, debug members. Renamed func member as function. (macro DEFCMD) Removed. (macro DBGCMD) Removed. (macro SPCCMD) Removed. (macro UNIMPL) Removed. (macro DEF_CMD) New. (macro UNIMPL_CMD) New. (macro COMMAND_CNT) Changed to static const var, renamed command_cnt. Updated all references. (FILE_TYPE_okay) Removed. (cmd_parse) Rewrote in terms of do_parse_command(). (do_parse_command) New function. (find_command) New function. (unknown_command_error) Use struct string to simplify code. (parse_command_name) Recognize comment command names. Handle flags. Don't reject testing-mode-only commands here--let higher level do it. (verify_valid_command) New function. (cmd_comment) New function. * command.def: Completely rewritten and now sensibly organized. * command.h: (enum STATE_*) Renamed CMD_STATE_*. (CMD_*) Now "enum cmd_result". Added CMD_QUIT. New CMD_END_SUBLOOP. Removed CMD_TRAILING_GARBAGE, CMD_PART_SUCCESS, CMD_PART_SUCCESS_MAYBE and replaced all references by CMD_FAILURE. Added CMD_NOT_IMPLEMENTED. (macro DEFCMD) Removed. (macro DBGCMD) Removed. (macro SPCCMD) Removed. (macro UNIMPL) Removed. (macro DEF_CMD) New. (macro UNIMPL_CMD) New. Mon Apr 3 11:03:36 2006 Ben Pfaff * list.q: (write_all_headers) Adapt to new html and output internals. (clean_up) Ditto. (write_varname) Ditto. (write_fallback_headers) Ditto. (determine_layout) Ditto. (list_cases) Ditto. Thu Mar 2 08:40:33 WST 2006 John Darrington * Moved files from src directory