+Tue May 30 19:45:12 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+ * i18n.c i18n.h: New files.
+
+Tue May 16 06:50:35 2006 Ben Pfaff <blp@gnu.org>
+
+ * automake.mk (src/libpspp/version.c): Removed groff_font_path,
+ which is no longer used.
+
+ * message.c (request_bug_report_and_abort): Don't print
+ groff_font_path, which no longer exists.
+
+ * version.h (locale_dir): Removed groff_font_path.
+
+Sun May 14 22:06:53 2006 Ben Pfaff <blp@gnu.org>
+
+ * str.c (spprintf): Moved definition of spprintf() here, from
+ str.h.
+
+ * str.h: (nsprintf) Removed. Changed all users to use sprintf()
+ instead.
+ (nvsprintf) Removed. Changed all users to use vsprintf() instead.
+
+Sun May 14 20:52:20 2006 Ben Pfaff <blp@gnu.org>
+
+ * str.c (ds_init): Remove `capacity' argument and just initialize
+ the string to a capacity of zero. Updated all callers.
+
+Tue May 9 09:56:57 2006 Ben Pfaff <blp@gnu.org>
+
+ * va_copy.h: Removed. Now use va_copy() provided by gnulib
+ instead.
+
+ * automake.mk: (src_libpspp_libpspp_a_SOURCES) Removed va_copy.h.
+
+Sun May 7 18:17:32 2006 Ben Pfaff <blp@gnu.org>
+
+ * pool.c (pool_vasprintf): New function.
+ (pool_asprintf) New function.
+
+Sun May 7 17:09:54 2006 Ben Pfaff <blp@gnu.org>
+
+ * compiler.h: (macro WARN_UNUSED_RESULT) New macro.
+
+Sun May 7 14:32:25 2006 Ben Pfaff <blp@gnu.org>
+
+ * va_copy.h: New header.
+
+ * str.c: Use header instead of inlining va_copy() macro
+ implementation.
+
+Sun May 7 10:06:29 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+ * array.c array.h: Constness of sort.
+
+Thu May 4 18:01:37 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+ * message.c message.h: Added functions to create and copy a msg.
+
+Tue May 2 15:41:50 2006 Ben Pfaff <blp@gnu.org>
+
+ * str.c (ds_append_uninit): No need to add 1 to arg passed to
+ ds_extend(), because the argument does not include space for a
+ null terminator. Also, fix warning.
+
+Tue Apr 25 11:07:19 2006 Ben Pfaff <blp@gnu.org>
+
+ Finish reforming error message support. In this phase, move
+ message.c into libpspp.
+
+ * message.c: Move here from src/. Also remove a few unneeded
+ headers.
+
+ * automake.mk (src_libpspp_libpspp_a_SOURCES): Add message.c.
+
+Tue Apr 25 10:54:44 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_libpspp_libpspp_a_SOURCES): Added
+ verbose-msg.c, verbose-msg.h.
+
+ * verbose-msg.c: New file.
+
+ * verbose-msg.h: New file.
+
+Mon Apr 24 17:26:47 2006 Ben Pfaff <blp@gnu.org>
+
+ Continue reforming error message support. In this phase, rename
+ all the message functions and types to start with "msg", except
+ for the ones that will be moving to other modules anyway.
+
+ All references to the identifiers below were updated likewise.
+
+ * message.h: (enum file_locator) Renamed `enum msg_locator'.
+ (struct error) Renamed `struct msg'.
+ (err_assert_fail) Renamed msg_assert_fail().
+
+Sun Apr 23 22:07:06 2006 Ben Pfaff <blp@gnu.org>
+
+ Continue reforming error message support. In this phase, get rid
+ of message "titles" and put the message text in `struct error'.
+ Now `struct error' encapsulates a message more properly.
+
+ * message.h: (struct error) Remove `title' member. Add `text'
+ member.
+
+Sun Apr 16 20:43:35 2006 Ben Pfaff <blp@gnu.org>
+
+ Continue reforming error message support. In this phase, we
+ divide the classification of messages along "category" and
+ "severity" axes.
+
+ * message.h: (enum msg_class) Named this set of enumerations.
+ (enum msg_category) New enum: MSG_GENERAL, MSG_SYNTAX, MSG_DATA.
+ (enum msg_severity) New enum: MSG_ERROR, MSG_WARNING, MSG_NOTE.
+ (msg_class_to_category) New inline function.
+ (msg_class_to_severity) New inline function.
+ (msg_class_from_category_and_severity) New inline function.
+ (struct error) Removed `class' member, added `category',
+ `severity'. Updated all users of this struct to use the new
+ members.
+
+Sun Apr 16 20:33:19 2006 Ben Pfaff <blp@gnu.org>
+
+ * str.c (ds_vprintf): Don't try to write into the string if it is
+ null.
+
+Sun Apr 16 18:52:41 2006 Ben Pfaff <blp@gnu.org>
+
+ GNU standards require "file name" instead of "filename" in
+ documentation. It's nice for our code to follow the convention
+ too.
+
+ * message.h: (struct file_locator) Rename filename member to
+ file_name. Updated all references.
+
+Sun Apr 16 16:05:43 2006 Ben Pfaff <blp@gnu.org>
+
+ Continue reforming error message support. In this phase, we get
+ rid of VM() and the other msg() support for "verbosity", replacing
+ it by a new function verbose_msg().
+
+ * message.h: (enum ERR_CLASS_COUNT) Renamed ERR_CLASS_CNT.
+ (enum ERR_CLASS_MASK) Removed.
+ (enum ERR_VERBOSITY_SHIFT) Removed.
+ (enum ERR_VERBOSITY_MASK) Removed.
+ (macro VM) Removed.
+
+Sun Apr 16 11:48:07 2006 Ben Pfaff <blp@gnu.org>
+
+ Start reforming error message support. In this phase, we get rid
+ of "installation errors" and change all uses of msg() in the
+ output drivers to uses of error() or error_at_line().
+
+ * message.h: Remove IE, IS enums.
+
+Mon Apr 3 11:10:21 2006 Ben Pfaff <blp@gnu.org>
+
+ * str.c: (ds_separate) Change interface for cleanliness and
+ consistency with ds_tokenize(), and rewrite to shorten and
+ simplify. Updated all callers.
+ (ds_tokenize) New function.
+
+Fri Mar 31 10:38:46 2006 Ben Pfaff <blp@gnu.org>
+
+ Add freaderror() analogous to fwriteerror() in gnulib.
+
+ * freaderror.c: New file.
+
+ * freaderror.h: New file.
+
+Thu Mar 30 16:15:37 2006 Ben Pfaff <blp@gnu.org>
+
+ * str.c: (ds_create) Adjust capacity selection.
+ (ds_init) Use MAX macro for clarity.
+ (ds_create_substr) Rewrote.
+ (ds_replace) Renamed ds_assign_c_str(), reimplemented. Changed
+ all callers to use a ds_assign_*() function.
+ (ds_init_substring) New function.
+ (ds_assign_string) New function.
+ (ds_assign_substring) New function.
+ (ds_assign_buffer) New function.
+ (ds_assign_c_str) New function.
+ (ds_truncate) Rewrote for clarity.
+ (ds_rpad) Reimplement in terms of ds_putc_multiple().
+ (ds_ltrim_spaces) Reimplement.
+ (ds_trim_spaces) New function.
+ (ds_separate) New function.
+ (ds_c_str) Make tolerant of null pointer, allowing static
+ initialization of strings.
+ (ds_find) Rename ds_span(), change interface.
+ (ds_n_find) Rename ds_cspan(), change interface.
+ (ds_at) New function.
+ (ds_first) Reimplement in terms of ds_at().
+ (remove_comment) New function.
+ (ds_get_config_line) Reimplement in terms of other functions.
+ Change type of LINE_NUMBER parameter. Updated all callers.
+ (ds_vprintf) Modify for clarity.
+ (ds_putc) Better to be safe than sorry.
+ (ds_putc_multiple) New function.
+
+ * str.h: (struct string) Reorder members.
+ (macro DS_INITIALIZER) New macro that can be used to initialize a
+ string (as empty).
+ (ds_c_str) Remove inline version.
+
+Tue Mar 28 13:49:11 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+ * str.[ch]: New functions ds_create_substr, ds_find, ds_n_find,
+ ds_ltrim_spaces
+