2008-05-15 Ben Pfaff * Use unilbrk.h instead of linebreak.h and ulc_width_linebreaks instead of mbs_width_linebreaks for compatibility with latest gnulib. 2007-11-03 Ben Pfaff Allow output files to overwrite input files (bug #21280). * main.c (main): Use at_fatal_signal instead of calling signal directly. (interrupt_handler) Removed. (terminate) Rename clean_up. Don't call exit directly. 2007-09-25 Ben Pfaff Patch #6210: implement ability to resize output device parameters to fit terminal window size as it changes. Reviewed by John Darrington. * automake.mk (src_ui_terminal_libui_a_SOURCES): Add new files. * terminal.c: New file. * terminal.h: New file. * main.c (main): No need to set up SIGWINCH handler any longer. But we do need to call terminal_init. (set_fallback_viewport): Move to terminal.c. [HAVE_LIBNCURSES] (get_termcap_viewport): Ditto. [!HAVE_LIBNCURSES] (get_termcap_viewport): Ditto. * read-line.c (readln_read): After the first line of a command, call terminal_check_size to allow it to re-detect the terminal size. 2007-09-24 Ben Pfaff Patch #6210. Reviewed by John Darrington. * main.c (set_fallback_viewport): Make code easier to understand. (get_termcap_viewport): Ditto. * command-line.c (parse_command_line): Don't call force_long_view, as that function is no longer necessary. * msg-ui.c (handle_msg): Only wrap message output to the message file to the width of the terminal if the message file is a tty. 2007-09-19 John Darrington * main.c: Moved get_termcap_viewport from src/data/settings.c Added a handler for SIGWINCH to call this function. Adjusted init_settings to suit new interface. 2007-09-22 Ben Pfaff Bug #21128. Reviewed by John Darrington. * main.c (i18_init): Set up LC_PAPER locale, if available. Don't bother with LC_MONETARY locale, since we don't use it anywhere. 2007-08-26 Ben Pfaff Bug #17238. Thanks to John Darrington for review. * main.c (main): When testing mode is enabled, use a built-in output driver configuration instead of reading it from the configuration file. * msg-ui.c (handle_msg): Send error message to non-screen output devices also, if routing to listing files is enabled. 2007-08-23 Ben Pfaff Implement journaling. Bug #17240. * msg-ui.c (handle_msg): Send message to write_journal function as well as msg_file. (dump_message): Change interface so that it takes a function pointer instead of a FILE. (write_stream): New function. (write_journal): New function. * read-line.c (welcome): Call journal_enable, so that the journal is enabled by default. 2007-07-25 Ben Pfaff Make interactive output go to the terminal (bug #17213), by causing the UI to flush output to the user when it prompts for a command. * command-line.c (parse_command_line): Configure interactive output devices if appropriate. * read-line.c (readln_read): Flush output if this is a prompt for the first line of a command. 2007-06-06 Ben Pfaff Adapt case sources, sinks, and clients of procedure code to the new infrastructure. * main.c: No need for fastfile_factory any more. 2007-02-25 Ben Pfaff Thanks to Jason Stover for verifying that this patch helps under NetBSD. * main.c [HAVE_IEEE_FP]: Include . (fpu_init) [HAVE_IEEE_FP]: Use setfpmask to mask floating-point exceptions. Sun Feb 18 13:28:26 2007 Ben Pfaff * msg-ui.c: Don't include exit.h, because gnulib fixes up stdlib.h as necessary. Do include stdlib.h, because exit.h did so for us and we need it. Thu Feb 8 15:07:04 2007 Ben Pfaff * read-line.c (readln_initialize): Instead of only supporting history in unix, always support history, and only support a history file when $HOME is defined. (readln_uninitialize): Ditto. (welcome) Call readln_initialize instead of duplicating code. Sun Dec 10 11:13:53 2006 Ben Pfaff * command-line.c (pre_syntax_message): Use term "syntax" instead of "script". Sat Dec 9 07:21:02 WST 2006 John Darrington * msg-ui.c (msg_ui_done): call msg_locator_done. Sun Dec 3 11:57:00 2006 Ben Pfaff * read-line.c (read_interactive): Always read GETL_INTERACTIVE lines. Thu Nov 16 20:46:35 WST 2006 John Darrington * main.c: Connect debugger on errors. Tue Nov 7 20:54:32 WST 2006 John Darrington * command-line.c msg-ui.c msg-ui.h main.c: Added an -e option to set the file for error messages. Sat Nov 4 15:48:04 2006 Ben Pfaff * msg-ui.c (handle_msg): Only write message to terminal if get_error_routing_to_terminal() returns true. Fri Jul 7 20:03:42 2006 Ben Pfaff * main.c: (main) Register SIGABRT with bug_handler also. (bug_handler) Handle SIGABRT also. Tue Jun 27 22:44:56 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. * main.c (main): Reading of first token in command moved into cmd_parse. (execute_command) Removed. * read-line.c: [HAVE_READLINE] (readln_initialize) Postpone setting rl_attempted_completion_function until readln_read. [HAVE_READLINE] (readln_read) Change param from const char * to enum getl_prompt_style. Set rl_attempted_completion_function based on style. [HAVE_READLINE] (complete_command_name) New function. [HAVE_READLINE] (dont_complete) New function. [HAVE_READLINE] (command_generator) New function. Tue Jun 27 08:23:07 2006 Ben Pfaff * automake.mk (src_ui_terminal_pspp_LDADD): Add $(LIBICONV). Thanks to Jason Stover for reporting the omission. Thu May 4 21:50:59 2006 Ben Pfaff Continue reforming procedure execution. In this phase, move procedure.c and procedure.h from src to src/data. Update makefiles and #includes accordingly. * automake.mk: (src_ui_terminal_pspp_SOURCES) Remove src/procedure.c and src/procedure.h. (src_ui_terminal_pspp_LDADD) Move libexpressions.a later in list to make the link work. Wed May 3 23:09:37 2006 Ben Pfaff Continue reforming procedure execution. In this phase, get rid of many global variables, consolidating procedure execution in procedure.c. Encapsulate transformations in new "struct trns_chain". Also, change implementation of N OF CASES, FILTER, and PROCESS IF from special cases to transformations. * main.c: (main) Use proc_init(). (terminate) Use proc_done(). Wed Apr 26 13:34:54 2006 Ben Pfaff Improve command name completion in readline. * read-line.c (readln_initialize): Set up readline to only break words for completion at new-line. That way we can complete a whole command name. Also, set rl_attempted_completion_function instead of rl_completion_entry_function so we can disable completing on file names, which is usually not what we want in PSPP. Wed Apr 26 13:31:00 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. * automake.mk (src_ui_terminal_pspp_LDADD): Move libui earlier to avoid link errors. * main.c (main): Handle new CMD_* results. (execute_command) Move most per-command actions into cmd_parse(). (handle_error) Removed. cmd_parse() handles command failure. Tue Apr 25 11:08:17 2006 Ben Pfaff Finish reforming error message support. In this phase, move message.c into libpspp. * automake.mk: Remove message.c from sources. Tue Apr 25 10:58:19 2006 Ben Pfaff Continue reforming error message support. In this phase, drop actual message printing from core code, substituting a callback, and add the callback to each UI. Also, move verbose_msg() into its own module. * automake.mk (src_ui_terminal_libui_a_SOURCES): Add msg-ui.c, msg-ui.h. * command-line.c: (parse_command_line) Call verbose_increment_level() instead of increment err_verbosity directly, now that we have a little abstraction. * msg-ui.c: New file. * msg-ui.h: New file. * main.c: (main) Call msg_ui_init(). Use any_errors(). (terminate) Call msg_ui_done(). Make termination order more rational. * read-line.c: (readln_read) Use reset_msg_count() now we have a little abstraction. Tue Apr 25 09:39:46 2006 Ben Pfaff * main.c: (terminate) Mark static and NO_RETURN. If called recursively, which can only happen via signal, just exit instead of trying to gracefully shut down. Fri Mar 31 10:33:37 2006 Ben Pfaff * command-line.c: (var pre_syntax_message) -d and -u are no longer supported. Sat Mar 11 14:18:39 WST 2006 John Darrington * automake.mk: Moved the pspp binary here. Thu Mar 2 08:40:33 WST 2006 John Darrington * Moved files from src directory