2009-04-14  Behdad Esfahbod  <behdad@gnome.org>

	* mateconf/mateconf-client.c (mateconf_client_key_is_writable): Also trace
	if key is in cache.  Don't trace the writable result, that's not
	interesting.

	* mateconf/mateconf-client.c (mateconf_client_set_bool): Trace this function.
	Somehow it was missing the trace line that other set_* functions
	have.

2009-04-14  Behdad Esfahbod  <behdad@gnome.org>

	* mateconf/mateconf-client.c: Consistently surround string parameters in
	single-quotes in trace output.

2009-04-13  Behdad Esfahbod  <behdad@gnome.org>

	* mateconf/mateconf-client.c (trace): Use g_message for printing trace
	output, such that G_MESSAGES_PREFIXED=all can be used to print process
	name and id.

=========================== 2.26.0 ===========================

2009-03-16  Ray Strode  <rstrode@redhat.com>

	* NEWS: Updates
	* configure.in: 2.26.0

2009-02-26  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_activate_server):
	Correct the URL to the website.

2009-02-23  Matthias Clasen  <mclasen@redhat.com>

	Bug 572402 – Potential memory leak in markup backend

	* backends/markup-backend.c (tree_lookup_entry): Free parent
	before checking for error. Pointed out by Tommi Rantala.

2009-02-23  Matthias Clasen  <mclasen@redhat.com>

	Bug 572187 – Remove deprecated GTK+ symbols

	* mateconf/mate-testclient.c:
	* mateconf/testmateconfclient.c:
	* doc/intro-article.sgml: Remove deprecated GTK+ api.

2009-02-16  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Bump version

=========================== 2.25.2 ===========================

2009-02-16  Ray Strode  <rstrode@redhat.com>

	* mateconf/default.path.in: move the directory used by the
	defaults mechanism, so that its effects are mandatory
	(bug 558490).

2009-02-15  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Bump version

=========================== 2.25.1 ===========================

2009-02-15  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates

2009-02-15  Matthias Clasen  <mclasen@redhat.com>

	Bug 566716 – Update the projects URL

	* README:
	* mateconf/mateconf-internals.c: Update project website url.
	String change. Requested by Leonardo Ferreira Fontenelle

2009-02-15  Matthias Clasen  <mclasen@redhat.com>

	Bug 569258 – Use send_destination in dbus policy

	* defaults/org.mate.MateConf.Defaults.conf: Use send_destination.
	Pointed out by Vincent Untz

2009-02-15  Matthias Clasen  <mclasen@redhat.com>

	Bug 565312 – Use g_timeout_add_seconds

	* backends/xml-backend.c: Trivial: Use g_timeout_add_seconds.
	Patch by Paul Kishimoto.

2009-02-15  Matthias Clasen  <mclasen@redhat.com>

	Bug 558490 – New policykit mechanism uses hard-coded mateconf path

	* mateconf/default.path.in: Add the directory that is used by the
	defaults mechanism

	* defaults/Makefile.am: Define SYSMATECONFDIR
	* defaults/mateconf-defaults.c: Use SYSMATECONFDIR instead of hardcoding
	/etc/mateconf. Pointed out by Vincent Untz

2009-02-12  Michael Meeks  <michael.meeks@novell.com>

	* backends/markup-tree.c (parse_value_element): turn off a
	bogus error message for missing types, which we don't use,
	saves creating, l10n'ing & destroying 11k bogus messages on
	login.

2009-02-10  Michael Meeks  <michael.meeks@novell.com>

	* backends/markup-tree.c (write_value_element): close empty
	value elements immediately to save parsing time.

	* backends/markup-tree.c: instead of indenting with spaces, use
	tabs for a 50% size saving in the generated XML, and a nice
	parsing speedup. Also accelerate writing by avoiding lots of
	un-necessary memory allocation.

2009-01-27  Tor Lillqvist  <tml@novell.com>

	* mateconf/Makefile.am (mateconfd_2_LDFLAGS): Use the -mwindows flag
	when linking on Windows, so that we build a "GUI" executable.

	* mateconf/mateconfd.c (main): On Windows, with MATECONF_DEBUG_OUTPUT set,
	make sure stdout and stderr go somewhere. Use the parent's console
	window if possible, otherwise open an own console window. If we
	had to open an own console window, give the user a chance to read
	the output when exiting. Same idea that has been successfully used
	in GIMP for a while.

2009-01-23  Vincent Untz  <vuntz@gnome.org>

	* backends/xml-backend.c: cygwin needs the same stuff as mingw, so use
	G_PLATFORM_WIN32
	Patch by <yselkowitz@users.sourceforge.net>
	Fix bug #563801.

2009-01-23  Vincent Untz  <vuntz@gnome.org>

	* mateconf/mateconftool.c: (do_toggle): return value at the end of the
	function.
	Patch by Magnus Boman <captain.magnus@gmail.com>. Fix bug #567334

2009-01-09  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Bump version

=========================== 2.25.0 ===========================

2009-01-09  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates

2009-01-09  Matthias Clasen  <mclasen@redhat.com>

	Bug 560559 – MATE Goal: Remove deprecated GLib symbols

	* mateconf/testclient.c: Replace deprecated GLib calls. Patch by
	Travis Veralrud.

	* mateconf/Makefile.am: Remove commented-out mentions of testclient.c

2008-12-30  Matthias Clasen  <mclasen@redhat.com>

	Bug 565297 – a --toggle option for mateconftool

	* mateconf/mateconftool.c: Add --toggle option

2008-12-08  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconfd.c: (logfile_save):
	Use fsync instead of fdatasync for portability
	(bug 563401).
	* backends/markup-tree.c (save_tree_with_locale):
	Also flush and sync here before closing (Patch
	from Richard Hult, bug 562976)

2008-12-02  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconfd.c: (logfile_save):
	sync saved state file to disk before closing
	(bug 562976)

2008-10-22  Christian Persch  <chpe@gnome.org>

	* mateconf/mateconftool-2.c: Add --search-key-regex; bug #557489.

2008-10-22  Christian Persch  <chpe@gnome.org>

	* defaults/mateconf-defaults.c: (do_copy),
	(mateconf_defaults_unset_mandatory): Fix some 'format not a string
	literal and no format arguments' warnings.

2008-10-22  Christian Persch  <chpe@gnome.org>

	* mateconf/mateconf-backend.c: (mateconf_backend_unref): Fix one 'format not a
	string literal and no format arguments' warning.

2008-09-25  Tor Lillqvist  <tml@novell.com>

	* mateconf/dllmain.c (setup): Drop the Win9x code path. There is no
	Win9x support any more lower in the stack anyway.

=========================== 2.24.0 ===========================

2008-09-22  Kjartan Maraas  <kmaraas@gnome.org>

	* NEWS: Updated
	* configure.in: Release 2.24.0.

2008-08-21  Saleem Abdulrasool  <compnerd@compnerd.org>

	reviewed by: kmaraas

	* configure.in:  Check for polkit-policy-file-validate if
	policykit is neede to allow configure to pass on systems
	without PolicyKit

=========================== 2.23.2 ==========================

2008-08-19  Kjartan Maraas  <kmaraas@gnome.org>

	* defaults/Makefile.am: Add distclean rule.
	* mateconf/mateconfd.c: (get_on_system_bus):
	* mateconf/mateconfd.h: Fix some warnings.

2008-08-19  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Check for polkit-policy-file-validate
	to fix make distcheck.

2008-07-11  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Add noteworthy new features

2008-07-11  Matthias Clasen  <mclasen@redhat.com>

	Bug 531169 – A mechanism for setting defaults

	The cache-clearing part of this patch is thanks
	to Behdad Esfahbod.

	* defaults/*: A DBus system bus service that can copy a
	subtree of MateConf values from the callers db to a system-wide
	db, using PolicyKit to control access.

	* configure.in: Add --enable-defaults-service to optionally
	build the defaults service.

	* mateconf/mateconf-database.[hc]: Add
	mateconf_database_clear_cache_for_sources.

	* mateconf/mateconf-sources.[hc]: Add mateconf_sources_clear_cache_for_sources.

	* mateconf/mateconfd.c: Listen for changes in the system-wide
	databases by the defaults service, and clear the cache.

	* po/POTFILES.in: Glue
	* Makefile.am: Glue

2008-07-04  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconfd.c: (main): Use g_chdir() instead of plain
	chdir()

2008-06-28  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/evoldap-backend.c:
	* backends/mateconf-merge-tree.c:
	* backends/markup-backend.c:
	* backends/markup-tree.c:
	* backends/markup-tree.h:
	* backends/xml-backend.c:
	* backends/xml-cache.c:
	* backends/xml-cache.h:
	* backends/xml-dir.c:
	* backends/xml-dir.h:
	* backends/xml-entry.c:
	* backends/xml-entry.h:
	* backends/xml-test.c:
	* mateconf/Makefile.am:
	* mateconf/mateconf-backend.c:
	* mateconf/mateconf-backend.h:
	* mateconf/mateconf-changeset.c:
	* mateconf/mateconf-changeset.h:
	* mateconf/mateconf-client.c:
	* mateconf/mateconf-client.h:
	* mateconf/mateconf-database.c:
	* mateconf/mateconf-engine.h:
	* mateconf/mateconf-error.c:
	* mateconf/mateconf-glib.c:
	* mateconf/mateconf-internals.c: (mateconf_get_daemon_dir),
	(mateconf_activate_server):
	* mateconf/mateconf-internals.h:
	* mateconf/mateconf-listeners.c:
	* mateconf/mateconf-locale.c:
	* mateconf/mateconf-sanity-check.c:
	* mateconf/mateconf-schema.c:
	* mateconf/mateconf-schema.h:
	* mateconf/mateconf-sources.c:
	* mateconf/mateconf-value.c:
	* mateconf/mateconf.h:
	* mateconf/mateconftool.c:
	* mateconf/testclient.c:
	* mateconf/testmateconfclient.c:
	Clean up includes and fix a couple compiler warnings.

2008-06-04  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Bump version after tagging.
	* examples/complex-mateconf-app.c:
	(configurable_widget_destroy_callback),
	(create_configurable_widget), (prefs_dialog_destroyed),
	(prefs_clicked), (create_main_window),
	(prefs_dialog_get_change_set), (prefs_dialog_update_sensitivity),
	(prefs_dialog_apply), (update_entry), (prefs_dialog_revert),
	(config_entry_destroy_callback), (config_entry_changed_callback),
	(create_config_entry), (prefs_dialog_destroy_callback),
	(create_prefs_dialog):
	* mateconf/testmateconfclient.c: (entry_notify_func),
	(entry_destroyed_callback), (entry_changed_callback),
	(entry_attached_to), (addsub_callback), (removesub_callback),
	(addmain_callback), (removemain_callback), (create_controls):
	Remove uses of deprecated gtk_signal* and gtk_object* functions.

2008-06-03  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Bump again.
	* mateconf/Makefile.am: Dist the right file.

2008-06-02  Kjartan Maraas  <kmaraas@gnome.org>

	* NEWS: Update this.
	* configure.in: Bump version to 2.23.0
	* mateconf-2.0.pc.in: Add dbus-1 to Requires.private.

2008-05-22  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: Plug a leak.

2008-05-21  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconftool.c (main): Fall back to local
	database access if not in active session. (bug 533494)

	* mateconf/mateconf-internals.c (get_ior):
	Don't bother trying to autolaunch bus if DISPLAY isn't
	set.

2008-05-14  Ray Strode  <rstrode@redhat.com>

	* configure.in: bump glib require to 2.14
	* backends/markup-backend.c (cleanup_timeout),
	(ms_new), (ms_destroy): remove some if 0'd code,
	and drop g_source_remove on non-existant timeout
	to prevent warning

2008-05-12  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconf-internals.c (get_ior):
	Don't auto launch session bus if we aren't going to
	auto start mateconfd.

2008-05-09  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconf-internals.c: (get_ior):
	s/errnoneous/erroneous/ (bug 532435)

2008-05-09  Ray Strode  <rstrode@redhat.com>

	Tie mateconf daemon to session bus and drop use daemon
	GetIOR() method instead of /tmp/something/ior to
	tell clients about ior (bugs 141138 and 507310)

	* configure.in: depend on dbus
	* mateconf/mateconfd.c (get_introspection_xml),
	(bus_message_handler), (get_on_d_bus), (main):
	Connect to message bus, take org.mate.MateConf name,
	and export GetIOR() method.  Quit, when session quits.
	* Makefile.am:
	* mateconf/org.mate.MateConf.server.in: new service file to
	support session bus activation
	* mateconf/mateconf-sanity-check.c (offer_delete_locks):
	Daemon doesn't have a lock anymore, so need to try to
	blow it away.
	* mateconf/gcon-internals.c (read_current_server_and_set_warning),
	(read_current_server), (mateconf_get_current_lock_holder),
	(mateconf_daemon_blow_away_locks), (set_cloexec),
	(close_fd_func): dropped functions dealing with files in /tmp
	(get_ior), (mateconf_get_server), (mateconf_get_lock_or_current_holder),
	(mateconf_activate_server: call GetIOR method instead of of reading
	 /tmp/mateconf-$USER/ior

2008-05-07  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_get_daemon_dir):
	* mateconf/mateconf-sanity-check.c: (check_file_locking):
	Patch from Frederic Crozat to allow override $TMPDIR.
	Closes bug #497113.

2008-05-07  Richard Hult  <richard@imendio.com>

	* mateconf/mateconf-database.c (mateconf_database_notify_listeners): Get
	rid of critical warning (and crash when built with
	--disable-debug), when unsetting a key that has no writable
	sources.

2008-05-07  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/markup-backend.c: (cleanup_timeout), (ms_new):
	* mateconf/mateconf-database.c: (mateconf_database_schedule_sync):
	* mateconf/mateconfd.c: (mateconf_main), (open_append_handle):
	Use new glib api to batch timeouts. Patch from Matthias
	Clasen. Closes bug #531063.

2008-05-07  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_log):
	* mateconf/mateconf-sources.c: (mateconf_sources_new_from_addresses):
	* mateconf/mateconfd.c: (main): Merge the desyslogification patch
	from Debian. Also used in Fedora now. Closes bug #126468.

2008-03-17  Sven Herzberg  <sven@imendio.com>

      * mateconf-2.m4.in: use AC_HELP_STRING for help strings (so they get
      proper line breaks and consistent indentation)

2008-03-19  Vincent Untz  <vuntz@gnome.org>

	Unblock signals when starting mateconfd, since we might inherit some
	blocked signals from the parent process.
	Fix bug #505488.
	Patch by Javier Uruen Val <juruen@warp.es>

	* mateconf/mateconfd.c: (main): unblock all signals

2008-03-10  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Post release version bump

=========================== mateconf 2.22.0 ===========================

2008-02-19  Josselin Mouette  <joss@malsain.org>

	reviewed by: Mark McLoughlin.

	* backends/evoldap-backend.c: (get_variable),
	(get_ldap_connection), (lookup_values_from_ldap): replace
        functions that have been deprecated in OpenLDAP 2.4 by
        up-to-date ones. Closes bug#516877.

2008-01-28  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Bump version to 2.21.90.

2008-01-28  Christian Persch  <chpe@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_value_from_corba_value),
	(mateconf_fill_corba_value_from_mateconf_value), (mateconf_value_decode):
	* mateconf/mateconf.c: (mateconf_engine_all_entries):
	* wrappers/guile/scm-mateconf.c: (mateconf_value_to_scm): Use G_STRFUNC
	instead of the deprecated G_GNUC_FUNCTION.

2008-01-22  Tor Lillqvist  <tml@novell.com>

	* mateconf-zip.in: Look for catalogs in share/locale first, as that
	is where they will be with a properly built GNU gettext.

	* mateconf/mateconf-internals.c: Map pipe() to _pipe() on Win32.

2008-01-21  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Bump to 2.21.3 after release.

================================= 2.21.2 ============================

2008-01-10  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/evoldap-backend.c: (parse_server_info),
	(destroy_source):
	* backends/markup-tree.c: (markup_entry_set_value):
	* backends/xml-dir.c: (create_fs_dir):
	* backends/xml-entry.c: (entry_destroy), (entry_set_schema_name),
	(entry_set_mod_user):
	* examples/simple-view.c: (main):
	* mateconf/mateconf-schema.c: (mateconf_schema_free), (mateconf_schema_copy):
	* mateconf/mateconf-sources.c: (mateconf_sources_query_value):
	* mateconf/mateconf-value.c: (set_string), (mateconf_value_free),
	(mateconf_entry_unref), (mateconf_entry_set_schema_name):
	* mateconf/mateconf.c: (mateconf_engine_get_string):
	g_free and friends handles NULL just fine.
	Closes bug #371087 reported by Morten Welinder.

2008-01-10  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Bump version
	* backends/xml-dir.c:
	* examples/basic-mateconf-app.schemas:
	* examples/simple-controller.c:
	* examples/simple-view.c:
	* mateconf/mateconf-changeset.c:
	* mateconf/mateconf.c:
	Mark some functions and variables static.
	Closes bug #142295.

2008-01-09  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf-2.0.pc.in: glib-2.0, not glib. Thanks
	To Alex Larsson.

============================= 2.21.1 ===========================0

2008-01-08  Kjartan Maraas  <kmaraas@gnome.org>

	* NEWS: Update more.
	* doc/mateconf/tmpl/mateconf-client.sgml: Docs adjustment.
	* mateconf-2.0.pc.in: Move matecorba-2.0 to Requires.private
	and add glib under Requires instead.

2008-01-08  Kjartan Maraas  <kmaraas@gnome.org>

	* NEWS: Update some.
	* mateconf/mateconf.c: (mateconf_valid_key):
	Fix some more strings. Closes bug #429679.

2008-01-08  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-database.c: (mateconf_database_sync):
	* mateconf/mateconf-internals.c:
	* mateconf/mateconf-listeners.c:
	* mateconf/mateconf-sources.c: (mateconf_sources_new_from_addresses):
	* mateconf/mateconf.c: (mateconf_engine_unref), (mateconf_shutdown_daemon):
	* mateconf/mateconfd.c: (mateconf_server_load_sources),
	(mateconfd_check_in_shutdown), (parse_listener_entry):
	* mateconf/mateconftool.c: (main), (do_spawn_daemon), (do_sync):
	More string reviews from Christian Rose and Adam Weinberger.
	Closes bug #318600.

2008-01-08  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-backend.c: (mateconf_backend_verify_vtable):
	* mateconf/mateconf-database.c: (mateconf_database_add_listener):
	* mateconf/mateconfd.c: (logfile_save), (restore_client):
	* mateconf/mateconftool.c: (hash_install_foreach):
	String review by Clytie Siddall. Closes bug #315212

	configure.in: Bump version to 2.21.1 because of the string changes
	above.

2007-12-02  Ray Strode  <halfline@gnome.org>

	Plug a few leaks found and fixed by Matthias Clasen
	(bug 475970)

	* mateconf/mateconf-database.c (mateconf_database_notify_listeners):
	Clean up list of dead listeners

	* backends/xml-cache.c (cache_sync): clean up temporary list
	of syncs when we're done with it.

	* backends/markup-tree.c (markup_dir_free): free markup dir's
	list of entries before freeing the markup dir

2007-11-22  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c (mateconf_key_key): Add check
	for NULL. Patch from Kimmo Hämäläinen. Bug #492342.

2007-11-08  Brian Cameron  <brian.cameron@sun.com>

	* mateconf/mateconfd.c: Remove calls to mateconf_log from signal_handler
	  function since it is not safe to print debug messages in
	  non-reentrant signal handler functions.  This fixes problems we
	  were seeing on Solaris where MateConf would hang on exit.  Reviewed
	  by Havoc Pennington and Ray Strode.  Refer to bug #466745.

2007-10-22  Owen Taylor  <otaylor@redhat.com>

	* mateconf/Makefile.am (install-data-local): If there is an existing
	path configuration file, don't overwrite it, to make it possible,
	for example, to have a jhbuild that properly deals with
	system-installed schemas. (#489193)

2007-10-23  Lucas Rocha  <lucasr@gnome.org>

	* mateconf/mateconf-sanity-check.c (main): fix regression that requires a
	defined default DISPLAY in order to run sanity check program when it
	shouldn't.

2007-10-15  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Post release bump.

============================ 2.20.1 ==========================

2007-10-02  Kjartan Maraas  <kmaraas@gnome.org>

	* examples/Makefile.am: Dist basic-mateconf-app.schemas too.

2007-10-02  Kjartan Maraas  <kmaraas@gnome.org>

	* doc/mateconf/tmpl/mateconf-client.sgml: Note that the dir passed
	to mateconf_client_add_dir() must not end with a slash. (Stefan Kost)
	Closes bug #301298.

============================= 2.20.0 ==========================

2007-09-19  Kjartan Maraas  <kmaraas@gnome.org>

	* Release 2.20.0

2007-07-18  Jaap Haitsma  <jaap@haitsma.org>

	Reviewed by: Ray Strode

	* backends/xml-dir.c: (dir_load_doc), (dir_make_new_entry),
	(dir_fill_cache_from_doc):
	* backends/xml-entry.c: (node_set_schema_value), (node_set_value),
	(find_schema_subnode_by_locale), (schema_subnode_extract_data),
	(schema_node_extract_value), (node_extract_value), (my_xmlSetProp),
	(my_xmlGetProp):
	* mateconf/mateconftool.c: (get_list_value_from_xml),
	(get_car_cdr_value), (get_pair_value_from_xml),
	(get_values_from_xml), (process_entry), (extract_global_info),
	(process_locale_info), (get_schema_from_xml), (process_list),
	(do_load_file): Remove a bunch of compiler warnings by performing casts.
	Fixes bug #452372

2007-07-05  Sven Herzberg  <herzi@mate-de.org>

	Reviewed by Christian Persch.

	* autogen.sh: require the same version of automake as configure.in
	does

2007-06-23  Christian Persch  <chpe@gnome.org>

	* configure.in: Re-add AM_MAINTAINER_MODE for now until there's
	concensus about removing it. Bug #450450.

2007-06-23  Christian Persch  <chpe@gnome.org>

	* configure.in: Post-release version bump.

======= 2.19.1 ============================================

2007-06-23  Christian Persch  <chpe@gnome.org>

        * configure.in:
	* NEWS: Updated for release.

	R acconfig.h:
	* autogen.sh:
	* configure.in: Updated for automake 1.9.

        * configure.in:
	* mateconf/Makefile.am: Don't define directories in configure.

	* po/LINGUAS: Updated.

2007-06-23  Christian Persch  <chpe@gnome.org>

	* mateconf/mateconftool.c: (main), (search_key_in_dir),
	(recurse_subdir_search), (do_search_key): Add --search-key argument.
	Bug #406329, patch by Richard Hult.

2007-06-21  Christian Persch  <chpe@gnome.org>

	* mateconf/mateconf-sanity-check.c: (main):
	* mateconf/mateconftool.c: (main): Init GThread. Bug #432923.

        * mateconf/mateconftool.c: (main): Make --help* output translated. Bug
	#432925.

2007-04-17  Christian Persch  <chpe@gnome.org>

	* mateconf/mateconf.c: (mateconf_key_check), (mateconf_valid_key): Fix strings
	used for errors about invalid keys. Bug #406251.

2007-03-31  Loïc Minier  <lool@dooz.org>

	* configure.in: Check for the lber lib and append it to LDAP_LIBS if
	present since the evoldap backend calls ber_free() directly; fixes
	build failure with -z defs in LDFLAGS; bug #409221.

2007-03-05  Ray Strode  <rstrode@redhat.com>

	* configure.in: Post release bump

============================= 2.18.0.1 ====================

2007-03-05  Ray Strode  <rstrode@redhat.com>

	* configure.in: drop release number to 2.18.0.1

	* NEWS: update for release

2007-03-05  Ray Strode  <rstrode@redhat.com>

	Patch from Loïc Minier to take care of fallout from
	bug 314343.

	* mateconf/backends/markup-tree.c (save_tree):
	Rename markup file to its final destination, even if
	there wasn't an original file to copy file attributes
	from (bug 414916).

2007-03-02  Ray Strode  <rstrode@redhat.com>

	* configure.in: Post release bump

============================= 2.18.0 ======================

2007-03-02  Ray Strode  <rstrode@redhat.com>

	* configure.in: bump release number

	* NEWS: update for release

	* README: remove mention of popt and
	add mention of evoldap and older libxml backend

2007-03-02  Christian Persch  <chpe@svn.gnome.org>

	* mateconf/mateconf.c: (utf8_make_valid), (mateconf_key_check),
	(mateconf_valid_key): Make sure error strings are UTF-8. Bug #406251.

2007-03-02  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/xml-dir.c: Don't include xml-entry.h twice.

2007-03-02  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconf-value.c (mateconf_meta_info_free):
	free schema and mod_user fields before freeing
	struct.  Based on patch by
	Richard Hult <richard@imendio.com>

2007-03-02  Ray Strode  <rstrode@redhat.com>

	* configure.in:
	* mateconf/mateconf.c:
	drop as much of the legacy popt stuff as we can,
	while remaining compatible (bug 396071). Based on
	patch from Chris Wilson <chris@chris-wilson.co.uk>

2007-03-02  Ray Strode  <rstrode@redhat.com>

	Patch from
	Laszlo (Laca) Peter <laszlo.peter@sun.com>

	* mateconf/mateconftool.c (do_makefile_install):
	don't bail on first error when multiple schemas are
	installed in one go (bug 385142).

2007-03-02  Ray Strode  <rstrode@redhat.com>

	Patch from
	Padraig O'Briain <padraig.obriain@sun.com>

	* configure.in:
	* mateconf/mateconf-internals.c (close_fd_func):
	use fdwalk() to only close open file descriptors
	if available (bug 357206)

2007-03-02  Ray Strode  <rstrode@redhat.com>

	Patch from
	Paolo Borelli <pborelli@katamail.com>

	* backends/markup-tree.c:
	* backends/xml-dir.c:
	* doc/mateconf/mateconf-sections.txt:
	* doc/mateconf/tmpl/mateconf-internals.sgml:
	* mateconf/mateconf-backend.c:
	* mateconf/mateconf-internals.[ch]:
	* mateconf/mateconfd.c:
	use g_file_test instead of home brew mateconf_file_test
	and mateconf_file_exists functions (bug 341828)

2007-03-02  Ray Strode  <rstrode@redhat.com>

	Patch from
	Paolo Borelli <pborelli@katamail.com>

	* mateconf/mateconf.c (mateconf_clear_cache):
	Drop dead code (coverity 2208, bug 341724)

2007-03-02  Ray Strode  <rstrode@redhat.com>

	Patch from
	Narayana Pattipati <narayana.pattipati@wipro.com>

	* backends/markup-tree.c (save_tree):
	transfer the file permissions and ownership after
	rename (bug 314343).

2007-03-02  Ray Strode  <rstrode@redhat.com>

	* mateconf/mateconf-value.c (mateconf_value_new_from_string):
	Check that type isn't a container type, since there
	would be no way to know what the type of its elements
	would be.  Based on patch from
	Kjartan Maraas <kmaraas@gnome.org> (bug 309016).

============================= 2.16.1 ======================

2007-01-30  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/evoldap-backend.c: (subst_variables): Fix a couple
	compiler warnings.

2007-01-25  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-client.c: (mateconf_client_get_float),
	(mateconf_client_get_int), (mateconf_client_get_string),
	(mateconf_client_get_bool), (mateconf_client_get_schema),
	(mateconf_client_get_list), (mateconf_client_get_pair):
	Fix up the error handling again. Noticed by Richard Hult.
	Closes bug #360224 for good.

2007-01-24  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Bump version so we differ from the last released
	tarball.

2007-01-04  Tom Tromey  <tromey@redhat.com>

	* mateconf/mateconf-internals.c (mateconf_activate_server): Close write end
	of pipe in parent process.  Bug #365416.

2006-11-23  Pascal Terjan  <pterjan@linuxfr.org>

	* backends/evoldap-backend.c: Fix small leak (#345297, coverity #2742)

2006-10-07  Matthias Clasen <mclasen@redhat.com>

	* mateconf/mateconf-client.c: Fix error handling in the
	getters.  (#102050, #360224)

============================= 2.16.0 ======================

2006-08-15  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Fix intltool req.

2006-08-08  Kjartan Maraas  <kmaraas@gnome.org>

	* doc/mateconftool-2.1: Add missing newline (Loïc Minier,
	Jan Kratochvil) Closes bug #304143.

2006-08-07  Alexander Larsson  <alexl@redhat.com>

	* configure.in:
	Don't link to libpopt. (#336307)
	Patch from William Jon McCann.

2006-06-14  Michael Meeks  <michael.meeks@novell.com>

	* mateconf/MateConfX.idl: declare that we raise the
	exception we raise - fixes debug issue in sabayon &
	kills syslog spew:
	mateconfd (sabayon-admin): Some clown returned
	undeclared exception 'IDL:ConfigException:1.0'
	cf. mateconfd_get_database.

2006-05-12  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* configure.in:
	* mateconf/Makefile.am:
	* mateconf/default.path.in: Generate the default.path file during the
	build instead of doing it from configure.ac so that we get the correct
	expanded value for sysmateconfdir.  According to Autoconf documentation
	this is the canonical way to access *dir variables.  Addresses
	problems introduced by #336019.

2006-05-07  Kjartan Maraas  <kmaraas@gnome.org>

	* Makefile.am: Add intltool files to EXTRA_DIST and
	DISTCLEANFILES.
	* autogen.sh: Run intltoolize.
	* configure.in: Fix the po/LINGUAS stuff.

2006-05-06  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/xml-dir.c: (dir_sync): Fix a potential use after free
	reported by the coverity checker - #1239. Closes bug #338196.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in:
	* mateconf/Makefile.am:
	* mateconf/mateconf-sanity-check.c: (main):
	* mateconf/mateconftool.c: (main):
	Migrate to GOption. Patch by Vincent Vuntz. Closes
	bug #336307.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Reinstate the previous patch.
	* po/LINGUAS: Same.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Revert the LINGUAS patch until we have branched.
	* po/LINGUAS: Remove temporarily.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (read_current_server): Fix a
	NULL pointer deref reported by Coverity. Patch from Pascal
	Terjan. Closes bug #338617.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Move to the new LINGUAS handling.
	* po/LINGUAS: Patch from Luis Menina. Closes bug #338036.

2006-05-05  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* configure.in: Fix staged installation if sysconfdir is overriden
	from the command line. Closes bug #336019.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* doc/mateconf/mateconf-sections.txt: Add MateConfSchema functions.
	* doc/mateconf/tmpl/mateconf-schema.sgml: Add docs for MateConfSchema.
	Patch from <kaiw at itee.uq.edu.au>. Closes bug #147758.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-changeset.h:
	* mateconf/mateconf-client.h:
	* mateconf/mateconf-database.h:
	* mateconf/mateconf-engine.h:
	* mateconf/mateconf-error.h:
	* mateconf/mateconf-listeners.h:
	* mateconf/mateconf-locale.h:
	* mateconf/mateconf-schema.h:
	* mateconf/mateconf-value.h:
	* mateconf/mateconf.h:
	* mateconf/mateconfd.h: Use G_BEGIN/END_DECLS instead
	of a lot of #ifdef __cplusplus stuff. Closes bug 306313.
	Patch from Fabrício Barros Cebral.

2006-05-05  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/markup-tree.c: (parse_value_element):
	Use the right variable in test. Closes coverity #1238
	and MATE bug #338195.

2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Remove obsolete entry for no_NO.
	* po/no.po: And the translation.

2006-03-18  Guilherme de S. Pastore  <gpastore@gnome.org>

	* NEWS: updated.

	* configure.in: version 2.14.0.

2006-03-10  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/markup-tree.c: (parse_tree): Patch from
	Matthias Clasen to fix my leak fix to not crash.
	Closes bug #334047.

2006-03-06  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/markup-tree.c: (parse_tree): Free the parse context in
	some more cases. Fixes bug #332528.

2006-03-06  Mark McLoughlin  <mark@skynet.ie>

	Based on patch from Josselin Mouette <joss@debian.org>
	in bug #333353 to speed up the install of multiple
	schem files

	* mateconf/mateconftool.c:
	(do_load_file): split do_sync() out of here
	(main), (do_makefile_install): call do_sync()
	after calling do_load_file()

2006-03-06  Mark McLoughlin  <mark@skynet.ie>

	Patch from Christopher.Hanna@sun.com

	* doc/mateconftool-2.1: improved man page

2006-02-17  Benoît Dejean  <benoit@placenet.org>

	* configure.in:
	* mateconf/mateconf-value.c: (mateconf_value_new), (mateconf_value_free),
	(mateconf_entry_new_nocopy), (mateconf_entry_unref): Use new g_slice API.

2006-01-28  Benoît Dejean  <benoit@placenet.org>

	* mateconf/mateconf-schema.c:
	* mateconf/mateconf-value.c: Got rid of padding members in private structs.

2006-01-27  Tor Lillqvist  <tml@novell.com>

	* mateconf-zip.in: Include backend DLLs only in the runtime zipfile.

	* mateconf/mateconfd.c (main): Don't call closelog() unless we HAVE_SYSLOG_H.

2006-01-15  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.13.6.

==================== 2.13.5 ====================

2006-01-15  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.13.5.

2006-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* backends/Makefile.am:
	  don't use top_builddir to link in library from current directory;
	  fixes parallel make

2006-01-05  Vincent Untz  <vuntz@gnome.org>

	* mateconf/mateconf-client.c: (clear_dir_cache_foreach): new, clears a cache
	entry if it matches the directory
	(mateconf_client_real_remove_dir): remove from cache all entries that are
	in this directory
	Fix bug #127285.

2006-01-05  Tor Lillqvist  <tml@novell.com>

	* mateconf-zip.in: Include the backend DLLs in the runtime zipfile.

2006-01-03  Mark McLoughlin  <mark@skynet.ie>

	Switch on "subtree merging" by default in the defaults
	database.

	* mateconf/mateconftool.c: (do_get_default_source): add the
	"merged" flag to the default target for
	--makefile-install-rule

	* backends/markup-backend.c:
	(resolve_address), (ms_new): add a new "merged" flag
	signalling that the entire tree should be saved as
	a subtree.

	* backends/markup-tree.[ch]:
	(markup_tree_get): add "merged" param and set flag
	on MarkupTree struct
	(recursively_load_subtree): copy function from
	mateconf-merge-tree.c
	(markup_dir_sync): when saving the tree, save it as a
	merged subtree if the "merged" flag is set

	* backends/mateconf-merge-tree.c: (recursively_load_subtree):
	remove; it's in markup-tree.c now

	* configure.in: remove --enable-mateconf-source option which
	was only used when we installed standard-schemas

	* standard-schemas: remove old cruft

2006-01-03  Mark McLoughlin  <mark@skynet.ie>

	Pointed out by Nicolas Peninguy <npeniguy@gmail.com>
	in bug #323509

	* mateconf/mateconf-internals.c: (mateconf_value_decode): fix crasher
	with previous fix for decoding schemas

2005-12-30  Abel Cheung  <maddog@linuxhall.org>

	* configure.in: Added "is" "zh_HK" to ALL_LINGUAS.

2005-12-11  Mark McLoughlin  <mark@skynet.ie>

	* backends/markup-tree.c:
	(markup_entry_get_value): re-work the logic for finding
	the best schema for the given locales.

2005-12-11  Mark McLoughlin  <mark@skynet.ie>

	* backends/markup-tree.c:
	- Introduce the concept of a "subtree root" - a point
	  in the tree where we save a subtree in a merged file.
	- When loading a subtree (%mateconf-tree.xml), take note of
	  any available translations (%mateconf-tree-$(locale).xml)
	- When getting/setting/unsetting a schema, ensure that
	  the appropriate translations are loaded
	- When parsing a translations file, allow for missing
	  attributes and elements and read the translations of
	  descriptions
	- When syncing a subtree, write out all translations
	  of descriptions which are currently cached in memory
	  to separate files.

	* backends/mateconf-merge-tree.c: (merge_tree): update for
	markup_dir_build_file_path() change

2005-12-09  Jorn Baayen  <jorn@openedhand.com>

	* mateconf/mateconf-internals.h:
	* mateconf/mateconf-value.h:
	Publicize mateconf_value_compare() and mateconf_entry_equal().
	Closes bug #322832.

2005-12-09  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-branch bump to 2.13.1

2005-12-08  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_value_decode): Make
	this function work for schemas too. Patch from Nicolas Peninguy
	<npeniguy@gmail.com>. Closes bug #323509.

2005-12-08  Dan Williams  <dcbw@redhat.com>

	* mateconf/mateconf.c: (mateconf_unescape_string): Don't stomp on
	  the function-level scoped 'end' from deep in the function.
	  Fixes a segfault.

2005-11-11  Dinoop Thomas  <dinoop.thomas@wipro.com>

	* mateconf/mateconf.c: (mateconf_debug_shutdown): Corrected documentation.
	* doc/mateconf/mateconf-sections.txt: Included the functions for which doc was
	  newly added.
	* doc/mateconf/tmpl/mateconf-changeset.sgml,
	  doc/mateconf/tmpl/mateconf-client.sgml,
	  doc/mateconf/tmpl/mateconf-engine.sgml,
	  doc/mateconf/tmpl/mateconf-error.sgml,
	  doc/mateconf/tmpl/mateconf-internals.sgml,
	  doc/mateconf/tmpl/mateconf-listeners.sgml,
	  doc/mateconf/tmpl/mateconf-value.sgml,
	  doc/mateconf/tmpl/mateconf.sgml: Included documentation for all the missing
	  functions exported by mateconf library.

2005-11-08  Mark McLoughlin  <mark@skynet.ie>

	Patch from Jens Granseuer <jensgr@gmx.net> in bug #320852

	* mateconf/mateconf-listeners.c: (ltable_insert): remove C99
	usage.

2005-11-03  Alexander Larsson  <alexl@redhat.com>

	* configure.in:
	Post release version bump

==================== 2.12.1 ====================

2005-11-03  Alexander Larsson  <alexl@redhat.com>

	* NEWS:
	Update for release

2005-11-01  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-backend.c: (mateconf_get_backend): Use
	G_MODULE_BIND_LAZY in g_module_open().
	* mateconf/mateconf-internals.c: (mateconf_value_from_corba_value),
	(mateconf_value_type_to_string), (mateconf_unquote_string_inplace),
	(type_byte), (byte_type), (mateconf_value_encode),
	(mateconf_get_lock_or_current_holder): Remove unused and
	unreachable code.
	* mateconf/mateconf-listeners.c: (ltable_insert): Warning fix.
	* mateconf/mateconf-value.c: (mateconf_value_compare): Same here.
	* mateconf/mateconf.c: (mateconf_unescape_key),
	(corba_errno_to_mateconf_errno), (mateconf_server_broken),
	(mateconf_handle_corba_exception): And here.
	* mateconf/mateconfd.c: (main): Missing closelog() call.

2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>

	* configure.in: Added ku (Kurdish) to ALL_LINGUAS

2005-10-27  Alexander Larsson  <alexl@redhat.com>

	* mateconf/mateconf-sources.c (mateconf_sources_is_affected):
	Correctly handle the case where the modified source
	is not in the sources list.

2005-10-18  Tor Lillqvist  <tml@novell.com>

	* mateconf/mateconf-backend.c (invalid_chars[]): Do allow space in
	configuration source addresses on Windows, as space is common in
	user names, and thus home directories (i.e., profile folders).

2005-10-09  Mark McLoughlin  <mark@skynet.ie>

	Based on patch from Lorenzo Colitti <lorenzo@colitti.com>
	in bug #316673

	* backends/markup-tree.c: (parse_tree): read and process
	the xml file incrementally in 4k chunks.

2005-09-13  Stepan Kasal  <kasal@ucw.cz>

	* mateconf-2.m4.in (AM_MATECONF_SOURCE_2): Simplify the handling of
	--enable-schemas-install.
	* Makefile.am (EXTRA_DIST): Remove sources for files gnerated at
	config time; they are distributed automatically.
	(DISTCLEANFILES): Deleted; we don't use intltool here.
	* .cvsignore: Add mkinstalldirs.

2005-09-10  Tor Lillqvist  <tml@novell.com>

	* mateconf/mateconf-backend.c (mateconf_address_resource): On Win32, do
	_mateconf_win32_replace_prefix() on the return value so that we
	change configure-time prefix pathnames in the path file into
	corresponding end-user installation prefix pathnames.

	* mateconf/mateconf-sanity-check.c: Use gstdio wrappers here, too.

	* backends/markup-backend.c (get_dir_from_address): Use
	G_IS_DIR_SEPARATOR().

2005-09-06  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.12.1.

==================== 2.12.0 ====================

2005-09-06  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.12.0.

2005-08-29  Tor Lillqvist  <tml@novell.com>

	* mateconf-zip.in: Use correct capitalization of MateConf in the zipfile
	names.

2005-08-22  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.11.93.

==================== 2.11.92 ====================

2005-08-22  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.11.92.

2005-08-10  Adam Weinberger  <adamw@gnome.org>

	* backends/evoldap-backend.c: Minor spelling fix
	  and capitalization tweak (fixes bug #301133)

2005-07-25  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.11.91.

==================== 2.11.90 ====================

2005-07-25  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.11.90.

2005-07-14  Aivars Kalvans <aivars.kalvans@inbox.lv>

	Reduce number g_string_append_c() calls (bug#309760)

	* configure.in: flockfile is not used anymore
	* mateconf/mateconf.c (mateconf_escape_key): join two
	g_string_append_c() and g_string_append_printf() call
	* mateconf/mateconfd.c (read_line): use fgets() instead of getc_unlocked()
	to read a line

2005-07-13  Gustavo J. A. M. Carneiro  <gjc@inescporto.pt>

	* mateconf/mateconf-client.c (mateconf_client_notify):
	s/g_entry_unref/mateconf_entry_unref (a typo).

2005-07-13  Aivars Kalvans <aivars.kalvans@inbox.lv>

	* mateconf/mateconf-client.c (mateconf_client_notify): unref MateConfEntry
	after notifying client. Fixes bug #158756

2005-06-21  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: require glib 2.7.0

2005-06-21  Mark McLoughlin  <mark@skynet.ie>

	Patch from Marcus Meissner <meissner@suse.de> in
	bug #308448

	* mateconf/mateconf-changeset.h,
	  mateconf/mateconf-client.h: use G_GNUC_NULL_TERMINATED for
	mateconf_(client|engine)_change_set_from_current()

2005-06-18  Aivars Kalvans <aivars.kalvans@inbox.lv>

	* mateconf/mateconf-sources.c (mateconf_source_free): free ->address
	Fixes bug #307887

2005-06-17  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* configure.in: Added 'th' (Thai) to ALL_LINGUAS.

2005-06-13  Mark McLoughlin  <mark@skynet.ie>

	Fixes bug #306937 - mateconfd-2 not shutting down when its
	no longer in use.

	* mateconf/mateconfd.c: (no_databases_in_use): account for the
	fact that the default database is on the global list of
	databases now too.

2005-06-08  Tor Lillqvist  <tml@novell.com>

	* configure.in: Require GLib 2.6.0 so we can use the "gstdio
	wrappers".

	* backends/*.c
	* mateconf/*.c: Use gstdio wrappers and gdir for better support of
	non-ASCII pathnames on Windows. Use g_strerror() consistently in
	error messages, as g_printerr() etc want UTF-8.

	* mateconf/Makefile.am: Append EXEEXT to mateconfd's name.

	* mateconf/mateconf-internals.h: Use functions instead of variables to
	access the run-time pathnames on Win32. This enables us to have a
	cleaner DllMain(). Add underscore prefix to the internal
	Win32-only functions.

	* mateconf/dllmain.c (DllMain): Use minimalistic DllMain() that only
	stores the handle to the DLL.
	(setup): Do the real work here instead.
	(_mateconf_win32_get_locale_dir, etc): Functions to return the
	run-time pathnames.

	* mateconf/mateconf-internals.c (_mateconf_win32_get_home_dir):
	As g_get_home_dir() has now been fixed to never return NULL on
	Windows, we don't have to bother checking that here.

2005-05-17  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.11.2.

==================== 2.11.1 ====================

2005-05-17  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.11.1.

2005-05-17  Mark McLoughlin  <mark@skynet.ie>

	* backends/README.evoldap: update.

2005-05-17  Mark McLoughlin  <mark@skynet.ie>

	Re-work a bit so it now supports putting the addressbook,
	calendar and task sources in LDAP.

	* backends/evoldap-backend.c:
	(get_evolution_uid), (get_variable): renamed the $(ACCOUNT_UID)
	variable to $(EVOLUTION_UID)
	(parse_conf_file): upd to lookup the new templates.
	(subst_variables_into_template): allow substituing into
	any template.
	(build_value_from_entries): split out; constructs a list value
	by munging the LDAP entries with a template.
	(lookup_values_from_ldap): lookup the addressbook, calendar
	and tasks sources too.
	(query_value), (all_entries), (all_subdirs),
	(dir_exists): upd. to handle addressbook, calendar and tasks.
	(destroy_source): free new stuff.

	* backends/evoldap.conf: change the format slightly to add
	templates for addressbook, calendar and tasks.

	* backends/evoldap.schema: add new schema.

2005-05-09  Mark McLoughlin  <mark@skynet.ie>

	Update to use MATE OIDs as assigned by
	Jochen Friedrich <jochen@scram.de>

	* backends/evoldap.schema: use MATE OIDs.

2005-05-06  Mark McLoughlin  <mark@skynet.ie>

	Small fix for previous commit.

	* mateconf/mateconfd.c: (mateconfd_notify_other_listeners):
	Don't try and free a NULL MateConfValue.

2005-05-06  Mark McLoughlin  <mark@skynet.ie>

	Fix for crasher based on patch from Josselin Mouette <joss@debian.org>
	in bug #158917

	* mateconf/mateconfd.c: (mateconfd_notify_other_listeners): if the
	value is unset, create an InvalidVal ConfigValue.

2005-04-27  Mark McLoughlin  <mark@skynet.ie>

	* backends/Makefile.am: link the evoldap backend with libxml.

2005-04-25  Mark McLoughlin  <mark@skynet.ie>

	Pointed out by Gustavo Carneiro <gjc@inescporto.pt> in
	bug #300804

	* mateconf/mateconf-enum-types.[ch]: run "make regenerate-built-sources"
	so that we get MATECONF_TYPE_UNSET_FLAGS.

	* mateconf/mateconf-error.h,
	  mateconf/mateconf-value.h: remove unneccessary glib-mkenums options
	from C comment.

	* mateconf/regenerate-enum-footer.sh,
	  mateconf/regenerate-enum-header.sh: tweak the arguments to glib-mkenums
	so that we get the same output that we were getting before and the
	command line is a wee bit more readable.

2005-04-18  Mark McLoughlin  <mark@skynet.ie>

	* backends/evoldap-backend.c, backends/evoldap.conf,
	  backends/evoldap.schema, backends/README.evoldap:
	Add Evolution mail account LDAP backend.

	* configure.in, backends/Makefile.am: build the backend
	if we can find the openldap library and header.

2005-05-07  Gareth Owen  <gowen72@yahoo.com>

	* po/en_GB.po: Updated British English translation.

2005-04-04  Mark McLoughlin  <mark@skynet.ie>

	Patch from Stepan Kasal  <kasal@ucw.cz>

	* mateconf-2.m4.in (AM_MATECONF_SOURCE_2): Use "--enable-schemas-install",
	not "--disable-schemas-install", in the error message; one has to
	give "--enable-schemas-install=foo" to get here, the form
	"--disable-schemas-install=*" is refused immediately by the init
	code of the configure script.

2005-03-30  Steve Murphy  <murf@e-tools.com>

        * configure.in: Added "rw" to ALL_LINGUAS.

2005-03-27  Tor Lillqvist  <tml@novell.com>

	* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
	after all, and in fact necessary with HEAD libtool.

2005-03-23  Tor Lillqvist  <tml@novell.com>

	* mateconf/mateconfd.c (test_safe_tmp_dir): Nah, stat() isn't useful for
	permission checking on Win32. Bypass for now on Win32.

2005-03-18  Tor Lillqvist  <tml@novell.com>

	Port to Windows:

	* mateconf-zip.in: New file, script to build zipfile-based
	distribution for Windows.

	* Makefile.am
	* configure.in: Distribute and expand it.

	* configure.in: Check for Win32, Define automake conditional
	OS_WIN32. Force shared library (DLL) build on Windows. Check for
	some more headers and functions.

	* */*.c: Conditionalize on HAVE_SYSLOG_H, HAVE_SYS_WAIT_H,
	HAVE_GETUID, HAVE_FSYNC, HAVE_FCHMOD, HAVE_SIGACTION, F_GETFD,
	FD_CLOEXEC, F_SETLK, SIGBUS, SIGPIPE, SIGHUP, SIGUSR1, and ELOOP.

	* backends/Makefile.am: Explicitly link with INTLLIBS.

	* backends/markup-tree.c (save_tree): Can't rename or remove open
	files on Win32.

	* backends/xml-backend.c: Don't use G_MODULE_EXPORT on Win32. If
	we use it, only the functions thus marked will be exported, and
	xml-test uses also other ones. Instead rely on the auto-export
	feature.

	* mateconf/Makefile.am: Pass -DPREFIX=$(prefix). Include dllmain.c
	on Win32.

	* mateconf/dllmain.c: New file. Used for installation location
	independence.
	(DllMain) DLL entry point. Automatically called when the DLL is
	attached to a process. Deduce the run-time installation location
	and construct run-time pathnames.
	(mateconf_win32_replace_prefix): New funcion. Replaces a
	configure-time prefix in a pathname with the corresponding
	end-user run-time installation prefix.

	* mateconf/mateconf-internals.c (mateconf_win32_get_home_dir): New
	function, returns the home directory with forward
	slashes. Guaranteed to return non-NULL, unlike GLib's
	g_get_home_dir().
	(get_variable, mateconf_get_daemon_dir): Use mateconf_win32_get_home_dir().
	(mateconf_load_source_path): Use mateconf_win32_replace_prefix().
	(create_new_locked_file, open_empty_locked_file,
	mateconf_release_lock): Use _sopen() to open file with locking on
	Win32.
	(close_fd_func): Not used on Win32, where there is no FD_CLOEXEC,
	and a gspawn child setup function is run in the parent process
	anyway.

	* mateconf/mateconf-internals.h: mkdir() takes only one parameter on
	Win32. S_IRWX{U,G,O} aren't in mingw's sys/stat.h. Use run-time
	installation prefix instead of configure-time. Redefine the
	MATECONF_*DIR macros to refer to the variables from the dllmain.c
	file. Use NUL: on Windows instead of /dev/null.

	* mateconf/mateconf-sanity-check.c
	* mateconf/mateconftool.c: Use POPT_AUTOHELP.

	* mateconf/mateconf.c: Use g_get_current_time() instead of gettimeofday().

	* mateconf/mateconfd.c (mateconf_server_load, get_log_names): Use
	mateconf_win32_get_home_dir().
	(signal_handler): If we don't HAVE_SIGACTION, use signal(), and
	re-arm the signal handler.
	(test_safe_tmp_dir): Can't open() a directory on Win32.
	(get_log_names): Use g_build_filename() instead of
	mateconf_concat_dir_and_key() on all platforms.

2005-03-14  Mark McLoughlin  <mark@skynet.ie>

	* acinclude.m4: remove - we don't use anything from
	it anymore. Fixes bug #153049

2005-03-14  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: bump version to 2.11.1 after branching.

2005-03-07  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.10.1.

==================== 2.10.0 ====================

2005-03-07  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.10.0.

2005-02-16  Adi Attar  <aattar@cvs.gnome.org>

	* configure.in: Added "xh" to ALL_LINGUAS.

2005-02-07  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.9.92.

==================== 2.9.92 ====================

2005-02-07  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.9.91.

2005-02-06  Mark McLoughlin  <mark@skynet.ie>

	Fix bug #154005 - "preload breaks saved state", caused
	by a bug in the way the listeners tree was constructed.

	* mateconf/mateconf-listeners.c:
	(ltable_entry_new): take a list of path elements
	and index to the entry and construct the full
	path for that entry.
	(ltable_insert): update for above so that we
	don't pass use the wrong path for full_name.

2005-01-18  Mark McLoughlin  <mark@skynet.ie>

	Fixes problem where a path file which only includes
	another path file wouldn't work.

	* mateconf/mateconf-internals.c: (mateconf_load_source_path):
	assign the return value of g_slist_concat() to something.

2005-01-17  Mark McLoughlin  <mark@skynet.ie>

	Fix double free with mateconf_client_clear_cache()

	* mateconf/mateconf-client.c: (clear_cache_foreach): don't
	free the key explicitly - the key is owned by the
	MateConfEntry.

2005-01-12  Vincent Untz  <vincent@vuntz.net>

	* mateconf-value.c: (mateconf_value_validate): add sanity check

2004-11-30  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.9.3.

==================== 2.9.2 ====================

2004-11-30  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.9.2.

Tue Nov 16 12:24:26 2004  Jonathan Blandford  <jrb@redhat.com>

	* doc/mateconf/mateconf-docs.sgml: add a title/name instead of [Insert
	name here]

2004-11-02  Fernando Herrera  <fherrera@onirica.com>

	* backends/markup-tree.c: (markup_entry_get_value): Read the schema
	file until a matching locale is found and the C one. This solves
	bug #152175 when current locale is before the C.

2004-11-02  Fernando Herrera  <fherrera@onirica.com>

	* mateconf/mateconf-sources.c: (mateconf_sources_all_entries): Get schema_name
	also if we got a value from a previous source. Fix #131011

2004-10-12  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.8.2.

==================== 2.8.1 ====================

2004-10-12  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.8.1.

2004-10-04  Mark McLoughlin  <mark@skynet.ie>

	MateConf part of fix for mateconf-editor spewing warnings
	on startup. See bug #144833.

	* backends/markup-backend.c: (resolve_address): if the
	toplevel directory isn't writable, mark the whole source
	as non-writable.

2004-09-30  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_activate_server):
	Fix pipe misuse reported by valgrind. Suggested fix
	by Mark McLoughlin. Closes bug #153929.

2004-09-28  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-sanity-check.c: (main): Plug a leak.
	* mateconf/mateconfd.c: (main): Plug a couple of leaks.
	Ref bug #153929. Still one to go.

2004-09-28  Mark McLoughlin  <mark@skynet.ie>

	Leak identified by Kjartan in bug #153891.

	* mateconf/mateconfd.c: (mateconf_server_load_sources):
	Plug leak.

	* mateconf/mateconf-internals.c:
	(mateconf_load_source_path): remove some crufty code,
	don't unneccessarily copy strings.

2004-09-14  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.8.1.

==================== 2.8.0.1 ====================

2004-09-13  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.8.0.1.

2004-09-14  Mark McLoughlin  <mark@skynet.ie>

	* autogen.sh: use automake 1.7 and run gtkdocize.

	* configure.in: check for glib-genmarshal and use
	GTK_DOC_CHECK.

	* Makefile.am: add --enable-gtk-doc to
	DISTCHECK_CONFIGURE_FLAGS.

	* mateconf/Makefile.am: re-do how the marshallers
	are generated.

	* doc/mateconf/Makefile.am: use gtk-doc.make.

	* doc/mateconf/mateconf.sgml: tweak to validate.

	* backends/Makefile.am: make xml-test link
	against the backend rather than rebuilding
	the sources.

	* mateconf-2.m4.in: rename from mateconf.m4.in.

2004-09-13  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.8.1.

==================== 2.8.0 ====================

2004-09-13  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.8.0.

2004-08-30  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.93.

==================== 2.7.92 ====================

2004-08-30  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.92.

2004-08-30  Mark McLoughlin  <mark@skynet.ie>

	Fix problem with schemas install. Bug #151334.

	* mateconf/mateconftool.c: (process_locale_info): install the
	global default in the C locale only.

2004-08-30  Mark McLoughlin  <mark@skynet.ie>

	Lots of debugging info from Mickey Stein <yekkim@pacbell.net>
	narrowed this one down in bug #150779.

	* mateconf/mateconfd.c: (drop_old_databases): don't drop the default
	database here, we do that later. Hangover from the fact that
	the default database didn't use to be on db_list.

2004-08-30  Mark McLoughlin  <mark@skynet.ie>

	Patch from Josselin Mouette <joss@debian.org> in bug #148028

	* mateconf/mateconfd.c: (periodic_cleanup_timeout): save and reload
	~/.mateconfd/saved_state so we don't drop listeners when reloading
	the database.

2004-08-27  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c: (process_locale_info): don't explicitly
	install the global default in a schema for every locale since
	we happily fall back to the C locale anyway. Fixes bug #131488.

2004-08-25  Mark McLoughlin  <mark@skynet.ie>

	* backends/markup-tree.c: (markup_entry_get_value): don't
	abort if we find no local schema to match any locales - there
	may not be a "C" local schema at all. See bug #147522 for a
	test case from Caio Begotti <caio1982@gmail.com >

2004-08-19  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.92.

==================== 2.7.91.1 ====================

2004-08-19  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.91.1.

2004-08-19  Mark McLoughlin  <mark@skynet.ie>

	Revert the patch to make use of the merge-subtree feature at
	specific points in the tree. Not clear that it solves the
	problems we thought it solved. Patch archived in bug #138498

	* backends/markup-tree.[ch]:
	(markup_tree_get): remove try_merge flag.
	(markup_dir_sync): don't try and save as a merged subtree.

	* backends/markup-backend.c: (resolve_address), (ms_new):
	Remove the "nomerge" backend flag.

	* backends/mateconf-merge-tree.c:
	(recursively_load_subtree): add back.
	(merge_tree): upd. for markup_tree_get() change.

2004-08-16  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "bs" to ALL_LINGUAS.

2004-08-16  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.92.

==================== 2.7.91 ====================

2004-08-16  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.91.

2004-08-11  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/xml-cache.c: (cache_clean): Use NULL in place of 0.
	* configure.in: Added nb to ALL_LINGUAS.
	* mateconf/mateconf-internals.c: (mateconf_invalid_corba_value): ANSI
	parameter list warning.
	* mateconf/mateconf-sanity-check.c: (ensure_gtk): NULL vs. 0
	* mateconf/mateconfd.c: (main): Same. Closes bug #149843.

2004-08-10  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c: (main): set the umask for
	--makefile-install-mode	so we always install the
	schemas with the correct permissions. bug #145041.

2004-08-07  Danilo Šegan  <dsegan@gmx.net>

	Fixes bug #149518.

	* mateconf/mateconftool.c (options): s/dir/directory/ s/standard out/standard output/.
	* mateconf/mateconfd.c (main): s/fd/file descriptor/.
	* mateconf/mateconf-sources.c (mateconf_sources_new_from_addresses): s/config/configuration/.
	* backends/markup-tree.c (parse_value_element): s/car_type/first-element/.

2004-08-03  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.91.

==================== 2.7.90 ====================

2004-08-03  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.90.

2004-08-03  Mark McLoughlin  <mark@skynet.ie>

	Patch from Carlos Daniel Ruvalcaba Valenzuela <clsdaniel@yahoo.com.mx>
	in bug #148973.

	* mateconf/mateconf-internals.[ch]: (mateconf_escape_percents): remove unused
	(and internal) function.

2004-07-09  Mark McLoughlin  <mark@skynet.ie>

	Patch from Kai Willadsen <kaiw@itee.uq.edu.au> in
	bug #120349.

	* doc/mateconf/mateconf.sgml,
	  doc/mateconf/tmpl/mateconf-client.sgml,
	  doc/mateconf/tmpl/mateconf.sgml,
	  doc/intro-article.sgml,
	  mateconf/mateconf-client.h,
	  mateconf/mateconf-listeners.h: bring the docs up to
	date with the patch that we're using GObject instead
	of GtkObject.

2004-07-07  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.4.

==================== 2.7.3.1 ====================

2004-07-07  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.3.1.

2004-07-07  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c: (process_key_list): one character
	fix to make the schema actually be applied.

2004-07-07  Fernando Herrera  <fherrera@onirica.com>

	* mateconf/default.path.in: Removed outdated comment.

2004-07-07  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c: (do_makefile_uninstall): merge with
	do_makefile_install() by adding a "unload" flag.

2004-07-05  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.4.

==================== 2.7.3 ====================

2004-07-05  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.3.

2004-07-05  Mark McLoughlin  <mark@skynet.ie>

	Patch from Josselin Mouette <joss@debian.org> to handle
	SIGHUP by reloading all databases. Intended to be used
	in package's postinst scripts to get all running mateconfds
	to reload schemas.

	* mateconf/mateconfd.c:
	(signal_handler): handle SIGHUP by setting flag.
	(periodic_cleanup_timeout): reload all databases when
	the reload flag is set.

2004-07-04  Mark McLoughlin  <mark@skynet.ie>

	Patch from Julio M. Merino Vidal <jmmv@menta.net> in bug #134517
	to add a --sysconfsubdir configure argument which allows the
	sub-directory MateConf uses under $sysconfdir to be change.

	* configure.in: add --sysconfsubdir argument and subst $sysmateconfdir
	which contains the full sysconf path MateConf uses.

	* Makefile.am,
	  examples/Makefile.am,
	  mateconf/Makefile.am,
	  mateconf/default.path.in,
	  mateconf/mateconftool.c,
	  standard-schemas/Makefile.am,
	  wrappers/cxx/Makefile.am: use $sysmateconfdir.

2004-07-02  Mark McLoughlin  <mark@skynet.ie>

	Fixup some bugs with the merge files support which was
	causing unset entries not to be completely wiped out.

	* backends/markup-tree.c:
	(clean_old_local_schemas): rename.
	(clean_old_local_schemas_recurse): if we're saving as a subtree,
	recurse down the tree.
	(delete_useless_subdirs): ignore the some_subdir_needs_sync and
	entries_need_save flags on the subdir - they're irrelevant if
	there's no entries or subdirs. Also, check whether the subdir
	is in a subtree file rather than current dir.
	(delete_useless_subdirs_recurse): correctly recurse over subdirs.
	(delete_useless_entries_recurse): implement recursively deleting
	entries too.
	(recursively_load_subtree): set the not_in_filesytem flag if we're
	going to be saving as a subtree.
	(markup_dir_sync): recusively clean schemas and delete entries
	if we're saving as a subtree.

2004-07-02  Mark McLoughlin  <mark@skynet.ie>

	Based on a patch to add --unload option from
	Julio M. Merino Vidal <jmmv@menta.net> in bug #130129.

	* mateconf/mateconftool.c:
	(main): add --unload option.
	(do_load_file): add an 'unload' flag.
	(set_values), (process_entry),
	(process_key_list), (hash_install_foreach), (process_schema),
	(process_list): pass the flag about and unset/unassociate
	things as appropriate.
	(do_makefile_uninstall): pass the unload flag to do_load_file().

2004-07-02  Mark McLoughlin  <mark@skynet.ie>

	Fix for bug #145141.

	* backends/markup-tree.c: (load_subdirs): recognise
	subdirs which don't contain a %mateconf.xml file but do
	contain a %mateconf-tree.xml file.

2004-07-01  Pawan Chitrakar  <pawan@nplinux.org>

	* configure.in: Added "ne" Nepali in ALL_LINGUAS

2004-06-27  Ross Burton  <ross@burtonini.com>

	* doc/Makefile.am: Distribute the incredibly useful FAQ and DTD.

2004-06-22  Mark McLoughlin  <mark@skynet.ie>

	* backends/markup-tree.c: fix tiny typo which was causing
	/schemas/apps to be saved as one gigantic file.

2004-06-21  Mark McLoughlin  <mark@skynet.ie>

	Fix for bug #138498 - turn on "subtree-in-a-file" for the
	subdirectories of the following directories:

	    /apps/evolution",
	    /apps/panel/profiles",
	    /apps
	    /desktop/mate
	    /system
	    /schemas/apps
	    /schemas/desktop/mate
	    /schemas/system
	    /schemas
	    /

	You can turn this of by passing the "nomerge" flag to the
	backend - e.g. xml:readwrite,nomerge:$(HOME)/.mateconf

	* backends/markup-tree.[ch]:
	(markup_tree_get): pass in the nomerge path.
	(markup_dir_build_file_path),
	(markup_dir_build_dir_path): simple wrappers for build_path().
	(load_subtree), (load_entries), (load_subdirs),
	(delete_useless_subdirs): upd. for above change.
	(recursively_load_subtree): impl. recursively loading the tree
	below a given dir.
	(should_save_as_subtree): logic to figure out which dirs should
	be saved as merged files.
	(markup_dir_sync): save the dir in a merged file if neccessary.
	(markup_dir_build_path): allow building a non-filesystem path.
	(parse_tree), (save_tree): upd.
	(write_dir): set the "not_in_filesystem" flag.

	* backends/markup-backend.c:
	(resolve_address), (ms_new): parse and use the "nomerge" flag.

	* backends/mateconf-merge-tree.c: (merge_tree): upd.

2004-06-21  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconfd.c: (shutdown_databases): don't free the
	default database twice. Its on the databases list now
	so it doesn't need to freed explicitly.

2004-06-21  Mark McLoughlin  <mark@skynet.ie>

	Patch from Leonardo Quijano Vincenzi <lquijano@hotpop.com>
	in bug #144502.

	* doc/mateconf/tmpl/mateconf-client.sgml: warn the g_type_init()
	must be called before using MateConfClient.

2004-06-12  Mark McLoughlin  <mark@skynet.ie>

	Patch from Daniel Elstner <daniel.elstner@gmx.net>
	in bug #143679.

	* mateconf.m4.in (AM_MATECONF_SOURCE_2): Use $(sysconfdir)/mateconf/schemas
	as the default value of MATECONF_SCHEMA_FILE_DIR, without the trailing
	slash.  Also get rid of the pointless else branch.

2004-06-12  Mark McLoughlin  <mark@skynet.ie>

	Patch from Julio M. Merino Vidal <jmmv@menta.net>
	in bug #134247.

	* doc/mateconf/Makefile.am: don't create a directory if
	its not needed.

2004-06-12  Mark McLoughlin  <mark@skynet.ie>

	Patch from Mariano Suárez-Alvarez <msuarezalvarez@arnet.com.ar>
	in bug #122958 to change the encoding logic so as to produce
	shorter encoded keys when encoding non-ascii characters. Does
	not require changes to the decoder.

	* mateconf/mateconf.c: (mateconf_escape_key): use a shorter encoding
	for non-ascii characters.

2004-06-12  Mark McLoughlin  <mark@skynet.ie>

	64-bit fix from Joe Marcus Clarke <marcus@freebsd.org>

	* backends/markup-tree.c: (parse_tree): the length
	returned from g_file_get_contents() is a gsize
	not an int.

2004-06-09  Kjartan Maraas  <kmaraas@gnome.org>

	* mateconf/mateconf-internals.c: (mateconf_activate_server):
	Plug a small leak. Fixes bug #143941.

2004-05-31  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.7.2.

==================== 2.7.1 ====================

2004-05-31  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.7.1.

2004-05-04  Morten Welinder  <terra@gnome.org>

	* mateconf/mateconf-internals.c (mateconf_activate_server): Delete stray
	";" aka null statement.  (Valid only in C99 where it had no
	effect.)

2004-04-23  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-sources.c: (mateconf_sources_new_from_addresses): return
	NULL and the last error if we failed to resolve any of the addresses.

2004-04-21  Richard Hult  <richard@imendio.com>

	* mateconf/mateconf-database.c (mateconf_database_unset): Init
	modified_sources to NULL since we access it later. Fixes random
	crashes.

2004-04-19  Mark McLoughlin  <mark@skynet.ie>

	Based on a patch from Julio Merino <jmmv@hispabsd.org>
	in bug #102825

	* configure.in: add a --enable-gtk=yes/no/auto (defaults to auto)

2004-04-19  Mark McLoughlin  <mark@skynet.ie>

	Patch Elijah Newren <bugsqueesher@yahoo.com> in bug #138009

	* examples/basic-mateconf-app.c: (config_entry_commit):
	return a boolean so we don't crash.

2004-04-19  Mark McLoughlin  <mark@skynet.ie>

	Based on a patch from Ryan Lovett <ryan@ocf.berkeley.edu>
	in bug #95198.

	* backends/markup-backend.c: (resolve_address):
	  backends/xml-backend.c: (resolve_address): check to see
	if the dir exists before trying to create it rather than
	relying on EEXIST from mkdir.

2004-04-19  Mark McLoughlin  <mark@skynet.ie>

	* backends/dir-utils.[ch],
	  backends/val-encode.[ch]: remove last remenants
	of the BDB backend.

2004-04-19  Mark McLoughlin  <mark@skynet.ie>

	Tracked down by Gustavo GirÃ¡ldez  <gustavo.giraldez@gmx.net>
	in bug #139170

	* mateconf/mateconfd.c: (logfile_save): don't save default_db explicitly
	since its now stored in the same list as the other dbs - but do
	make sure that it gets saved as "def" rather than using its full
	address list.

2004-04-16  Colin Walters  <walters@redhat.com>

	* mateconf/mateconf-internals.c (mateconf_activate_server): Move temporary
	directory creation into daemon code, so that we play better with
	SELinux.  Patch reviewed by (and several improvements suggested by)
	Mark McLoughlin <mark@skynet.ie>.

2004-04-13  Mark McLoughlin  <mark@skynet.ie>

	Fix pointed out by Frédéric L. W. Meunier <1@pervalidus.net>.

	* mateconf.m4.in: add quotes around AM_MATECONF_SOURCE_2 to
	quell autoconf's rudeness.

2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>

        * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.

2004-04-08  Adam Weinberger  <adamw@gnome.org>

	* configure.in: Added en_CA to ALL_LINGUAS.

2004-04-05  Mark McLoughlin  <mark@skynet.ie>

	Revert the --dump behaviour change (not dumping schema defaults)
	and add a --ignore-schema-defaults argument which applies to
	all arguments which get the value of a key.

	* mateconf/mateconftool.c:
	(main): check that --ignore-schema-defaults is being used with
	an option which gets a value.
	(list_pairs_in_dir), (dump_entries_in_dir):
	respect --ignore-schema-defaults.
	(get_maybe_without_default): helper function.
	(do_get), (do_get_type), (do_get_list_size), (do_get_list_element):
	respect --ignore-schema-defaults.

2004-04-02  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c: (set_values), (process_entry): handle
	an <entry> with only a <schema_name> correctly.

2004-04-01  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c: (dump_entries_in_dir): don't dump
	the value if its the schema default.

2004-04-01  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/default.path.in: fix the position of the
	local-defaults.path include. Bug #137578.

2004-03-31  Mark McLoughlin  <mark@skynet.ie>

	Fix last remaining obvious issue I'm seeing with the previous
	patches. mateconfd was crashing when removing objects from the
	panel.

	* mateconf/mateconf-database.c: (mateconf_database_recursive_unset):
	Don't try and propogate a NULL error.

	* mateconf/mateconf-sources.c:
	(mateconf_sources_unset_value): create modified_sources when
	they it doesn't exist.
	(prepend_unset_notify): add a couple of assertions.
	(recursive_unset_helper): unset modified_sources between
	unsets so that we don't append to the same source list.

2004-03-30  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-backend.c: (mateconf_backend_verify_vtable):
	Return TRUE if the vtable is okay.

2004-03-30  Mark McLoughlin  <mark@skynet.ie>

	* doc/mateconf/tmpl/mateconf-backend.sgml: add some documentation
	for set_notify_func().

2004-03-30  Mark McLoughlin  <mark@skynet.ie>

	* tests/testbackend.c: (foreach_recursive), (sync_and_clear),
	(check_unset), (set_value), (get_value): upd. for the fact
	we have a copy of the vtale now rather than a pointer to it.

2004-03-30  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-backend.h: actually add the vtable_size
	vtable member.

2004-03-29  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-database.c:
	(safe_g_hash_table_insert): remove - no hash table here.

2004-03-29  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-engine.h: add mateconf_engine_get_for_addresses()
	and mateconf_engine_get_local_for_addresses().

	* mateconf/mateconf.c:
	(mateconf_engine_connect): implement setting up a database from
	an arbitrary stack of sources.
	(register_engine): use the concatenation of addresses for the key.
	(unregister_engine): free the persistent address and address list on
	unregistering.
	(lookup_engine): use the concatenation of addresses for the key.
	(mateconf_engine_get_local_for_addresses): add.
	(mateconf_engine_get_for_address): update for register_engine change.
	(mateconf_engine_get_for_addresses): impl support for remote composite dbs.
	(update_listener): update for the fact that listeners are now saved using
	the persistent name.

	* mateconf/MateConfX.idl: extend the ConfigServer interface
	by adding ConfigServer2 inherting from ConfigServer.
	Add ConfigServer2::get_database_for_addresses().

	* mateconf/mateconf-backend.c:
	(mateconf_address_valid), (mateconf_get_backend): check the backend
	address doesn't contain any special characters.

	* mateconf/mateconf-database.[ch]:
	(source_notify_cb): don't notify unless this change could
	actually cause a change for the client.
	(mateconf_database_notify_listeners): impl. notifying "other"
	listeners - clients listening on other stacks which contains
	any of the modified sources.
	(mateconf_database_set), (mateconf_database_unset): keep track of
	the sources modified by the change and update for the
	notify_listeners change.
	(mateconf_database_recursive_unset): ditto and upd. for the
	change in the listeners list returned by
	mateconf_sources_recursive_unset().
	(mateconf_database_get_persistent_name): make the persistent
	name a concatenation of the individual addresses instead
	of the first address.

	* mateconf/mateconf-internals.[ch]:
	(mateconf_address_list_get_persistent_name): impl method similar
	to mateconf_database_get_persistent_name, except concatenate
	the addresses from a GSList.
	(mateconf_persistent_name_get_address_list): do the reverse.
	(mateconf_address_list_free): free the list of strings.

	* mateconf/mateconf-sources.[ch]:
	(mateconf_sources_new_from_source): allow creating an empty source
	list.
	(mateconf_sources_set_value),
	(mateconf_sources_unset_value): return the sources modified by
	the change.
	(prepend_unset_notify), (recursive_unset_helper),
	(mateconf_sources_recursive_unset): return a list of MateConfUnsetNotifys
	which contains both the key and the modified source.
	(get_address_resource): copy and paste of mateconf_address_resource
	except it doesn't dup the return value.
	(mateconf_sources_is_affected): figure out if a change to a particular
	key in one source affects the key with a particular stack of sources.

	* mateconf/mateconfd.[ch]: impl ConfigServer2 inheritance.
	(mateconfd_get_database): upd for obtain_database change.
	(mateconfd_get_composite_database): implement.
	(init_databases): rename dbs_by_address to dbs_by_addresses.
	(set_default_database): register the default db like the others.
	(register_database): use the persistent name as the key.
	(unregister_database): ditto.
	(lookup_database): ditto.
	(obtain_database): use a list of addresses, not a single one.
	(mateconfd_notify_other_listeners): impl notifying listeners
	on MateConfDatabases other than the one which was changed.
	(listener_logentry_restore_and_destroy_foreach): restore by
	splitting the address list string.

	* mateconf/mateconftool.c: (main): enable --config-source without
	--direct as it works better now. Also allow --config-source
	to be an address list.

2004-03-29  Mark McLoughlin  <mark@skynet.ie>

	* backends/markup-backend.c,
	  backends/xml-backend.c: initialize the set_notify_func
	vtable member.

2004-03-29  Mark McLoughlin  <mark@skynet.ie>

	Re-work the notifications-from-backends patch so that the
	backend doesn't have to keep track of a callback per
	listener as suggested by Cyrille.

	* mateconf/mateconf-backend.h: add a set_notify_func() member	to
	the vtable and remove the callback arg from add_listener().

	* mateconf/mateconf-database.c:
	(mateconf_database_new): set the notification callback here.
	(mateconf_database_readd_listener): upd.

	* mateconf/mateconf-sources.[ch]:
	(mateconf_source_set_notify_func): add.
	(mateconf_source_add_listener): upd.
	(mateconf_sources_set_notify_func): add.
	(mateconf_sources_add_listener): upd.

2004-03-26  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-database.c: (source_notify_cb): don't leak
	the schema name.

	* mateconf/mateconf-sources.c:
	(mateconf_sources_add_listener),
	(mateconf_sources_remove_listener): fix mistake pointed out
	by Cyrille.

2004-03-25  Mark McLoughlin  <mark@skynet.ie>

	Allow backends to notify the daemon of changes to entries.
	Based on a patch from Cyrille Moureaux <Cyrille.Moureaux@Sun.COM>
	in bug #07692.

	* mateconf/mateconf-backend.h: add add_listener() and
	remove_listener() members to the vtable.

	* mateconf/mateconf-database.c:
	(source_notify_cb): re-compute the value and notify
	listeners when the backend reports the key has changed.
	(mateconf_database_readd_listener),
	(mateconf_database_remove_listener): add/remove backend
	listeners.

	* mateconf/mateconf-sources.[c]:
	(mateconf_source_add_listener),
	(mateconf_source_remove_listener),
	(mateconf_sources_add_listener),
	(mateconf_sources_remove_listener): impl. the glue.

	* doc/mateconf/tmpl/mateconf-backend.sgml: update the backend
	documentation.

	* backends/markup-backend.c,
	  backends/xml-backend.c: set the add_listener() and
	remove_listener() members to NULL.

2004-03-24  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-backend.h: add a vtable_size member to
	the vtable.

	* mateconf/mateconf-backend.c:
	(mateconf_backend_verify_vtable): impl. copying handling
	mismatches in vtable sizes and also refuse to use the
	backend if any of the functions we require are NULL.
	(mateconf_get_backend): fixup error handling a bit.

	* mateconf/mateconf-sources.c: update to take into account
	that the we have a copy of the vtable now rather than
	just a pointer to it.

	* doc/mateconf/tmpl/mateconf-backend.sgml: upd.

	* backends/markup-backend.c,
	  backends/xml-backend.c: add sizeof (MateConfBackendVTable) to
	the vtable.

2004-03-24  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-database.c: (impl_ConfigDatabase_set): don't
	convert the value into a string and then do nothing with it.

2004-03-30  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: bump to 2.7.1. 2.6.x development is on
	the mate-2-6 branch now.

2004-03-24  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: kill the message-of-doom.

2004-03-22  Guntupalli Karunakar  <karunakar@freedomink.org>

        * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.

2004-03-22  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.6.1.

2004-03-22  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.6.0

2004-03-18  Ross Burton  <ross@burtonini.com>

	* doc/FAQ.txt:
	Added a FAQ, based upon the old FAQ and updated for the new
	locking policy.

2004-03-16  Gareth Owen  <gowen72@yahoo.com>

	* configure.in: Added "en_GB" (British) to ALL_LINGUAS

2004-03-02 Dinesh Nadarajah <dinesh_list@sbcglobal.net>

        * ta.po: Started Tamil Translation.

2004-02-24  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.5.90.

2004-02-01  Robert Sedak  <robert.sedak@sk.htnet.hr>

        * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.

2003-12-14  Havoc Pennington  <hp@redhat.com>

	* configure.in: 2.5.1

2003-12-03  Ross Burton  <ross@burtonini.com>

	* tmpl/mateconf.sgml: lamest patch *ever*, remove a newline.

Tue Nov  4 17:17:07 2003  Jonathan Blandford  <jrb@redhat.com>

	* mateconf/mateconf-changeset.h: register MateConfChangeSet as a boxed type.

2003-11-02  Havoc Pennington  <hp@pobox.com>

	* ChangeLog: ascii-ize various people's names; Emacs can't handle
	UTF-8, sadly

	* backends/Makefile.am: cut over to the new backend implementation

	* configure.in: change to 2.5.0, add "this is the unstable
	branch" warning.

2003-10-28  Ghee Teo  <ghee.teo@sun.com>

	* mateconf/default.path.in: added hooks for paths to preserve
	  local configuration mateconf values as in bug #107481.

2003-10-28  Mark McLoughlin  <mark@skynet.ie>

	* backends/mateconf-merge-tree.c: include locale.h - patch
	from Damien Carbery <damien.carbery@sun.com> in bug #125688.

2003-10-27  Mark McLoughlin  <mark@skynet.ie>

	Patch to allow a single XML file to represent an arbitrary
	MateConf tree rather than a single directory. Also fixes
	many little bugs with the markup backend. See bug #116948.

	* backends/Makefile.am: install the markup backend and
	build mateconf-merge-tree.

	* backends/markup-tree.c: if a %mateconf-tree.xml file exists
	in a given directory, load that and ignore any %mateconf.xml
	files in the directory and any sub-directories. Also,
	fix many little buglets to make this work compatibly with
	the XML backend.

	* mateconf/mateconftool.c:
	(recurse_subdir_dump), (do_dump_values): sort the directories
	before dumping.
	(print_schema_in_xml): don't add extra whitespace to schema
	descriptions.
	(print_value_in_xml): dump " " strings as empty strings.
	(compare_entries), (dump_entries_in_dir): dump entries
	sorted by the key name.

	* backends/markup-backend.c: (cleanup_timeout): fixup.

	* backends/mateconf-merge-tree.c: utility to merge a MateConf
	tree into a single markup backend %mateconf-tree.xml file.
	Doing this to a tree means that any changes you make
	to that tree using the markup backend will not be reflected
	if you go back to the XML backend.

	* tests/testbackend.c: include stdio.h to fix warnings.

Wed Oct 22 22:59:47 2003  Matthias Clasen  <maclas@gmx.de>

	* doc/gcnf/Makefile.am:
	* doc/mateconf/mateconf.sgml:
	* doc/mateconf/tmpl/mateconf-backend.sgml:
	* doc/mateconf/tmpl/mateconf-client.sgml:
	* doc/mateconf/tmpl/mateconf-engine.sgml:
	* doc/mateconf/tmpl/mateconf.sgml: Use gtk-doc in xml mode.  (#111791)

2003-10-22  Havoc Pennington  <hp@redhat.com>

        * mateconf/mateconf.c, mateconf/mateconfd.c: use g_string_new (NULL)
	rather than g_string_new ("") #106974 Morten Welinder

	* mateconf/mateconfd.c (mateconf_main): change cleanup/exit timeout to 30
	seconds, bug #97361

	* backends/xml-cache.c (cache_clean): whack string that needed
	ngettext, as it was dumb debug spew. #123866 Danilo Segan

	* mateconf/mateconf.c (mateconf_handle_corba_exception): fix to avoid
	passing arbitrary data as printf format, #123556 Dan Winship

	* backends/markup-backend.c (resolve_address): remove unused
	variables, #122734 Kjartan Maraas

        * mateconf.spec.in: remove, not maintained

	* mateconf/mateconf-error.c (mateconf_error_new_valist): don't put a
	newline in error messages, bug #111845 Morten Welinder

        * throughout: s/dir/directory/ bug #111822 Christian Rose

	* mateconf/mateconfd.c (mateconf_server_load_sources): avoid string
	concatenation with #defines, confuses gettext, #111821
	Christian Rose

	* mateconf/mateconfd.h: fix mateconf_get_poa() declaration, #110186
	Morten Welinder

	* mateconf/mateconf-internals.c (read_current_server_and_set_warning):
	fix a warning, bug #110179

	* mateconf/mateconfd.c (test_safe_tmp_dir): fix warning

2003-10-22  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-client.c: patch from Ray Strode to avoid breaking
	the schema name cache, bug #94412

	* doc/rationales.txt: add file to track bugzilla numbers to refer
	to later

2003-10-22  Vincent Untz  <vincent@vuntz.net>

	* backends/xml-dir.c (dir_load_doc): don't mark "%s" as translatable.
	Fix bug #84893.

2003-10-09  Ross Burton  <ross@burtonini.com>

	* doc/Makefile.am:
	* doc/mateconftool-2.1:
	Added a basic man page.

2003-10-07  Aygimantas Beru?ka  <uid0@tuxfamily.org>

	* configure.in: Added "lt" to ALL_LINGUAS

2003-09-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_engine_all_dirs): fix crash calling this
	with --direct (local source), the list contains strings not
	MateConfEntry

Wed Sep 10 15:23:17 2003  Jonathan Blandford  <jrb@redhat.com>

	* configure.in: Rerelease 2.4.0.1 to fix glib-gettext problem.

2003-09-08  Havoc Pennington  <hp@redhat.com>

	* configure.in: 2.4.0

2003-09-05  Taneem Ahmed  <taneem@bengalinux.org>

	* configure.in: Added "bn" to ALL_LINGUAS.

2003-08-30  Laurent Dhima  <laurenti@alblinux.net>

	* configure.in: Added "sq" (Albanian) to ALL_LINGUAS.

2003-08-18  Muktha  <muktha.narayan@wipro.com>

	* mateconf/mateconftool.c (main) : Print usage message when no options are
	passed to mateconftool-2. Fixes #70316.

2003-08-11  Christophe Fergeau  <teuf@gnome.org>

	* doc/mateconf/tmpl/mateconf-client.sgml:
	* doc/mateconf/tmpl/mateconf.sgml: Update API documentation (in particular
	the mateconf_client doc). Fixes #89348.

2003-08-11  Frederic Crozat  <fcrozat@mandrakesoft.com>

	* mateconf/mateconf-client.c: (mateconf_client_real_unreturned_error),
	(mateconf_client_real_error), (cache_pairs_in_dir):
	* mateconf/mateconf-internals.c: (mateconf_log):
	* mateconf/mateconf-listeners.c: (ltable_insert), (ltable_remove),
	(spew_func), (ltable_spew):
	* mateconf/mateconfd.c: (main):
	* mateconf/mateconftool.c: (main), (recurse_subdir_list),
	(do_recursive_list), (do_dump_values), (list_pairs_in_dir),
	(print_schema_in_xml), (print_pair_in_xml), (print_list_in_xml),
	(print_value_in_xml), (dump_entries_in_dir), (do_dir_exists),
	(do_spawn_daemon), (do_get), (read_value_type), (do_set),
	(do_get_type), (do_get_list_size), (do_get_list_element),
	(do_schema_info), (do_associate_schema), (do_dissociate_schema),
	(do_set_schema), (do_all_entries), (do_unset),
	(do_recursive_unset), (do_all_subdirs), (get_list_value_from_xml),
	(get_pair_value_from_xml), (get_schema_values_from_xml),
	(get_values_from_xml), (set_values), (fill_default_from_string),
	(extract_global_info), (process_locale_info), (process_key_list),
	(get_schema_from_xml), (hash_install_foreach),
	(hash_uninstall_foreach), (process_schema), (process_list),
	(do_load_file), (do_makefile_install), (do_makefile_uninstall),
	(check_err), (key_breakage), (do_break_key), (do_break_directory),
	(do_get_default_source):
	* mateconf/mate-testclient.c: (notify_func), (main):
	* mateconf/testclient.c: (main), (notify_func):
	use g_print/g_printerr instead of printf/fprintf(strerr). It
	fixes UTF-8 being displayed on command line with non-UTF-8 locales.

2003-08-09  Guntupalli Karunakar  <karunakar@freedomink.org>

	* configure.in: Added "hi" in ALL_LINGUAS.

2003-03-16  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #108574

	* backends/xml-dir.c (mateconf_xml_doc_dump): Replacement for
	xmlDocDump() which is not reliable. While we're at it, also dump
	formatted xml.
	(dir_sync): Call the new mateconf_xml_doc_dump() rather than
	xmlDocDump() because we don't want to risk losing user settings.

2003-07-19  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/mateconf.sgml: doc fixes from Samuel Stringham
	#117830

2003-07-17  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconftool.c (do_recursive_unset): do a suggest_sync after
	do_recursive_unset() (which shouldn't be necessary except that we
	suck). Patch from Greg Hudson #117713

	* mateconf/mateconf-value.h: flags can't be 0, patch from
	Greg Hudson, #117712

2003-07-07  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-client.c:
	(recurse_subdir_list): the subdir list contains full
	paths, so don't append it to the full path. Fixes
	recursive preloading.
	(mateconf_client_preload): don't get (and leak) the list
	of subdirs if we're only doing onelevel preloading.

2003-06-28  Dafydd Harries  <daf@parnassus.ath.cx>

	* mateconf/mateconftool.c (main): Slight extra option tweaking.

2003-06-26  Dafydd Harries  <daf@parnassus.ath.cx>

	* mateconf/gonftool.c (main): Tidied up "--foo option must be used by
	itself" messages.

2003-06-26  Ross Golder  <ross@golder.org>

	* mateconf/mateconftool.c (do_dissociate_schema): Fixed a misleading
	string (#116042)
 	* mateconf/mateconftool.c (do_associate_schema): Prevent segfault when
	no args supplied (#116040)
 	* mateconf/mateconftool.c (do_dissociate_schema): Prevent segfault when
	no args supplied (#116040)

2003-06-26  Abel Cheung  <maddog@linux.org.hk>

  	* configure.in: Added "am" "mk" to ALL_LINGUAS.

2003-06-26  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "am" "mk" to ALL_LINGUAS.

2003-06-23  Havoc Pennington  <hp@redhat.com>

	* NEWS: update

	* configure.in: 2.3.3

2003-06-22  James M. Cape  <jcape@ignore-your.tv>

	* mateconf/mateconf-database.c: Fix for GCC 3.3 warning (fixes #115722).

2003-06-18	Mohammad DAMT  <mdamt@bisnisweb.com>

	* po/id.po: Added Indonesian translation
	* configure.in: Added "id" to ALL_LINGUAS

2003-06-18  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #73323

	* mateconf/mateconf-sources.h: moved MateConfUnsetFlags enum...

	* mateconf/mateconf-value.h: ...to here.

	* mateconf/mateconf-client.[ch] (mateconf_client_recursive_unset):
	implemented new function for calling the unrecursive_unset
	method on the engine.

2003-06-12  Guntupalli Karunakar  <karunakar@freedomink.org>

	* configure.in: Added "ml" in ALL_LINGUAS.

2003-06-06  Michael Meeks  <michael@ximian.com>

	* configure.in: remove the explicit linc module.

2003-05-31  Michael Meeks  <michael@ximian.com>

	* backends/markup-tree.c: include <stdio.h>

2003-05-19  Ross Burton  <ross@burtonini.com>

	* mateconf/mateconftool.c: Implement uninstalling MateConf schemas, closing
	#104487. Patch based on work by jmmv@hispabsd.org <Julio Merino>.

2003-05-19  Telsa Gwynne  <hobbit@aloss.ukuu.org.uk>

	* configure.in: Add cy (Welsh) to ALL_LINGUAS

2003-05-09  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconftool.c:
	(print_value_in_xml): escape the string text before
	outputting it in the XML.
	(dump_entries_in_dir): ouput the keyname relative to
	the base directory rather than the current directory.

2003-05-08  Ross Burton  <ross@burtonini.com>

	* mateconf/mateconf-client.[ch]: Add mateconf_client_notify(), to fake a
	notification from a monitored key. Fixes #70553.

2003-05-07  Danilo Egan  <dsegan@gmx.net>

	* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

2003-05-03  Havoc Pennington  <hp@pobox.com>

	* configure.in: 2.3.2

	* NEWS: update

2003-04-26  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* configure.in: call AC_LIBTOOL_WIN32_DLL.

	* backends/Makefile.am: add -no-undefined to *_la_LDFLAGS.
	add $(top_builddir)/mateconf/libmateconf-$(MAJOR_VERSION).la to *_la_LIBADD.

	* mateconf/Makefile.am (libmateconf_2_la_LDFLAGS): add -no-undefined.

	* mateconf/mateconfd.c (main): use g_strdup_printf() instead of strlen() +
	g_malloc() + g_snprintf().

03-04-23  Muktha <muktha.narayan@wipro.com>
	* mateconf/mateconfd.c
	When reading the saved_state file, mateconfd will not log message if
	the saved_state file is not present. Fixes bug #110944.

2003-03-27  Brian Cameron <brian.cameron@sun.com>

	* mateconf/mateconf-sanity-check.c
	Updated text of the lock question to more clear text that was
	approved by the docs team.  Havoc reviewed/approved this
	change.

2003-03-27  Ross Burton  <ross@burtonini.com>

	* mateconf/mateconftool.c:
	Added --get-type, --get-list-size and --get-list-element. Patch
	from TODO, closing #91349.
	(do_dump_values): Return an int as the prototype says we do.

	Applied patch from Jeff Franks <jcf@tpg.com.au> with a extensions,
	closing #97205.
	* mateconf/mateconf-schema.h:
	* mateconf/mateconf-value.h: Wrapped both header files in an extern "C"
	for C+compilation.

	* mateconf/mateconf-internals.h:
	* mateconf/mateconf-value.h: Exported mateconf_entry_copy(), _ref and
	_unref. Moved declaration from mateconf-internals.h to
	mateconf-value.h. Also deprecated mateconf_entry_free().

	* doc/mateconf/tmpl/mateconf-value.sgml: Fixed typo, MATECONF_VALUE_DOUBLE,
	in the description for mateconf_value_get_float(). Changed the value
	type to MATECONF_VALUE_FLOAT.

	* mateconf/mateconf-client.h: Added missing MATECONF_CLIENT_GET_CLASS
	macro.

2003-03-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (mateconf_get_daemon_dir): we need
	giop_tmpdir_init(), linc_get_tmpdir() isn't helpful. Revert to
	/tmp/mateconfd-foo for now.

2003-03-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (mateconf_get_daemon_dir): call
	linc_set_tmpdir() to maybe make it work

2003-03-26  Havoc Pennington  <hp@redhat.com>

	* configure.in: bump to 2.3.1

	Apply "local locks" patch with linc_get_tmpdir modification from
	Michael, and the default changed to local locks. Now to
	get global locks you must set MATECONF_GLOBAL_LOCKS=1.

	* mateconf/mateconf-internals.c (mateconf_log): convert to locale encoding
	to pass stuff to syslog

2003-03-26  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "yi" to ALL_LINGUAS.

2003-03-14  Mark McLoughlin  <mark@skynet.ie>

	Basically the same patch as the previous one .. but
	for the markup backend.

	* backends/markup-backend.c:
	(resolve_address): update.
	(clear_cache): use markup_tree_rebuild() instead of
	re-creating the tree.
	(ms_new): remove the read_only arg and s/markup_tree_new/
	markup_tree_get/
	(ms_destroy): s/markup_tree_free/markup_tree_unref/

	* backends/markup-tree.[ch]:
	(markup_tree_get), (markup_tree_unref): rename these
	from new()/free() and share caches for sources with
	the same root directory.
	(markup_tree_rebuild): impl.
	(markup_dir_needs_sync): we don't keep the read_only
	flag per-tree anymore so don't check it here.

2002-07-16  Mark McLoughlin  <mark@skynet.ie>

	Use the same cache for multiple sources with the same
	root directory.

	* backends/xml-cache.[ch]:
	(cache_get): rename from cache_new and return and existing
	cache for this root dir if one exists. Also use g_free
	as a key destroy handler for the nonexistant hash instead
	of doing it manually.
	(cache_unref): rename from cache_destroy and only destroy
	when refcount drops to zero.
	(cache_set_nonexistent), (cache_destroy_nonexistant_foreach):
	don't free the key here.

	* backends/xml-backend.c:
	(xs_new): s/cache_new/cache_get/
	(xs_destroy): s/cache_destroy/cache_unref/.

2003-03-14  Mark McLoughlin  <mark@skynet.ie>

	* backends/Makefile.am: kill unused bdb SOURCES.

2003-03-13  Mark McLoughlin  <mark@skynet.ie>

	Implement --load and --dump options for mateconftool. e.g.:
	mateconftool-2 --dump /apps/metacity > metacity.dump
	mateconftool-2 --config-source blah --load metacity.dump
	or
	mateconftool-2 -load metacity.dump /apps/other_metacity

	* mateconf/mateconftool.c:
	(recurse_subdir_dump), (do_dump_values),
	(print_schema_in_xml), (print_pair_in_xml),
	(print_list_in_xml), (print_value_in_xml), (get_key_relative),
	(dump_entries_in_dir): impl dumping to XML.
	(get_list_value_from_xml), (get_car_cdr_value),
	(get_pair_value_from_xml), (get_schema_values_from_xml),
	(get_values_from_xml), (get_first_value_from_xml), (set_values):
	impl loading entries from XML.
	(hash_listify_foreach), (process_entry), (fill_default_from_string),
	(extract_global_info), (process_locale_info), (get_schema_from_xml),
	(hash_install_foreach), (process_schema), (process_list),
	(do_load_file), (do_makefile_install): munge the entries loading
	code with schemas loading code.

2003-03-05  Havoc Pennington  <hp@pobox.com>

	* backends/Makefile.am: remove BDB backend

	* configure.in: remove BDB backend support

2003-03-04  Mark McLoughlin  <mark@skynet.ie>

	Fixes weird bug where a directory appears to not exist when
	you create subdirectories of it.

	* backends/xml-cache.c:
	(cache_lookup): use unset_nonexistent.
	(cache_unset_nonexistent): unset the existent flag not
	only on this directory but all parent directories.

2003-02-25  Havoc Pennington  <hp@redhat.com>

	* configure.in: bump to 2.3.0 unstable version number to avoid
	confusion

2003-02-22  Roozbeh Pournader  <roozbeh@sharif.edu>

	* configure.in: Added "fa" to ALL_LINGUAS.

2003-02-12  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf.c: (mateconf_engine_set),
	(mateconf_engine_associate_schema): don't rely on
	caller passing in a valid GError** in assertions.

2003-02-12  Mark McLoughlin  <mark@skynet.ie>

	* backends/xml-dir.c: (listify_foreach): set the schema
	name even when the key is set.

2003-01-21  Ross Burton  <ross@burtonini.com>

	* doc/mateconf-1.0.dtd: Add comments to the DTD.

2003-01-21  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "mn" to ALL_LINGUAS.

2003-01-12  Havoc Pennington  <hp@pobox.com>

	* configure.in: 2.1.90

2002-12-04  Havoc Pennington  <hp@pobox.com>

	* backends/markup-tree.c (markup_entry_get_value): fix
	a logic error causing us to deref a null pointer, reported
	by  Brian Alexander Quistorff

2002-11-22  Dan Mills  <thunder@ximian.com>

	* configure.in: fix gtk-doc version check.

2002-11-09  Dmitry G. Mastrukov  <dmitry@taurussoft.org>

	* configure.in: Added Belarusian to ALL_LINGUAS

2002-11-02  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c
	(mateconf_value_list_to_primitive_list_destructive): fix using the
	wrong type (value->type not value->list_type) in an error message,
	#96210

2002-10-18  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (subst_variables): patch from
	Benn Vosseteig fixing a crash with a long path to $HOME

2002-09-30  Yanko Kaneti <yaneti@declera.com>

	* doc/mateconf/mateconf.sgml:
	* doc/mateconf-1.0.dtd: Some additions to match the full range of schema
	elements curently accepted by mateconftool. Supposedly complete now.

2002-09-18  Yanko Kaneti <yaneti@declera.com>

	* doc/Makefile.am: change the mateconf-1.0.dtd install location to
	$(datadir)/sgml/mateconf which sounds more standards compliant.

2002-09-18  Havoc Pennington  <hp@pobox.com>

	* backends/markup-backend.c (resolve_address): add FIXME about
	MATECONF_LOCAL_LOCKS

2002-09-18  Havoc Pennington  <hp@pobox.com>

        Merge mateconf-markup-hacking branch

	* tests/testbackend.c: add a test for backends

	* mateconf/mateconftool.c (extract_global_info): add more error
	checking, adding more error strings

	* mateconf/mateconf-schema.c (mateconf_schema_validate): do some more
	validation with error strings that couldn't be added to stable
	branch

	* backends/xml-dir.c: fix quoting in error string

	* backends/xml-backend.c (resolve_address): fix quoting in error
	string

	* backends/markup-tree.c: make it work

	* backends/markup-backend.c: make it work

	* backends/Makefile.am (libmateconfbackend_markup_la_SOURCES): add
	markup-backend.c

2002-09-18  Yanko Kaneti <yaneti@declera.com>

	* mateconf.m4.in: Introduce --disable-schemas-install and the
	MATECONF_SCHEMAS_INSTALL conditional, which allows disabling
	the schemas installation given the package decides to support it.

	* doc/Makefile.am:
	* doc/mateconf/mateconf.sgml:
	* doc/mateconf-1.0.dtd (ADDED): formal dtd for the schema files.
	Not yet complete. Installed in $(pkgdatadir)/xml/mateconf/ for now.

2002-09-18  Havoc Pennington  <hp@pobox.com>

	* configure.in: bump to 2.1.0, to get in sync with mate and allow
	identifying HEAD

2002-09-09  jacob berkman  <jacob@ximian.com>

	* mateconf/MateConf.idl:
	* mateconf/MateConfX.idl:
	* mateconf/Makefile.am:
	* mateconf/mateconf-database.h:
	* mateconf/mateconf-internals.h:
	* mateconf/mateconf.c:
	* mateconf/mateconfd.c:
	* mateconf/mateconfd.h: rename MateConf.idl to MateConfX.idl in order to build
	on non-case-sensitive file systems

2002-09-06  Peteris Krisjanis <peteris.krisjanis@os.lv>

	* configure.in: Added Latvian (lv) to ALL_LINGUAS

2002-08-04  Havoc Pennington  <hp@redhat.com>

	* configure.in: 1.2.1

2002-07-12  Brian Cameron  <Brian.Cameron@sun.com>

	* mateconf/mateconfd.c
	Removed reference to mate_segv2 since it was not used.

2002-07-11  Brian Cameron  <Brian.Cameron@sun.com>

	* mateconf-2.0.pc.in
	* mateconf.spec.in
	* mateconf/Makefile.am
	* mateconf/mateconfd.c
	* mateconf/mateconf-internals
	Now install mateconfd-2 and mateconf-sanity-check-2 in libexec

2002-07-09  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconfd.c: (obtain_database): fix
	silly with addresses list.

2002-07-04  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (logfile_read): close our FILE* when we're done.
	Reported by Michael.

2002-07-03  Yanko Kaneti <yaneti@declera.com>

	* configure.in: (ALL_LINGUAS) Added Bulgarian (bg).

2002-06-16  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-sources.c (mateconf_sources_recursive_unset): don't
	propagate nonexistent errors, fixes a warning.

Fri Jun 14 13:24:42 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>

	* mateconf/mateconfd.c: include <locale.h> for setlocale.

2002-06-11  Havoc Pennington  <hp@pobox.com>

	* configure.in: version 1.2.0

	* README, NEWS, AUTHORS: update

2002-06-02  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconftool.c: add --version argument, #79555, involves a
	help string but it should be OK if this string isn't translated.

	* mateconf/mateconf-client.c (mateconf_client_get): add some
	g_return_if_fail, #74984
	(mateconf_client_key_is_writable): handle NULL entry,
	#75503

	* mateconf/mateconfd.c (mateconf_handle_segv): disable bug-buddy for now,
	too much recursion danger.

	* mateconf/mateconf-internals.c, mateconf/mateconfd.c: replace isspace() with
	g_ascii_isspace, bug #70945

	* mateconf/mateconf-value.c (mateconf_value_new): init i18n here

	* mateconf/mateconf.c (mateconf_engine_blank): init i18n here

	* mateconf/mateconftool.c (main): init i18n here, call textdomain

	* mateconf/mateconfd.c (main): init i18n here, and call setlocale and
	textdomain

	* mateconf/mateconf-internals.c (_mateconf_init_i18n): function to call
	from various places
	(mateconf_orb_get): init i18n here

	* configure.in: require MateCORBA 2.4.0, linc 0.5.0,

	bump version to 1.1.11

	fix setting of mateconflocaledir (there was a typo,
	gtklocaledir instead of mateconflocaledir)

	check for bind_textdomain_codeset

	* backends/Makefile.am (noinst_LTLIBRARIES): make markup lib
	noinst for now, until we merge back the mateconf-markup-hacking
	branch post-string-freeze

2002-06-02  Havoc Pennington  <hp@pobox.com>

	* backends/xml-cache.c (cache_sync): avoid zombie directory cruft by
	aggressively redoing the resync anytime we delete a subdir, which
	might enable a parent dir to also be deleted.

2002-06-02  Havoc Pennington  <hp@pobox.com>

	* backends/xml-cache.c (cache_lookup): don't leave a dir marked
	nonexistent after creating it
	(cache_set_nonexistent): remove hash entry _before_ freeing
	the current key. Should fix assorted "mateconf loses my settings"
	kind of bugs.

	* backends/xml-dir.c (dir_sync): don't try to delete the root dir,
	should fix some warnings.

2002-05-27  Hasbullah Bin Pit <sebol@ikhlas.com>

	* configure.in: Added Malay (ms)to ALL_LINGUAS.
	* po/ms.po: Added Malay Translation.

2002-05-27  Havoc Pennington  <hp@pobox.com>

	* backends/markup-tree.c: implement all the tree reading stuff,
	need to implement modification/writing and implement
	markup-backend.c. (Backend is totally unused and unusable
	until post-MATE2, don't worry.)

	* mateconf/mateconf-internals.h (mateconf_value_set_string_nocopy):
	new function

2002-05-15  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* configure.in: Added Vietnamese (vi) to ALL_LINGUAS

2002-05-10  Shivaram U  <shivaram.upadhyayula@wipro.com>

	* doc/mateconf/Makefile.am: Honouring CFLAGS and LDFLAGS passed by the user
	Ensures successful 64bit build on Solaris.

2002-05-09  Michael Meeks <michael@ximian.com>

	* backends/xml-entry.c (entry_get_value): ensure we
	don't print a NULL.

2002-04-29  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* configure.in: Added Basque (eu) to ALL_LINGUAS

2002-04-29  Havoc Pennington  <hp@pobox.com>

	* configure.in: 1.1.10

2002-04-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-changeset.c: make the internal functions static

	* mateconf/mateconf-internals.c (byte_type): make static
	(get_hostname): remove

	* mateconf/mateconfd.c (add_client): set the maximum connection buffer
	to a reasonable-size value in order to handle locked-up clients.

	* backends/xml-entry.c (node_set_schema_value): opacity fixes

	* mateconf/mateconftool.c (list_pairs_in_dir): opacity fixes

	* mateconf/mateconf.c: opacity fixes
	(mateconf_engine_get_for_address): remove the g_warning about using
	this function; the change notification is a bit broken but maybe
	it's still useful.

	* mateconf/mateconf-sources.c: opacity fixes

	* mateconf/mateconf-database.c: namespace fixes

	* mateconf/mateconf-internals.h: namespace some things

	* mateconf/mateconf-internals.c: opacity fixes
	(fill_corba_schema_from_mateconf_schema):
	make static
	(corba_schema_from_mateconf_schema): make static

	* mateconf/mateconf-schema.c: do groundwork to make MateConfSchema opaque,
	and fix some lack of spaces before parens

	* mateconf/mateconf-value.c: do groundwork to make MateConfEntry mostly
	opaque (implement with MateConfRealEntry)

2002-04-19  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "zh_TW" to ALL_LINGUAS.

2002-04-10  jacob berkman  <jacob@ximian.com>

	* backends/xml-dir.c (my_xml_parse_file): g_file_get_contents()
	takes gsize, not int

2002-03-29  Havoc Pennington  <hp@pobox.com>

	* configure.in: 1.1.9

	* mateconf/mateconf-client.c (mateconf_client_get_string): clean up some
	weird cruft

	* mateconf/mateconf-internals.c (primitive_value): steal the schema,
	avoids a copy.

	* mateconf/mateconf-value.h, mateconf/mateconf-value.c: Hide private fields,
	suggested by Michael. But then make them public again
	for now due to libmate/eel being broken.

	* configure.in (PKGCONFIG_MODULES): require the right versions of
	various things

2002-03-24  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (mateconf_activate_server): save a bit more
	data about the errors that occurred for the error message,
	and shorten the message in favor of a link to the new
	mateconf web page.

2002-03-23  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_main): change exit timeout to 2 minutes

2002-03-22  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_set_exception): change "returning
	exception" message to DEBUG priority

2002-03-20  Havoc Pennington  <hp@pobox.com>

	* tests/testpersistence.c: remove the -G_MAXFLOAT test, since
	it didn't work and probably shouldn't

	* mateconf/mateconf-internals.c (mateconf_double_to_string): use
	g_ascii_dtostr()
	(mateconf_string_to_double): use g_ascii_strtod()

2002-03-21  Havoc Pennington  <hp@redhat.com>

	* configure.in: fuck, Martin apparently deleted -Wall last March.

	* mateconf/mateconftool.c (main): don't pass unused arg to do_get_default_source

	* backends/xml-test.c: include all headers we use

	* backends/xml-backend.c (remove_dir): fix unused variable

	* backends/xml-dir.c (dir_rescan_subdirs): return a value in all
	cases

	* mateconf/mateconf-sanity-check.c (check_mateconf): remove unused variables

	* mateconf/mateconfd.c: include sys/wait.h

	* mateconf/mateconf-client.c: remove unused function

2002-03-21  Havoc Pennington  <hp@redhat.com>

	* backends/xml-entry.c (schema_node_extract_value): be sure
	we use only NODE elements as a fallback, and that we
	always use a NODE if possible
	(schema_node_extract_value): fix bug that would fail to fall back
	to a less-well-matched locale value if a better matched locale had
	no value. Should fix Galeon. And the world rejoiced! Assuming
	it actually fixes it. ;-)

2002-03-21  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-schema.c: move schema accessors to be functions not
	macros.

2002-03-20  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c
	(mateconf_value_list_to_primitive_list_destructive): don't call
	mateconf_value_get_int on a bool. WTF.

	* mateconf/mateconfd.c (main): enable the signal handler for USR1

	* backends/xml-dir.c (dir_load_doc): do our own file reading, only
	use libxml to parse, so we can return an error on I/O problems
	(as opposed to the current behavior, nuking the file contents,
	which only makes sense for corrupt files)

2002-03-20  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-value.c: change all the "getters" to be functions
	not macros, so we can add g_return_if_fail and be typesafe and
	generally suck less. Suggested most recently by Jody.

2002-03-19  Havoc Pennington  <hp@pobox.com>

	* backends/xml-cache.c (dircmp): fix bad assertion reported
	by lunarbard on #mate

2002-03-14  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-sanity-check.c (check_mateconf): beef up the sanity
	checker to detect stuck locks, missing config files, and other
	screwups.

2002-03-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-sources.c (mateconf_sources_query_metainfo): fix
	obnoxious typo (s/mi/this_mi/), also needed to fix bug
	reported by Kristian.

	* backends/xml-backend.c (query_metainfo): make key relative prior
	to looking up metainfo. Fixes bug where schema defaults would
	mysteriously get lost in some cases, reported by Kristian
	Rietveld.

2002-03-07  Havoc Pennington  <hp@pobox.com>

	* backends/xml-test.c: test program for XML backend code

	* configure.in: add a "minimum" debug mode and compile with it
	by default.

	* mateconf/mateconftool.c (main): call setlocale()

	* tests/runtests.sh: run tests in various locales

	* mateconf/mateconf-value.h: add more padding to MateConfEntry

	* mateconf/mateconf-internals.c (mateconf_CORBA_Object_equal):
	(mateconf_CORBA_Object_hash): remove stupid inlining of these
	functions

2002-02-26  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-client.c (notify_one_entry): protect notify callback
	with a reference count around the entry, for reentrancy. Reported
	by Rodrigo Moya and Alex Larsson.

	* mateconf/mateconf-value.c (mateconf_entry_unref, mateconf_entry_ref): new
	internal (for now) functions
	(mateconf_entry_free): just call mateconf_entry_unref

Sat Feb 16 01:27:29 2002  Jonathan Blandford  <jrb@redhat.com>

	* mateconf/mateconftool.c (read_value_type): fix typo in reading args.

2002-02-14  Dave Camp  <dave@ximian.com>

	* mateconf/mateconf.c: (mateconf_string_to_enum): Use g_ascii_strcasecmp
	instead of g_strcasecmp.
	* mateconf/mateconfd.c: (mateconf_main), (mateconf_main_quit): Replace
	g_main_* with g_main_loop_*.
	* examples/simple-controller.c: (main): Use g_signal_connect
	instead of gtk_signal_connect.
	* examples/simple-view.c: (key_changed_callback): Use
	gtk_label_set_text instead of gtk_label_set.

2002-02-12  Havoc Pennington  <hp@pobox.com>

	* configure.in: version 1.1.8

2002-02-10  Jody Goldberg <jody@gnome.org>

	* mateconf/mateconftool.c : Include libxml/globals to get xmlFree
	  Without it we call a NULL function pointer.
	* backends/xml-entry.c : ditto.

2002-02-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (signal_handler): run mate_segv if DISPLAY is
	set. Why not. may turn it off for production.

2002-02-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (CHECK_OWNER_USE): put name of function in the
	warning
	(mateconf_engine_associate_schema): remove warning from this
	function, it has no MateConfClient equivalent and won't mangle the
	cache

2002-02-10  Zbigniew Chyla  <cyba@mate.pl>

	* configure.in (ALL_LINGUAS): Added pl (Polish).

2002-02-08  jacob berkman  <jacob@ximian.com>

	* mateconf.m4.in: revert some stuff i didn't mean to commit
	yesterday.  Fixes problems when building with DESTDIR set.

2002-02-07  jacob berkman  <jacob@ximian.com>

	* mateconf/Makefile.am (install-exec-local): don't install mateconftool
	symlink

	* mateconf.m4.in (AM_MATECONF_SOURCE_2): call mateconftool-2 rather than
	mateconftool

2002-02-05  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-sanity-check.c (main): add mateconf-sanity-check-2 app,
	which either exits sucessfully and does nothing, or pops up a
	dialog explaining a mateconf problem and exits with a failure code.
	Could be placed in mate-session, or at least we can tell users
	to run it as a diagnostic tool.

	Only catches very simple problems so far.

	* configure.in: define XML_AND_GTK_CFLAGS

2002-02-05  Michael Meeks  <michael@ximian.com>

	* mateconf/mateconf.h: move (mateconf_debug_shutdown) out of
	the internals guard - doh.

	* mateconf/mateconf-client.c (mateconf_client_get_default):
	ensure we still own the reference we keep around.

2002-02-04  Havoc Pennington  <hp@redhat.com>

	* mateconf/Makefile.am (regenerate-built-sources): give up and check
	stupid enum sources in to CVS and require manual rebuild.

	* configure.in: bump to 1.1.7, do library versioning.
	Default bdb backend to disabled, since I don't think
	it's being actively used/tested.

	* autogen.sh: use automake-1.4 aclocal-1.4 if found

2002-02-02  jacob berkman  <jacob@ximian.com>

	* mateconf/Makefile.am: re-enable explicit dependency on built
	sources, as it doesn't build otherwise.

2002-02-01  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am: include the *.sh scripts

	* mateconf/regenerate-enum-footer.sh: fix screwup that broke build

2002-02-01  Havoc Pennington  <hp@redhat.com>

	* mateconf/Makefile.am: move the complicated enum rules into small
	shell scripts (regenerate-enum-*.sh), rename CORBA_SOURCES to
	CORBA_SOURCECODE

2002-01-28  Michael Meeks  <michael@ximian.com>

	* mateconf/mateconf-database.c: warning cleans.
	(impl_ConfigDatabase3_add_listener_with_properties):
	init name.
	(mateconf_database_add_listener): right args for format.

	* mateconf/mateconf-client.c: warning cleans.

	* mateconf/mateconf-internals.c (mateconf_orb_release):
	return shutdown status.

	* mateconf/mateconf.c (mateconf_detach_config_server):
	privatize again, and split out ORB shutdown into
	(mateconf_debug_shutdown): here.

2002-01-25  Michael Meeks  <michael@ximian.com>

	* mateconf/mateconf.c (try_to_contact_server): release the
	server reference, if it's to a duff object.
	(mateconf_get_config_listener): strip local 'listener',
	since we have a static module global for that.
	(mateconf_detach_config_server): release the listener.
	(mateconf_get_config_listener): release the poa & manager
	references.

	* tests/testmateconf.c (main): add
	mateconf_detach_config_server

	* mateconf/mateconf-internals.c
	(mateconf_orb_get): remove bonobo activation
	worries, kill bogus fiddling with the default
	context.
	(mateconf_orb_release): impl.

	* mateconf/mateconf.c (mateconf_detach_config_server):
	publicise & destroy engines_by_cb.
	(database_rec_release): impl.
	(mateconf_engine_set_database): use g_hash_table_new_full
	(mateconf_engine_detach): just remove from the hash.
	(try_to_contact_server): release the server reference,
	if it's to a duff object.

2002-01-28  Ross Golder  <ross@golder.org>

	* configure.in: Updated popt URL.

2002-01-27  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am: don't use BUILT_SOURCES, might fix annoying
	build problems
	(CLEANFILES): put stamp files in CLEANFILES
	(s-enum-types-h): make enum stamps depend on Makefile

2002-01-20  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am: add mateconf-enum-types.h/mateconf-enum-types.c
	files, thanks to Johan Dahlin

	* mateconf-2.0.pc.in (Libs): oops, we had Requires: bonobo-activation
	still

2002-01-16  Anders Carlsson  <andersca@gnu.org>

	* mateconf/mateconf-client.c (mateconf_client_get_full): Plug a leak.

2002-01-14  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_key_is_below): fix to handle root dir

	* mateconf/mateconftool.c (main): add --unapply-schema mode

	* mateconf/mateconf-database.c (impl_ConfigDatabase_set_schema): allow
	unset schema if we get an empty schema name

	* mateconf/mateconf.c (mateconf_engine_associate_schema): allow NULL
	schema name to unset the schema

	* mateconf/mateconftool.c (do_recursive_unset): use new
	mateconf_engine_recursive_unset internal function to do the unset

	* backends/xml-cache.c, backends/xml-dir.c: rearrange things
	to try and make directories auto-disappear when empty

	* backends/xml-backend.c (remove_dir): make this do nothing

	* backends/xml-dir.c (dir_all_subdirs): cache subdir names in the
	directory so we can cheaply check if we have subdirectories

	* mateconf/mateconf-sources.c (mateconf_sources_set_value): enhance the
	other giant error message

	* mateconf/mateconf-internals.c (mateconf_activate_server): improve error
	message to cover stale locks and explain how to active TCP for
	MateCORBA

	* mateconf/mateconf-sources.c (mateconf_sources_recursive_unset): implement

	* mateconf/mateconf.c (mateconf_key_check): handle NULL key

	* mateconf/mateconf-sources.c (mateconf_sources_set_schema): allow NULL
	schema name

	* mateconf/MateConf.idl: add flags to recursive_unset

	* mateconf/mateconf.c (mateconf_engine_recursive_unset): Add this internal
	API to use in mateconftool etc.

2002-01-14  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-client.c (mateconf_client_get_full): fix segfault on
	missing entry

2002-01-12  Havoc Pennington  <hp@pobox.com>

	* examples/basic-mateconf-app.c (main): remove unused variable,
	fix from  Markus Bertheau

	* mateconf/mateconf-client.c (get): fix to always store the same
	semantic thing in the cache, regardless of whether
	user wanted the schema default (always pass use_default = TRUE
	to MateConfEngine)
	(mateconf_client_key_is_writable): avoid pointless copies if
	possible, to make this fast

	* mateconf/mateconf-schema.h: add padding to MateConfSchema

	* mateconf/mateconf-value.h: add padding to MateConfEntry

	* mateconf/mateconf-value.c (mateconf_entry_equal): new internal function

	* mateconf/mateconf-client.c: queue notifies to an idle handler, replace
	CacheEntry with MateConfEntry

	* mateconf/mateconf-client.h (struct _MateConfClientClass): add padding
	(struct _MateConfClient): add padding

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* tests/testmateconf.c (check_unset): fixes

2002-01-10  Havoc Pennington  <hp@pobox.com>

	* configure.in: version to 1.1.6
	(MATECONF_REVISION): increment

2002-01-08  Mark McLoughlin  <mark@skynet.ie>

	* backends/xml-dir.c:
	(struct _Dir): kill unused subdir_cache.
	(dir_sync): move incorrect assertion.

2002-01-07  Mark McLoughlin  <mark@skynet.ie>

	* mateconf/mateconf-database.c: (mateconf_database_new):
	* mateconf/mateconf.c: (mateconf_get_config_listener):
	* mateconf/mateconfd.c: (main): no need to explicitly activate CORBA objects,
	the RootPOA has the IMPLICIT_ACTIVATION policy.

2002-01-05  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-client.c (mateconf_client_cache): return bool for
	whether the value in the cache changed
	(notify_from_server_callback): short-circuit notification if a
	value hasn't actually changed. would be better to do this
	server-side, but that's a bit complicated for now.

	* mateconf/mateconf-value.c (mateconf_value_compare): new function,
	internal for now to avoid API addition

	* mateconf/mateconf-client.c (cache_entry_list_destructively): new
	static function
	(mateconf_client_all_entries): cache the requested entries, if
	we are monitoring the dir we get the values from.

	* mateconf/mateconf-value.c (mateconf_entry_copy): new function, internal
	for now to avoid API addition

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-client.c (mateconf_client_class_init): add
	MATECONF_DEBUG_TRACE_CLIENT setting, to debug spew about
	what's going on
	(mateconf_client_real_unreturned_error): also ignore
	MATECONF_ERROR_NO_WRITABLE_DATABASE since it's typically not
	an error to report.

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-client.c (mateconf_client_preload): allow preloading
	directories that are below directories being monitored, not just
	the exact directory being monitored.

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-database.c: support storing names of clients
	and new ConfigDatabase3
	(client_alive_predicate): fix backward predicate; we were removing
	all live clients, and keeping all dead clients. Doh! Doh! Doh!

	* mateconf/mateconf.c (mateconf_engine_notify_add): use
	add_listener_with_properties if available to send name of client
	to the server

	* mateconf/MateConf.idl: put in ConfigDatabase3 with a couple of new
	methods, just to make this file more horrible

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (main): if MATECONF_DEBUG_OUTPUT is set,
	enable mateconf_log_debug_messages

2002-01-03  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconftool.c (main): honor
	MATECONF_DISABLE_MAKEFILE_SCHEMA_INSTALL to do nothing for
	--makefile-install-mode

	* backends/xml-cache.c (cache_sync): fill in the error if we
	return a failure code.

2002-01-03  Havoc Pennington  <hp@pobox.com>

	* mateconf.m4.in: Add quotes to
	MATECONF_SCHEMA_FILE_DIR='$(sysconfdir)/mateconf/schemas' so that "make
	install sysconfdir=/foo" will work. May break some conceivable
	usage of this variable.

2001-12-22  Duarte Loreto <happyguy_pt@hotmail.com>

        * configure.in: Added portuguese (pt) to ALL_LINGUAS

2001-12-17  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-listeners.c: reference count the listeners, make a
	copy of listener lists and ref all listeners prior to doing the
	notifies, to minimize reentrancy screwups.

2001-12-17  Josh Barrow  <drleary@mac.com>

	* examples/basic-mateconf-app.c:
	s/GLIB_DISABLE_DEPRECATED/G_DISABLE_DEPRECATED/

2001-12-17  Darin Adler  <darin@bentspoon.com>

	* doc/mateconf/.cvsignore:
	* examples/.cvsignore:
	Update.

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (drop_old_clients): fix this

	* mateconf/mateconf-database.c (client_alive_predicate): fix spelling in
	log message

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (drop_old_clients): use
	CORBA_Object_non_existent() instead of ConfigListener_ping

	* mateconf/mateconf-database.c (client_alive_predicate): use
	CORBA_Object_non_existent() instead of ConfigListener_ping

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_engine_get_default): change to not start
	mateconfd immediately, so we can avoid starting it if
	we're just going to shut it down, and just generally do
	things lazily.
	(mateconf_shutdown_daemon): ignore NO_SERVER error code

	* backends/xml-dir.c (dir_get_value): always get schema name, not
	just if value is unset

	* mateconf/mateconfd.c (main): don't free logname since there are atexit
	handlers for now

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): don't look
	for a default value for the schema. Useless and adds a bit of
	inefficiency.

	* mateconf/mateconfd.c (main): set log handler for GLib
	(log_handler): mask extra flags out of log level

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): Fix this so
	Gergo's bug doesn't happen; hope no other semantic gets broken.

	* tests/testschemas.c: do some unbreaking, and put in a test that
	exposes Gergo's bug (failure to read schema name if a key is set)

	* tests/*: put in a big comment saying don't use these as example
	code since they are ugly-ass and broken.

Sun Dec  9 18:22:50 2001  Jonathan Blandford  <jrb@redhat.com>

	* mateconf.m4.in: Just when I think I understand the depths of the
	bogosity autoconf, something else comes up to impress me.

2001-12-09  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (mateconf_load_source_path): for fuck's
	sake - we've been reading the config source backward forever -
	this has never fricking worked. Dammit.

	* mateconf/mateconf-sources.c (mateconf_sources_set_value): make huge error
	message even more so
	(mateconf_sources_new_from_addresses): add debug log about config
	source writability

2001-12-08  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-client.c: fix some warnings

	* mateconf/mateconf-internals.h: try to fix gettext issues

2001-12-08  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_value_validate): take const arg

	* mateconf/mateconf.c: add internal API to check that MateConfEngine isn't
	being used "underneath" its owning MateConfClient, thus causing
	cache inconsistencies. Bad hack, yay.

	* mateconf/mateconf-client.c: Use new internal MateConfEngine "exclusive
	owner" API
	(mateconf_client_real_unreturned_error):
	silently ignore MATECONF_ERROR_OVERRIDDEN, because if the system
	is "locked down" most apps will probably call mateconf_client_set
	anyway.

	* mateconf/mateconf-client.h: fix comment to be accurate about how
	overlaps are handled

2001-12-06  Havoc Pennington  <hp@pobox.com>

	* autogen.sh: fix up check for gettext to do glib-gettext instead

	* configure.in: add gtk-doc checks and remove --docs-only
	since I don't think --docs-only works and don't see how it could.

	* doc/mateconf/Makefile.am: make makefile use snazzy canonical
	gtk-doc makefile from gtk

	* doc/mateconf/mateconf.sgml: make it reflect current reality a bit
	more.

	* examples/basic-mateconf-app.c: Update the example

	* examples/complex-mateconf-app.c: Move the old basic-mateconf-app.c
	into here.

	* mateconf/mateconf-listeners.c (mateconf_listeners_remove): remove
	g_return_if_fail on 0 ID, since that will probably end up
	happening from time to time

2001-12-04  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c (open_empty_locked_file): improve error

	* mateconf/mateconftool.c (main): complain about using --config-source
	but not --direct

	* backends/xml-backend.c (resolve_address): don't try to lock
	readonly sources; fixes the case where users install to a prefix
	that they can write to, was causing problems for people using
	build scripts.

	* mateconf/mateconfd.c (mateconf_set_exception): add missing value to case
	statement so we don't crash

	* examples/basic-mateconf-app.c: update comment to say that the
	example isn't really right anymore

	* mateconf/mateconftool.c (process_schema_list): make sure we have an
	element instead of a text node before we try to process it; kills
	a bunch of irritating warnings.

	* Makefile.am (SUBDIRS): remove standard-schemas subdir, should
	have long ago

2001-12-04  jacob berkman  <jacob@ximian.com>

	* mateconf/Makefile.am: add an explicit dependency on the built files

2001-12-03  Laszlo Peter  <laca@ireland.sun.com>

	* mateconf/mateconf-internals.c: oops, s/ulong_t/gulong/

2001-12-03  Laszlo Peter  <laca@ireland.sun.com>

	* mateconf/mateconf-internals.c (get_hostname): fix memory alignment
	problem on Solaris.

2001-12-02  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.h: put casts in the accessor macros, so they
	can accept void pointers. Doh.

2001-11-26  Havoc Pennington  <hp@redhat.com>

	* configure.in: version to 1.1.5

Tue Nov 20 15:37:58 2001  Owen Taylor  <otaylor@redhat.com>

	* mateconf/mateconf-client.c: Remove extraneous gobject/* includes.

2001-11-18  Miles Lane  <miles@megapathdsl.net>

	* mateconf/mateconf-client.h: replace include of gobject/gobject.h
	with glib-object.h, due to a change in gobject/gobject.h
	that forces an #error for all direct includes.
	This checkin was approved by Havoc.

2001-10-31  Havoc Pennington  <hp@pobox.com>

	* configure.in: bump version to 1.1.4, and set revision to 1

	* doc/mateconf/Makefile.am: fix this

	* doc/mateconf/mateconf.types: update

2001-10-31  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconftool.c: add --recursive-unset command line option

2001-10-31  Zbigniew Chyla  <cyba@mate.pl>

	* mateconf/mateconf-internals.c (mateconf_activate_server): Plug leak.

2001-10-30  Frederic Crozat  <fcrozat@mandrakesoft.com>

	* backends/val-encode.c: add missing headers to remove
	some warnings.

2001-10-29  jacob berkman  <jacob@ximian.com>

	* mateconf-editor/mateconf-editor.c (main): bind to GETTEXT_PACKAGE
	rather than PACKAGE

	* autogen.sh: call glib-gettextize

	* configure.in: set the GETTEXT_PACKAGE to be more like the mate
	1 one

2001-10-30  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: When probing for db3, check libdb-3.3, libdb-3.2 and
	  libdb-3.1 in addition to libdb-3 .

2001-10-16  Ross Golder  <ross@golder.org>

	* mateconf.spec.in: updated installation paths

2001-10-15  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconftool.c (main): don't create config daemon for
	--get-default-source
	(main): shut down daemon in makefile install mode

2001-10-14  Havoc Pennington  <hp@redhat.com>

	* configure.in: bump version, increment MATECONF_CURRENT
	and MATECONF_AGE due to API additions

2001-10-13  Jaka Mocnik  <jaka@gnu.org>

	* configure.in: allow for db3 headers/includes installed in a
	strange location.
	* backends/Makefile.am: add BDB_CFLAGS to INCLUDES.

2001-10-12  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* mateconf/mateconf.c (mateconf_engine_set): check UTF-8 validity here,
	instead of at the higher levels

	* mateconf/mateconf-value.c (mateconf_value_validate): new internal function

2001-10-12  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* tests/testschemas.c (check_schema_storage): add some UTF-8

	* tests/testpersistence.c: UTF-8 test

	* tests/testmateconf.c: add a UTF-8 test

	* mateconf/mateconf.c: UTF-8 checks, and some indentation

	* mateconf/mateconf-schema.c: UTF-8 checks

	* mateconf/mateconf-value.c: add some UTF-8 robustness

2001-10-12  Havoc Pennington  <hp@redhat.com>

        Merging from stable.

	* backends/xml-entry.c (entry_unset_value): don't translate "%s"

	* backends/xml-cache.c (cache_sync_foreach): printf string screwup

	* backends/xml-backend.c (query_value): fix printf string derived
	from untrusted data
	(query_value): ditto

	* configure.in: ensure we find the right bdb headers, if we find
	the library, error if not. Reported by Samuel Stringham

	* mateconf/mateconf-internals.c (mateconf_double_to_string): use g_snprintf
	not plain snprintf for Solaris 2.5.1 friendliness

	* doc/mateconf/tmpl/mateconf-value.sgml: fix docs to mention that pairs
	contain only primitive types; pointed out by Gregory Merchan

	* configure.in (BDB_CFLAGS): patch from Nils Philippsen to detect
	DB 3.1 if available.

2001-10-11  Havoc Pennington  <hp@redhat.com>

	* tests/testmateconf.c (check_utils): add test for the key
	escaper/unescaper thingy

	* mateconf/mateconf.c (mateconf_escape_key): new function
	(mateconf_unescape_key): new function

2001-10-10  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_valid_key): disallow non-ASCII characters
	in key names

2001-10-10  Havoc Pennington  <hp@redhat.com>

	* backends/xml-dir.c (dir_sync): fix to reflect bizarre behavior
	of xmlSaveFile() (it tries to unescape the filename as a URI,
	resulting in mangling my filename!)

2001-10-04  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c (mateconf_release_lock): do wack-ass juju
	to avoid .nfs23344534543 files appearing in the lock directory
	and causing warnings.

2001-10-04  Havoc Pennington  <hp@redhat.com>

	* backends/xml-dir.c (dir_fill_cache_from_doc): remove an
	extra warning

2001-10-04  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c (open_empty_locked_file): include
	strerror in the error message on lock failure

2001-10-01  Michael Meeks  <michael@ximian.com>

	* mateconf/mateconf.h: fix deprecated guard.

	* mateconf/mateconf.c (ctable_remove_by_client_id): remove unused.

2001-09-29  Carlos Perello Marin <carlos@mate-db.org>

	* mateconf/mateconf.h (MATECONF_DISABLE_DEPRECATED): closed a comment.

2001-09-28  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (main): fix write_byte_fd to always be initialized

	* mateconf/mateconf-internals.c (mateconf_get_current_lock_holder): read
	IOR file, not directory it's inside

2001-09-26  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.h: mark mateconf_init() deprecated

	* mateconf/Makefile.am (INCLUDES): libxml cflags

	* mateconf/mateconf.c (mateconf_init): make this a no-op, instead init on
	demand.

        Merge from stable

	* mateconf.m4.in: patch from Yanko Kaneti to have AM_MATECONF_SOURCE
	define a MATECONF_SCHEMA_FILE_DIR variable for the directory where
	schema files should be installed

	* mateconf/Makefile.am (install-data-local): don't install oafinfo

	* configure.in: don't generate oafinfo

	* mateconf/mateconftool.c (main): remove error message about running
	mateconfd while installing schemas, instead we'll fail to get a lock.

	* mateconf/mateconfd.c (main): redirect stdin/out/err to /dev/null
	instead of just closing them, saves MateCORBA some confusion

	* backends/xml-cache.c (cache_clean): change the "items remain in
	cache" message to DEBUG level

 	* mateconf/mateconf-internals.c (mateconf_get_lock_or_current_holder):
	rearrange locking to just use fcntl()

 	* mateconf/mateconf.c (mateconf_engine_connect): fix error message in
 	default daemon case

 	* mateconf/mateconfd.c (mateconf_main): reduce exit-after-unused timeout to
 	2 minutes

 	* mateconf/Makefile.am (INCLUDES): add -DMATECONF_BINDIR

 	* mateconf/mateconf-internals.c: delete nanosleep junk

2001-09-27  Havoc Pennington  <hp@redhat.com>

	* backends/Makefile.am (INCLUDES): srcdir != builddir fixage

	* configure.in: increment version for release
	(MATECORBA_IDL): look for matecorba-idl-2 using pkg-config

2001-09-17  Havoc Pennington  <hp@redhat.com>

	* configure.in: look for matecorba-idl-2 not matecorba-idl,
	add option to explicitly enable/disable bdb backend

2001-09-08  Wang Jian  <lark@linux.net.cn>

	* configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN.

2001-08-25  Darin Adler  <darin@bentspoon.com>

	* backends/Makefile.am:
	* examples/Makefile.am:
	* mateconf-editor/Makefile.am:
	* tests/Makefile.am:
	* wrappers/guile/Makefile.am:
	Got rid of extra unneeded -I directives.

	* examples/basic-mateconf-app.c:
	* examples/simple-controller.c:
	* examples/simple-view.c:
	Changed includes to use the normal <mateconf/*> format, because
	that is both better for examples, and works fine when building
	mateconf too, without any special -I trickery.

2001-08-19  Jesus Bravo Alvarez  <jba@pobox.com>

	* configure.in: Added gl (Galician) to ALL_LINGUAS.

2001-08-17  Maciej Stachowiak  <mjs@noisehavoc.org>

	* mateconf/mateconf-internals.c: (mateconf_handle_oaf_exception): Handle
	rename for ParseFailed exception.

2001-08-15  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* backends/xml-backend.c (x_shutdown): ditto
	(resolve_address): ditto

	* backends/bdb-backend.c (vtable_bdb_shutdown): ditto
	(vtable_bdb_resolve_address): ditto

	* mateconf/mateconf-internals.c (mateconf_load_source_path): ditto

	* mateconf/mateconfd.c (mateconf_server_load_sources): change to DEBUG
	level

	* backends/xml-backend.c (g_module_check_init): change a log
	message to DEBUG level

2001-08-14  Michael Meeks  <michael@ximian.com>

	* configure.in: depend on bonobo-activation >= 0.9.1

	* mateconf/Makefile.am: Update to install MATE_Config.server.

	* configure.in: update to MATE_Config.server

	* mateconf/Makefile.am (-DIID): rename to MATE_Config_Daemon
	to fit with the bonobo namespace guidelines.

	* mateconf/MATE_Config.server.in: update & indent.

2001-08-13  Marco Pesenti Gritti  <mpeseng@tin.it>

	* doc/mateconf/mateconf.sgml: small explanation about
	AM_MATECONF_SOURCE_2 macro

2001-08-13  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* mateconf/mateconf-internals.c (mateconf_load_source_path): patch from
	Adam Spiers to honor variables in include lines

	* mateconf/mateconf-database.c (notify_listeners_cb):
	indentation/whitespace changes

	* backends/xml-entry.c (entry_fill_from_node): Only print a
	warning if there's no schema name. Avoids spurious warnings
	on nodes that only have a schema name.

2001-08-13  Michael Meeks  <michael@ximian.com>

	* mateconf/mateconf-internals.c: remove nano_sleep; it's unused.

	* configure.in: remove nanosleep check.

2001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>

	* configure.in: remove the chmod on mateconf-config,
	the file has been removed
	* mateconf.m4.in: rename AM_MATECONF_SOURCE to AM_MATECONF_SOURCE_2
	to not break parallel installs

2001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>

	* mateconf/mateconf.m4.in: remove duplicate macro

2001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>

        * mateconf/mateconf.m4.in: New file. MATECONF_SCHEMA_CONFIG_SOURCE macro
	* configure.in: add mateconf.m4 to AC_OUTPUT
        * Makefile.am: add mateconf.m4 to EXTRA_DIST and install-data-local
	Setup a default mateconf source on make install.
        * galeon.spec.in: Distribute also the path file and
        the directories for the default source.
        * mateconf/Makefile.am: install the default path as "path" instead
        of "path.example". Add MATECONF_ETCDIR define.
        * mateconf/mateconftool.c: Add --get-default-source option.

2001-08-03  Martin Baulig  <baulig@suse.de>

	* mateconf/mateconfd.oafinfo.in: Renamed -> mateconfd.server.in.

	* Makefile.am: Install mateconfd.server into the correct dir
	for bonobo-activation.

2001-08-03  Abel Cheung <maddog@linux.org.hk>

	* configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.

2001-08-02  Havoc Pennington  <hp@pobox.com>

	* configure.in: version 1.1.1

	* autogen.sh: don't search for subdirs to autogen, that's just
	annoying if you have a make dist directory laying around

2001-08-01  Michael Meeks  <michael@ximian.com>

	* port to bonobo-activation from oaf.

2001-07-28  Yanko Kaneti  <yaneti@declera.com>

	* mateconf/mateconftool.c (main): s/all-pairs/all-entries/ in the error
	messages

2001-07-24  Darin Adler  <darin@bentspoon.com>

	Merge from stable.

	* acinclude.m4: Set BUILD_INCLUDED_LIBINTL for compatibility
	with newer versions of gettext.

2001-07-23  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* mateconf/mateconfd.c (main): don't warn about failure to create
	~/.mateconfd if EEXIST

	* mateconf/mateconf.c (mateconf_engine_all_entries): convert empty string
	to NULL

	* mateconf/mateconf-database.c
	(impl_ConfigDatabase2_all_entries_with_schema_name): don't give
	MateCORBA any NULL strings in the array, avoids a core dump

	* mateconf/mateconftool.c (list_pairs_in_dir): put a newline after the
	error message

2001-07-16  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* mateconf/mateconfd.c (main): add super-lame hack to
	pass currently-running mateconfd to oafd if oafd has lamely leaked it
	due to lame-assness

	* mateconf/mateconf-internals.c (mateconf_get_lock): fix leak of object
	reference belonging to server that held the lock
	(mateconf_get_lock_or_current_holder): add function to get current
	owner of a lock

	* mateconf/MateConf.idl: add subclass of ConfigDatabase for some
	exciting new hacky functions.

	So an extensible IDL interface would probably have simply passed
	XML messages. But then what's the point of an IDL interface, if
	it's just going to be parse_string() get_string()?  Hmm. Cosmic
	question. ;-)

	* mateconf/mateconf.c (try_to_contact_server): make the error on
	OAF-did-not-set-exception really, really verbose, and explicitly
	say "do not file a MateConf bug report." But with fixed OAF this
	shouldn't happen anymore anyhow.

	* mateconf/mateconf-sources.c (mateconf_sources_set_value): lengthy verbose
	error message about possible causes of lack of a config database.
	But my lame-ass hack above should keep this from happening so
	much.

2001-07-18  Anders Carlsson  <andersca@gnome.org>

	* configure.in: Remove mateconf-config and mateconf.m4 from AC_OUTPUT

2001-07-17  Anders Carlsson  <andersca@gnome.org>

	* Makefile.am: Remove mateconf-config and mateconf.m4 from EXTRA_DIST
	and do not try to install them.

	* mateconf.m4.in: Remove this file.

	* mateconf-config.in: Remove this file.

2001-07-17  Darin Adler  <darin@bentspoon.com>

	* mateconf/mateconf.c: (mateconf_postinit):
	Let CORBA generate the ID instead of providing one ourselves.

2001-07-17  Laszlo Peter  <laca@ireland.sun.com>

	* mateconf/Makefile.am: remove the -Wno-unused flag; not portable.

2001-07-14  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Added "nn" to ALL_LINGUAS.

2001-07-13  Darin Adler  <darin@bentspoon.com>

	Fix a bunch of warnings.

	* backends/bdb-backend.c: (vtable_bdb_set_value): Add const.
	* backends/bdb.c: (bdb_put_value): Add const.
	* backends/bdb.h: Add const.
	* backends/val-encode.c: (bdb_serialize_value): Add const.
	* backends/val-encode.h: Add const.
	* backends/xml-backend.c: (set_value): Add const.
	* backends/xml-dir.c: (dir_set_value): Add const.
	* backends/xml-dir.h: Add const.
	* backends/xml-entry.h: Add const.
	* mateconf/mateconf-backend.c: (mateconf_get_backend): Add const.
	* mateconf/mateconf-backend.h: Add const.
	* mateconf/mateconf-internals.c: (fill_corba_value_from_mateconf_value),
	(corba_value_from_mateconf_value),
	(fill_corba_schema_from_mateconf_schema),
	(corba_schema_from_mateconf_schema): Add const.
	* mateconf/mateconf-internals.h: Add const.
	* mateconf/mateconf-sources.c: (mateconf_source_set_value),
	(mateconf_sources_set_value): Add const.
	* mateconf/mateconf-sources.h: Add const.
	* mateconf/mateconf.c: (mateconf_engine_set): Add const.
	* mateconf/mateconf.h: Add const.

	* mateconf/mateconf-value.h:
	* mateconf/mateconf-value.c: (mateconf_value_set_list): Remove const,
	because const GSList * doesn't do anything useful.

	* backends/xml-entry.c: (entry_get_value), (entry_set_value),
	(entry_sync_if_needed), (entry_fill_from_node): Got rid of
	unused GValue * parameter to entry_sync_if_needed. Also, add
	const in one place.

	* mateconf/mateconftool.c: (main): Add cast.

2001-07-07  Peter Williams  <peter@beta.newton.cx>

	* backends/bdb*: s,uint32_t,guint32,g

2001-07-11  Michael Meeks  <michael@ximian.com>

	* mateconf/Makefile.am (CLEANFILES): add stamps so we can
	clean & make.

2001-07-03  Michael Meeks  <michael@ximian.com>

	* configure.in: add MATECORBA_IDL check.

2001-07-02  Carlos Perello Marin <carlos@mate-db.org>

	* mateconf/mateconf-client.c: /s/g_signal_newc/g_signal_new to reflect
	the changes at glib2 module. Now It compiles.

2001-06-29  Laszlo Peter  <laca@ireland.sun.com>

	* mateconf/Makefile.am: Fix the marshaller rules to avoid looping.

2001-06-20  Peter Williams  <peterw@ximian.com>

	* configure.in (ACLOCAL): Save flags to aclocal -- life
	easier when configure.in changes.

2001-06-15  Havoc Pennington  <hp@redhat.com>

	* configure.in: remove library versioning for
	no-longer-existing mateconf-gtk lib and Guile wrapper

2001-06-01  Peter Williams  <peterw@ximian.com>

	* configure.in: Check if DB3 headers are in db3/db.h as well.

	* acconfig.h: Add HAVE_DB3_DB_H

	* backends/bdb.c: #include config.h to get HAVE_DB3_DB_H

	* backends/bdb.h: Include the proper db.h

2001-05-11  Tomas O Connor  <tomas.oconnor@ireland.sun.com>

	* mateconf/mateconf-internals.h, mateconf/mateconf-value.h: move
	mateconf_value_new_from_string to make it a public API

2001-05-11  Havoc Pennington  <hp@redhat.com>

       Merge from stable.

	* mateconf/mateconfd.c (signal_handler): on SIGUSR1, enable/disable
	debug spew.

	* mateconf/mateconf-internals.c (mateconf_log): use a runtime variable to
	decide whether to log debug messages

	* mateconf/mateconf-database.c, mateconf/mateconfd.c, mateconf/mateconf-internals.c:
	Change some GCL_WARNING to GCL_DEBUG to chill out logging of
	fairly normal events

2001-05-09  Havoc Pennington  <hp@redhat.com>

	* mateconf/Makefile.am: remove testmateconfclient from build, should
	now be made nongraphical and stuck in tests/

	* Makefile.am (SUBDIRS): remove "wrappers" from subdirs

	* configure.in: remove Guile cruft, fix up pkg-config usage

	* acinclude.m4: Use the pkg-config macros, remove mate-common
	dependency. Requires CVS pkg-config, need a pkg-config release.
        (Since OAF doesn't build against MateCORBA1 anyway, I figured why not
	check this in too...)

2001-04-28  Murray Cumming  <murrayc@usa.net>

	* mateconf/mateconf-client.c, mateconf/mateconf-client.h,
          mateconf/mateconf-schema.c, mateconf/mateconf-schema.h,
          mateconf/mateconf-value.c, mateconf/mateconf-value.h,
          mateconf/mateconf.c, mateconf/mateconf.h: Use of const with function
          args. e.g. mateconf_value_copy(const MateConfValue* src).

2001-04-17  Michael Meeks  <michael@ximian.com>

	* mateconf/Makefile.am (dist-hook): don't distribute built
	sources.

Wed Apr 11 08:07:11 2001  George Lebl <jirka@5z.com>

	* mateconf/mateconf.c (mateconf_engine_unref): If unreffing the default engine
	  set the default_engine pointer to NULL

2001-04-02  Federico Mena Quintero  <federico@ximian.com>

	* acinclude.m4: "sourceforge.net", not "sourceforce.net".

2001-03-24  Anders Carlsson   <andersca@gnu.org>

	* configure.in (REBUILD): Add mateconf-2.0.pc to AC_OUTPUT files.

2001-03-23  Marius Andreiana  <mandreiana@yahoo.com>

	* configure.in: Added ro (Romanian) to ALL_LINGUAS

2001-03-18  Martin Baulig  <baulig@suse.de>

	* mateconf/gthreadpool.[ch]: Removed.
	* mateconf/mateconf-glib-private.h: Removed.
	* mateconf/mateconf-glib-public.h: Removed.

	* mateconf/mateconf-client.[ch]: Moved here from wrappers/gtk/
	and migrated to use GObject.

	* mateconf/testmateconfclient.c: Moved here from wrappers/gtk/.

	* mateconf/mateconf-internals.h
	(mateconf_CORBA_Object_hash, mateconf_CORBA_Object_equal):
	New static inline functions.

	* mateconf/mateconfmarshal.list: New file.

	* mateconf/mateconftool.c: Use libxml 2.

	* backends/xml-backend.c, backends/xml-cache.h,
	backends/xml-dir.c, backends/xml-dir.h,
	backends/xml-entry.c, backends/xml-entry.h: Use libxml 2.

	* wrappers/gtk/*: Moved to mateconf/.

2001-03-18  Martin Baulig  <baulig@suse.de>

	We're now on the MATE 2.0 platform.

	* configure.in: Set MAJOR_VERSION to 2, use pkg-config to
	check for stuff; GTK+ is now optional and only used for
	the examples; depend on MateCORBA2.

	* acinclude.m4: Add the contents of
	mate-common/macros2/mate-pkgconfig.m4 here.

	* Makefile.am: Install mateconf-2.0.pc.

	* mateconf-2.0.pc.in: New file.

2001-03-13  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/xml-entry.c: Merge from branch. Use xmlFree().
	* mateconf/mateconftool.c: Merge from branch. Use xmlFree() and
	don't free until after referencing stuff.

2001-03-12  Timur Bakeyev  <timur@gnu.org>

	* Makefile.am: Made warning printing a bit nicer.

2001-03-06  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* mateconf/mateconfd.c (mateconf_main): change the periodic timeout to 15
	minutes, to be a bit more aggressive about cleanup.
	(open_append_handle): add a timeout to close the
	saved_state filehandle after a short time, to avoid keeping
	descriptors open.
	(mateconfd_need_log_cleanup): new internal function used to control
	whether the periodic cleanup function needs to save a log file

2001-02-27  Havoc Pennington  <hp@redhat.com>

	* mateconf.spec.in: %define prefix %{_prefix} instead of @prefix@

2001-02-27  Havoc Pennington  <hp@redhat.com>

        Merge from stable.

	* mateconf/mateconfd.c (main): Close stdin/stdout/stderr. Also, set the
	log handler, so we don't need stdout/stderr to see GLib messages,
	they go to syslog.

	* mateconf/Makefile.am (INCLUDES): set the log domain

	* mateconf/mateconftool.c (recurse_subdir_list): the list contains full
	directory paths to start with, fix from Colm

	* mateconf/mateconfd.c (register_database): bugfix from Colm

	* mateconf/mateconf.c (lookup_engine): fix from Colm to check that we
	have an engines hash
	(mateconf_engine_get_for_address): improve warning message, fix from
	Colm
	(mateconf_engine_remove_dir): new function from Colm, this was
	implemented on the server side but somehow never exported.

	* mateconf/mateconf-database.c (mateconf_database_get_persistent_name): Fix
	from Colm to handle the case of empty databases (no sources).

2001-02-05  Havoc Pennington  <hp@redhat.com>

        File permissions fixes, problem pointed out by Steve Fox.

	* backends/xml-dir.c (dir_sync): chmod() the XML file after
	xmlSaveFile creates it

	* mateconf/mateconfd.c (main): following Stevens advice for daemons, we
	were calling umask(0), change to umask(022). We need a predictable
	umask, but a safer one would be good since this is a per-user
	daemon not a system daemon.

	* backends/dir-utils.c (mode_t_to_mode): make this more portable,
	for paranoia

	* backends/xml-dir.c (dir_load): We were getting directory
	permissions from the %mateconf.xml file, instead of from the XML root
	directory. Fix.

2001-01-23  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

	* configure.in: Add 'sk' to ALL_LINGUAS

2001-01-21  Havoc Pennington  <hp@pobox.com>

        * configure.in: change version to 1.1

        Sync from stable

	* backends/xml-entry.c (schema_subnode_extract_data): don't warn
	about <local_schema> with no locale field, because that's normal
	for the default case
	(schema_node_extract_value): use <local_schema> with no locale
	if it exists and we don't find anything better

	* tests/testschemas.c (check_schema_use): fix indentation and mem
	leaks

	* mateconf/mateconftool.c (do_get): print default value from schema

2000-12-19  Rebecca Schulman  <rebecka@eazel.com>

	* mateconf/mateconfd.c: (mateconf_server_load_sources):
	Added a return value to a g_slist_append that would
	cause a segfault in some cases.

Fri Dec 01 00:54:33 2000  George Lebl <jirka@5z.com>

	* mateconf/mateconf-locale.c (mateconf_split_locale):  When inserting "C"
	  into a list, dup it first to avoid a possible crash later.

2000-11-30  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_engine_unset): Fix dereference of NULL GError**

2000-11-20  Havoc Pennington  <hp@redhat.com>

	* doc/mateconf/Makefile.am: Fix "make scan" to actually work, so
	you can build the docs

2000-11-11  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_entry_set_is_writable): Add this
	function

2000-11-05  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-glib.c, mateconf/mateconf-glib-private.h: Remove the
	GMarkup and Unicode stuff, turned out to be unnecessary.
	Left only GError.

2000-11-05  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (parse_listener_entry): fix strtoul error
	checking

	* mateconf/mateconf-internals.c (mateconf_string_to_gulong): Fix error
	checking on strtoul

2000-11-05  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-glib.c (g_propagate_error): Sync from GLib,
	should fix one very minor memory leak in MateConf

2000-10-31  Almer S. Tigelaar  <almer1@dds.nl>

	* configure.in: Add 'nl' to ALL_LINGUAS

2000-10-26  Havoc Pennington  <hp@pobox.com>

	* configure.in: Bump version to 0.11

2000-10-25  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/mateconf-client.c: remove get_nocopy, since it can't
	be implemented since we don't cache everything. Oops.

2000-10-16  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/mateconf-client.c
	(mateconf_client_real_unreturned_error): implement default error
	handler that prints to stderr
	(mateconf_client_key_is_writable): hmm, this function didn't compile
	very cleanly

	* wrappers/gtk/mateconf-client.h: Remove the ParentWindowFunc
	concept. Two reasons: a) it was really hard for users to implement
	such a thing, and if they did then implementing an error dialog
	function was pretty trivial also b) decided to make the default
	error handler use fprintf(stderr) since MateConfClient is going to
	move into the main MateConf library and thus not depend on GTK.

	So, this is mild API breakage (but hopefully no one was using the
	feature anyway).

2000-10-10  Christophe Merlet  <christophe@merlet.net>

	* backends/Makefile.am: Added README.bdb in EXTRA_DIST.

	* mateconf/mateconf-glib.c: Corrected mispelling string.

2000-10-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_value_to_string): fix segfault when
	pair contains unset car or cdr
	(mateconf_value_set_car): allow setting car or cdr of a pair to
	NULL. I'm not sure if this is the normal thing in the code
	right now, but, hmm.

	* mateconf/mateconf-sources.c (mateconf_sources_all_entries): fix
	cut-and-paste error resulting in NULL pointer dereference.

2000-10-08  Havoc Pennington  <hp@pobox.com>

        mateconfd should now exit when not in use.

	* mateconf/mateconf-database.c (mateconf_database_drop_dead_listeners):
	function to drop any listeners with dead clients.

	* mateconf/mateconfd.c (drop_old_databases): before checking
	whether the listener count is 0, clean up listeners belonging
	to dead clients.

	* mateconf/mateconf-listeners.c (mateconf_listeners_remove_if): New
	function removes listeners matching some predicate
	(ltable_remove): fix some indentation

2000-10-08  Havoc Pennington  <hp@pobox.com>

	* configure.in: version to 0.10

2000-10-06  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/mateconf-client.c: indentation/formatting

	* mateconf/mateconfd.c (parse_listener_entry): extra paranoia error
	check. Also, make log messages level DEBUG, not WARNING.

2000-10-06  Havoc Pennington  <hp@pobox.com>

	* configure.in: check for flockfile.
	Check for BDB, but don't make it fatal; do an AM_CONDITIONAL and
	don't build the BDB backend if it's not found.

	* mateconf/mateconfd.c (main): unregister with OAF after all shutdown is
	complete.
	(signal_handler): do the full, clean shutdown on SIGTERM; should
	reduce the damage caused by those pesky killall mateconfd scripts ;-)
	Try to do the same on FPE and PIPE, though it's not likely to
	work, it doesn't hurt to try.
	(logfile_read): rewrite the logfile reading code; somewhat more
	robust, possibly.

	* mateconf/mateconf-database.c, mateconf/mateconfd.c: Make all CORBA
	implementation return immediately with an error if we're currently
	shutting down. We'd just unregister with OAF, or deactivate our
	objects, but then another mateconfd would start up before we finish
	cleaning up our stuff and introduce a mess of race
	conditions. Instead clients will automatically retry lots of times
	if they get the IN_SHUTDOWN error. Actually this possibly
	shouldn't even happen, since we aren't normally in the main loop
	once we start to shut down, I don't think - not sure.

	* mateconf/mateconfd.c (mateconf_set_exception): add ConfigInShutdown

	* mateconf/MateConf.idl: add ConfigInShutdown error

	* mateconf/mateconf.c (corba_errno_to_mateconf_errno): add ConfigInShutdown

	* mateconf/mateconf-error.h: two error codes had the same integer value.
	Also, add MATECONF_ERROR_IN_SHUTDOWN

	* mateconf/mateconfd.c (mateconfd_in_shutdown): Add a flag
	to indicate we're shutting down; all operations will
	return an error at that point.

	* mateconf/mateconf.c (mateconf_server_broken): treat ConfigInShutdown
	as a broken server.

2000-10-06  Colm Smyth  <colm.smyth@sun.com>

	* Committed BerkeleyDB back-end:-

	  backends/bdb.c backends/bdb.h backends/bdb-backend.c
	  backends/val-encode.c backends/val-encode.h
	  backends/dir-utils.c backends/dir-utils.h backends/README.bdb

	* Changes to make MateConf build with an ISO C compiler:-

	  configure.in backends/Makefile.am backends/xml-cache.c
	  mateconf/mateconf-database.c mateconf/mateconf-sources.c mateconf/mateconfd.c
	  tests/testchangeset.c tests/testencode.c tests/testmateconf.c
	  tests/testlisteners.c tests/testpersistence.c
	  tests/testschemas.c


2000-10-03  Robin * Slomkowski  <rslomkow@eazel.com>

	* mateconf.spec.in:/etc/etc is not a directory
	OK I am less foolish now

2000-10-03  Robin * Slomkowski  <rslomkow@eazel.com>

	* mateconf.spec.in: updated the spec file again
	if you are interested we are trying to track it
	http://tinderbox.eazel.com

2000-10-03  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (close_append_handle): set invalid FILE* to
	NULL afterward, avoid segfaults.

	* Makefile.am: add install-schemas target here which recurses
	into standard-schemas and runs install-schemas

	* standard-schemas/Makefile.am (install-schemas): Move schema
	installation to a special target install-schemas which must be
	run manually _after_ make install. This should resolve problems
	people are having with RPMs and such. However it means spec files
	have to explicitly add a 'make install-schemas'

2000-09-29  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (drop_all_caches): don't spew warnings here for
	now.
	(invalidate_cached_values): no spew
	(update_listener): remove more spew

2000-09-29  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (ctable_reinstall): we were overwriting the hash
	key before trying to remove the old server ID from the hash, so
	the removal failed, leading to an assertion failure later (this
	hopefully fixes one of the bugs reported by Ramiro, if not then
	I'll keep looking)

2000-09-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-locale.c (mateconf_locale_cache_expire): fix a
	static initialization with non-const value

2000-09-25  Havoc Pennington  <hp@pobox.com>

        Bug fixes and portability issues reported by Colm Smyth

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): fix NULL
	pointer dereference

        * s/__FUNCTION__/G_GNUC_FUNCTION/g;

	* configure.in: Add check for GCC before using -Wall (can't
	believe no one has _ever_ tried building MateConf without gcc,
	but it appears so...)

	* mateconf/mateconftool.c: use N_ not _ with static strings.

	* tests/testschemas.c: Don't include locale.h

	* mateconf/mateconf-internals.h: Remove some of the #defines from
	the non-ENABLE_NLS case.

2000-09-24  Havoc Pennington  <hp@pobox.com>

	* NEWS: Put release notes for 0.9 in here.

2000-09-24  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_main): With debugging turned on, use
	obscenely short timeout for periodic cleanups, to ensure bugs
	get triggered.

	* mateconf/mateconf-database.c (impl_ConfigDatabase_all_dirs): Set
	_release to TRUE for sequences
	(impl_ConfigDatabase_all_entries): ditto

	* mateconf/mateconfd.c (half_hour_timeout): exit only if client count is
	0 after dropping all dead clients.

	* mateconf/mateconf-database.c (impl_ConfigDatabase_all_dirs): Don't
	put memory in the out param if we set an exception
	(impl_ConfigDatabase_all_entries): Ditto

	* backends/xml-dir.c (dir_all_subdirs): Fix a memory leak

	* mateconf/mateconfd.c: Implement client list logging

	* mateconf/mateconf.c: Add self to the server's client list
	whenever we get a new server objref

2000-09-23  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c: Implement add/remove client methods;
	still need to log these to disk, and on restart tell the
	logged clients to drop their caches.

	* mateconf/MateConf.idl: Add methods on ConfigServer to maintain
	a list of active clients; this allows us to invalidate client
	caches on daemon restart.

2000-09-21  Havoc Pennington  <hp@pobox.com>

	* configure.in: remove intl/Makefile

	* Makefile.am: remove intl subdir

2000-09-17  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c: Update to reflect IDL change

	* mateconf/MateConf.idl: Change invalidate_cached_values() to take
	multiple keys to invalidate; better efficiency that way

2000-09-17  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-database.c: Add new methods on ConfigDatabase

	* mateconf/mateconf.c: Add new methods on ConfigListener, but they
	do nothing at the moment

	* mateconf/MateConf.idl: Add some methods to ConfigListener to tell
	clients when they need to drop cached values Add batch_lookup()
	and batch_change() methods to ConfigDatabase so we can implement
	them later

2000-09-16  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_engine_key_is_writable): And actually
	implement it here. Doh.

	* wrappers/gtk/mateconf-client.c (mateconf_client_key_is_writable): Gee,
	forgot to actually implement this function after implementing all
	the backend work for it...

	* mateconf/mateconf.c (corba_errno_to_mateconf_errno): add
	NO_WRITABLE_DATABASE handling here also

	* mateconf/mateconfd.c (mateconf_set_exception): handle
	NO_WRITABLE_DATABASE error

	* mateconf/MateConf.idl: Add NoWritableDatabase to error type enum

	* wrappers/gtk/testmateconfclient.c (entry_attached_to): Update
	to properly handle writability

	* examples/simple-controller.c (main): set entry sensitivity
	properly

	* examples/basic-mateconf-app.c (main): Remove ref/sink and destroy,
	just use plain refcounting
	(create_config_entry): Set entry sensitivity according to key
	writability

	* wrappers/gtk/mateconf-client.c (mateconf_client_finalize): Move all
	cleanup to finalize, remove destroy handler

2000-09-16  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/tmpl/mateconf-value.sgml: Update some docs

	* wrappers/gtk/mateconf-client.c (notify_listeners_callback): Update
	to reflect new callback signature for MateConfClientNotifyFunc

	* mateconf/mateconf-sources.c (mateconf_sources_set_value): Make it an
	error to if we try to write a value for a non-writable source.
	This is new; it used to silently fail.

	* mateconf/mateconf-database.c (mateconf_database_notify_listeners): Add
	is_writable here

	* mateconf/MateConf.idl: Add writable flag to notification

	* mateconf/mateconf.h: Update MateConfNotifyFunc to have fewer args, and
	a MateConfEntry is just passed in (since I was going to have
	to add an is_writable arg, and passing in a MateConfEntry
	gives us future extensibility against this sort of thing)
	BREAKS USER CODE, many apologies.

	* wrappers/gtk/mateconf-client.c (mateconf_client_get_entry): Update
	to reflect MateConfEngine changes

	* mateconf/mateconf.c (mateconf_engine_all_entries): Get the writability
	stuff
	(mateconf_engine_get_full): rename to mateconf_value_get_entry
	and return an entry; drop the is_default argument.

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): Implement
	finding out if a value is writable
	(mateconf_sources_all_entries): Implement setting is_writable
	flag on the entries

	* mateconf/mateconf-value.c (mateconf_entry_new_nocopy): Default to
	the entry being writable

	* mateconf/mateconf-database.c: Change to match IDL changes

	* mateconf/MateConf.idl (lookup_with_locale): Add out param for
	writability
	(all_entries): Add out param for writability

	* mateconf/mateconf-value.h: Add is_writable field to MateConfEntry
	(mateconf_entry_get_is_writable): Add this

	* wrappers/gtk/mateconf-client.c (mateconf_client_key_is_writable): Add
	the matching stub here

	* mateconf/mateconf.c (mateconf_engine_key_is_writable): Go ahead and add
	this function so we can implement it later, but it always returns
	TRUE at the moment.

	* mateconf/mateconf-changeset.c (mateconf_change_set_set_user_data,
	mateconf_change_set_get_user_data): Add user data for language
	bindings

	* mateconf/mateconf.c (mateconf_engine_set_user_data,
	mateconf_engine_get_user_data): Add user data for language
	bindings

2000-09-15  Havoc Pennington  <hp@redhat.com>

	* s/mateconf_concat_key_and_dir/mateconf_concat_dir_and_key/g

2000-09-14  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_engine_all_dirs): Update to
	return fully qualified name in MateConfEntry
	(mateconf_engine_all_entries): missed the local case
	earlier when adapting it to use fully-qualified name

	* acinclude.m4: Add never-use-included-gettext macro

	* configure.in: Bump version to 0.9

2000-09-14  Darin Adler  <darin@eazel.com>

	* backends/xml-dir.c: (dir_load): Fixed code that set up file mode
	to always be 0600 to instead inherit from parent directory as
	intended.

	* mateconf/mateconf-sources.c: (mateconf_sources_new_from_addresses):
	Removed unused variable.
	* tests/.cvsignore: Added some generated files.

2000-09-13  Havoc Pennington  <hp@redhat.com>

	* More renaming:

	s/mateconf_meta_info_schema/mateconf_meta_info_get_schema/g;
	s/mateconf_meta_info_mod_user/mateconf_meta_info_get_mod_user/g;
	s/mateconf_meta_info_mod_time/mateconf_meta_info_mod_time/g;

	s/mateconf_entry_key/mateconf_entry_get_key/g;
	s/mateconf_entry_value/mateconf_entry_get_value/g;
	s/mateconf_entry_schema_name/mateconf_entry_get_schema_name/g;
	s/mateconf_entry_is_default/mateconf_entry_get_is_default/g;

	s/mateconf_value_string/mateconf_value_get_string/g;
	s/mateconf_value_int/mateconf_value_get_int/g;
	s/mateconf_value_float/mateconf_value_get_float/g;
	s/mateconf_value_list_type/mateconf_value_get_list_type/g;
	s/mateconf_value_list/mateconf_value_get_list/g;
	s/mateconf_value_car/mateconf_value_get_car/g;
	s/mateconf_value_cdr/mateconf_value_get_cdr/g;
	s/mateconf_value_bool/mateconf_value_get_bool/g;
	s/mateconf_value_schema/mateconf_value_get_schema/g;

	s/mateconf_schema_type/mateconf_schema_get_type/g;
	s/mateconf_schema_list_type/mateconf_schema_get_list_type/g;
	s/mateconf_schema_car_type/mateconf_schema_get_car_type/g;
	s/mateconf_schema_cdr_type/mateconf_schema_get_cdr_type/g;
	s/mateconf_schema_locale/mateconf_schema_get_locale/g;
	s/mateconf_schema_short_desc/mateconf_schema_get_short_desc/g;
	s/mateconf_schema_long_desc/mateconf_schema_get_long_desc/g;
	s/mateconf_schema_owner/mateconf_schema_get_owner/g;
	s/mateconf_schema_default_value/mateconf_schema_get_default_value/g;

2000-09-13  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_engine_all_entries): Put full key in
	MateConfEntry (but we only get the relative key over the
	CORBA wire)

	* wrappers/gtk/mateconf-client.c (cache_pairs_in_dir): Change to
	reflect fact that MateConfEntry now contains full key

	* mateconf/mateconftool.c (list_pairs_in_dir): Change to reflect full
	key in MateConfEntry

	* doc/mateconf/tmpl/mateconf-value.sgml: updated MateConfEntry docs on this
	matter.

2000-09-11  Havoc Pennington  <hp@redhat.com>

	* Actually use gettext. Involves checking in configure.in, linking
	to it in Makefile.am, making _() do the right thing.

	I have gettext in libc instead of -lintl though, so I'm not going
	to see Makefile bugs - maybe someone can check on it.

2000-09-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_entry_new): New function
	(mateconf_entry_set_value): New function

2000-09-10  Havoc Pennington  <hp@pobox.com>

	* Another rename fest:

	#!/usr/bin/perl -pi.bak

	## note that this regexp could affect non-MateConf stuff
	s/writeable/writable/g;

	s/mateconf_meta_info_destroy/mateconf_meta_info_free/g;
	s/mateconf_database_destroy/mateconf_database_free/g;
	s/mateconf_source_destroy/mateconf_source_free/g;
	s/mateconf_sources_destroy/mateconf_sources_free/g;
	s/mateconf_locale_cache_destroy/mateconf_locale_cache_free/g;

2000-09-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_value_new): don't use
	MATECONF_INTERNAL_VALUE_TYPE_VALID

	* mateconf/mateconf-internals.h, mateconf/mateconf-error.h:
	(mateconf_error_new)
	(mateconf_set_error)
	(mateconf_compose_errors):
	Move these to mateconf-internals.h, now they aren't needed due
	to GError

	* mateconf/mateconf.c: Get rid of MateConfEnginePrivate, just define struct
	_MateConfEngine in the private .c file, like a sane person.

	* mateconf/mateconf-value.h: remove MATECONF_INTERNAL_VALUE_TYPE_VALID

	* mateconf/mateconf.h: #ifdef the MATE module system and popt stuff for
	MATE 1.4. This stuff is tied to MATE 2.0 and still unstable in
	that respect; should not be used before MATE 2.0
	(mateconf_get_string): forgot to rename this earlier

2000-09-09  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (half_hour_timeout): Convert one_hour_timeout to
	half_hour_timeout() to more agressively prune resources. In the
	half hour timeout, if we have no connected listeners on any
	database, shut down mateconfd. (We might want to make the timeout
	length configurable; and for laptops people might not want any
	timeouts at all, since it will wake up their laptop.)
	(fast_cleanup): Remove comment about getting incoming connections
	after shutting things down; this is no longer a problem because
	we deactivate databases in the POA

2000-09-09  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am (libmateconf_1_la_SOURCES): Move mateconf-backend.h
	here, I don't see why it was in the public headers


	Throughout, rename a bunch of stuff:

	#!/usr/bin/perl -pi.bak

	s/mateconf_notify_add/mateconf_engine_notify_add/g;
	s/mateconf_notify_remove/mateconf_engine_notify_remove/g;
	s/mateconf_get_without_default/mateconf_engine_get_without_default/g;
	s/mateconf_get_full/mateconf_engine_get_full/g;
	s/mateconf_get_with_locale/mateconf_engine_get_with_locale/g;
	s/mateconf_get_default_from_schema/mateconf_engine_get_default_from_schema/g;
	s/mateconf_unset/mateconf_engine_unset/g;
	s/mateconf_associate_schema/mateconf_engine_associate_schema/g;
	s/mateconf_all_entries/mateconf_engine_all_entries/g;
	s/mateconf_all_dirs/mateconf_engine_all_dirs/g;
	s/mateconf_suggest_sync/mateconf_engine_suggest_sync/g;
	s/mateconf_dir_exists/mateconf_engine_dir_exists/g;
	s/mateconf_get_float/mateconf_engine_get_float/g;
	s/mateconf_get_int/mateconf_engine_get_int/g;
	s/mateconf_get_bool/mateconf_engine_get_bool/g;
	s/mateconf_get_schema/mateconf_engine_get_schema/g;
	s/mateconf_get_list/mateconf_engine_get_list/g;
	s/mateconf_get_pair/mateconf_engine_get_pair/g;
	s/mateconf_set_float/mateconf_engine_set_float/g;
	s/mateconf_set_int/mateconf_engine_set_int/g;
	s/mateconf_set_string/mateconf_engine_set_string/g;
	s/mateconf_set_bool/mateconf_engine_set_bool/g;
	s/mateconf_set_schema/mateconf_engine_set_schema/g;
	s/mateconf_set_list/mateconf_engine_set_list/g;
	s/mateconf_set_pair/mateconf_engine_set_pair/g;

	s/mateconf_commit_change_set/mateconf_engine_commit_change_set/g;
	s/mateconf_create_reverse_change_set/mateconf_engine_reverse_change_set/g;
	s/mateconf_create_change_set_from_currentv/mateconf_engine_change_set_from_currentv/g;
	s/mateconf_create_change_set_from_current/mateconf_engine_change_set_from_current/g;

	s/mateconf_schema_destroy/mateconf_schema_free/g;
	s/mateconf_value_destroy/mateconf_value_free/g;
	s/mateconf_listeners_destroy/mateconf_listeners_free/g;
	s/mateconf_entry_destroy/mateconf_entry_free/g;

	s/mateconf_client_create_change_set_from_current/mateconf_client_change_set_from_current/g;
	s/mateconf_client_create_change_set_from_currentv/mateconf_client_change_set_from_currentv/g;
	s/mateconf_client_create_reverse_change_set/mateconf_client_reverse_change_set/g;

	## These require some care, since they can be the prefix for unrelated stuff.
	s/mateconf_get /mateconf_engine_get /g;
	s/mateconf_set /mateconf_engine_set /g;

	s/mateconf_get\(/mateconf_engine_get (/g;
	s/mateconf_set\(/mateconf_engine_set (/g;


2000-09-09  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-database.c (mateconf_database_add_listener)
	(mateconf_database_remove_listener): immediately log the addition
	or removal to the saved state file, which is now in a streaming
	format
	(mateconf_database_get_persistent_name): abstraction for getting
	the address of the database, of "def" if it's the default one
	(mateconf_database_log_listeners_to_string): replaces conversion
	from database to markup node; no longer using GMarkup here

	* mateconf/mateconf-listeners.c (mateconf_listeners_get_data):
	new function to get listener data for a connection ID

	* mateconf/mateconfd.c (one_hour_timeout): save the logfile in the
	timeout, to compress it since we have just been appending over the
	last hour
	(logfile_read, logfile_save): rewrite to use new format, not the
	GMarkup format

	* mateconf/mateconf-internals.c (mateconf_object_to_string): Add
	this function

2000-09-04  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/Makefile.am (LDFLAGS): libs have been renamed

2000-08-31  Havoc Pennington  <hp@redhat.com>

	* Massive rename from MateConfError to GError

	* mateconf/mateconf-error.h, mateconf/mateconf-error.c: Remove
	redundant-with-GError stuff; add MATECONF_ERROR domain
	macro

2000-08-30  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (restore_listener): use mateconf_string_to_gulong
	instead of atoi for reading a ulong out of the log file

	* mateconf/mateconf.c (mateconf_engine_get_default): assign to the
	default_engine variable, so we don't keep creating new default
	engines.

	* mateconf/mateconf-listeners.c (ltable_next_cnxn): Start "uniqueness
	bits" at a different location depending on pid

2000-08-30  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c: Change client to new system (use object
	references to ConfigDatabase instead of the integer context ID).

	* mateconf/mateconf-backend.c: Fix path to uninstalled modules, and
	put the whole uninstalled modules thing in MATECONF_ENABLE_DEBUG

	* mateconf/mateconf-database.c: add some missing includes, and fix
	a typo bug

	* mateconf/mateconfd.c: CORBA_Object_duplicate() the ConfigDatabase
	objrefs before passing them back out to MateCORBA. Remove
	some bogus assertions.

	* TODO: Updates, added notes from Colm

2000-08-30  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c, mateconf/mateconf-database.h, mateconf/mateconf-database.c,
	mateconf/mateconfd.h: Completed the server-side implementation of
	the new system where a ConfigServer_Context becomes
	a ConfigDatabase object. Client side doesn't even compile
	yet. Will get it compiling in the morning.

2000-08-29  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c: Add logfile load/save; not really working
	yet.

	* mateconf/mateconf.c: Remove reinstall-listeners stuff and implement
	update_listeners() from the server. Most of this is about to get
	removed again when I fix context ID's to be object references
	instead.

	* mateconf/mateconf-listeners.c: #include <string.h>,
	store full key name on tree nodes, add connection ID to
	foreach callback

	* mateconf/MateConf.idl: Add update_listener method on ConfigListener,
	so the daemon can tell a client that a listener's ID has changed

	* mateconf/mateconf-glib-public.h,
	mateconf/mateconf-glib-private.h,
	mateconf/mateconf-glib.c: Put in gmarkup.[hc], gunicode stuff,
	and gerror.[hc] from GLib 2.0. The Unicode char tables are
	causing big bloat; may be able to get rid of them
	before MATE 1.4 if we are lucky.

2000-08-27  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-glib-public.h,
	mateconf/mateconf-glib-private.h,
	mateconf/mateconf-glib.c: Place to put cut-and-paste code from
	GLib 2.0

	* mateconf/mateconf.c (notify): Only print warnings on bogus notifies
	if debugging is enabled; without debugging, silently ignore
	the notifies, it just means mateconfd got confused.

2000-08-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-listeners.c (mateconf_listeners_foreach): Add a foreach
	function, will use that to dump the daemon's listener table to
	a file.

2000-08-26  Havoc Pennington  <hp@pobox.com>

	* TODO: Created a TODO file

2000-08-09  Havoc Pennington  <hp@pobox.com>

	* configure.in: 0.8

	* fixes from Ralph Loader for DESTDIR support (hopefully
	got them all in)

	* mateconf.spec: fix description (the G is just a G, doesn't stand
	for anything)

2000-08-09  Robin * Slomkowski  <rslomkow@eazel.com>

	* mateconf.spec.in: made it so the specfile worked for rpm builds

2000-08-07  Robin * Slomkowski  <rslomkow@eazel.com>

	* mateconf/Makefile.am: use top_build instead of build
	and some beautification.

Wed Aug 02 18:11:37 2000  George Lebl <jirka@5z.com>

	* backends/xml-entry.c (node_set_schema_value) (node_unset_value)
	  (schema_node_extract_value):  Set the list_type and car_type and
	  cdr_type from the schema.  Unset these on clear.  Also get these
	  on extraction.

	* mateconf/MateConf.idl:  Add value_list_type, value_car_type,
	  value_cdr_type to the ConfigSchema struct

	* mateconf/mateconf-internals.c (fill_corba_schema_from_mateconf_schema)
	  (mateconf_schema_from_corba_schema) (corba_type_from_mateconf_type)
	  (mateconf_type_from_corba_type) (mateconf_string_to_double)
	  (mateconf_double_to_string) (mateconf_unquote_string_inplace)
	  (mateconf_value_decode) (mateconf_value_encode):  When passing schema
	  to/from corba, pass the list_type and car/cdr_type fields as well.
	  When converting to/from doubles guard the printf/scanf with
	  setlocale(LC_NUMERIC, "C").  When encoding/decoding the lists
	  encode their type, for schemas encode/decode the list/car/cdr_type

	* mateconf/mateconf-internals.h:  For mateconf_value_new_list_from_string
	  and mateconf_value_new_pair_from_string add an MateConfError field

	* mateconf/mateconf-schema.[ch] (mateconf_schema_new) (mateconf_schema_copy):
	  Add the list/car/cdr_type fields to the schema structure and
	  support it when creating and copying.  Also add accessors for
	  these fields.

	* mateconf/mateconf-value.c (escape_string)
	  (mateconf_value_new_list_from_string)
	  (mateconf_value_new_pair_from_string)
	  (mateconf_value_to_string):  Implement the list and pair_from_string
	  functions.  In to_string escape the characters that would cause
	  problems.

	* mateconf/mateconf.c (mateconf_unique_key): use GPOINTER_TO_UINT to
	  avoid warning on alpha

	* mateconf/mateconftool.c (do_get) (do_set) (do_set_schema)
	  (fill_default_from_string) (extract_global_info)
	  (process_locale_info) (process_schema):  Add support for
	  setting lists and pairs by supporting the list/car/cdr_type.
	  Add these to setting schemas as well.  Also add support for
	  these in reading/setting schemas from .schema files and support
	  defaults of lists/pairs using this information.

2000-07-27  Havoc Pennington  <hp@redhat.com>

	* backends/Makefile.am (backenddir): backenddir is
	pkglibdir/MAJOR_VERSION, not plain VERSION

	* configure.in: Bump to 0.7

Wed Jul 26 12:40:45 2000  George Lebl <jirka@5z.com>

	* mateconf/mateconf.c (mateconf_key_is_below):  Make sure that the segment
	  above is a complete directory and not just partial directory.
	  so that /foo is not taken as above /foobar/blah

Tue Jul 25 23:48:24 2000  George Lebl <jirka@5z.com>

	* wrappers/gtk/mateconf-client.c:  || doesn't mean && :).  It would
	  consider as an above directory every directory that had a notify_id

2000-07-25  James Henstridge  <james@daa.com.au>

	* Makefile.am, mateconf/Makefile.am: make relative symlinks rather than
	absolute path symlinks.  Again to help packagers.

	* configure.in (MATECONF_CONFIG_SOURCE): don't use
	EXPANDED_SYSCONFDIR hack.  Instead just escape the dollar sign in
	${sysconfdir}.  This fixes build root installs used when building
	packages.

Mon Jul 24 16:39:01 2000  George Lebl <jirka@5z.com>

	* wrappers/gtk/mateconf-client.[ch]: Allow adding overlapping
	  subdirectories.  What happens is that the real mateconf notify
	  is not added for subdirectories.  When directories are added
	  or removed the hash is traversed and fixed up.  This is
	  done in a simple and incredibly inefficent manner and needs
	  to be fixed.  Also this change adds an "err" argument to
	  the _remove_dir call as errors can now happen.  Also
	  fix a minor warning by casting.

	* wrappers/gtk/testmateconfclient.c: Add some testing of overlapping
	  directories.  Add buttons to add/remove the main directory and
	  the subdirectory.  This way you can see if things get proper
	  notifications.

2000-07-24  Yukihiro Nakai <nakai@mate.gr.jp>

	* configure.in: Add Japanese (ja)

2000-07-21  Robin * Slomkowski  <rslomkow@eazel.com>

	* mateconf.spec.in: just fixed up some filename stuff

2000-07-14  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): Fix memleak
	of schema_name in case where we return a value
	(hash_lookup_defaults_func): Fix bug where we returned the schema
	instead of the default value stored in the schema, when returning
	default values for a directory listing, which MateConfClient did in
	order to preload its cache. (Upshot: MateConfClient with preloading
	was broken if you had schemas.)

2000-07-13  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (shutdown_contexts): fix cheesy race condition
	(context_list may not exist at this point)

2000-07-12  Havoc Pennington  <hp@pobox.com>

	* mateconf.spec.in: Change spec file to reflect my fooling with
	names of things

	* configure.in: Some files converted to .in files, so we can
	do versioning

	* mateconf-config.in: output versioned names for libs and includes

	* mateconf/Makefile.am: version all installed files

	* wrappers/gtk/Makefile.am: put version in the name of
	everything

	* wrappers/gtk/testmateconfclient.c (main): remove ref/sink to
	reflect change to MateConfClient

2000-07-13  Havoc Pennington  <hp@pobox.com>

	* backends/xml-entry.c (schema_node_extract_value): fix a
	double-free

2000-07-12  Havoc Pennington  <hp@pobox.com>

	* configure.in: Bump library versions, bump to 0.6

	* mateconf/mateconf.c (mateconf_engine_get_local): Rename from
	mateconf_engine_new_local
	(mateconf_engine_get_default): rename from mateconf_engine_new
	(mateconf_engine_get_for_address): rename from
	mateconf_engine_new_from_address

	* wrappers/gtk/mateconf-client.c (mateconf_client_get_default): rename
	from mateconf_client_new. Always sink the client, so we are strictly
	refcounted, no floating state (for future GObject compatibility)
	(mateconf_client_get_for_engine): rename from
	mateconf_client_new_with_engine

2000-07-11  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: spew messages about needing to create
	prefix/etc/mateconf/path, should make things easier for users.

2000-07-05  Eskil Heyn Olsen  <eskil@eazel.com>

	* mateconf-config.in:
	adds output of oaf-config, since mateconf uses oaf.

2000-07-05  Eskikl Heyn Olsen  <eskil@eazel.com>

	* mateconf.spec.in:
	Fixed som typos.

2000-06-22  Dan Winship  <danw@helixcode.com>

	* wrappers/gtk/mateconf-client.c (mateconf_client_set_pair): Pass both
	car and cdr to mateconf_set_pair rather than passing car twice. Oops.

2000-06-12  Eskil Heyn Olsen  <eskil@eazel.com>

	* mateconf.spec.in: Removed the .a libs from the base package, but
	added them to -devel.

2000-06-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* mateconf.spec.in: Req oaf >= 0.3.0

2000-06-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* mateconf.spec.in: Added a .spec file.
	* configure.in: Generate mateconf.spec.
	* Makefile.am: Added mateconf.spec.in and mateconf.spec to the
	EXTRA_DIST.

2000-06-07  Pavel Cisler  <pavel@eazel.com>

	* wrappers/gtk/mateconf-client.c: (mateconf_client_get_string):
	Fix a storage leak -- a g_strdup and an string ownership
	swapping optimization were working against each other.
	Removed the g_strdup that is not needed.

2000-06-04	Mathieu Lacage	<mathieu@gnome.org>

	* mateconf-config.in: add gtk-config --cflags and --libs
	output to the mateconf-gtk --cflags and --libs output.

2000-06-01  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (lookup_engine): check whether the hash is NULL
	before looking up the engine.

2000-06-01  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_engine_new): If there's an existing engine
	for a given context, return that engine instead of creating a new
	one.
	(mateconf_engine_new_from_address): ditto

	* wrappers/gtk/mateconf-client.c (mateconf_client_finalize): remove
	client from client registration table
	(mateconf_client_new): register newly-created client in hash from
	engines to clients; return an existing client if there's already
	a client for the default engine
	(mateconf_client_new_with_engine): register newly-created client,
	and try to return existing client.

2000-05-07  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-listeners.c: Move struct _MateConfListeners
	into the .c file, eventually need to simply get rid of this.

2000-04-24  Fatih Demir	<kabalak@gmx.net>

	* configure.in : Added tr to ALL_LINGUAS .

2000-04-19  Pablo Saratxaga <pablo@mandrakesoft.com>

	* configure.in (ALL_LINGUAS): Added Catalan language

2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* mateconf/mateconftool.c (main): Don't g_free the result of g_getenv ().

Tue Apr 18 01:37:51 2000  George Lebl <jirka@5z.com>

	* mateconf/mateconf.c: make the default path sane by adding the flag
	  field with readwrite

	* mateconf/mateconf.path: add readwrite flag field to make the path legal

2000-03-30  Matthias Warkus  <mawa@iname.com>

	* configure.in (ALL_LINGUAS): Added German translation.

2000-03-13 Alastair McKinstry <mckinstry@computer.org>

	* configure.in (ALL_LINGUAS): Added Irish translation.

2000-03-09  Havoc Pennington  <hp@redhat.com>

	* configure.in (absolute_top_srcdir): don't do makefile for Guile
	stuff.

	* Makefile.am: create DIST_SUBDIRS with tests directory

2000-03-09 Elliot Lee <sopwith@redhat.com>
	* mateconf/mateconf-internals.c: Don't syslog things.
	* mateconf/examples/Makefile.am: Fix for builddir != srcdir.

2000-03-08  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_init): exit on error.

	* examples/simple-controller.c (main): fix mateconf_init() error

	* examples/simple-view.c (main): fix mateconf_init() error

2000-03-06  Havoc Pennington  <hp@redhat.com>

	* doc/intro-article.sgml: Add the examples

	* examples/simple-view.c: Change include to work before
	we install.

	* examples/simple-controller.c: ditto

2000-02-29  Havoc Pennington  <hp@redhat.com>

	* configure.in: Add goofy "--enable-docs" option to bypass all
	library checks, we just want to generate sufficient makefile
	for the doc-building targets to run on developer.gnome.org

2000-02-26  Havoc Pennington  <hp@pobox.com>

	* examples/Makefile.am: Add new examples
	* examples/simple-view.c, examples/simple-controller.c:
	Two simple new examples

2000-02-23  Havoc Pennington  <hp@redhat.com>

	* configure.in: Bump version and libtool versions,
	and try to fix the prefix mess. Update required OAF version.

	* doc/mateconf/Makefile.am: srcdir != builddir fix

	* standard-schemas/Makefile.am: add schemas to EXTRA_DIST

2000-02-22  Elliot Lee  <sopwith@redhat.com>

	* tests/Makefile.am: srcdir != builddir fix.
	* wrappers/gtk/Makefile.am: Add libmateconf-gtk.la to testmateconfclient
	deps so that 'make -j' builds will work correctly.

2000-02-19  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (try_to_contact_server): Make sure we always set
	an error

2000-02-15  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-changeset.c (mateconf_change_set_set): apply patch from
	Rusty Conover <rconover@zootweb.com> fixing an infinite recursion
	typo

	* mateconf/mateconfd.c (fast_cleanup): Don't bother to unregister with
	OAF

2000-02-01  Havoc Pennington  <hp@redhat.com>

	* configure.in (MATECONF_CONFIG_SOURCE): update default schema
	install source
	(XML_LIBS): add better check that we actually ran xml-config
	successfully

	* mateconf/mateconf-backend.c (mateconf_backend_resolve_address): Honor the
	"readonly" flag in address names

	* mateconf/mateconf-sources.c (SOURCE_WRITEABLE): convert to a function,
	source_is_writeable

	* mateconf/mateconf-sources.h: add MATECONF_SOURCE_NEVER_WRITEABLE flag

	* tests/testaddress.c: new test to verify the functions that break
	up a configuration source address

	* mateconf/mateconf-backend.c (mateconf_address_flags): function to extract
	configuration source flags

	* doc/mateconf/mateconf.sgml: note new configuration source URL format

	* mateconf/mateconf.c: Add space, tab, carriage return, newline to the
	invalid characters in a mateconf key

2000-01-31  Havoc Pennington  <hp@redhat.com>

	* wrappers/gtk/mateconf-client.c (check_type): include name of the
	key with the wrong type in the error message

2000-01-31  Havoc Pennington  <hp@redhat.com>

	* wrappers/gtk/mateconf-client.c
	(mateconf_client_real_unreturned_error): only handle the error if the
	mode is MATECONF_CLIENT_HANDLE_UNRETURNED
	(mateconf_client_real_error): only handle if MATECONF_CLIENT_HANDLE_ALL
	(mateconf_client_init): change default error handling to
	MATECONF_CLIENT_HANDLE_UNRETURNED

	* wrappers/gtk/mateconf-client.h: don't pass error handling mode to
	the error handler function

2000-01-28  Havoc Pennington  <hp@redhat.com>

	* wrappers/gtk/mateconf-client.c
	(mateconf_client_set_global_default_error_handler): New function so
	mate-libs can install a Gnomized error dialog

2000-01-27  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/mateconf-client.c (check_overlap): fix the no-debug
	case

2000-01-24  Havoc Pennington  <hp@redhat.com>

	* backends/xml-backend.c (resolve_address): base mode for creating
	files and directories on the permissions of the root XML directory

	* mateconf/mateconf.h: Clean up indentation

2000-01-27  Elliot Lee  <sopwith@redhat.com>
	* mateconf/Makefile.am, standard-schemas/Makefile.am: Fix builddir != srcdir

2000-01-24  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-sources.c (mateconf_sources_new_from_addresses):
	never return errors, just log them.

	* mateconf/mateconf-backend.c (mateconf_get_backend): fix mem leak (free
	"name" if we don't create a new backend to use it in)

	* mateconf/mateconf-internals.c (mateconf_get_lock): fix mem leak

	* backends/xml-entry.c (schema_node_extract_value): fix a mem leak

	* mateconf/mateconfd.c (main): keep a pointer to the object ID returned
	from PortableServer_POA_activate_object()

	* backends/xml-backend.c (resolve_address): fix a mem leak on
	error

2000-01-24  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c (mateconf_get_lock): Use a long enough
	buffer to read in the IOR

2000-01-24  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconftool.c (do_load_schema_file): Apply patch from Mirko,
	properly locates the root node instead of assuming it is the only
	node at the toplevel (handles comments, etc).
	(process_schema): Report error if a schema has no <locale>
	tags.

2000-01-23  Havoc Pennington  <hp@pobox.com>

	* backends/xml-entry.c (node_set_value): Store strings in a
	sub-node and use xmlEncodeEntitiesReentrant() to encode it
	(node_extract_value): Extract string from the subnode

2000-01-23  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/mateconf.sgml: Add schema file DTD from Mirko

	* backends/xml-dir.c (dir_sync): pass the XML filename in to
	create_fs_dir()
	(dir_load): This was broken; bug reported by Mirko Streckenbach.
	The Dir object was created even if %mateconf.xml file didn't exist,
	so we didn't get around to actually creating %mateconf.xml
	(create_fs_dir): Make %mateconf.xml the thing this function is
	primarily creating, with the directory containing it as a side
	effect only.

	* mateconf/Makefile.am (install-data-local): Install default path to
	path.example, so we don't override someone's existing setup.

	* mateconf/tests/testdirlist.c: test program that detects dir listing
	bugs.

2000-01-22  Havoc Pennington  <hp@pobox.com>

	* backends/xml-dir.c (dir_all_subdirs): If we can't open the
	directory it's not an error, just return NULL.

2000-01-21  Havoc Pennington  <hp@redhat.com>

	* backends/xml-cache.c (cache_clean_foreach): remove everything
	older than or the same age as the older_than time value (i.e.
	put >= instead of >)
	(cache_destroy_foreach): debug check to be sure we aren't
	destroying unsynced directories

	* mateconf/mateconfd.c (context_synchronous_sync): remove sync
	timeout/idle handlers when we do a synchronous sync

2000-01-21  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_value_new_from_string): use new
	double conversion
	(mateconf_value_to_string): use new conversion

	* mateconf/mateconf-internals.c (mateconf_double_to_string)
	(mateconf_string_to_double): new functions to go from string
	to double, we had precision problems with this and maybe
	still do, these functions encapsulate it. For now
	copied code from gnumeric/src/xml-io.c

	* mateconf/mateconftool.c (main): improve mateconfd-is-running error
	message

	* mateconf/mateconf.c (mateconf_synchronous_sync): internal-only API
	for the synchronous sync

	* mateconf/mateconfd.c (mateconfd_synchronous_sync): implement a way to
	force _immediate_ sync for testing purposes

2000-01-21  Havoc Pennington  <hp@pobox.com>

	* tests/Makefile.am (testpersistence_SOURCES): add new test

	* tests/testpersistence.c: New test, clears the cache after every
	set, to see if the get() function can properly load stuff off of
	disk. Right now we fail this test. Blah.

2000-01-21  Havoc Pennington  <hp@pobox.com>

	* backends/xml-cache.c (cache_clean): oops, this was broken
	before; we need to check that the dir doesn't need a sync before
	we destroy it.

	* backends/xml-dir.c (dir_sync_pending): new function

	* backends/xml-backend.c (clear_cache): implement clearing cache
	for XML backend

	* mateconf/mateconf.c (mateconf_clear_cache): implement API here

	* mateconf/MateConf.idl: add clear_cache method

	* mateconf/mateconfd.c (context_clear_cache): add code to implement
	clear_cache IDL

	* mateconf/mateconf-sources.c (mateconf_sources_clear_cache): New function
	for debugging purposes

2000-01-20  Havoc Pennington  <hp@pobox.com>

	* backends/xml-entry.c (node_extract_value): Detect case where a
	pair is missing car and/or cdr and do an error instead of
	returning an invalid pair.

	* mateconf/mateconf-internals.c (mateconf_get_lock): remove IOR debug spew

	* mateconf/mateconftool.c: Add --break-key and --break-directory, these
	allow you to easily torture test your application and see if
	you're robust against users setting your config keys to stupid
	stuff.

	* tests/testmateconf.c: Include the empty string in the list
	of strings we test. I know this is currently broken if you
	exit mateconfd or purge the cache between set and get.

2000-01-20  Havoc Pennington  <hp@redhat.com>

	* mateconf/Makefile.am (EXTRA_DIST): fix EXTRA_DIST to have
	default.path.in in it

2000-01-20  Havoc Pennington  <hp@redhat.com>

        * mateconf/default.path: remove, replace with mateconf/default.path.in
	which is set up properly to go in $sysconfdir

	* mateconf/mateconftool.c (main): Always unref the engine when we're
	done, to ensure we cleanly give up locks on local sources.

	* configure.in (MATECONF_CONFIG_SOURCE): --enable-mateconf-source option

	* mateconf/mateconftool.c (main): add an --makefile-install-rule option,
	which does the right thing in makefile install rules.

        * Makefile.am: add standard-schemas subdir

	* configure.in (absolute_top_srcdir): create standard-schemas Makefile

	* standard-schemas/desktop.schemas: Schemas that any desktop can use

	* standard-schemas/Makefile.am: install schemas

2000-01-19  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (mateconf_set_exception): warn if the error is set
	to MATECONF_ERROR_SUCCESS

	* mateconf/mateconf-error.h: Prefix all errno values with MATECONF_ERROR as
	Owen suggested

2000-01-15  Havoc Pennington  <hp@pobox.com>

	* tests/testlisteners.c (check_immediate_remove_after_add): update
	to match change to mateconf-listeners.c

	* mateconf/mateconf-listeners.c: Use only 24 bits for the array index,
	and put a variable value in the top 8 bits, so recycling array
	indices doesn't create the possibility of clients clashing with
	each other (i.e. to clients it doesn't appear that indexes are
	being recycled).

2000-01-15  Havoc Pennington  <hp@pobox.com>

	* backends/xml-dir.c (dir_unset_value): check entries for
	uselessness on unset, even if they are unchanged by the unset.
	Allows us to delete useless crap we loaded from disk.
	If you unset, the entry should no longer appear in all_entries
	unless there's a schema name to remember.

	* backends/xml-entry.c (entry_unset_value): Fix this to properly
	unset value for all locales if the locale passed in to "unset" is
	NULL
	(entry_sync_to_node): Remember to unset the value if necessary

	* mateconf/mateconftool.c (list_pairs_in_dir): handle entries with no
	value.

2000-01-15  Havoc Pennington  <hp@pobox.com>

	* backends/xml-dir.c (dir_destroy): destroy entries before the xml
	doc, since they hold pointers into the xml doc.

	* backends/xml-entry.c (entry_sync_to_node): if no cached value,
	blow away the value in the node.

2000-01-14  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconfd_all_entries): remove bad assertion that
	the value in an entry was non-NULL

	* mateconf/mateconf.c (mateconf_set): check for invalid list type

	* mateconf/mateconf-internals.c (mateconf_value_from_corba_value): Be more
	paranoid about list types coming from mateconfd

2000-01-13  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_unique_key): function to generate
	a pseudo-random very-very-likely-to-be-unique key name.

2000-01-13  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c (mateconf_concat_key_and_dir): move
	declaration to public header

	* doc/mateconf/tmpl/mateconf-client.sgml: Document the changed
	dir add/remove behavior

2000-01-13  Havoc Pennington  <hp@redhat.com>

	* backends/xml-dir.c (dir_load): arguments to this were backward

	* wrappers/gtk/mateconf-client.c: keep a count of the number of times
	a directory has been added/removed from the dir list, so we only
	remove it from the list after that number of removals.
	Perhaps somewhat unintuitive, but we'll document it, and it's
	really necessary if multiple code sections are going to share the
	same MateConfClient.
	(mateconf_client_destroy): move a bunch of stuff to finalize
	so we remain "safe" before last unref

2000-01-12  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconfd.c (main): don't use custom object ID

2000-01-12  Jonathan Blandford  <jrb@redhat.com>

	* wrappers/gtk/mateconf-client.c: #include <stdio.h>

2000-01-11  Havoc Pennington  <hp@pobox.com>

	* mateconf.m4: separate $4 from mateconf_config_args

	* mateconf-config.in (af_libs): -lmateconf, not -lmateconf-client
	(Libraries): add mateconf-gtk lib

2000-01-11 Andreas Hyden <andreas.hyden@telia.com>

	* configure.in : added sv (swedish)

2000-01-08  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconftool.c (main): had local and non-local cases backward
	so you got the opposite of what you requested

	* mateconf/mateconf-internals.c (mateconf_release_lock): include strerror()
	in "can't open lock file" message
	(mateconf_get_lock): actually write the PID to the lock file,
	and use ConfigServer_ping() instead of CORBA_Object_is_nonexistent()

2000-01-07  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-internals.c (mateconf_get_lock): totally rewrite the
	locking stuff

	* backends/xml-dir.c (dir_load): if errno == ENOENT don't make
	dir_load() fail

	* mateconf/mateconfd.c (main): check return value of
	oaf_active_server_register() and act accordingly.

	* mateconf/mateconf.c (try_to_contact_server): use new
	OAF_FLAG_EXISTING_ONLY when appropriate

	* mateconf/mateconf-internals.c (mateconf_set_daemon_ior): allow setting
	IOR to a global var

	* mateconf/mateconfd.c (main): set the IOR so it can be used in lockfiles

2000-01-03  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconftool.c (main): add support for direct config source access

1999-12-31  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (mateconf_log): in non-daemon mode, use
	fprintf() when it's an error and printf() when not
	(mateconf_in_daemon_mode): new function

	* mateconf/mateconfd.c (signal_handler): special-case some more signals;
	do more thorough cleanup when we can.
	(main): fix which signals we add an action for

	* mateconf/mateconf-internals.h: Remove server_info* functions

	* mateconf/mateconf-error.h: add MATECONF_LOCK_FAILED

	* mateconf/mateconf.c (corba_errno_to_mateconf_errno): lock failed error

	* mateconf/mateconf-internals.c (mateconf_nanosleep): Add utility function
	to portably sleep a little while (we should really stick one of
	these in glib)
	(mateconf_release_lock, mateconf_get_lock): Lock directory functions

2000-01-02  Timur Bakeyev <mc@bat.ru>

	* doc/mateconf/Makefile.am: Replace unportable install -d with $MKINSTALLDIRS.
	install -m 0644 - with $(INSTALL_DATA).

2000-01-02  Timur Bakeyev <mc@bat.ru>

	* po/uk.po: Add missed "\n" in 2 strings. Things sholud be checked
	before commit :)

	* backends/Makefile.am, wrappers/gtk/Makefile.am: Add $(top_builddir)/mateconf
	to INCLUDES to make MateConf.h visiable.

	* mateconf/mateconf-internals.c: If LC_MESSAGE doesn't exist, use value of
	LC_CTYPE (is this correct?)

1999-12-31  Yuri Syrota  <rasta@renome.rovno.ua>

	* configure.in: Added "uk" to ALL_LINGUAS

1999-12-30  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c: Complete cleanup of XML backend,
	all test suite passes, code is much more manageable.

1999-12-21  Havoc Pennington  <hp@redhat.com>

	* doc/mateconf/tmpl/mateconf-backend.sgml: Documented the methods in the
	backend vtable.

	* backends/xml-dir.[hc], backends/xml-entry.[hc]: fixed up some
	code, mostly done.

1999-12-20  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf-sources.c (mateconf_sources_new_from_addresses): const
	correctness

	* mateconf/mateconfd.c: Massive const-correctness changes to match
	latest MateCORBA

	* mateconf/mateconf.c (notify): "in string" seems to be const again now.

	* wrappers/gtk/mateconf-client.c (cache_pairs_in_dir): store the
	is_default parameter when preloading

	* mateconf/mateconf.c (mateconf_all_entries): receive the is_default
	parameter

	* mateconf/mateconfd.c (mateconfd_all_entries): pass the is_default
	parameter over the CORBA link

	* backends/xml-backend.c (listify_foreach): Add the schema name to
	the entry if appropriate (if value is unset)

	* mateconf/mateconf-sources.c (mateconf_sources_all_entries): Change to
	match new semantics of all_entries in the backend; get all entries
	that have a schema set on them, and the corresponding default
	value if appropriate.

	* mateconf/mateconf-value.c (mateconf_entry_set_is_default): new function
	(mateconf_entry_set_schema_name): new function

	* backends/xml-backend.c (listify_foreach): Include keys that
	exist but have no value set in the list of returned entries.

1999-12-20  Havoc Pennington  <hp@redhat.com>

	* tests/testlisteners.c: fix include

	* wrappers/gtk/mateconf-client.c (mateconf_client_preload): Actually
	implement preloading. We have some "issues" here to resolve I
	think, because of the defaults stuff and schemas.

1999-12-14  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_engine_new_from_address): Add a g_warning()
	that people probably don't want to use this.

1999-12-14  Havoc Pennington  <hp@redhat.com>

	* doc/mateconf/tmpl/mateconf-client.sgml: fix a typo, add additional
	explanation to the introduction.

	* doc/mateconf/tmpl/mateconf.sgml: Document the string-to-enum functions.
	Update some other docs too.

	* doc/mateconf/mateconf-sections.txt: add new functions

	* mateconf/mateconf.c (mateconf_string_to_enum): new function
	(mateconf_enum_to_string): new function

	* mateconf/mateconf-engine.h: Put mateconf_engine_new_local() here instead
	of mateconf-internals.h

	* mateconf/mateconf-internals.h: added a new MATECONF_ENABLE_INTERNALS
	define, to allow us to have internal stuff in headers other than
	mateconf-internals.h

	* mateconf/mateconf.c (mateconf_unset): local version
	(mateconf_associate_schema): local version
	(mateconf_all_entries): local version
	(mateconf_all_dirs): local version
	(mateconf_suggest_sync): local version
	(mateconf_dir_exists): local version

	* mateconf/mateconf-internals.h (mateconf_engine_new_local): Declare this
	function here, though it's defined in mateconf.c

	* mateconf/mateconf.c (mateconf_set): local version

	* mateconf/mateconfd.c (context_query_default_value): use
	mateconf_sources_query_default_value()

	* mateconf/mateconf-sources.c (mateconf_sources_query_default_value): New
	function

	* mateconf/mateconf-sources.h: egtk-format-protos the function
	prototypes.

	* mateconf/Makefile.am (libmateconf_la_SOURCES): move mateconf-locale.[hc]
	into the library, bah

	* mateconf/mateconf.c (mateconf_get_full): Add local (no mateconfd) version

	* mateconf/mateconf-locale.c (mateconf_split_locale): locale splitter
	function.

	* mateconf/mateconf-sources.c (mateconf_sources_new_from_source): new function

	* examples/basic-mateconf-app.c (create_prefs_dialog): Move keys from
	/apps/mate to plain /apps

	* doc/mateconf/mateconf.sgml: Add an initial stab at namespace
	splitting.

1999-12-09  Havoc Pennington  <hp@redhat.com>

	* mateconf/mateconf.c (mateconf_init): Safety check to ensure we don't
	initialize OAF a second time.

1999-12-06  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_notify_add): Backward assertion

1999-12-02  Havoc Pennington  <hp@pobox.com>

	* examples/basic-mateconf-app.c (create_configurable_widget): use
	mateconf_client_get_string() instead of mateconf_client_get()
	(update_entry): Check for the default value if we have an unset
	value in the change set.

	* wrappers/gtk/mateconf-client.c
	(mateconf_client_create_change_set_from_currentv): use without_default
	(revert_foreach): use without_default

	* mateconf/mateconf-changeset.c (mateconf_create_change_set_from_currentv):
	use mateconf_get_without_default()
	(revert_foreach): use mateconf_get_without_default()

	* wrappers/gtk/testmateconfclient.c (entry_notify_func): fix to compile

	* examples/basic-mateconf-app.c (configurable_widget_config_notify):
	fix to compile

	* wrappers/gtk/mateconf-client.c
	(mateconf_client_get_default_from_schema): New function

	* mateconf/mateconf.c (mateconf_get_without_default): renamed from
	mateconf_get_no_default(), so that mateconf_get_default_from_schema()
	won't be as confusing maybe.
	(mateconf_get_default_from_schema): new function to read the default
	setting in the schema

	* backends/xml-backend.c (xentry_extract_value): remove ignore_subsequent
	(xentry_set_value): ditto

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): Remove ignore
	subsequent

	* mateconf/mateconf-value.c (mateconf_value_new_from_string): remove
	ignore_subsequent
	(mateconf_value_to_string): remove ignore_subsequent
	(mateconf_value_copy): Remove ignore_subsequent

	* mateconf/mateconfd.c (context_unset): add is_default to notification
	(context_set): add is_default to notification

	* mateconf/mateconf-internals.c (mateconf_value_type_to_string): Remove
	ignore_subsequent.

	* mateconf/mateconf.c (mateconf_cnxn_notify): add is_default
	(notify) add is_default

	* mateconf/mateconf-value.h: Remove MATECONF_VALUE_IGNORE_SUBSEQUENT

	* mateconf/mateconf-sources.c (mateconf_sources_unset_value): don't do that
	weird IGNORE_SUBSEQUENT goo

	* wrappers/gtk/Makefile.am (INCLUDES): add top_builddir to include
	search to get the built sources

	* mateconf/mateconf-engine.h: fix includes

	* mateconf/mateconf-changeset.h: fix includes

	* mateconf/Makefile.am (mateconfd_SOURCES): add mateconf-sources.h here
	instead of installing it.

	* wrappers/gtk/Makefile.am (INCLUDES): remove -I$(top_builddir)/mateconf

	* wrappers/gtk/mateconf-client.c (mateconf_client_get_full): Add this,
	etc.

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): Set a flag
	indicating whether the retrieved value was the default or not.

	* mateconf/MateConf.idl: add value_is_default out flag to
	lookup_with_locale()

1999-12-02  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-error.c: Was missing an element in the err_msgs
	array and the array had the wrong size.

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): Add
	use_schema_default flag here (and in the other stuff that calls
	it, I'm skipping some layers in the changelog)
	(mateconf_sources_query_value): If we find an IGNORE_SUBSEQUENT, we
	should return immediately, rather than checking the schema default.

	* mateconf/mateconfd.c (mateconfd_lookup_with_locale): fix

	* mateconf/mateconf.c (mateconf_get_no_default): new function to get
	a value, but not fall back to the schema default.

	* mateconf/MateConf.idl: lookup_with_locale() needs to raise
	ConfigException. Also, add a "use schema default" flag.

1999-12-01  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c: Add local "direct mode" engine; mildly bad hack.
	This file could use some modularization. Still have to make
	all the methods support the local version.

	* mateconf/Makefile.am (libmateconf_la_SOURCES): move mateconf-sources.c to
	the library instead of mateconfd (again).

	* mateconf/mateconf-internals.c (mateconf_handle_oaf_exception): set the
	MATECONF_OAF_ERROR errno

	* mateconf/mateconf-error.c: add strerror stuff for those errors.

	* mateconf/mateconf-error.h: add oaf error and "this is not a mateconfd
	engine" error.

1999-12-01  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (try_to_contact_server): handle OAF exceptions

	* mateconf/mateconf-internals.c (mateconf_handle_oaf_exception): new
	function to handle OAF CORBA exceptions, now I have to find all
	the places that I need to use this function...

1999-12-01  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/mateconf-sections.txt: Add new create_change_set
	functions for MateConfClient and MateConfEngine

	* doc/mateconf/Makefile.am (LDFLAGS): Use proper cflags/ldflags
	for gtk and OAF when doing 'make scan'

	* wrappers/gtk/testmateconfclient.c (entry_attached_to): change for
	new get_string() thing

	* mateconf/mateconf-changeset.h: fix the "" vs. <> issue on an #include

	* wrappers/gtk/mateconf-client.c (mateconf_client_get_bool): remove
	"default" argument
	(mateconf_client_get_string): ditto
	(mateconf_client_get_int): ditto
	(mateconf_client_get_float): ditto

	* mateconf/mateconf.c (mateconf_get_bool): Remove "default" argument.
	(mateconf_get_string): ditto
	(mateconf_get_int): ditto
	(mateconf_get_float): ditto

1999-11-30  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (resolve_address): s/dir/root_dir/

1999-11-29  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconftool.c (do_load_schema_file): Use new syntax for
	attaching schema names to key names

	* backends/xml-backend.c (resolve_address): Create the XML root
	directory if necessary.

1999-11-29  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/mateconf-client.c (mateconf_client_get): sheesh, this
	stupid function didn't work at all. fix it
	(get): properly check whther val is NULL before copying it.

	* mateconf/mateconf-internals.c (mateconf_set_daemon_mode): Function to set
	daemon mode, for now changes mateconf_log behavior
	(mateconf_log): handle daemon vs. non-daemon mode, and with syslog do
	syslog(pri, "%s", msg) instead of syslog(pri, msg) to avoid
	unwanted printf magic.
	(mateconf_value_from_corba_value): more robust for list types, add an assertion

	* mateconf/mateconfd.c (mateconfd_set): return if the conversion from
	MateConfValue doesn't fly

	* mateconf/mateconf-value.c (mateconf_value_new): add a check for valid type

	* mateconf/mateconf-value.h (MATECONF_VALUE_TYPE_VALID): Add macro to check the
	a value type is valid

	* mateconf/mateconf-changeset.c (change_set): return if the value being
	set is the same as the existing value.

	* examples/Makefile.am (EFENCE): add EFENCE var

	* wrappers/gtk/mateconf-client.c (mateconf_client_commit_change_set):
	add checks

	* mateconf/mateconf-changeset.c (mateconf_commit_change_set): add checks

	* mateconf/mateconf-listeners.c (mateconf_listeners_remove): Robust against
	bad notify_id

	* mateconf/mateconf-changeset.c (mateconf_create_change_set_from_current):
	New function to create a change set which will restore the current
	values of a list of keys.
	(mateconf_create_change_set_from_currentv): Vector version of the
	same function.
	(mateconf_change_set_check_value): new function to check for and get
	the value of a key in a change set.

	* wrappers/gtk/mateconf-client.h: Add client analogues for the above
	two set-creation functions.

1999-11-28  Havoc Pennington  <hp@pobox.com>

	* mateconf.m4: add the "" around the $4, seems to work - the problem
	here seems to have something to do with aclocal or autoconf
	doing the wrong thing, rather than a shell issue. I don't
	understand it yet.

1999-11-23  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (query_value): Don't return errors here;
	this is somewhat wrong, we actually need to discriminate between
	errors and report the "abnormal" ones, but for now I think all of
	them are ignorable.

	* mateconf/mateconf-internals.c (mateconf_log): If the log string contains
	a % escape it with another percent so we don't get printf()
	effects (was causing a segfault) - however it's still broken if
	unintentional percents exist in the initial format string. Will
	fix later by adding a "printf()-formatting" arg I think

	* wrappers/gtk/mateconf-client.c (mateconf_client_commit_change_set):
	put some casts in to chill warnings

	* mateconf/mateconf-changeset.c (mateconf_change_set_size): new function

	* wrappers/gtk/mateconf-client.c (mateconf_client_destroy): Destroy the
	directory list.

	* Makefile.am (SUBDIRS): add "examples" directory

	* examples/Makefile.am, examples/basic-mateconf-app.c: Examples;
	write nice example program.

	* mateconf/mateconfd.c (notify_listeners_cb): error message improvement
	(set_default_context): Set the "context" field of the default
	context, I don't get how that was working before.

1999-11-23  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/testmateconfclient.c: remove MATE dependency

	* configure.in: don't build mateconf-editor makefile.

	* Makefile.am (SUBDIRS): never build mateconf-editor, it will have to
	go in a separate module (somewhat inconveniently, since I'll
	probably end up installing mateconf-internals.h for its use, blah)

	* configure.in (MATECONF_AGE): Check for plain GTK not MATE

	* wrappers/Makefile.am (SUBDIRS): change MATE conditional to GTK

1999-11-23  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am (libmateconf_la_LDFLAGS): split off LIBADD

	* wrappers/gtk/Makefile.am (libmateconf_gtk_la_LIBADD): set shared
	lib version
	(libmateconf_gtk_la_LDFLAGS): split LIBADD and LDFLAGS maybe properly.

	* configure.in: remove gnorba cflags/libs

	* mateconf/Makefile.am (install-data-local): Create the
	$(sysconfdir)/mateconf directory.

	* wrappers/Makefile.am: For now, always disable Guile wrapper
	build.

1999-11-22  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (resolve_address): Check whether the XML
	directory is readable/writeable and report an error if neither;
	set readable/writeable flags properly.

	* mateconf/mateconfd.c (mateconf_server_load_sources): log decision to use
	default config source

1999-11-22  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_server_load_sources): Fall back to
	xml:~/.mateconf if no config file is found

1999-11-22  Havoc Pennington  <hp@pobox.com>

        * mateconf/default.path: default configuration file

	* mateconf/Makefile.am (install-data-local): Install default.path to
	sysconfdir/mateconf/path (theoretically)

1999-11-22  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_set_exception): lots of assertions
	(mateconf_server_load_sources): Install the default context even if
	we don't find any configuration sources in the path

	* mateconf/mateconf.c (mateconf_get_config_server): always return an error
	if the server isn't available. This is still not doing the right
	thing; for shutdown and ping we need to be able to get the object
	if and only if it already exists. This feature is also needed for
	something like magicdev-patched gtcd.

	* mateconf/mateconfd.c (mateconf_server_load_sources): #ifdef the
	debug-only search for debugging path file.

1999-11-19  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_server_load_sources): Give actual
	sysconfdir in the error message, not just /etc;
	include liboaf.h

	* mateconf/mateconf.c: include liboaf.h
	(mateconf_postinit): fix a bunch of missing semicolons

1999-11-20  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/mateconf-client.c
	(mateconf_client_create_reverse_change_set): new function
	(mateconf_client_commit_change_set): new function

1999-11-20  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-changeset.c (mateconf_create_reverse_change_set): New
	function creates a change set which will revert another change set
	on commit.

1999-11-19  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_server_load_sources): Give actual
	sysconfdir in the error message, not just /etc;
	include liboaf.h

	* mateconf/mateconf.c: include liboaf.h
	(mateconf_postinit): fix a bunch of missing semicolons

1999-11-19  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_server_broken): don't need to set the
	server to NIL here, it gets set in mateconf_detach_config_server()

	* doc/mateconf/mateconf-sections.txt: Add preinit, postinit

	* doc/mateconf/mateconf.sgml: Remove mateconf-matecorba entity

	* doc/mateconf/mateconf-sections.txt: Remove mateconf-matecorba stuff

        * tests/*.c: Fix to not include mateconf-matecorba.h, call mateconf_init()
	properly

	* mateconf-editor/mateconf-editor.c: don't include mateconf-matecorba.h

	* wrappers/gtk/testmateconfclient.c (main): remove "orb" variable

	* mateconf/mateconftool.c: don't include mateconf-matecorba.h

	* mateconf/mateconfd.c: don't include mateconf-matecorba.h

	* mateconf/mateconf.c: don't include mateconf-matecorba.h

	* mateconf/mateconf.h: don't include mateconf-matecorba.h

	* mateconf/Makefile.am (mateconfinclude_HEADERS): remove mateconf-matecorba.h
	(libmateconf_la_SOURCES): remove mateconf-matecorba.c

	* mateconf/mateconfd.c (main): fix error message if oaf_init() returns FALSE

	* mateconf/mateconf.c (try_to_contact_server): Use the IID macro
	(mateconf_postinit): Change all the error checks to assertions; if
	these errors can really happen they need to be reported as before
	(not sure how to do this with the pre/post init setup), if they
	can't happen then they should be asserted, not error-checked.

	* mateconf/mateconfd.c (fast_cleanup): Unregister with OAF in order to
	clean up.

	* mateconf/Makefile.am: add -DIID to INCLUDES

	* mateconf/mateconfd.c (main): Use a macro for the IID

	* mateconf/mateconf-internals.c: Remove mateconf_read_server_ior(),
	mateconf_info_dir(), mateconf_info_file(), etc. since we use OAF instead.

	* mateconf/mateconfd.c (main): Remove "nodaemon" flag since we don't run
	as a daemon anymore.
	(main): After oaf_init(), don't try to use "err" since oaf_init()
	won't set it.

        * mateconf/mateconf-matecorba.h, mateconf/mateconf-matecorba.c: Delete these, we
	are using OAF now.

	* mateconf/mateconf.c (mateconf_get_config_server): Change this to only
	call try_to_contact_server() if start_if_not_found is TRUE,
	since with OAF any attempt to contact the server will
	automatically restart it. Now we keep the server variable
	up-to-date locally (set it to NULL on any system exception).

1999-11-19  Elliot Lee  <sopwith@redhat.com>

	* Make it all use OAF, and redo the initialization routine(s) to
	fit better into the MateModuleInfo system.

1999-11-18  Elliot Lee  <sopwith@redhat.com>

	* mateconf.m4: AM_PATH_MATECONF macro.

	* wrappers/gtk/Makefile.am, autogen.sh, backends/Makefile.am: Work with builddir != srcdir

	* Makefile.am: Distribute mateconf.m4 & mateconf-config.in, install mateconf.m4

1999-11-18  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (mateconf_server_load_sources): fix the message
	about writeable sources

1999-11-18  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (find_schema_subnode_by_locale): Check
	that locale && this_locale before strcmp()'ing them
	(entry_unset): take a NULL locale in unset to mean "unset all locales"

	* tests/testschemas.c (check_one_schema): fix the locale-related tests

	* mateconf/mateconf.c (mateconf_set_schema): remove debug spew

	* mateconf/mateconf-internals.c (mateconf_schema_from_corba_schema): parse
	the encoded default value
	(fill_corba_schema_from_mateconf_schema): encode the default value to
	ship to the server.

	* mateconf/MateConf.idl: Add encoded default value string to
	ConfigSchema struct

	* mateconf/mateconf-internals.c (mateconf_value_decode): implement
	(mateconf_value_encode): implement

	* mateconf/mateconf-value.c (mateconf_value_to_string): Use
	g_strdup_printf() to create int/float strings, rather than
	guessing at the needed string size.

1999-11-17  Havoc Pennington  <hp@pobox.com>

	* tests/testencode.c: new test for string quoting

	* mateconf/mateconf-internals.c (mateconf_unquote_string_inplace): new
	function unquotes a string
	(mateconf_quote_string): quotes a string
	(mateconf_unquote_string): unquotes a const string

1999-11-16  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-schema.c (mateconf_schema_copy): copy locale, and
	handle NULL fields. Sheesh this was broken.
	(mateconf_schema_destroy): destroy default value and locale

1999-11-16  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.c (mateconf_value_to_string): print more info
	about schemas

	* backends/xml-backend.c (xentry_set_schema_value): Set the schema
	type on the toplevel node, not the localized node.
	(xentry_set_schema_value): Set the owner on the toplevel node
	(schema_node_extract_value): Do better at falling back to any
	schema if the locale we want isn't found.
	(my_xmlSetProp): Replace xmlSetProp with this, deletes the prop
	if setting to NULL or ""
	(my_xmlGetProp): Replace xmlGetProp with this, returns NULL if the
	prop has an empty value.

	* mateconf/mateconf-internals.c (mateconf_value_type_to_string): Add case
	for MATECONF_VALUE_INVALID

	* backends/xml-backend.c (entry_unset): refill cached_value if
	other locale values still exist. Also, mark the Entry dirty.
	(entry_value): add a sync_if_needed here
	(entry_sync_if_needed): just always sync if it's a schema; this
	code is so broken we may as well not try to be clever.

1999-11-15  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (entry_fill): handle locale by syncing
	cached value if necessary

	* wrappers/gtk/mateconf-client.c (mateconf_client_get_string):
	g_strdup() the retval if necessary
	(mateconf_client_get_pair): fix one of the checks

	* backends/xml-backend.c (xentry_extract_value): use "C" locale if
	none is given.

	* mateconf/mateconftool.c (do_load_schema_file): check type of nodes
	(process_key_list): check node type
	(process_schema): check node type
	(process_locale_info): check node type
	(extract_global_info): check node type

	* backends/xml-backend.c (entry_unset): deal with locales
	(entry_set): deal with locales
	(entry_value): locales
	(schema_node_extract_value): handle locales

	* mateconf/mateconf-internals.c (mateconf_log): move the check for debug
	messages to the top of the function, before g_strdup_vprintf(),
	and if MATECONF_ENABLE_DEBUG isn't defined return immediately (ignore
	the GCL_DEBUG messages).

1999-11-15  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/tmpl/mateconf-client.sgml: write MateConfClient docs.

	* wrappers/gtk/mateconf-client.c (mateconf_client_new_with_engine):
	change this to increment the #MateConfEngine reference count.

	* doc/mateconf/mateconf.sgml: Add MateConfClient entity

	* doc/mateconf/mateconf-sections.txt: Add MateConfClient stuff, add
	set_list and set_pair for MateConfChangeSet

	* doc/mateconf/mateconf.types: New file gtk-doc requires

	* doc/mateconf/Makefile.am (scan): Scan MateConfClient as well.
	Uses a bad, probably nonportable hack, but this stuff isn't
	built by default anyway.

	* wrappers/Makefile.am: Build MateConfClient if we have MATE

1999-11-15  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_get): Fix it to use the current
	locale as documented.

	* mateconf/mateconf-internals.c
	(mateconf_value_list_to_primitive_list_destructive): new function
	takes most code from mateconf_get_list()
	(mateconf_value_pair_to_primitive_pair_destructive): new function

	* wrappers/gtk/mateconf-client.c (get): Return a copy of the cached
	value, should save us some segfaults.
	(mateconf_client_get_list): new function
	(mateconf_client_get_pair): new function
	(mateconf_client_set_list): new function
	(mateconf_client_set_pair): new function

	* mateconf/mateconf-internals.c (mateconf_value_pair_from_primitive_pair):
	new function removes guts of mateconf_set_pair()

	* mateconf/mateconf.c (mateconf_set_list): change to use
	mateconf_value_list_from_primitive_list()

	* mateconf/mateconf-changeset.c (mateconf_change_set_set_list): new
	convenience function
	(mateconf_change_set_set_pair): new function

	* mateconf/mateconf-internals.c (mateconf_value_list_from_primitive_list):
	new function, takes most of the code from mateconf_set_list() to
	share with other list-set wrappers

1999-11-14  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (listify_foreach):  s/mateconf_entry_new/mateconf_entry_new_nocopy/

	* mateconf/mateconf.c (mateconf_all_entries):  s/mateconf_entry_new/mateconf_entry_new_nocopy/

        * mateconf/doc/*: tons of documentation updates.

	* mateconf/mateconf-changeset.c: Add an "in_foreach" flag and warn if
	you do bad things during a foreach operation.
	(mateconf_change_set_remove): check that we aren't in a foreach
	(mateconf_change_set_unref): if refcount == 0 check that we aren't in
	a foreach

	* mateconf/mateconf-changeset.h: try to spell "committed" right.

	* mateconf/mateconf-value.h (mateconf_entry_value): add accessor macros
	to MateConfEntry.

	* mateconf/mateconf-value.c (mateconf_entry_new_nocopy): Rename
	mateconf_entry_new() to mateconf_entry_new_nocopy() to reflect its
	actual behavior.

1999-11-13  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.h: move the value-from-string constructors
	here

	* mateconf/mateconf-value.h: moved from here

1999-11-13  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-value.h (mateconf_meta_info_schema): Add const cast to
	this macro.

	* mateconf/mateconf.c (mateconf_set_list): allow list of schemas
	(from_primitive): handle schemas
	(primitive_value): handle schemas
	(mateconf_get_list): handle schemas

	* doc/mateconf/tmpl/mateconf-value.sgml: docs!

	* doc/mateconf/tmpl/mateconf.sgml: docs!

	* doc/mateconf/mateconf-sections.txt: add set/get list/pair

	* mateconf/mateconf.c (mateconf_set_list): Fix dumb bug (assign back to the
	original list!)

1999-11-13  Havoc Pennington  <hp@pobox.com>

	* tests/testmateconf.c (check_list_storage): Use the new list
	convenience wrappers, to be sure they are tested. (the test
	reveals that right now they don't work ;-)

	* mateconf/mateconf.c (error_checked_set): destroy the error if it isn't
	passed out to the user, to avoid a mem leak
	(mateconf_set_float): checks
	(mateconf_set_int): checks
	(mateconf_set_string): checks
	(mateconf_set_bool): checks
	(mateconf_set_bool): canonicalize the boolean value with !!
	(mateconf_set_schema): checks

	* mateconf/mateconf-value.h (mateconf_value_string): add const cast to this
	macro

	* mateconf/mateconf.c (mateconf_get_schema): add checks
	(mateconf_get_bool): checks
	(mateconf_get_string): checks
	(mateconf_get_int): checks
	(mateconf_get_float): checks
	(mateconf_get_with_locale): checks
	(mateconf_set): more checks
	(mateconf_unset): checks
	(mateconf_associate_schema): checks
	(mateconf_all_dirs): checks
	(mateconf_dir_exists): checks
	(mateconf_get_list): New function, gets a list of native types
	and avoids MateConfValue.
	(mateconf_get_pair): New function, gets a pair of native types
	(mateconf_set_list): New function, sets a list of native types
	(mateconf_set_pair): New function, sets a pair of native types

1999-11-12  Havoc Pennington  <hp@pobox.com>

	* doc/mateconf/mateconf.sgml: Set up the gtk-doc system. Added all the
	files for that.

1999-11-12  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c: Change all comments starting with /** to
	not start with that (for gtkdoc)

1999-11-12  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconftool.c (main): Add the ability to specify a
	configuration source other than the default configuration source
	stack.
	Add the ability to install a schema file.

	* mateconf/Makefile.am (INCLUDES): add XML_CFLAGS
	(mateconftool_LDADD): add XML_LIBS

	* backends/Makefile.am (INCLUDES): add XML_CFLAGS

1999-11-11  Havoc Pennington  <hp@pobox.com>

	* tests/testchangeset.c: test for the changeset stuff

	* mateconf/mateconf.c (mateconf_set): add check that string values don't
	contain a NULL string

	* mateconf/mateconf-changeset.c (mateconf_change_set_unset): fix typo

        * doc/mateconf.sgml: tweaks

	* mateconf/mateconf-changeset.c, mateconf/mateconf-changeset.h: ChangeSet data
	structure stores a bunch of changes to be committed in a block.
	For now the mateconf_commit_change_set() function is really naive
	(iterates over the change set and sets each value)

	* backends/xml-backend.c: Throughout, use accessor functions to
	access the "value" field in the cache entries; we're going to
	have to update the value field to match the proper locale
	before supplying it via the entry_value() accessor.

1999-11-11  Havoc Pennington  <hp@pobox.com>

	* tests/runtests.sh: Enhance to detect missing tests.

	* mateconf/mateconf-internals.c (mateconf_log): don't log DEBUG level stuff
	if built without MATECONF_ENABLE_DEBUG

	* backends/xml-backend.c (safe_g_hash_table_insert): Same, use
	MATECONF_ENABLE_DEBUG
	Add locales stuff throughout this file, but do nothing with it for
	now.

	* mateconf/mateconfd.c (safe_g_hash_table_insert): Make this dependent
	on MATECONF_ENABLE_DEBUG setting.

	* mateconf/mateconf-sources.c (mateconf_sources_query_value): fix locale
	(mateconf_sources_unset_value): locale
	(mateconf_sources_all_entries): locales

	* mateconf/mateconfd.c (context_query_value): Use locale list
	(context_unset): locale argument
	(context_all_entries): locale argument
	(mateconfd_unset_with_locale): locale

	* mateconf/mateconf-sources.c (mateconf_source_query_value): Pass an array
	of locales to look for
	(mateconf_source_all_entries): ditto
	(mateconf_source_unset_value): pass locale to unset

	* mateconf/mateconf-backend.h: Add locale args to the backend functions
	that need it

	* mateconf/mateconf-internals.c (mateconf_current_locale): Use setlocale()
	again, not guess_category_value from mate-i18n

1999-11-10  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am (mateconfd_SOURCES): Move the locale stuff here;
	decided not to use it in backends, so it can be in mateconfd not the
	library.

	* mateconf/mateconfd.c (one_hour_timeout): Expire old locale cache stuff
	(locale_cache_lookup): New function to look stuff up in the locale
	cache.
	(main): free the locale cache on exit

1999-11-10  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (free_childs): function to free children
	of a node.
	(xentry_set_value): free_childs() in a couple places we weren't

	* tests/testschemas.c: Add new schema test to check for storing a
	blank schema

	* mateconf/mateconf-locale.c, mateconf/mateconf-locale.h: New module, creates
	and caches the list of locales to search for given an environment
	variable value

	* mateconf/mateconf-internals.c (mateconf_current_locale): We want
	LC_MESSAGES not LC_ALL

1999-11-07  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (reinstall_listeners_for_all_engines): Function to
	iterate over all engines and do the context
	reinstallation. However, it's not used yet because we also need
	to regenerate the context IDs.

	* mateconf/mateconfd.c: Add a ConfigServer_Context field to MateConfContext
	(register_context): fill in the ConfigServer_Context field
	(context_new): init context field to invalid context

	* mateconf/mateconf.c (register_engine): Keep a hash from context ID's
	to MateConfEngine, because we no longer have the global connection
	table (that table was broken anyway).
	(mateconf_engine_blank): new function shared by the MateConfEngine
	constructors (contains previous contents of mateconf_engine_new,
	separate function required by registration stuff)
	(mateconf_engine_new): Create blank engine, then register it
	(mateconf_engine_new_from_address): register the engine
	(mateconf_engine_unref): unregister the engine

	* mateconf/MateConf.idl: Add a context ID to the argument
	list of the notification.

	* mateconf/mateconf.c (mateconf_server_broken): New predicate, asks if an
	exception is set indicating that our server is hosed.
	(mateconf_detach_config_server): Function to release the server
	object reference and set it to nil
	(mateconf_engine_new_from_address): Detach server and retry if
	appropriate.
	(mateconf_notify_add): Detach and respawn if needed
	(mateconf_notify_remove): ditto
	(mateconf_set): ditto
	(mateconf_associate_schema): ditto
	(mateconf_unset): ditto
	(mateconf_all_entries): ditto
	(mateconf_all_dirs): ditto
	(mateconf_suggest_sync): ditto
	(mateconf_notify_add): remove debugging spew
	(mateconf_cnxn_new): Add namespace_section to MateConfCnxn struct
	(mateconf_cnxn_destroy): free namespace_section
	(MateConfEnginePrivate): Put the connection table in here, it is
	per-context (and thus per-MateConfEngine), should not be global.
	(mateconf_init): don't create CnxnTable here, create it for each engine.
	(mateconf_engine_new_from_address): remove redundant refcount
	initialization
	(mateconf_engine_unref): Destroy CnxnTable, and free the engine
	struct itself.
	(notify): remove debug spew, reflect new signature of notify function

1999-11-07  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c: #include <locale.h>, oops

1999-11-07  Havoc Pennington  <hp@pobox.com>

	* tests/testschemas.c (check_schema_storage): Properly consider
	that schema fields can be NULL

	* backends/xml-backend.c (entry_value): Properly consider that
	a schema can have a NULL locale

	* mateconf/mateconf.c (mateconf_get_with_locale): New function
	(mateconf_get): just calls get_with_locale() with a NULL locale
	(mateconf_get_schema): Use get_with_locale()

	* mateconf/mateconf-internals.c (mateconf_current_locale): So I don't have
	to think about setlocale()

	* tests/testschemas.c: New test program for schema stuff

1999-11-06  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_associate_schema): Add function to associate
	a schema name with a key.

1999-10-28  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (query_value): Add locale
	(dir_get_value): add locale
	(entry_value): new function gets the value from an entry,
	looking up a new value by locale if necessary.

	(xentry_extract_value): locale argument added, but needs to
	be implemented.

	* mateconf/mateconf-backend.h: Add locale to query_value in vtable

	* mateconf/mateconf-sources.c (mateconf_source_query_value): Add locale
	(mateconf_sources_query_value): Add locale

	* mateconf/mateconfd.c (mateconfd_lookup_with_locale): Implement new
	IDL method
	(context_query_value): Add locale

	* mateconf/MateConf.idl: Add lookup_with_locale() method

	* mateconf/mateconf-internals.c (fill_corba_schema_from_mateconf_schema):
	Handle case where some schema fields are NULL, handle locale field.
	(mateconf_schema_from_corba_schema): Handle locale field.

	* mateconf/mateconf-schema.c (mateconf_schema_set_locale): New function

	* mateconf/mateconftool.c: Clean up so it is easier to deal with

1999-10-28  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c: Rework the sync code; now, any change queues a
	sync in 1 minute. If a client calls suggest_sync(), we sync in an
	idle (as soon as the event loop quiets down). Also, we now sync
	on shutdown.

	* tests/testmateconf.c: Fix to compile

	* tests/Makefile.am (testmateconf_LDADD): Fix Makefile.am to use new
	library name

1999-10-27  Havoc Pennington  <hp@pobox.com>

	* configure.in: Add --enable-debug option to G_DISABLE_CHECKS as needed

        * mateconf/wrappers/gtk/testmateconfclient.c: Test program for the GTK+
	client wrapper.

	* mateconf/mateconf-sources.c (mateconf_sources_query_value):
	Wasn't handling errors; now we report errors. The bad thing is,
	it might be better to go ahead and do our best despite the error.

	* mateconf/mateconf.c (mateconf_init): Actually set the have_initted variable.

	* wrappers/gtk/Makefile.am (libmateconf_gtk_la_LIBADD): Don't try to
	link with libmateconf;
	Add testmateconfclient target.

	* wrappers/gtk/mateconf-client.h, wrappers/gtk/mateconf-client.c: Make
	it compile

	* configure.in: Generate Makefile for GtkObject wrapper

1999-10-27  Havoc Pennington  <hp@pobox.com>

	* mateconf-editor/Makefile.am (mateconf_editor_LDADD):
	link to libmateconf.la

	* mateconf/Makefile.am: Renamed the shared lib to libmateconf instead of
	libmateconf-client.

	* wrappers/gtk/Makefile.am: Renamed mateconf-gtk.[hc] to
	mateconf-client.[hc] via CVS surgery, then updated Makefile.

1999-10-21  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.c (mateconf_key_is_below): New function, tells you if a
	key is below another key in the directory hierarchy.

1999-10-20  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c, mateconf/mateconf-sources.c: Finish stuff from the
	17th (use MateConfError throughout, etc.)

	* mateconf/mateconfd-error.h, mateconf/mateconfd-error.c: Remove the broken
	old error stuff, even mateconfd no longer uses it.

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-sources.c: Use MateConfError** throughout, make the
	_source_ functions static
	(mateconf_sources_query_value): Use the new flags and readable
	function
	(mateconf_sources_set_value): use the new flags and writeable
	function

	* mateconf/mateconf-error.c (mateconf_error_copy): new function
	(mateconf_compose_errors): new function

        * backends/xml-backend.c: Throughout, use a MateConfError** argument
	instead of the global errno thing

	* mateconf/mateconf-error.c (mateconf_set_error): New function properly
	handles a MateConfError** by setting error or ignoring if NULL,
	also warns if you "stack" two errors on top of each other.
	(mateconf_clear_error): New function clears a MateConfError**

	* mateconf/mateconfd.c: don't include mateconfd-error.h

	* backends/xml-backend.c: Remove inclusion of mateconfd-error.h

	* mateconf/mateconf-backend.h: Add lock/unlock and readable/writeable
	functions to the backend vtable, and add error arguments to
	all functions in the vtable.

	* mateconf/mateconfd.c (safe_g_hash_table_insert): priority GCL_WARNING

	* backends/xml-backend.c (safe_g_hash_table_insert): make
	it priority GCL_WARNING.

	* mateconf/mateconf-sources.h: MATECONF_SOURCE_ALL_WRITEABLE,
	MATECONF_SOURCE_ALL_READABLE flags to short-circuit calls to the new
	writeable/readable vtable functions.

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-matecorba.h: Include orb/matecorba.h instead of MateConf.h

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c: Use %mateconf.xml instead of .mateconf.xml
	for the magic files.

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* tests/runtests.sh: Make this script work

	* mateconf/mateconftool.c: Don't use -s for --spawn, since it's used for
	--set.

	* mateconf/mateconf.c (mateconf_get_config_server): Clear the error
	from the initial ping if we're asked to start the server.
	(mateconf_engine_unref): No error spew if server is down when
	the engine is destroyed.

	Throughout: Make sure error is set but don't require a
	specific error type

	* mateconf/mateconf-internals.c (mateconf_read_server_ior): Set error
	if the server info file doesn't exist

	* mateconf/mateconf.c (try_to_contact_server): Add a check for setting
	the error properly

	* mateconf/mateconftool.c (main): Switch to mateconf_suggest_sync()
	instead of mateconf_sync()

	* mateconf/mateconfd.c: Add a MateConfContext::sync_idle field, to
	store the source ID of an idle function that performs a sync.
	(context_destroy): Remove the sync idle
	(context_hibernate): Check that sync idle is 0
	(context_sync): Add the sync idle if it doesn't exist

	* mateconf/mateconf.c (mateconf_suggest_sync): mateconf_sync() renamed to
	mateconf_suggest_sync(), because a sync is for all clients;
	suggest_sync() means "I just finished a large block of operations,
	so I'm suggesting that it would be efficient and data-preserving
	to schedule a sync in the near future." mateconf_sync() didn't
	make much sense because it was global, not per-client.

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* For all files, s/G_CONF/MATECONF

1999-10-12  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c: Use MateConfListeners to handle listener
	registration and notification

1999-10-12  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-listeners.c (ltable_insert): Was failing to init
	the node in the flat array of nodes if the listener location
	was NULL.
	(mateconf_listeners_count): new function reports number of listeners
	(ltable_new): init next_cnxn to 1 instead of 0
	(ltable_remove): Do a better job of cleaning up dead
	tree nodes (go up looking for empty parent nodes)
	(ltable_destroy): type error, was calling listener_destroy()
	on the GNodes. Oops. fixed, now use g_node_traverse() to
	destroy the node contents.
	(ltable_new): don't create the root node until it's needed
	(ltable_insert): add root node here if needed
	(ltable_remove): zero lt->tree if we destroy it

	* tests/testlisteners.c: New test program for MateConfListeners,
	fairly comprehensive

	* tests/Makefile.am: add testlisteners, put EFENCE at the end of
	the link line

1999-10-12  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am: Fixes - remove some public headers from
	libmateconf_client_SOURCES, look for MateConf.idl in $(srcdir) (bug from
	Wichert Akkerman)

	* mateconf/mateconf-listeners.h, mateconf/mateconf-listeners.c: New files,
	compile but are not tested. Moves listener tree interface into
	a public header to re-use in GTK+ wrapper.

1999-10-11  Havoc Pennington  <hp@pobox.com>

	* For all files, s/g_conf/mateconf

1999-10-05  Havoc Pennington  <hp@pobox.com>

	* tests/testmateconf.c (check_list_storage): Add checks for empty
	lists, and all the various list types.

	* mateconf/mateconf-value.c (g_conf_value_to_string): Fix a segfault
	(not always allocating a large enough buffer)

1999-10-05  Havoc Pennington  <hp@pobox.com>

	* configure.in: 0.3, bump soname

1999-10-04  Havoc Pennington  <hp@pobox.com>

	* tests/testmateconf.c (main): Add checks for getting/setting lists,
	bools, floats, and ints

	* mateconf/mateconf-internals.c (fill_corba_value_from_g_conf_value): We
	have to set the release flag on a sequence inside a union, since
	the sequence isn't default initialized as it normally would be.
	Plugs a big memory leak (all sequence buffers).

	* backends/xml-backend.c (dir_fill_cache_from_doc): Plug a leak
	where we set entry->name and then reset it in entry_fill()
	(entry_destroy): Free entry->mod_user
	(x_shutdown): Renamed shutdown() to x_shutdown() to avoid
	namespace clash with some libcs. Bug report from Bjorn Andersson
	<ban@lifix.fi>.

	* mateconf/mateconf-internals.c (g_conf_log): Plug memory leak (not
	freeing log string)

	* mateconf/mateconfd.c (mateconfd_set): Plug memory leak (not freeing the MateConfValue)

	* tests/Makefile.am: Make testmateconf noinst

	* mateconf/mateconfd.c (main): check MATECONFD_NO_DAEMON environment
	variable to run in no-daemon mode for debugging. Needless to say
	this does NOT work if you are trying to use mateconf for real.

	* mateconf/mateconf-internals.c (fill_corba_value_from_g_conf_value):
	Fill in the list type in the CORBA value
	(g_conf_value_from_corba_value): Fill in the list type in the
	MateConfValue

	* mateconf/MateConf.idl: Create ConfigList type to past the list type
	along with the sequence of values

	* mateconf/mateconf-value.c (g_conf_value_set_list): New function, list
	setter that copies the list

	* mateconf/mateconf.c (g_conf_unset, g_conf_set): return boolean to
	indicate success

	* mateconf/mateconf-value.c (g_conf_value_new_from_string): Rewrite the
	bool string parser with switch, accept y/n as values.

1999-10-01  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-sources.c (g_conf_sources_query_value): Check for
	errors when we query the default value from the schema.

	* backends/xml-backend.c (entry_fill): If the schema key for a key is
	invalid, don't load it.

1999-09-30  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-sources.c (g_conf_key_check_hack): Clear error
	before we check the key

	* backends/xml-backend.c (dir_unset_value): Actually set the
	entry's value to NULL
	(entry_destroy): check whether Entry::value is NULL. Not sure
	why I didn't check; I think NULL is allowed, but if not
	we will have problems I guess.

	* tests/testmateconf.c: Easiest to just write the test suite in
	C. Tests set/get and unset for strings so far.

1999-09-29  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.sgml: Update docs

1999-09-29  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-conf.h: Replaced with mateconf-engine.h

	* mateconf/Makefile.am: use mateconf-engine.h

	* mateconf/mateconf.c, mateconf/mateconf.h, mateconf/mateconftool.c,
	mateconf-editor/app.c, wrappers/guile/scm-mateconf.c:
	Use MateConfEngine name instead of MateConf

1999-09-29  Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>

	* configure.in: added pt_BR to ALL_LINGUAS

1999-09-29  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c: include mateconfd-error.h and mateconf.h,
	change error checking to new system as needed

	* mateconf/Makefile.am: Put more stuff in mateconfd_SOURCES instead of
	client lib, add new files

	* mateconf/mateconf-backend.h: include mateconf-sources.h

	* mateconf/mateconf-conf.h: add error arg to g_conf_new_from_address

	* mateconf/mateconf-error.c: move strerror in here, fixups,
	preconditions

	* mateconf/mateconf-internals.c, mateconf/mateconf-sources.c: move all sources
	stuff to new mateconf-sources file

	* mateconf/mateconf-matecorba.c: Check for failure to get lock

	* All the rest of this giant diff: Move to new error-handling
	scheme

1999-09-26  Havoc Pennington  <hp@pobox.com>

	* mateconf/Makefile.am: add mateconf-error.h, mateconf-conf.h headers,
	mateconf-value.c file

	* mateconf/mateconf-error.h, mateconf/mateconf-conf.h, mateconf/mateconf-value.c:
	New files, just rearranging old files, no new code (well, there is
	a new MateConfError object but it's unused)

	* mateconf/mateconf-internals.c: Move the value, metainfo, and entry
	datatypes to mateconf-value.c

	* mateconf/mateconf.c, mateconf/mateconf.h: Remove appname argument from
	g_conf_init(), remove g_conf_global_appname() function.

	* mateconf/mateconftool.c: don't pass appname to g_conf_init()

	* mateconf-editor/mateconf-editor.c: Ditto

1999-09-25  Kjartan Maraas  <kmaraas@online.no>

	* configure.in: Added "da" to ALL_LINGUAS.

1999-09-19  Havoc Pennington  <hp@pobox.com>

	* NEWS, README: put something in here

	* Makefile.am: conditionally include mateconf-editor if we have
	MATE

	* autogen.sh: make it more like "macros" autogen.sh

	* configure.in: manually check for MATE instead of using
	"macros"

	* macros, intl: remove these subdirs, autogen.sh now
	generates intl

	* mateconf/mateconf.c: fix array size for strerror messages

	* mateconf-editor/Makefile.am: use new MATE variables

	* mateconf-editor/mateconf-editor.c: use new g_conf_init()
	signature

	* mateconf-editor/menus.h, mateconf-editor/menus.c: These
	hadn't been added

1999-09-19  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf.h: Add G_CONF_OVERRIDDEN error if you try to
	set a value which will have no effect due to a read-only
	setting earlier in the path.

	* mateconf/mateconf.c: Add G_CONF_OVERRIDDEN to strerror, etc.

	* mateconf/MateConf.idl: add ConfigOverridden to pass it across the
	CORBA link

	* doc/mateconf.sgml: Add more stuff to docs

1999-09-17  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.c (subst_variables): Add a new function to
	perform variable substitution on addresses in the path file.
	Supports $(HOME), $(USER), and $(ENV_ANYENVVARNAME)

	* Makefile.am: Add "doc" subdir

	* doc/Makefile.am: Added

	* doc/mateconf.sgml: write more docs

1999-09-03  Havoc Pennington  <hp@pobox.com>

	* configure.in: Set library version info variables, and locate
	Guile libraries, etc.

	* wrappers/Makefile.am: conditionally build Guile subdir if we
	found guile.

	* wrappers/guile: new subdir with the basic files/build for Guile
	bindings, will add the actual bindings later.

1999-09-03  Havoc Pennington  <hp@pobox.com>

	* configure.in: set POPT_LIBS instead of adding -lpopt to generic
	LDFLAGS; this was causing libtool to fail to generate the .so
	file for the XML backend module.

	* mateconf/Makefile.am: use POPT_LIBS

	* mateconf/mateconf-backend.c: change some g_warning to g_conf_log

1999-09-03  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c: Every hour or so, hibernate all contexts that
	haven't been accessed in 45 minutes. Make some assorted changes
	to support that.

1999-09-02  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconf-internals.h, mateconf/mateconf-internals.c: Add a new
	g_conf_log() function for logging errors in backends;
	for now this wraps syslog() but if we eventually have non-daemon
	direct access to backends, we will need to change it. Use
	g_conf_log() throughout this file instead of printf() and
	g_warning().

	* mateconf/backends/xml-backend.c: Install a timeout which cleans
	old stuff out of the cache every 5 minutes; use g_conf_log
	to report problems.

	* mateconf/mateconfd.c: Use g_conf_log(); log "exiting" later than we
	had been, after shutting everything down.

1999-09-02  Havoc Pennington  <hp@pobox.com>

	* backends/Makefile.am: Install backends in $(libdir)/mateconf

	* mateconf/Makefile.am: Look for backends in $(libdir)/mateconf

	* mateconf/mateconf-backend.c (g_conf_backend_file): Use
	g_module_build_path() to build the module path

        * mateconf/mateconf-matecorba.c (g_conf_get_cookie_reliably): Make the
	~/.mateconfd directory if necessary.

	Lots of error-checking added.

	* mateconf/mateconfd.c: Mark a lot of strings for translation; include
	username in the syslog spew.

1999-09-02  Havoc Pennington  <hp@pobox.com>

	* mateconf/mateconfd.c (main): If the orb init fails, syslog the
	MateConf error.

	* mateconf/mateconf-matecorba.c: Add tons of error checks/reports

1999-09-01  Tim P. Gerla  <timg@means.net>

	* configure.in: Added test for popt.

1999-09-01  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (dir_get_value): Fix a segfault, check
	that an Entry != NULL before dereferencing it

	* MateConf.idl: Add ConfigException and ConfigErrorType to pass
	errors from server to client

	* mateconf.c (g_conf_handle_corba_exception): set the MateConf error
	based on CORBA error, if any, and free the exception.
	Use throughout the file to receive server errors.

	* mateconfd.c (g_conf_set_exception): set the CORBA exception based
	on the MateConf error, if any. Use this function throughout the file
	to send errors to clients.
	(g_conf_nuke_dir): Remove this obsolete function
	(context_set): don't notify listeners of a change if an error
	occurred

1999-09-01  Havoc Pennington  <hp@pobox.com>

	* configure.in: add gmodule check to AM_PATH_GLIB, add an error if
	glib isn't found, use detected $XML_CONFIG to instead of
	xml-config, AC_PATH_PROG matecorba-config, check for C++ compiler
	(since we'll have a C++ wrapper soon)

	* mateconf/Makefile.am: Assume GMODULE_CFLAGS are now included in
	GLIB_CFLAGS since we fixed configure.in

	* mateconf/mateconf.c, mateconf/mateconf.h: Reference count the MateConf object,
	add extern "C" when using C++

	* mateconf/mateconftool.c: unref instead of destroying the MateConf object

1999-08-31  Dave Camp  <campd@oit.edu>

	* mateconf/mateconf.c (g_conf_is_initialized): New function.

1999-08-31  Dave Camp  <campd@oit.edu>

	* mateconf/mateconftool.c (main): Changed --dir-exists to return 0 if
	the dir exists, and 2 if it does not.

1999-08-31  Dave Camp  <campd@oit.edu>

	* mateconf/mateconftool.c (options): Added "--dir-exists".
	(main): If dir_exists is on the command line, check if the argument dir
	exists.

	* mateconf/mateconfd.c (server_epv): Added mateconfd_dir_exists.
	(mateconfd_dir_exists): New function.
	(context_dir_exists): New function.

	* mateconf/mateconf.c (g_conf_dir_exists): New function.

	* mateconf/mateconf-internals.c (g_conf_sources_dir_exists): New function.
	(g_conf_source_dir_exists): New function.

	* mateconf/mateconf-backend.h (MateConfBackendVTable): Added a dir_exists
	entry.

	* mateconf/MateConf.idl (dir_exists): New function.

	* backends/xml-backend.c (dir_exists): New function.
	(xml_vtable): Added dir_exists.

1999-08-30  Dave Camp  <campd@oit.edu>

	* mateconf/mateconf.h: #include mateconf-matecorba.h.

	* mateconf/Makefile.am (mateconfinclude_HEADERS): Install mateconf-matecorba.h,
	MateConf.h

1999-08-29  Dave Camp  <campd@oit.edu>

	* Makefile.am (bin_SCRIPTS): Install mateconf-config.

	* configure.in (AC_OUTPUT): Create mateconf-config.

	* mateconf/Makefile.am: Install mateconf.h and mateconf-schema.h.


1999-08-29  Dave Camp  <campd@oit.edu>

	* configure.in (XML_LIBS): Use xml-config.

1999-08-29  Kjartan Maraas  <kmaraas@online.no>

	* configure.in: Added "no" to ALL_LINGUAS
