2008-03-04 Ben Pfaff Patch #6441. Reviewed by John Darrington. * command.def: Add DEBUG FORMAT GUESSER command. 2007-12-04 Ben Pfaff * command.def: Add GET DATA command. 2007-11-05 Ben Pfaff Patch #6258. Reviewed by John Darrington. * command.c (report_state_mismatch): Replace code to construct an error message from bits and pieces by a switch statement that hard-codes each possible error. Makes i18n easier. Suggested by Chusslove Illich . 2007-09-22 Ben Pfaff Bug #21128. Reviewed by John Darrington. * command.def: Add DEBUG PAPER SIZE command. 2007-09-05 John Darrington * command.c (do_parse_command): Translate CMD_FAILURE into CMD_CASCADING_FAILURE, if the ERRMODE_STOP is set on the syntax source. 2007-06-06 Ben Pfaff * command.def: Add DEBUG DATASHEET command. Remove DEBUG CASEFILE command. 2007-03-18 Ben Pfaff * syntax-string-source.c (close): Rename to do_close to avoid conflict with POSIX function of the same name. Thu Feb 8 15:04:42 2007 Ben Pfaff Reduce platform dependence. * command.c (shell): Always define this function, instead of only in unix, but make it a stub when fork or execl is not available. (run_command): Move parsing code into cmd_host. (cmd_host): Drop unix dependence now that the shell function is always defined. Sun Jan 21 15:31:52 WST 2007 John Darrington * command.c command.h: Renamed cmd_parse to cmd_parse_in_state. New function cmd_parse. Wed Dec 13 21:02:51 2006 Ben Pfaff * command.def: Add DELETE VARS. Sat Dec 16 22:15:55 2006 Ben Pfaff Make it possible to pull cases from the active file with a function call, instead of requiring indirection through a callback function. * command.def: Marked MATRIX DATA as unimplemented. Sun Dec 3 11:59:10 2006 Ben Pfaff * syntax-file.c (read_syntax_file): Always read GETL_BATCH lines. Wed Nov 29 19:35:44 WST 2006 John Darrington * command.c: Updated to reflect changed function names. * line-buffer.c line-buffer.h: Removed. Guts of it moved to libpspp/getl.[ch] The rest moved to files listed below. * syntax-file.c syntax-file.h prompt.c prompt.h: New files. Wed Nov 22 06:26:42 2006 Ben Pfaff * command.def: HOST command needs F_KEEP_FINAL_TOKEN. Sat Oct 28 16:15:56 WST 2006 John Darrington * linebuffer.c linebuffer.h: Moved getl_buf from here, into lexer/lexer.c Thu Oct 26 20:19:00 2006 Ben Pfaff * command.def: Add DEBUG FLOAT FORMAT. Fri Oct 20 10:59:06 WST 2006 John Darrington * command.def: Added additional unimpl commands. 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