2008-05-15  Ben Pfaff  <blp@gnu.org>

	* 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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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 <john@darrington.wattle.id.au>

	* 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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	Thanks to Jason Stover for verifying that this patch helps under
	NetBSD.

	* main.c [HAVE_IEEE_FP]: Include <ieeefp.h>.
	(fpu_init) [HAVE_IEEE_FP]: Use setfpmask to mask floating-point
	exceptions.

Sun Feb 18 13:28:26 2007  Ben Pfaff  <blp@gnu.org>

	* 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  <blp@gnu.org>

	* 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  <blp@gnu.org>

	* command-line.c (pre_syntax_message): Use term "syntax" instead
	of "script".

Sat Dec  9 07:21:02 WST 2006 John Darrington <john@darrington.wattle.id.au>

	* msg-ui.c (msg_ui_done): call msg_locator_done.

Sun Dec  3 11:57:00 2006  Ben Pfaff  <blp@gnu.org>

	* read-line.c (read_interactive): Always read GETL_INTERACTIVE
	lines.
	
Thu Nov 16 20:46:35 WST 2006 John Darrington <john@darrington.wattle.id.au>

	* main.c: Connect debugger on errors.

Tue Nov  7 20:54:32 WST 2006 John Darrington <john@darrington.wattle.id.au>

	* 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  <blp@gnu.org>

	* 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  <blp@gnu.org>

	* main.c: (main) Register SIGABRT with bug_handler also.
	(bug_handler) Handle SIGABRT also.

Tue Jun 27 22:44:56 2006  Ben Pfaff  <blp@gnu.org>

	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  <blp@gnu.org>

	* 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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	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  <blp@gnu.org>

	* 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  <blp@gnu.org>

	* command-line.c: (var pre_syntax_message) -d and -u are no longer
	supported.

Sat Mar 11 14:18:39 WST 2006 John Darrington <john@darrington.wattle.id.au>

	* automake.mk: Moved the pspp binary here.

Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
	
	* Moved files from src directory
