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.

	* gconf/gconf-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.

	* gconf/gconf-internals.c: (gconf_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 gconf_client_clear_cache()

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

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

	* gconf-value.c: (gconf_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/gconf/gconf-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>

	* gconf/gconf-sources.c: (gconf_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>

	GConf part of fix for gconf-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>

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

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

	* gconf/gconf-sanity-check.c: (main): Plug a leak.
	* gconf/gconfd.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.

	* gconf/gconfd.c: (gconf_server_load_sources):
	Plug leak.
	
	* gconf/gconf-internals.c:
	(gconf_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.
	
	* gconf/Makefile.am: re-do how the marshallers
	are generated.
	
	* doc/gconf/Makefile.am: use gtk-doc.make.

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

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

	* gconf-2.m4.in: rename from gconf.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.

	* gconf/gconftool.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.

	* gconf/gconfd.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

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

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

	* gconf/gconftool.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/gconf-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.
	* gconf/gconf-internals.c: (gconf_invalid_corba_value): ANSI
	parameter list warning.
	* gconf/gconf-sanity-check.c: (ensure_gtk): NULL vs. 0
	* gconf/gconfd.c: (main): Same. Closes bug #149843.

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

	* gconf/gconftool.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.
	
	* gconf/gconftool.c (options): s/dir/directory/ s/standard out/standard output/.
	* gconf/gconfd.c (main): s/fd/file descriptor/.
	* gconf/gconf-sources.c (gconf_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.

	* gconf/gconf-internals.[ch]: (gconf_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/gconf/gconf.sgml,
	  doc/gconf/tmpl/gconf-client.sgml,
	  doc/gconf/tmpl/gconf.sgml,
	  doc/intro-article.sgml,
	  gconf/gconf-client.h,
	  gconf/gconf-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>

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

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

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

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

	* gconf/gconftool.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 gconfds
	to reload schemas.

	* gconf/gconfd.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 GConf uses under $sysconfdir to be change.

	* configure.in: add --sysconfsubdir argument and subst $sysgconfdir
	which contains the full sysconf path GConf uses.
	
	* Makefile.am,
	  examples/Makefile.am,
	  gconf/Makefile.am,
	  gconf/default.path.in,
	  gconf/gconftool.c,
	  standard-schemas/Makefile.am,
	  wrappers/cxx/Makefile.am: use $sysgconfdir.

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.

	* gconf/gconftool.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 %gconf.xml file but do
	contain a %gconf-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/gnome
	    /system
	    /schemas/apps
	    /schemas/desktop/gnome
	    /schemas/system
	    /schemas
	    /

	You can turn this of by passing the "nomerge" flag to the
	backend - e.g. xml:readwrite,nomerge:$(HOME)/.gconf
	
	* 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/gconf-merge-tree.c: (merge_tree): upd.

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

	* gconf/gconfd.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/gconf/tmpl/gconf-client.sgml: warn the g_type_init()
	must be called before using GConfClient.

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

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

	* gconf.m4.in (AM_GCONF_SOURCE_2): Use $(sysconfdir)/gconf/schemas
	as the default value of GCONF_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/gconf/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.

	* gconf/gconf.c: (gconf_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>

	* gconf/gconf-internals.c: (gconf_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>

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

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

	* gconf/gconf-sources.c: (gconf_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>

	* gconf/gconf-database.c (gconf_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-gconf-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

	* gconf/gconfd.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>

	* gconf/gconf-internals.c (gconf_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>.

	* gconf.m4.in: add quotes around AM_GCONF_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.

	* gconf/gconftool.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>

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

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

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

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

	* gconf/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. gconfd was crashing when removing objects from the
	panel.

	* gconf/gconf-database.c: (gconf_database_recursive_unset):
	Don't try and propogate a NULL error.
	
	* gconf/gconf-sources.c:
	(gconf_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>

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

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

	* doc/gconf/tmpl/gconf-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>

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

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

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

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

	* gconf/gconf-engine.h: add gconf_engine_get_for_addresses()
	and gconf_engine_get_local_for_addresses().
	
	* gconf/gconf.c:
	(gconf_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.
	(gconf_engine_get_local_for_addresses): add.
	(gconf_engine_get_for_address): update for register_engine change.
	(gconf_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.
	
	* gconf/GConfX.idl: extend the ConfigServer interface
	by adding ConfigServer2 inherting from ConfigServer.
	Add ConfigServer2::get_database_for_addresses().
	
	* gconf/gconf-backend.c:
	(gconf_address_valid), (gconf_get_backend): check the backend
	address doesn't contain any special characters.
	
	* gconf/gconf-database.[ch]:
	(source_notify_cb): don't notify unless this change could
	actually cause a change for the client.
	(gconf_database_notify_listeners): impl. notifying "other"
	listeners - clients listening on other stacks which contains
	any of the modified sources.
	(gconf_database_set), (gconf_database_unset): keep track of
	the sources modified by the change and update for the
	notify_listeners change.
	(gconf_database_recursive_unset): ditto and upd. for the
	change in the listeners list returned by
	gconf_sources_recursive_unset().
	(gconf_database_get_persistent_name): make the persistent
	name a concatenation of the individual addresses instead
	of the first address.
	
	* gconf/gconf-internals.[ch]:
	(gconf_address_list_get_persistent_name): impl method similar
	to gconf_database_get_persistent_name, except concatenate
	the addresses from a GSList.
	(gconf_persistent_name_get_address_list): do the reverse.
	(gconf_address_list_free): free the list of strings.

	* gconf/gconf-sources.[ch]:
	(gconf_sources_new_from_source): allow creating an empty source
	list.
	(gconf_sources_set_value),
	(gconf_sources_unset_value): return the sources modified by
	the change.
	(prepend_unset_notify), (recursive_unset_helper),
	(gconf_sources_recursive_unset): return a list of GConfUnsetNotifys
	which contains both the key and the modified source.
	(get_address_resource): copy and paste of gconf_address_resource
	except it doesn't dup the return value.
	(gconf_sources_is_affected): figure out if a change to a particular
	key in one source affects the key with a particular stack of sources.
	
	* gconf/gconfd.[ch]: impl ConfigServer2 inheritance.
	(gconfd_get_database): upd for obtain_database change.
	(gconfd_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.
	(gconfd_notify_other_listeners): impl notifying listeners
	on GConfDatabases other than the one which was changed.
	(listener_logentry_restore_and_destroy_foreach): restore by
	splitting the address list string.

	* gconf/gconftool.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.

	* gconf/gconf-backend.h: add a set_notify_func() member	to
	the vtable and remove the callback arg from add_listener().
	
	* gconf/gconf-database.c:
	(gconf_database_new): set the notification callback here.
	(gconf_database_readd_listener): upd.
	
	* gconf/gconf-sources.[ch]:
	(gconf_source_set_notify_func): add.
	(gconf_source_add_listener): upd.
	(gconf_sources_set_notify_func): add.
	(gconf_sources_add_listener): upd.

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

	* gconf/gconf-database.c: (source_notify_cb): don't leak
	the schema name.
	
	* gconf/gconf-sources.c:
	(gconf_sources_add_listener),
	(gconf_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.

	* gconf/gconf-backend.h: add add_listener() and
	remove_listener() members to the vtable.
	
	* gconf/gconf-database.c:
	(source_notify_cb): re-compute the value and notify
	listeners when the backend reports the key has changed.
	(gconf_database_readd_listener),
	(gconf_database_remove_listener): add/remove backend
	listeners.
	
	* gconf/gconf-sources.[c]:
	(gconf_source_add_listener),
	(gconf_source_remove_listener),
	(gconf_sources_add_listener),
	(gconf_sources_remove_listener): impl. the glue.
	
	* doc/gconf/tmpl/gconf-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>
	
	* gconf/gconf-backend.h: add a vtable_size member to
	the vtable.

	* gconf/gconf-backend.c:
	(gconf_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.
	(gconf_get_backend): fixup error handling a bit.
	
	* gconf/gconf-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/gconf/tmpl/gconf-backend.sgml: upd.

	* backends/markup-backend.c,
	  backends/xml-backend.c: add sizeof (GConfBackendVTable) to
	the vtable.
	
2004-03-24  Mark McLoughlin  <mark@skynet.ie>
	
	* gconf/gconf-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 gnome-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/gconf.sgml: lamest patch *ever*, remove a newline.

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

	* gconf/gconf-changeset.h: register GConfChangeSet 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>

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

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

	* backends/gconf-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
	GConf 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 gconf-merge-tree.
	
	* backends/markup-tree.c: if a %gconf-tree.xml file exists
	in a given directory, load that and ignore any %gconf.xml
	files in the directory and any sub-directories. Also,
	fix many little buglets to make this work compatibly with
	the XML backend.

	* gconf/gconftool.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/gconf-merge-tree.c: utility to merge a GConf
	tree into a single markup backend %gconf-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/gconf/gconf.sgml:
	* doc/gconf/tmpl/gconf-backend.sgml:
	* doc/gconf/tmpl/gconf-client.sgml:
	* doc/gconf/tmpl/gconf-engine.sgml:
	* doc/gconf/tmpl/gconf.sgml: Use gtk-doc in xml mode.  (#111791)

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

        * gconf/gconf.c, gconf/gconfd.c: use g_string_new (NULL) 
	rather than g_string_new ("") #106974 Morten Welinder
	
	* gconf/gconfd.c (gconf_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

	* gconf/gconf.c (gconf_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

        * gconf.spec.in: remove, not maintained
	
	* gconf/gconf-error.c (gconf_error_new_valist): don't put a
	newline in error messages, bug #111845 Morten Welinder

        * throughout: s/dir/directory/ bug #111822 Christian Rose
	
	* gconf/gconfd.c (gconf_server_load_sources): avoid string
	concatenation with #defines, confuses gettext, #111821
	Christian Rose

	* gconf/gconfd.h: fix gconf_get_poa() declaration, #110186
	Morten Welinder 
	
	* gconf/gconf-internals.c (read_current_server_and_set_warning):
	fix a warning, bug #110179

	* gconf/gconfd.c (test_safe_tmp_dir): fix warning

2003-10-22  Havoc Pennington  <hp@redhat.com>
	
	* gconf/gconf-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/gconftool-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>

	* gconf/gconf.c (gconf_engine_all_dirs): fix crash calling this
	with --direct (local source), the list contains strings not 
	GConfEntry

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>

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

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

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

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

	* gconf/gconf-client.c: (gconf_client_real_unreturned_error),
	(gconf_client_real_error), (cache_pairs_in_dir):
	* gconf/gconf-internals.c: (gconf_log):
	* gconf/gconf-listeners.c: (ltable_insert), (ltable_remove),
	(spew_func), (ltable_spew):
	* gconf/gconfd.c: (main):
	* gconf/gconftool.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):
	* gconf/gnome-testclient.c: (notify_func), (main):
	* gconf/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 (gconf_xml_doc_dump): Replacement for
	xmlDocDump() which is not reliable. While we're at it, also dump
	formatted xml.
	(dir_sync): Call the new gconf_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/gconf/gconf.sgml: doc fixes from Samuel Stringham
	#117830
	
2003-07-17  Havoc Pennington  <hp@redhat.com>

	* gconf/gconftool.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

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

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

	* gconf/gconf-client.c:
	(recurse_subdir_list): the subdir list contains full
	paths, so don't append it to the full path. Fixes
	recursive preloading.
	(gconf_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>

	* gconf/gconftool.c (main): Slight extra option tweaking.

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

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

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

	* gconf/gconftool.c (do_dissociate_schema): Fixed a misleading
	string (#116042)
 	* gconf/gconftool.c (do_associate_schema): Prevent segfault when
	no args supplied (#116040)
 	* gconf/gconftool.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>

	* gconf/gconf-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

	* gconf/gconf-sources.h: moved GConfUnsetFlags enum...

	* gconf/gconf-value.h: ...to here.

	* gconf/gconf-client.[ch] (gconf_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>

	* gconf/gconftool.c: Implement uninstalling GConf 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>

	* gconf/gconftool.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>

	* gconf/gconf-client.[ch]: Add gconf_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)/gconf/libgconf-$(MAJOR_VERSION).la to *_la_LIBADD.

	* gconf/Makefile.am (libgconf_2_la_LDFLAGS): add -no-undefined.

	* gconf/gconfd.c (main): use g_strdup_printf() instead of strlen() +
	g_malloc() + g_snprintf().

03-04-23  Muktha <muktha.narayan@wipro.com>
	* gconf/gconfd.c
	When reading the saved_state file, gconfd will not log message if 
	the saved_state file is not present. Fixes bug #110944.

2003-03-27  Brian Cameron <brian.cameron@sun.com>

	* gconf/gconf-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>

	* gconf/gconftool.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.
	* gconf/gconf-schema.h:
	* gconf/gconf-value.h: Wrapped both header files in an extern "C"
	for C+compilation.
	
	* gconf/gconf-internals.h:
	* gconf/gconf-value.h: Exported gconf_entry_copy(), _ref and
	_unref. Moved declaration from gconf-internals.h to
	gconf-value.h. Also deprecated gconf_entry_free().

	* doc/gconf/tmpl/gconf-value.sgml: Fixed typo, GCONF_VALUE_DOUBLE,
	in the description for gconf_value_get_float(). Changed the value
	type to GCONF_VALUE_FLOAT.
	
	* gconf/gconf-client.h: Added missing GCONF_CLIENT_GET_CLASS
	macro.

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

	* gconf/gconf-internals.c (gconf_get_daemon_dir): we need
	giop_tmpdir_init(), linc_get_tmpdir() isn't helpful. Revert to 
	/tmp/gconfd-foo for now.

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

	* gconf/gconf-internals.c (gconf_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 GCONF_GLOBAL_LOCKS=1.

	* gconf/gconf-internals.c (gconf_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 gconftool. e.g.:
	gconftool-2 --dump /apps/metacity > metacity.dump
	gconftool-2 --config-source blah --load metacity.dump
	or
	gconftool-2 -load metacity.dump /apps/other_metacity

	* gconf/gconftool.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>

	* gconf/gconf.c: (gconf_engine_set),
	(gconf_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/gconf-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>

	* gconf/gconf-internals.c
	(gconf_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>

	* gconf/gconf-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/gconf/gconf.sgml:
	* doc/gconf-1.0.dtd: Some additions to match the full range of schema
	elements curently accepted by gconftool. Supposedly complete now.

2002-09-18  Yanko Kaneti <yaneti@declera.com>

	* doc/Makefile.am: change the gconf-1.0.dtd install location to 
	$(datadir)/sgml/gconf which sounds more standards compliant.

2002-09-18  Havoc Pennington  <hp@pobox.com>

	* backends/markup-backend.c (resolve_address): add FIXME about
	GCONF_LOCAL_LOCKS

2002-09-18  Havoc Pennington  <hp@pobox.com>

        Merge gconf-markup-hacking branch
	
	* tests/testbackend.c: add a test for backends

	* gconf/gconftool.c (extract_global_info): add more error
	checking, adding more error strings

	* gconf/gconf-schema.c (gconf_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 (libgconfbackend_markup_la_SOURCES): add
	markup-backend.c

2002-09-18  Yanko Kaneti <yaneti@declera.com>

	* gconf.m4.in: Introduce --disable-schemas-install and the 
	GCONF_SCHEMAS_INSTALL conditional, which allows disabling 
	the schemas installation given the package decides to support it.

	* doc/Makefile.am:
	* doc/gconf/gconf.sgml:
	* doc/gconf-1.0.dtd (ADDED): formal dtd for the schema files.
	Not yet complete. Installed in $(pkgdatadir)/xml/gconf/ for now.

2002-09-18  Havoc Pennington  <hp@pobox.com>

	* configure.in: bump to 2.1.0, to get in sync with gnome and allow
	identifying HEAD

2002-09-09  jacob berkman  <jacob@ximian.com>

	* gconf/GConf.idl:
	* gconf/GConfX.idl:
	* gconf/Makefile.am:
	* gconf/gconf-database.h:
	* gconf/gconf-internals.h:
	* gconf/gconf.c:
	* gconf/gconfd.c:
	* gconf/gconfd.h: rename GConf.idl to GConfX.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>

	* gconf/gconfd.c
	Removed reference to gnome_segv2 since it was not used.

2002-07-11  Brian Cameron  <Brian.Cameron@sun.com>

	* gconf-2.0.pc.in
	* gconf.spec.in
	* gconf/Makefile.am
	* gconf/gconfd.c
	* gconf/gconf-internals
	Now install gconfd-2 and gconf-sanity-check-2 in libexec

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

	* gconf/gconfd.c: (obtain_database): fix
	silly with addresses list.

2002-07-04  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.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>

	* gconf/gconf-sources.c (gconf_sources_recursive_unset): don't
	propagate nonexistent errors, fixes a warning.

Fri Jun 14 13:24:42 2002  HideToshi Tajima  <hidetoshi.tajima@sun.com>

	* gconf/gconfd.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>

	* gconf/gconftool.c: add --version argument, #79555, involves a
	help string but it should be OK if this string isn't translated.

	* gconf/gconf-client.c (gconf_client_get): add some
	g_return_if_fail, #74984
	(gconf_client_key_is_writable): handle NULL entry,
	#75503

	* gconf/gconfd.c (gconf_handle_segv): disable bug-buddy for now,
	too much recursion danger.

	* gconf/gconf-internals.c, gconf/gconfd.c: replace isspace() with
	g_ascii_isspace, bug #70945

	* gconf/gconf-value.c (gconf_value_new): init i18n here

	* gconf/gconf.c (gconf_engine_blank): init i18n here

	* gconf/gconftool.c (main): init i18n here, call textdomain

	* gconf/gconfd.c (main): init i18n here, and call setlocale and
	textdomain

	* gconf/gconf-internals.c (_gconf_init_i18n): function to call
	from various places
	(gconf_orb_get): init i18n here

	* configure.in: require ORBit 2.4.0, linc 0.5.0, 

	bump version to 1.1.11

	fix setting of gconflocaledir (there was a typo, 
	gtklocaledir instead of gconflocaledir)

	check for bind_textdomain_codeset

	* backends/Makefile.am (noinst_LTLIBRARIES): make markup lib
	noinst for now, until we merge back the gconf-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 "gconf 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-GNOME2, don't worry.)
	
	* gconf/gconf-internals.h (gconf_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/gconf/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>

	* gconf/gconf-changeset.c: make the internal functions static

	* gconf/gconf-internals.c (byte_type): make static
	(get_hostname): remove

	* gconf/gconfd.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

	* gconf/gconftool.c (list_pairs_in_dir): opacity fixes

	* gconf/gconf.c: opacity fixes
	(gconf_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.

	* gconf/gconf-sources.c: opacity fixes

	* gconf/gconf-database.c: namespace fixes

	* gconf/gconf-internals.h: namespace some things

	* gconf/gconf-internals.c: opacity fixes
	(fill_corba_schema_from_gconf_schema):
	make static
	(corba_schema_from_gconf_schema): make static	

	* gconf/gconf-schema.c: do groundwork to make GConfSchema opaque,
	and fix some lack of spaces before parens

	* gconf/gconf-value.c: do groundwork to make GConfEntry mostly
	opaque (implement with GConfRealEntry)

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

	* gconf/gconf-client.c (gconf_client_get_string): clean up some
	weird cruft

	* gconf/gconf-internals.c (primitive_value): steal the schema,
	avoids a copy.

	* gconf/gconf-value.h, gconf/gconf-value.c: Hide private fields,
	suggested by Michael. But then make them public again 
	for now due to libgnome/eel being broken.

	* configure.in (PKGCONFIG_MODULES): require the right versions of 
	various things

2002-03-24  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-internals.c (gconf_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 
	gconf web page.

2002-03-23  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (gconf_main): change exit timeout to 2 minutes

2002-03-22  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (gconf_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

	* gconf/gconf-internals.c (gconf_double_to_string): use
	g_ascii_dtostr()
	(gconf_string_to_double): use g_ascii_strtod()

2002-03-21  Havoc Pennington  <hp@redhat.com>

	* configure.in: fuck, Martin apparently deleted -Wall last March.
	
	* gconf/gconftool.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

	* gconf/gconf-sanity-check.c (check_gconf): remove unused variables

	* gconf/gconfd.c: include sys/wait.h

	* gconf/gconf-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>

	* gconf/gconf-schema.c: move schema accessors to be functions not
	macros.

2002-03-20  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-internals.c
	(gconf_value_list_to_primitive_list_destructive): don't call
	gconf_value_get_int on a bool. WTF.

	* gconf/gconfd.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>

	* gconf/gconf-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 #gnome

2002-03-14  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-sanity-check.c (check_gconf): beef up the sanity
	checker to detect stuck locks, missing config files, and other
	screwups.

2002-03-10  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-sources.c (gconf_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.

	* gconf/gconftool.c (main): call setlocale()

	* tests/runtests.sh: run tests in various locales

	* gconf/gconf-value.h: add more padding to GConfEntry
	
	* gconf/gconf-internals.c (gconf_CORBA_Object_equal):
	(gconf_CORBA_Object_hash): remove stupid inlining of these
	functions

2002-02-26  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-client.c (notify_one_entry): protect notify callback 
	with a reference count around the entry, for reentrancy. Reported
	by Rodrigo Moya and Alex Larsson.

	* gconf/gconf-value.c (gconf_entry_unref, gconf_entry_ref): new
	internal (for now) functions
	(gconf_entry_free): just call gconf_entry_unref

Sat Feb 16 01:27:29 2002  Jonathan Blandford  <jrb@redhat.com>

	* gconf/gconftool.c (read_value_type): fix typo in reading args.

2002-02-14  Dave Camp  <dave@ximian.com>

	* gconf/gconf.c: (gconf_string_to_enum): Use g_ascii_strcasecmp
	instead of g_strcasecmp.
	* gconf/gconfd.c: (gconf_main), (gconf_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>

	* gconf/gconftool.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>

	* gconf/gconfd.c (signal_handler): run gnome_segv if DISPLAY is
	set. Why not. may turn it off for production.
	
2002-02-10  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (CHECK_OWNER_USE): put name of function in the
	warning
	(gconf_engine_associate_schema): remove warning from this
	function, it has no GConfClient equivalent and won't mangle the
	cache

2002-02-10  Zbigniew Chyla  <cyba@gnome.pl>

	* configure.in (ALL_LINGUAS): Added pl (Polish).

2002-02-08  jacob berkman  <jacob@ximian.com>

	* gconf.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>

	* gconf/Makefile.am (install-exec-local): don't install gconftool
	symlink

	* gconf.m4.in (AM_GCONF_SOURCE_2): call gconftool-2 rather than
	gconftool

2002-02-05  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-sanity-check.c (main): add gconf-sanity-check-2 app,
	which either exits sucessfully and does nothing, or pops up a
	dialog explaining a gconf problem and exits with a failure code.
	Could be placed in gnome-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>

	* gconf/gconf.h: move (gconf_debug_shutdown) out of
	the internals guard - doh.

	* gconf/gconf-client.c (gconf_client_get_default):
	ensure we still own the reference we keep around.

2002-02-04  Havoc Pennington  <hp@redhat.com>

	* gconf/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>

	* gconf/Makefile.am: re-enable explicit dependency on built
	sources, as it doesn't build otherwise.

2002-02-01  Havoc Pennington  <hp@pobox.com>

	* gconf/Makefile.am: include the *.sh scripts

	* gconf/regenerate-enum-footer.sh: fix screwup that broke build

2002-02-01  Havoc Pennington  <hp@redhat.com>

	* gconf/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>

	* gconf/gconf-database.c: warning cleans.
	(impl_ConfigDatabase3_add_listener_with_properties):
	init name.
	(gconf_database_add_listener): right args for format.

	* gconf/gconf-client.c: warning cleans.

	* gconf/gconf-internals.c (gconf_orb_release):
	return shutdown status.

	* gconf/gconf.c (gconf_detach_config_server):
	privatize again, and split out ORB shutdown into
	(gconf_debug_shutdown): here.

2002-01-25  Michael Meeks  <michael@ximian.com>

	* gconf/gconf.c (try_to_contact_server): release the
	server reference, if it's to a duff object.
	(gconf_get_config_listener): strip local 'listener',
	since we have a static module global for that.
	(gconf_detach_config_server): release the listener.
	(gconf_get_config_listener): release the poa & manager
	references.

	* tests/testgconf.c (main): add
	gconf_detach_config_server

	* gconf/gconf-internals.c
	(gconf_orb_get): remove bonobo activation
	worries, kill bogus fiddling with the default
	context.
	(gconf_orb_release): impl.

	* gconf/gconf.c (gconf_detach_config_server):
	publicise & destroy engines_by_cb.
	(database_rec_release): impl.
	(gconf_engine_set_database): use g_hash_table_new_full
	(gconf_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>

	* gconf/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>

	* gconf/Makefile.am: add gconf-enum-types.h/gconf-enum-types.c 
	files, thanks to Johan Dahlin

	* gconf-2.0.pc.in (Libs): oops, we had Requires: bonobo-activation
	still

2002-01-16  Anders Carlsson  <andersca@gnu.org>

	* gconf/gconf-client.c (gconf_client_get_full): Plug a leak.

2002-01-14  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_key_is_below): fix to handle root dir

	* gconf/gconftool.c (main): add --unapply-schema mode

	* gconf/gconf-database.c (impl_ConfigDatabase_set_schema): allow
	unset schema if we get an empty schema name

	* gconf/gconf.c (gconf_engine_associate_schema): allow NULL 
	schema name to unset the schema

	* gconf/gconftool.c (do_recursive_unset): use new
	gconf_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

	* gconf/gconf-sources.c (gconf_sources_set_value): enhance the
	other giant error message

	* gconf/gconf-internals.c (gconf_activate_server): improve error
	message to cover stale locks and explain how to active TCP for 
	ORBit

	* gconf/gconf-sources.c (gconf_sources_recursive_unset): implement

	* gconf/gconf.c (gconf_key_check): handle NULL key

	* gconf/gconf-sources.c (gconf_sources_set_schema): allow NULL
	schema name

	* gconf/GConf.idl: add flags to recursive_unset

	* gconf/gconf.c (gconf_engine_recursive_unset): Add this internal
	API to use in gconftool etc.
	
2002-01-14  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-client.c (gconf_client_get_full): fix segfault on
	missing entry

2002-01-12  Havoc Pennington  <hp@pobox.com>

	* examples/basic-gconf-app.c (main): remove unused variable, 
	fix from  Markus Bertheau 

	* gconf/gconf-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 GConfEngine)
	(gconf_client_key_is_writable): avoid pointless copies if
	possible, to make this fast

	* gconf/gconf-schema.h: add padding to GConfSchema

	* gconf/gconf-value.h: add padding to GConfEntry

	* gconf/gconf-value.c (gconf_entry_equal): new internal function

	* gconf/gconf-client.c: queue notifies to an idle handler, replace 
	CacheEntry with GConfEntry

	* gconf/gconf-client.h (struct _GConfClientClass): add padding
	(struct _GConfClient): add padding

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* tests/testgconf.c (check_unset): fixes

2002-01-10  Havoc Pennington  <hp@pobox.com>

	* configure.in: version to 1.1.6
	(GCONF_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>

	* gconf/gconf-database.c: (gconf_database_new):
	* gconf/gconf.c: (gconf_get_config_listener):
	* gconf/gconfd.c: (main): no need to explicitly activate CORBA objects,
	the RootPOA has the IMPLICIT_ACTIVATION policy.

2002-01-05  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-client.c (gconf_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.

	* gconf/gconf-value.c (gconf_value_compare): new function,
	internal for now to avoid API addition

	* gconf/gconf-client.c (cache_entry_list_destructively): new
	static function
	(gconf_client_all_entries): cache the requested entries, if 
	we are monitoring the dir we get the values from.

	* gconf/gconf-value.c (gconf_entry_copy): new function, internal
	for now to avoid API addition

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-client.c (gconf_client_class_init): add
	GCONF_DEBUG_TRACE_CLIENT setting, to debug spew about
	what's going on
	(gconf_client_real_unreturned_error): also ignore
	GCONF_ERROR_NO_WRITABLE_DATABASE since it's typically not 
	an error to report.

2002-01-04  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-client.c (gconf_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>

	* gconf/gconf-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!

	* gconf/gconf.c (gconf_engine_notify_add): use
	add_listener_with_properties if available to send name of client
	to the server

	* gconf/GConf.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>

	* gconf/gconfd.c (main): if GCONF_DEBUG_OUTPUT is set, 
	enable gconf_log_debug_messages

2002-01-03  Havoc Pennington  <hp@pobox.com>

	* gconf/gconftool.c (main): honor
	GCONF_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>

	* gconf.m4.in: Add quotes to
	GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/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>

	* gconf/gconf-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-gconf-app.c:
	s/GLIB_DISABLE_DEPRECATED/G_DISABLE_DEPRECATED/

2001-12-17  Darin Adler  <darin@bentspoon.com>

	* doc/gconf/.cvsignore:
	* examples/.cvsignore:
	Update.

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* gconf/gconfd.c (drop_old_clients): fix this

	* gconf/gconf-database.c (client_alive_predicate): fix spelling in
	log message

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* gconf/gconfd.c (drop_old_clients): use
	CORBA_Object_non_existent() instead of ConfigListener_ping

	* gconf/gconf-database.c (client_alive_predicate): use
	CORBA_Object_non_existent() instead of ConfigListener_ping

2001-12-11  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.c (gconf_engine_get_default): change to not start
	gconfd immediately, so we can avoid starting it if 
	we're just going to shut it down, and just generally do 
	things lazily.
	(gconf_shutdown_daemon): ignore NO_SERVER error code

	* backends/xml-dir.c (dir_get_value): always get schema name, not
	just if value is unset

	* gconf/gconfd.c (main): don't free logname since there are atexit
	handlers for now

	* gconf/gconf-sources.c (gconf_sources_query_value): don't look
	for a default value for the schema. Useless and adds a bit of
	inefficiency.

	* gconf/gconfd.c (main): set log handler for GLib
	(log_handler): mask extra flags out of log level

	* gconf/gconf-sources.c (gconf_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>

	* gconf.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>

	* gconf/gconf-internals.c (gconf_load_source_path): for fuck's
	sake - we've been reading the config source backward forever - 
	this has never fricking worked. Dammit.

	* gconf/gconf-sources.c (gconf_sources_set_value): make huge error
	message even more so
	(gconf_sources_new_from_addresses): add debug log about config
	source writability

2001-12-08  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-client.c: fix some warnings

	* gconf/gconf-internals.h: try to fix gettext issues

2001-12-08  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.c (gconf_value_validate): take const arg

	* gconf/gconf.c: add internal API to check that GConfEngine isn't
	being used "underneath" its owning GConfClient, thus causing 
	cache inconsistencies. Bad hack, yay.

	* gconf/gconf-client.c: Use new internal GConfEngine "exclusive
	owner" API
	(gconf_client_real_unreturned_error):
	silently ignore GCONF_ERROR_OVERRIDDEN, because if the system 
	is "locked down" most apps will probably call gconf_client_set 
	anyway.

	* gconf/gconf-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/gconf/Makefile.am: make makefile use snazzy canonical
	gtk-doc makefile from gtk

	* doc/gconf/gconf.sgml: make it reflect current reality a bit
	more.

	* examples/basic-gconf-app.c: Update the example

	* examples/complex-gconf-app.c: Move the old basic-gconf-app.c
	into here.

	* gconf/gconf-listeners.c (gconf_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>

	* gconf/gconf-internals.c (open_empty_locked_file): improve error

	* gconf/gconftool.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.

	* gconf/gconfd.c (gconf_set_exception): add missing value to case
	statement so we don't crash

	* examples/basic-gconf-app.c: update comment to say that the
	example isn't really right anymore

	* gconf/gconftool.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>

	* gconf/Makefile.am: add an explicit dependency on the built files

2001-12-03  Laszlo Peter  <laca@ireland.sun.com>

	* gconf/gconf-internals.c: oops, s/ulong_t/gulong/

2001-12-03  Laszlo Peter  <laca@ireland.sun.com>

	* gconf/gconf-internals.c (get_hostname): fix memory alignment
	problem on Solaris.

2001-12-02  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-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>

	* gconf/gconf-client.c: Remove extraneous gobject/* includes.

2001-11-18  Miles Lane  <miles@megapathdsl.net>

	* gconf/gconf-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/gconf/Makefile.am: fix this

	* doc/gconf/gconf.types: update
	
2001-10-31  Havoc Pennington  <hp@pobox.com>

	* gconf/gconftool.c: add --recursive-unset command line option

2001-10-31  Zbigniew Chyla  <cyba@gnome.pl>

	* gconf/gconf-internals.c (gconf_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>

	* gconf-editor/gconf-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 gnome
	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>

	* gconf.spec.in: updated installation paths

2001-10-15  Havoc Pennington  <hp@redhat.com>

	* gconf/gconftool.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 GCONF_CURRENT
	and GCONF_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.
	
	* gconf/gconf.c (gconf_engine_set): check UTF-8 validity here,
	instead of at the higher levels	

	* gconf/gconf-value.c (gconf_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/testgconf.c: add a UTF-8 test

	* gconf/gconf.c: UTF-8 checks, and some indentation

	* gconf/gconf-schema.c: UTF-8 checks

	* gconf/gconf-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

	* gconf/gconf-internals.c (gconf_double_to_string): use g_snprintf
	not plain snprintf for Solaris 2.5.1 friendliness

	* doc/gconf/tmpl/gconf-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/testgconf.c (check_utils): add test for the key
	escaper/unescaper thingy

	* gconf/gconf.c (gconf_escape_key): new function
	(gconf_unescape_key): new function

2001-10-10  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.c (gconf_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>

	* gconf/gconf-internals.c (gconf_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>

	* gconf/gconf-internals.c (open_empty_locked_file): include
	strerror in the error message on lock failure

2001-10-01  Michael Meeks  <michael@ximian.com>

	* gconf/gconf.h: fix deprecated guard.

	* gconf/gconf.c (ctable_remove_by_client_id): remove unused.

2001-09-29  Carlos Perello Marin <carlos@gnome-db.org>

	* gconf/gconf.h (GCONF_DISABLE_DEPRECATED): closed a comment.

2001-09-28  Havoc Pennington  <hp@redhat.com>

	* gconf/gconfd.c (main): fix write_byte_fd to always be initialized

	* gconf/gconf-internals.c (gconf_get_current_lock_holder): read
	IOR file, not directory it's inside

2001-09-26  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.h: mark gconf_init() deprecated

	* gconf/Makefile.am (INCLUDES): libxml cflags

	* gconf/gconf.c (gconf_init): make this a no-op, instead init on
	demand.

        Merge from stable
	
	* gconf.m4.in: patch from Yanko Kaneti to have AM_GCONF_SOURCE
	define a GCONF_SCHEMA_FILE_DIR variable for the directory where
	schema files should be installed

	* gconf/Makefile.am (install-data-local): don't install oafinfo

	* configure.in: don't generate oafinfo

	* gconf/gconftool.c (main): remove error message about running
	gconfd while installing schemas, instead we'll fail to get a lock.

	* gconf/gconfd.c (main): redirect stdin/out/err to /dev/null
	instead of just closing them, saves ORBit some confusion

	* backends/xml-cache.c (cache_clean): change the "items remain in
	cache" message to DEBUG level 
 
 	* gconf/gconf-internals.c (gconf_get_lock_or_current_holder):
	rearrange locking to just use fcntl()
 
 	* gconf/gconf.c (gconf_engine_connect): fix error message in
 	default daemon case
 
 	* gconf/gconfd.c (gconf_main): reduce exit-after-unused timeout to
 	2 minutes
 
 	* gconf/Makefile.am (INCLUDES): add -DGCONF_BINDIR
 
 	* gconf/gconf-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
	(ORBIT_IDL): look for orbit-idl-2 using pkg-config

2001-09-17  Havoc Pennington  <hp@redhat.com>

	* configure.in: look for orbit-idl-2 not orbit-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:
	* gconf-editor/Makefile.am:
	* tests/Makefile.am:
	* wrappers/guile/Makefile.am:
	Got rid of extra unneeded -I directives.

	* examples/basic-gconf-app.c:
	* examples/simple-controller.c:
	* examples/simple-view.c:
	Changed includes to use the normal <gconf/*> format, because
	that is both better for examples, and works fine when building
	gconf 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>

	* gconf/gconf-internals.c: (gconf_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

	* gconf/gconf-internals.c (gconf_load_source_path): ditto

	* gconf/gconfd.c (gconf_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

	* gconf/Makefile.am: Update to install GNOME_Config.server.

	* configure.in: update to GNOME_Config.server

	* gconf/Makefile.am (-DIID): rename to GNOME_Config_Daemon
	to fit with the bonobo namespace guidelines.

	* gconf/GNOME_Config.server.in: update & indent.

2001-08-13  Marco Pesenti Gritti  <mpeseng@tin.it>

	* doc/gconf/gconf.sgml: small explanation about 
	AM_GCONF_SOURCE_2 macro
	
2001-08-13  Havoc Pennington  <hp@redhat.com>

        Merge from stable.
	
	* gconf/gconf-internals.c (gconf_load_source_path): patch from
	Adam Spiers to honor variables in include lines

	* gconf/gconf-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>

	* gconf/gconf-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 gconf-config,
	the file has been removed
	* gconf.m4.in: rename AM_GCONF_SOURCE to AM_GCONF_SOURCE_2
	to not break parallel installs
	
2001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>

	* gconf/gconf.m4.in: remove duplicate macro
	
2001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>

        * gconf/gconf.m4.in: New file. GCONF_SCHEMA_CONFIG_SOURCE macro
	* configure.in: add gconf.m4 to AC_OUTPUT
        * Makefile.am: add gconf.m4 to EXTRA_DIST and install-data-local
	Setup a default gconf source on make install.
        * galeon.spec.in: Distribute also the path file and
        the directories for the default source.
        * gconf/Makefile.am: install the default path as "path" instead
        of "path.example". Add GCONF_ETCDIR define.
        * gconf/gconftool.c: Add --get-default-source option.

2001-08-03  Martin Baulig  <baulig@suse.de>

	* gconf/gconfd.oafinfo.in: Renamed -> gconfd.server.in.

	* Makefile.am: Install gconfd.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>

	* gconf/gconftool.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.
	
	* gconf/gconfd.c (main): don't warn about failure to create
	~/.gconfd if EEXIST

	* gconf/gconf.c (gconf_engine_all_entries): convert empty string 
	to NULL

	* gconf/gconf-database.c
	(impl_ConfigDatabase2_all_entries_with_schema_name): don't give
	ORBit any NULL strings in the array, avoids a core dump

	* gconf/gconftool.c (list_pairs_in_dir): put a newline after the
	error message

2001-07-16  Havoc Pennington  <hp@redhat.com>

        Merge from stable.
	
	* gconf/gconfd.c (main): add super-lame hack to 
	pass currently-running gconfd to oafd if oafd has lamely leaked it
	due to lame-assness

	* gconf/gconf-internals.c (gconf_get_lock): fix leak of object
	reference belonging to server that held the lock
	(gconf_get_lock_or_current_holder): add function to get current
	owner of a lock

	* gconf/GConf.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. ;-)

	* gconf/gconf.c (try_to_contact_server): make the error on
	OAF-did-not-set-exception really, really verbose, and explicitly
	say "do not file a GConf bug report." But with fixed OAF this 
	shouldn't happen anymore anyhow.

	* gconf/gconf-sources.c (gconf_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 gconf-config and gconf.m4 from AC_OUTPUT

2001-07-17  Anders Carlsson  <andersca@gnome.org>

	* Makefile.am: Remove gconf-config and gconf.m4 from EXTRA_DIST
	and do not try to install them.

	* gconf.m4.in: Remove this file.

	* gconf-config.in: Remove this file.

2001-07-17  Darin Adler  <darin@bentspoon.com>

	* gconf/gconf.c: (gconf_postinit):
	Let CORBA generate the ID instead of providing one ourselves.

2001-07-17  Laszlo Peter  <laca@ireland.sun.com>

	* gconf/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.
	* gconf/gconf-backend.c: (gconf_get_backend): Add const.
	* gconf/gconf-backend.h: Add const.
	* gconf/gconf-internals.c: (fill_corba_value_from_gconf_value),
	(corba_value_from_gconf_value),
	(fill_corba_schema_from_gconf_schema),
	(corba_schema_from_gconf_schema): Add const.
	* gconf/gconf-internals.h: Add const.
	* gconf/gconf-sources.c: (gconf_source_set_value),
	(gconf_sources_set_value): Add const.
	* gconf/gconf-sources.h: Add const.
	* gconf/gconf.c: (gconf_engine_set): Add const.
	* gconf/gconf.h: Add const.

	* gconf/gconf-value.h:
	* gconf/gconf-value.c: (gconf_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.

	* gconf/gconftool.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>

	* gconf/Makefile.am (CLEANFILES): add stamps so we can
	clean & make.

2001-07-03  Michael Meeks  <michael@ximian.com>

	* configure.in: add ORBIT_IDL check.

2001-07-02  Carlos Perello Marin <carlos@gnome-db.org>

	* gconf/gconf-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>

	* gconf/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 gconf-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>

	* gconf/gconf-internals.h, gconf/gconf-value.h: move
	gconf_value_new_from_string to make it a public API

2001-05-11  Havoc Pennington  <hp@redhat.com>

       Merge from stable.

	* gconf/gconfd.c (signal_handler): on SIGUSR1, enable/disable
	debug spew.

	* gconf/gconf-internals.c (gconf_log): use a runtime variable to
	decide whether to log debug messages

	* gconf/gconf-database.c, gconf/gconfd.c, gconf/gconf-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>

	* gconf/Makefile.am: remove testgconfclient 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 gnome-common
	dependency. Requires CVS pkg-config, need a pkg-config release.
        (Since OAF doesn't build against ORBit1 anyway, I figured why not
	check this in too...)
	
2001-04-28  Murray Cumming  <murrayc@usa.net>

	* gconf/gconf-client.c, gconf/gconf-client.h,
          gconf/gconf-schema.c, gconf/gconf-schema.h,
          gconf/gconf-value.c, gconf/gconf-value.h,
          gconf/gconf.c, gconf/gconf.h: Use of const with function
          args. e.g. gconf_value_copy(const GConfValue* src).

2001-04-17  Michael Meeks  <michael@ximian.com>

	* gconf/Makefile.am (dist-hook): don't distribute built
	sources.

Wed Apr 11 08:07:11 2001  George Lebl <jirka@5z.com>

	* gconf/gconf.c (gconf_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 gconf-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>

	* gconf/gthreadpool.[ch]: Removed.
	* gconf/gconf-glib-private.h: Removed.
	* gconf/gconf-glib-public.h: Removed.

	* gconf/gconf-client.[ch]: Moved here from wrappers/gtk/
	and migrated to use GObject.

	* gconf/testgconfclient.c: Moved here from wrappers/gtk/.

	* gconf/gconf-internals.h
	(gconf_CORBA_Object_hash, gconf_CORBA_Object_equal):
	New static inline functions.

	* gconf/gconfmarshal.list: New file.

	* gconf/gconftool.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 gconf/.

2001-03-18  Martin Baulig  <baulig@suse.de>

	We're now on the GNOME 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 ORBit2.

	* acinclude.m4: Add the contents of
	gnome-common/macros2/gnome-pkgconfig.m4 here.

	* Makefile.am: Install gconf-2.0.pc.

	* gconf-2.0.pc.in: New file.

2001-03-13  Kjartan Maraas  <kmaraas@gnome.org>

	* backends/xml-entry.c: Merge from branch. Use xmlFree().
	* gconf/gconftool.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.
	
	* gconf/gconfd.c (gconf_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.
	(gconfd_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>

	* gconf.spec.in: %define prefix %{_prefix} instead of @prefix@

2001-02-27  Havoc Pennington  <hp@redhat.com>

        Merge from stable.
	
	* gconf/gconfd.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.

	* gconf/Makefile.am (INCLUDES): set the log domain

	* gconf/gconftool.c (recurse_subdir_list): the list contains full
	directory paths to start with, fix from Colm

	* gconf/gconfd.c (register_database): bugfix from Colm

	* gconf/gconf.c (lookup_engine): fix from Colm to check that we
	have an engines hash
	(gconf_engine_get_for_address): improve warning message, fix from
	Colm
	(gconf_engine_remove_dir): new function from Colm, this was
	implemented on the server side but somehow never exported.

	* gconf/gconf-database.c (gconf_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

	* gconf/gconfd.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 %gconf.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

	* gconf/gconftool.c (do_get): print default value from schema

2000-12-19  Rebecca Schulman  <rebecka@eazel.com>

	* gconf/gconfd.c: (gconf_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>

	* gconf/gconf-locale.c (gconf_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>

	* gconf/gconf.c (gconf_engine_unset): Fix dereference of NULL GError**

2000-11-20  Havoc Pennington  <hp@redhat.com>

	* doc/gconf/Makefile.am: Fix "make scan" to actually work, so 
	you can build the docs

2000-11-11  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.c (gconf_entry_set_is_writable): Add this
	function

2000-11-05  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-glib.c, gconf/gconf-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>

	* gconf/gconfd.c (parse_listener_entry): fix strtoul error
	checking

	* gconf/gconf-internals.c (gconf_string_to_gulong): Fix error
	checking on strtoul

2000-11-05  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-glib.c (g_propagate_error): Sync from GLib,
	should fix one very minor memory leak in GConf

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/gconf-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/gconf-client.c
	(gconf_client_real_unreturned_error): implement default error
	handler that prints to stderr
	(gconf_client_key_is_writable): hmm, this function didn't compile
	very cleanly

	* wrappers/gtk/gconf-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 GConfClient is going to
	move into the main GConf 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.

	* gconf/gconf-glib.c: Corrected mispelling string.

2000-10-10  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.c (gconf_value_to_string): fix segfault when 
	pair contains unset car or cdr
	(gconf_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.

	* gconf/gconf-sources.c (gconf_sources_all_entries): fix
	cut-and-paste error resulting in NULL pointer dereference.

2000-10-08  Havoc Pennington  <hp@pobox.com>

        gconfd should now exit when not in use.
	
	* gconf/gconf-database.c (gconf_database_drop_dead_listeners):
	function to drop any listeners with dead clients.

	* gconf/gconfd.c (drop_old_databases): before checking 
	whether the listener count is 0, clean up listeners belonging 
	to dead clients.

	* gconf/gconf-listeners.c (gconf_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/gconf-client.c: indentation/formatting

	* gconf/gconfd.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.

	* gconf/gconfd.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 gconfd 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.

	* gconf/gconf-database.c, gconf/gconfd.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 gconfd 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.
	
	* gconf/gconfd.c (gconf_set_exception): add ConfigInShutdown

	* gconf/GConf.idl: add ConfigInShutdown error

	* gconf/gconf.c (corba_errno_to_gconf_errno): add ConfigInShutdown

	* gconf/gconf-error.h: two error codes had the same integer value.
	Also, add GCONF_ERROR_IN_SHUTDOWN

	* gconf/gconfd.c (gconfd_in_shutdown): Add a flag 
	to indicate we're shutting down; all operations will 
	return an error at that point.

	* gconf/gconf.c (gconf_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 GConf build with an ISO C compiler:-

	  configure.in backends/Makefile.am backends/xml-cache.c
	  gconf/gconf-database.c gconf/gconf-sources.c gconf/gconfd.c
	  tests/testchangeset.c tests/testencode.c tests/testgconf.c
	  tests/testlisteners.c tests/testpersistence.c
	  tests/testschemas.c


2000-10-03  Robin * Slomkowski  <rslomkow@eazel.com>

	* gconf.spec.in:/etc/etc is not a directory
	OK I am less foolish now

2000-10-03  Robin * Slomkowski  <rslomkow@eazel.com>

	* gconf.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>

	* gconf/gconfd.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>

	* gconf/gconf.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>

	* gconf/gconf.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>

	* gconf/gconf-locale.c (gconf_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
	
	* gconf/gconf-sources.c (gconf_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 GConf without gcc, 
	but it appears so...)

	* gconf/gconftool.c: use N_ not _ with static strings.

	* tests/testschemas.c: Don't include locale.h

	* gconf/gconf-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>

	* gconf/gconfd.c (gconf_main): With debugging turned on, use
	obscenely short timeout for periodic cleanups, to ensure bugs 
	get triggered.

	* gconf/gconf-database.c (impl_ConfigDatabase_all_dirs): Set
	_release to TRUE for sequences
	(impl_ConfigDatabase_all_entries): ditto

	* gconf/gconfd.c (half_hour_timeout): exit only if client count is
	0 after dropping all dead clients.
	
	* gconf/gconf-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

	* gconf/gconfd.c: Implement client list logging

	* gconf/gconf.c: Add self to the server's client list 
	whenever we get a new server objref

2000-09-23  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c: Implement add/remove client methods; 
	still need to log these to disk, and on restart tell the
	logged clients to drop their caches.

	* gconf/GConf.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>

	* gconf/gconf.c: Update to reflect IDL change

	* gconf/GConf.idl: Change invalidate_cached_values() to take
	multiple keys to invalidate; better efficiency that way

2000-09-17  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-database.c: Add new methods on ConfigDatabase

	* gconf/gconf.c: Add new methods on ConfigListener, but they
	do nothing at the moment

	* gconf/GConf.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>

	* gconf/gconf.c (gconf_engine_key_is_writable): And actually 
	implement it here. Doh.

	* wrappers/gtk/gconf-client.c (gconf_client_key_is_writable): Gee,
	forgot to actually implement this function after implementing all
	the backend work for it... 

	* gconf/gconf.c (corba_errno_to_gconf_errno): add
	NO_WRITABLE_DATABASE handling here also

	* gconf/gconfd.c (gconf_set_exception): handle
	NO_WRITABLE_DATABASE error

	* gconf/GConf.idl: Add NoWritableDatabase to error type enum

	* wrappers/gtk/testgconfclient.c (entry_attached_to): Update 
	to properly handle writability

	* examples/simple-controller.c (main): set entry sensitivity
	properly

	* examples/basic-gconf-app.c (main): Remove ref/sink and destroy,
	just use plain refcounting
	(create_config_entry): Set entry sensitivity according to key
	writability

	* wrappers/gtk/gconf-client.c (gconf_client_finalize): Move all
	cleanup to finalize, remove destroy handler	

2000-09-16  Havoc Pennington  <hp@pobox.com>

	* doc/gconf/tmpl/gconf-value.sgml: Update some docs

	* wrappers/gtk/gconf-client.c (notify_listeners_callback): Update
	to reflect new callback signature for GConfClientNotifyFunc

	* gconf/gconf-sources.c (gconf_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.

	* gconf/gconf-database.c (gconf_database_notify_listeners): Add
	is_writable here

	* gconf/GConf.idl: Add writable flag to notification

	* gconf/gconf.h: Update GConfNotifyFunc to have fewer args, and 
	a GConfEntry is just passed in (since I was going to have
	to add an is_writable arg, and passing in a GConfEntry 
	gives us future extensibility against this sort of thing)
	BREAKS USER CODE, many apologies.

	* wrappers/gtk/gconf-client.c (gconf_client_get_entry): Update
	to reflect GConfEngine changes

	* gconf/gconf.c (gconf_engine_all_entries): Get the writability
	stuff
	(gconf_engine_get_full): rename to gconf_value_get_entry 
	and return an entry; drop the is_default argument.

	* gconf/gconf-sources.c (gconf_sources_query_value): Implement 
	finding out if a value is writable
	(gconf_sources_all_entries): Implement setting is_writable 
	flag on the entries

	* gconf/gconf-value.c (gconf_entry_new_nocopy): Default to 
	the entry being writable

	* gconf/gconf-database.c: Change to match IDL changes

	* gconf/GConf.idl (lookup_with_locale): Add out param for
	writability
	(all_entries): Add out param for writability

	* gconf/gconf-value.h: Add is_writable field to GConfEntry
	(gconf_entry_get_is_writable): Add this

	* wrappers/gtk/gconf-client.c (gconf_client_key_is_writable): Add 
	the matching stub here

	* gconf/gconf.c (gconf_engine_key_is_writable): Go ahead and add
	this function so we can implement it later, but it always returns 
	TRUE at the moment.

	* gconf/gconf-changeset.c (gconf_change_set_set_user_data,
	gconf_change_set_get_user_data): Add user data for language
	bindings

	* gconf/gconf.c (gconf_engine_set_user_data,
	gconf_engine_get_user_data): Add user data for language
	bindings

2000-09-15  Havoc Pennington  <hp@redhat.com>

	* s/gconf_concat_key_and_dir/gconf_concat_dir_and_key/g

2000-09-14  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_engine_all_dirs): Update to 
	return fully qualified name in GConfEntry
	(gconf_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.
	
	* gconf/gconf-sources.c: (gconf_sources_new_from_addresses):
	Removed unused variable.
	* tests/.cvsignore: Added some generated files.

2000-09-13  Havoc Pennington  <hp@redhat.com>

	* More renaming:

	s/gconf_meta_info_schema/gconf_meta_info_get_schema/g;
	s/gconf_meta_info_mod_user/gconf_meta_info_get_mod_user/g;
	s/gconf_meta_info_mod_time/gconf_meta_info_mod_time/g;

	s/gconf_entry_key/gconf_entry_get_key/g;
	s/gconf_entry_value/gconf_entry_get_value/g;
	s/gconf_entry_schema_name/gconf_entry_get_schema_name/g;
	s/gconf_entry_is_default/gconf_entry_get_is_default/g;

	s/gconf_value_string/gconf_value_get_string/g;
	s/gconf_value_int/gconf_value_get_int/g;
	s/gconf_value_float/gconf_value_get_float/g;
	s/gconf_value_list_type/gconf_value_get_list_type/g;
	s/gconf_value_list/gconf_value_get_list/g;
	s/gconf_value_car/gconf_value_get_car/g;
	s/gconf_value_cdr/gconf_value_get_cdr/g;
	s/gconf_value_bool/gconf_value_get_bool/g;
	s/gconf_value_schema/gconf_value_get_schema/g;

	s/gconf_schema_type/gconf_schema_get_type/g;
	s/gconf_schema_list_type/gconf_schema_get_list_type/g;
	s/gconf_schema_car_type/gconf_schema_get_car_type/g;
	s/gconf_schema_cdr_type/gconf_schema_get_cdr_type/g;
	s/gconf_schema_locale/gconf_schema_get_locale/g;
	s/gconf_schema_short_desc/gconf_schema_get_short_desc/g;
	s/gconf_schema_long_desc/gconf_schema_get_long_desc/g;
	s/gconf_schema_owner/gconf_schema_get_owner/g;
	s/gconf_schema_default_value/gconf_schema_get_default_value/g;

2000-09-13  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.c (gconf_engine_all_entries): Put full key in
	GConfEntry (but we only get the relative key over the 
	CORBA wire)

	* wrappers/gtk/gconf-client.c (cache_pairs_in_dir): Change to 
	reflect fact that GConfEntry now contains full key

	* gconf/gconftool.c (list_pairs_in_dir): Change to reflect full
	key in GConfEntry

	* doc/gconf/tmpl/gconf-value.sgml: updated GConfEntry 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>

	* gconf/gconf-value.c (gconf_entry_new): New function
	(gconf_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-GConf stuff
	s/writeable/writable/g;

	s/gconf_meta_info_destroy/gconf_meta_info_free/g;
	s/gconf_database_destroy/gconf_database_free/g;
	s/gconf_source_destroy/gconf_source_free/g;
	s/gconf_sources_destroy/gconf_sources_free/g;
	s/gconf_locale_cache_destroy/gconf_locale_cache_free/g;

2000-09-10  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.c (gconf_value_new): don't use
	GCONF_INTERNAL_VALUE_TYPE_VALID

	* gconf/gconf-internals.h, gconf/gconf-error.h:
	(gconf_error_new)
	(gconf_set_error)
	(gconf_compose_errors):
	Move these to gconf-internals.h, now they aren't needed due
	to GError

	* gconf/gconf.c: Get rid of GConfEnginePrivate, just define struct
	_GConfEngine in the private .c file, like a sane person.

	* gconf/gconf-value.h: remove GCONF_INTERNAL_VALUE_TYPE_VALID

	* gconf/gconf.h: #ifdef the GNOME module system and popt stuff for
	GNOME 1.4. This stuff is tied to GNOME 2.0 and still unstable in
	that respect; should not be used before GNOME 2.0
	(gconf_get_string): forgot to rename this earlier
	
2000-09-09  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.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 gconfd. (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>

	* gconf/Makefile.am (libgconf_1_la_SOURCES): Move gconf-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/gconf_notify_add/gconf_engine_notify_add/g;
	s/gconf_notify_remove/gconf_engine_notify_remove/g;
	s/gconf_get_without_default/gconf_engine_get_without_default/g;
	s/gconf_get_full/gconf_engine_get_full/g;
	s/gconf_get_with_locale/gconf_engine_get_with_locale/g;
	s/gconf_get_default_from_schema/gconf_engine_get_default_from_schema/g;
	s/gconf_unset/gconf_engine_unset/g;
	s/gconf_associate_schema/gconf_engine_associate_schema/g;
	s/gconf_all_entries/gconf_engine_all_entries/g;
	s/gconf_all_dirs/gconf_engine_all_dirs/g;
	s/gconf_suggest_sync/gconf_engine_suggest_sync/g;
	s/gconf_dir_exists/gconf_engine_dir_exists/g;
	s/gconf_get_float/gconf_engine_get_float/g;
	s/gconf_get_int/gconf_engine_get_int/g;
	s/gconf_get_bool/gconf_engine_get_bool/g;
	s/gconf_get_schema/gconf_engine_get_schema/g;
	s/gconf_get_list/gconf_engine_get_list/g;
	s/gconf_get_pair/gconf_engine_get_pair/g;
	s/gconf_set_float/gconf_engine_set_float/g;
	s/gconf_set_int/gconf_engine_set_int/g;
	s/gconf_set_string/gconf_engine_set_string/g;
	s/gconf_set_bool/gconf_engine_set_bool/g;
	s/gconf_set_schema/gconf_engine_set_schema/g;
	s/gconf_set_list/gconf_engine_set_list/g;
	s/gconf_set_pair/gconf_engine_set_pair/g;

	s/gconf_commit_change_set/gconf_engine_commit_change_set/g;
	s/gconf_create_reverse_change_set/gconf_engine_reverse_change_set/g;
	s/gconf_create_change_set_from_currentv/gconf_engine_change_set_from_currentv/g;
	s/gconf_create_change_set_from_current/gconf_engine_change_set_from_current/g;

	s/gconf_schema_destroy/gconf_schema_free/g;
	s/gconf_value_destroy/gconf_value_free/g;
	s/gconf_listeners_destroy/gconf_listeners_free/g;
	s/gconf_entry_destroy/gconf_entry_free/g;

	s/gconf_client_create_change_set_from_current/gconf_client_change_set_from_current/g;
	s/gconf_client_create_change_set_from_currentv/gconf_client_change_set_from_currentv/g;
	s/gconf_client_create_reverse_change_set/gconf_client_reverse_change_set/g;

	## These require some care, since they can be the prefix for unrelated stuff.
	s/gconf_get /gconf_engine_get /g;
	s/gconf_set /gconf_engine_set /g;

	s/gconf_get\(/gconf_engine_get (/g;
	s/gconf_set\(/gconf_engine_set (/g;

	
2000-09-09  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-database.c (gconf_database_add_listener)
	(gconf_database_remove_listener): immediately log the addition
	or removal to the saved state file, which is now in a streaming
	format
	(gconf_database_get_persistent_name): abstraction for getting
	the address of the database, of "def" if it's the default one
	(gconf_database_log_listeners_to_string): replaces conversion 
	from database to markup node; no longer using GMarkup here

	* gconf/gconf-listeners.c (gconf_listeners_get_data):
	new function to get listener data for a connection ID

	* gconf/gconfd.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

	* gconf/gconf-internals.c (gconf_object_to_string): Add 
	this function

2000-09-04  Havoc Pennington  <hp@pobox.com>

	* doc/gconf/Makefile.am (LDFLAGS): libs have been renamed

2000-08-31  Havoc Pennington  <hp@redhat.com>

	* Massive rename from GConfError to GError

	* gconf/gconf-error.h, gconf/gconf-error.c: Remove
	redundant-with-GError stuff; add GCONF_ERROR domain
	macro

2000-08-30  Havoc Pennington  <hp@redhat.com>

	* gconf/gconfd.c (restore_listener): use gconf_string_to_gulong
	instead of atoi for reading a ulong out of the log file

	* gconf/gconf.c (gconf_engine_get_default): assign to the
	default_engine variable, so we don't keep creating new default
	engines.

	* gconf/gconf-listeners.c (ltable_next_cnxn): Start "uniqueness
	bits" at a different location depending on pid

2000-08-30  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.c: Change client to new system (use object
	references to ConfigDatabase instead of the integer context ID).
	
	* gconf/gconf-backend.c: Fix path to uninstalled modules, and 
	put the whole uninstalled modules thing in GCONF_ENABLE_DEBUG 

	* gconf/gconf-database.c: add some missing includes, and fix
	a typo bug

	* gconf/gconfd.c: CORBA_Object_duplicate() the ConfigDatabase
	objrefs before passing them back out to ORBit. Remove
	some bogus assertions.
	
	* TODO: Updates, added notes from Colm

2000-08-30  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c, gconf/gconf-database.h, gconf/gconf-database.c, 
	gconf/gconfd.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>

	* gconf/gconfd.c: Add logfile load/save; not really working 
	yet.

	* gconf/gconf.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.

	* gconf/gconf-listeners.c: #include <string.h>, 
	store full key name on tree nodes, add connection ID to 
	foreach callback

	* gconf/GConf.idl: Add update_listener method on ConfigListener,
	so the daemon can tell a client that a listener's ID has changed

	* gconf/gconf-glib-public.h, 
	gconf/gconf-glib-private.h,
	gconf/gconf-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 GNOME 1.4 if we are lucky.

2000-08-27  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-glib-public.h, 
	gconf/gconf-glib-private.h,
	gconf/gconf-glib.c: Place to put cut-and-paste code from 
	GLib 2.0

	* gconf/gconf.c (notify): Only print warnings on bogus notifies
	if debugging is enabled; without debugging, silently ignore
	the notifies, it just means gconfd got confused.

2000-08-26  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-listeners.c (gconf_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)

	* gconf.spec: fix description (the G is just a G, doesn't stand
	for anything)
	
2000-08-09  Robin * Slomkowski  <rslomkow@eazel.com>

	* gconf.spec.in: made it so the specfile worked for rpm builds

2000-08-07  Robin * Slomkowski  <rslomkow@eazel.com>

	* gconf/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.

	* gconf/GConf.idl:  Add value_list_type, value_car_type,
	  value_cdr_type to the ConfigSchema struct

	* gconf/gconf-internals.c (fill_corba_schema_from_gconf_schema)
	  (gconf_schema_from_corba_schema) (corba_type_from_gconf_type)
	  (gconf_type_from_corba_type) (gconf_string_to_double)
	  (gconf_double_to_string) (gconf_unquote_string_inplace)
	  (gconf_value_decode) (gconf_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

	* gconf/gconf-internals.h:  For gconf_value_new_list_from_string
	  and gconf_value_new_pair_from_string add an GConfError field

	* gconf/gconf-schema.[ch] (gconf_schema_new) (gconf_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.

	* gconf/gconf-value.c (escape_string)
	  (gconf_value_new_list_from_string)
	  (gconf_value_new_pair_from_string)
	  (gconf_value_to_string):  Implement the list and pair_from_string
	  functions.  In to_string escape the characters that would cause
	  problems.

	* gconf/gconf.c (gconf_unique_key): use GPOINTER_TO_UINT to
	  avoid warning on alpha

	* gconf/gconftool.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>

	* gconf/gconf.c (gconf_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/gconf-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, gconf/Makefile.am: make relative symlinks rather than
	absolute path symlinks.  Again to help packagers.

	* configure.in (GCONF_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/gconf-client.[ch]: Allow adding overlapping
	  subdirectories.  What happens is that the real gconf 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/testgconfclient.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@gnome.gr.jp>

	* configure.in: Add Japanese (ja)

2000-07-21  Robin * Slomkowski  <rslomkow@eazel.com>

	* gconf.spec.in: just fixed up some filename stuff

2000-07-14  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-sources.c (gconf_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 GConfClient did in
	order to preload its cache. (Upshot: GConfClient with preloading
	was broken if you had schemas.)

2000-07-13  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (shutdown_contexts): fix cheesy race condition 
	(context_list may not exist at this point)

2000-07-12  Havoc Pennington  <hp@pobox.com>

	* gconf.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

	* gconf-config.in: output versioned names for libs and includes

	* gconf/Makefile.am: version all installed files

	* wrappers/gtk/Makefile.am: put version in the name of 
	everything

	* wrappers/gtk/testgconfclient.c (main): remove ref/sink to
	reflect change to GConfClient

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

	* gconf/gconf.c (gconf_engine_get_local): Rename from
	gconf_engine_new_local
	(gconf_engine_get_default): rename from gconf_engine_new
	(gconf_engine_get_for_address): rename from
	gconf_engine_new_from_address

	* wrappers/gtk/gconf-client.c (gconf_client_get_default): rename
	from gconf_client_new. Always sink the client, so we are strictly
	refcounted, no floating state (for future GObject compatibility)
	(gconf_client_get_for_engine): rename from
	gconf_client_new_with_engine

2000-07-11  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: spew messages about needing to create
	prefix/etc/gconf/path, should make things easier for users.

2000-07-05  Eskil Heyn Olsen  <eskil@eazel.com>

	* gconf-config.in:
	adds output of oaf-config, since gconf uses oaf.

2000-07-05  Eskikl Heyn Olsen  <eskil@eazel.com>

	* gconf.spec.in:
	Fixed som typos.

2000-06-22  Dan Winship  <danw@helixcode.com>

	* wrappers/gtk/gconf-client.c (gconf_client_set_pair): Pass both
	car and cdr to gconf_set_pair rather than passing car twice. Oops.

2000-06-12  Eskil Heyn Olsen  <eskil@eazel.com>

	* gconf.spec.in: Removed the .a libs from the base package, but
	added them to -devel.

2000-06-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* gconf.spec.in: Req oaf >= 0.3.0

2000-06-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* gconf.spec.in: Added a .spec file.
	* configure.in: Generate gconf.spec.
	* Makefile.am: Added gconf.spec.in and gconf.spec to the
	EXTRA_DIST.	

2000-06-07  Pavel Cisler  <pavel@eazel.com>

	* wrappers/gtk/gconf-client.c: (gconf_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>

	* gconf-config.in: add gtk-config --cflags and --libs
	output to the gconf-gtk --cflags and --libs output.

2000-06-01  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (lookup_engine): check whether the hash is NULL
	before looking up the engine.

2000-06-01  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_engine_new): If there's an existing engine
	for a given context, return that engine instead of creating a new
	one.
	(gconf_engine_new_from_address): ditto

	* wrappers/gtk/gconf-client.c (gconf_client_finalize): remove
	client from client registration table
	(gconf_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
	(gconf_client_new_with_engine): register newly-created client,
	and try to return existing client.

2000-05-07  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-listeners.c: Move struct _GConfListeners
	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>

	* gconf/gconftool.c (main): Don't g_free the result of g_getenv ().

Tue Apr 18 01:37:51 2000  George Lebl <jirka@5z.com>

	* gconf/gconf.c: make the default path sane by adding the flag
	  field with readwrite

	* gconf/gconf.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>
	* gconf/gconf-internals.c: Don't syslog things.
	* gconf/examples/Makefile.am: Fix for builddir != srcdir.

2000-03-08  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.c (gconf_init): exit on error.

	* examples/simple-controller.c (main): fix gconf_init() error

	* examples/simple-view.c (main): fix gconf_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/gconf/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 libgconf-gtk.la to testgconfclient
	deps so that 'make -j' builds will work correctly.

2000-02-19  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (try_to_contact_server): Make sure we always set 
	an error

2000-02-15  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-changeset.c (gconf_change_set_set): apply patch from 
	Rusty Conover <rconover@zootweb.com> fixing an infinite recursion
	typo

	* gconf/gconfd.c (fast_cleanup): Don't bother to unregister with
	OAF

2000-02-01  Havoc Pennington  <hp@redhat.com>

	* configure.in (GCONF_CONFIG_SOURCE): update default schema
	install source
	(XML_LIBS): add better check that we actually ran xml-config
	successfully

	* gconf/gconf-backend.c (gconf_backend_resolve_address): Honor the
	"readonly" flag in address names

	* gconf/gconf-sources.c (SOURCE_WRITEABLE): convert to a function,
	source_is_writeable

	* gconf/gconf-sources.h: add GCONF_SOURCE_NEVER_WRITEABLE flag

	* tests/testaddress.c: new test to verify the functions that break
	up a configuration source address

	* gconf/gconf-backend.c (gconf_address_flags): function to extract
	configuration source flags

	* doc/gconf/gconf.sgml: note new configuration source URL format

	* gconf/gconf.c: Add space, tab, carriage return, newline to the
	invalid characters in a gconf key

2000-01-31  Havoc Pennington  <hp@redhat.com>

	* wrappers/gtk/gconf-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/gconf-client.c
	(gconf_client_real_unreturned_error): only handle the error if the
	mode is GCONF_CLIENT_HANDLE_UNRETURNED
	(gconf_client_real_error): only handle if GCONF_CLIENT_HANDLE_ALL
	(gconf_client_init): change default error handling to 
	GCONF_CLIENT_HANDLE_UNRETURNED

	* wrappers/gtk/gconf-client.h: don't pass error handling mode to
	the error handler function

2000-01-28  Havoc Pennington  <hp@redhat.com>

	* wrappers/gtk/gconf-client.c
	(gconf_client_set_global_default_error_handler): New function so
	gnome-libs can install a Gnomized error dialog

2000-01-27  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/gconf-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

	* gconf/gconf.h: Clean up indentation

2000-01-27  Elliot Lee  <sopwith@redhat.com>
	* gconf/Makefile.am, standard-schemas/Makefile.am: Fix builddir != srcdir

2000-01-24  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-sources.c (gconf_sources_new_from_addresses):
	never return errors, just log them.

	* gconf/gconf-backend.c (gconf_get_backend): fix mem leak (free
	"name" if we don't create a new backend to use it in)

	* gconf/gconf-internals.c (gconf_get_lock): fix mem leak

	* backends/xml-entry.c (schema_node_extract_value): fix a mem leak

	* gconf/gconfd.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>

	* gconf/gconf-internals.c (gconf_get_lock): Use a long enough
	buffer to read in the IOR

2000-01-24  Havoc Pennington  <hp@redhat.com>

	* gconf/gconftool.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/gconf/gconf.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 %gconf.xml file didn't exist,
	so we didn't get around to actually creating %gconf.xml
	(create_fs_dir): Make %gconf.xml the thing this function is
	primarily creating, with the directory containing it as a side 
	effect only.

	* gconf/Makefile.am (install-data-local): Install default path to
	path.example, so we don't override someone's existing setup.

	* gconf/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	

	* gconf/gconfd.c (context_synchronous_sync): remove sync
	timeout/idle handlers when we do a synchronous sync

2000-01-21  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.c (gconf_value_new_from_string): use new
	double conversion
	(gconf_value_to_string): use new conversion

	* gconf/gconf-internals.c (gconf_double_to_string) 
	(gconf_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

	* gconf/gconftool.c (main): improve gconfd-is-running error
	message

	* gconf/gconf.c (gconf_synchronous_sync): internal-only API 
	for the synchronous sync

	* gconf/gconfd.c (gconfd_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

	* gconf/gconf.c (gconf_clear_cache): implement API here

	* gconf/GConf.idl: add clear_cache method

	* gconf/gconfd.c (context_clear_cache): add code to implement
	clear_cache IDL 

	* gconf/gconf-sources.c (gconf_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.

	* gconf/gconf-internals.c (gconf_get_lock): remove IOR debug spew

	* gconf/gconftool.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/testgconf.c: Include the empty string in the list 
	of strings we test. I know this is currently broken if you 
	exit gconfd or purge the cache between set and get.
	
2000-01-20  Havoc Pennington  <hp@redhat.com>

	* gconf/Makefile.am (EXTRA_DIST): fix EXTRA_DIST to have
	default.path.in in it

2000-01-20  Havoc Pennington  <hp@redhat.com>

        * gconf/default.path: remove, replace with gconf/default.path.in
	which is set up properly to go in $sysconfdir
	
	* gconf/gconftool.c (main): Always unref the engine when we're
	done, to ensure we cleanly give up locks on local sources.

	* configure.in (GCONF_CONFIG_SOURCE): --enable-gconf-source option

	* gconf/gconftool.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>

	* gconf/gconfd.c (gconf_set_exception): warn if the error is set
	to GCONF_ERROR_SUCCESS

	* gconf/gconf-error.h: Prefix all errno values with GCONF_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 gconf-listeners.c

	* gconf/gconf-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
	
	* gconf/gconftool.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>

	* gconf/gconfd.c (gconfd_all_entries): remove bad assertion that 
	the value in an entry was non-NULL

	* gconf/gconf.c (gconf_set): check for invalid list type

	* gconf/gconf-internals.c (gconf_value_from_corba_value): Be more 
	paranoid about list types coming from gconfd

2000-01-13  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_unique_key): function to generate
	a pseudo-random very-very-likely-to-be-unique key name.

2000-01-13  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf-internals.c (gconf_concat_key_and_dir): move
	declaration to public header

	* doc/gconf/tmpl/gconf-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/gconf-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 GConfClient.
	(gconf_client_destroy): move a bunch of stuff to finalize
	so we remain "safe" before last unref

2000-01-12  Havoc Pennington  <hp@redhat.com>

	* gconf/gconfd.c (main): don't use custom object ID

2000-01-12  Jonathan Blandford  <jrb@redhat.com>

	* wrappers/gtk/gconf-client.c: #include <stdio.h>

2000-01-11  Havoc Pennington  <hp@pobox.com>

	* gconf.m4: separate $4 from gconf_config_args

	* gconf-config.in (af_libs): -lgconf, not -lgconf-client
	(Libraries): add gconf-gtk lib

2000-01-11 Andreas Hyden <andreas.hyden@telia.com>

	* configure.in : added sv (swedish)

2000-01-08  Havoc Pennington  <hp@pobox.com>

	* gconf/gconftool.c (main): had local and non-local cases backward
	so you got the opposite of what you requested

	* gconf/gconf-internals.c (gconf_release_lock): include strerror()
	in "can't open lock file" message
	(gconf_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>

	* gconf/gconf-internals.c (gconf_get_lock): totally rewrite the
	locking stuff

	* backends/xml-dir.c (dir_load): if errno == ENOENT don't make
	dir_load() fail

	* gconf/gconfd.c (main): check return value of
	oaf_active_server_register() and act accordingly.

	* gconf/gconf.c (try_to_contact_server): use new
	OAF_FLAG_EXISTING_ONLY when appropriate	

	* gconf/gconf-internals.c (gconf_set_daemon_ior): allow setting
	IOR to a global var

	* gconf/gconfd.c (main): set the IOR so it can be used in lockfiles

2000-01-03  Havoc Pennington  <hp@redhat.com>

	* gconf/gconftool.c (main): add support for direct config source access

1999-12-31  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-internals.c (gconf_log): in non-daemon mode, use
	fprintf() when it's an error and printf() when not
	(gconf_in_daemon_mode): new function

	* gconf/gconfd.c (signal_handler): special-case some more signals;
	do more thorough cleanup when we can.
	(main): fix which signals we add an action for

	* gconf/gconf-internals.h: Remove server_info* functions

	* gconf/gconf-error.h: add GCONF_LOCK_FAILED

	* gconf/gconf.c (corba_errno_to_gconf_errno): lock failed error

	* gconf/gconf-internals.c (gconf_nanosleep): Add utility function
	to portably sleep a little while (we should really stick one of
	these in glib)
	(gconf_release_lock, gconf_get_lock): Lock directory functions

2000-01-02  Timur Bakeyev <mc@bat.ru>

	* doc/gconf/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)/gconf
	to INCLUDES to make GConf.h visiable.

	* gconf/gconf-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/gconf/tmpl/gconf-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>

	* gconf/gconf-sources.c (gconf_sources_new_from_addresses): const
	correctness

	* gconf/gconfd.c: Massive const-correctness changes to match
	latest ORBit

	* gconf/gconf.c (notify): "in string" seems to be const again now.

	* wrappers/gtk/gconf-client.c (cache_pairs_in_dir): store the
	is_default parameter when preloading

	* gconf/gconf.c (gconf_all_entries): receive the is_default
	parameter

	* gconf/gconfd.c (gconfd_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)

	* gconf/gconf-sources.c (gconf_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.

	* gconf/gconf-value.c (gconf_entry_set_is_default): new function
	(gconf_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/gconf-client.c (gconf_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>

	* gconf/gconf.c (gconf_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/gconf/tmpl/gconf-client.sgml: fix a typo, add additional
	explanation to the introduction.

	* doc/gconf/tmpl/gconf.sgml: Document the string-to-enum functions.
	Update some other docs too.

	* doc/gconf/gconf-sections.txt: add new functions

	* gconf/gconf.c (gconf_string_to_enum): new function
	(gconf_enum_to_string): new function

	* gconf/gconf-engine.h: Put gconf_engine_new_local() here instead
	of gconf-internals.h

	* gconf/gconf-internals.h: added a new GCONF_ENABLE_INTERNALS
	define, to allow us to have internal stuff in headers other than
	gconf-internals.h

	* gconf/gconf.c (gconf_unset): local version
	(gconf_associate_schema): local version
	(gconf_all_entries): local version
	(gconf_all_dirs): local version
	(gconf_suggest_sync): local version
	(gconf_dir_exists): local version

	* gconf/gconf-internals.h (gconf_engine_new_local): Declare this
	function here, though it's defined in gconf.c

	* gconf/gconf.c (gconf_set): local version

	* gconf/gconfd.c (context_query_default_value): use
	gconf_sources_query_default_value()

	* gconf/gconf-sources.c (gconf_sources_query_default_value): New
	function

	* gconf/gconf-sources.h: egtk-format-protos the function
	prototypes.

	* gconf/Makefile.am (libgconf_la_SOURCES): move gconf-locale.[hc]
	into the library, bah

	* gconf/gconf.c (gconf_get_full): Add local (no gconfd) version

	* gconf/gconf-locale.c (gconf_split_locale): locale splitter
	function.

	* gconf/gconf-sources.c (gconf_sources_new_from_source): new function

	* examples/basic-gconf-app.c (create_prefs_dialog): Move keys from
	/apps/gnome to plain /apps

	* doc/gconf/gconf.sgml: Add an initial stab at namespace
	splitting.

1999-12-09  Havoc Pennington  <hp@redhat.com>

	* gconf/gconf.c (gconf_init): Safety check to ensure we don't
	initialize OAF a second time.

1999-12-06  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_notify_add): Backward assertion

1999-12-02  Havoc Pennington  <hp@pobox.com>

	* examples/basic-gconf-app.c (create_configurable_widget): use
	gconf_client_get_string() instead of gconf_client_get()
	(update_entry): Check for the default value if we have an unset
	value in the change set.	

	* wrappers/gtk/gconf-client.c
	(gconf_client_create_change_set_from_currentv): use without_default
	(revert_foreach): use without_default

	* gconf/gconf-changeset.c (gconf_create_change_set_from_currentv):
	use gconf_get_without_default()
	(revert_foreach): use gconf_get_without_default()

	* wrappers/gtk/testgconfclient.c (entry_notify_func): fix to compile

	* examples/basic-gconf-app.c (configurable_widget_config_notify):
	fix to compile

	* wrappers/gtk/gconf-client.c
	(gconf_client_get_default_from_schema): New function

	* gconf/gconf.c (gconf_get_without_default): renamed from
	gconf_get_no_default(), so that gconf_get_default_from_schema()
	won't be as confusing maybe.
	(gconf_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

	* gconf/gconf-sources.c (gconf_sources_query_value): Remove ignore
	subsequent

	* gconf/gconf-value.c (gconf_value_new_from_string): remove
	ignore_subsequent
	(gconf_value_to_string): remove ignore_subsequent
	(gconf_value_copy): Remove ignore_subsequent

	* gconf/gconfd.c (context_unset): add is_default to notification
	(context_set): add is_default to notification

	* gconf/gconf-internals.c (gconf_value_type_to_string): Remove
	ignore_subsequent. 

	* gconf/gconf.c (gconf_cnxn_notify): add is_default
	(notify) add is_default

	* gconf/gconf-value.h: Remove GCONF_VALUE_IGNORE_SUBSEQUENT

	* gconf/gconf-sources.c (gconf_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

	* gconf/gconf-engine.h: fix includes

	* gconf/gconf-changeset.h: fix includes

	* gconf/Makefile.am (gconfd_SOURCES): add gconf-sources.h here
	instead of installing it.

	* wrappers/gtk/Makefile.am (INCLUDES): remove -I$(top_builddir)/gconf

	* wrappers/gtk/gconf-client.c (gconf_client_get_full): Add this,
	etc.

	* gconf/gconf-sources.c (gconf_sources_query_value): Set a flag
	indicating whether the retrieved value was the default or not.

	* gconf/GConf.idl: add value_is_default out flag to
	lookup_with_locale()

1999-12-02  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-error.c: Was missing an element in the err_msgs
	array and the array had the wrong size.
	
	* gconf/gconf-sources.c (gconf_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)
	(gconf_sources_query_value): If we find an IGNORE_SUBSEQUENT, we
	should return immediately, rather than checking the schema default.

	* gconf/gconfd.c (gconfd_lookup_with_locale): fix
	
	* gconf/gconf.c (gconf_get_no_default): new function to get
	a value, but not fall back to the schema default.

	* gconf/GConf.idl: lookup_with_locale() needs to raise
	ConfigException. Also, add a "use schema default" flag.

1999-12-01  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.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.
	
	* gconf/Makefile.am (libgconf_la_SOURCES): move gconf-sources.c to
	the library instead of gconfd (again).

	* gconf/gconf-internals.c (gconf_handle_oaf_exception): set the
	GCONF_OAF_ERROR errno
	
	* gconf/gconf-error.c: add strerror stuff for those errors.

	* gconf/gconf-error.h: add oaf error and "this is not a gconfd
	engine" error.

1999-12-01  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (try_to_contact_server): handle OAF exceptions

	* gconf/gconf-internals.c (gconf_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/gconf/gconf-sections.txt: Add new create_change_set
	functions for GConfClient and GConfEngine

	* doc/gconf/Makefile.am (LDFLAGS): Use proper cflags/ldflags 
	for gtk and OAF when doing 'make scan'

	* wrappers/gtk/testgconfclient.c (entry_attached_to): change for
	new get_string() thing

	* gconf/gconf-changeset.h: fix the "" vs. <> issue on an #include

	* wrappers/gtk/gconf-client.c (gconf_client_get_bool): remove
	"default" argument
	(gconf_client_get_string): ditto
	(gconf_client_get_int): ditto
	(gconf_client_get_float): ditto

	* gconf/gconf.c (gconf_get_bool): Remove "default" argument.
	(gconf_get_string): ditto
	(gconf_get_int): ditto
	(gconf_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>

	* gconf/gconftool.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/gconf-client.c (gconf_client_get): sheesh, this
	stupid function didn't work at all. fix it
	(get): properly check whther val is NULL before copying it.

	* gconf/gconf-internals.c (gconf_set_daemon_mode): Function to set
	daemon mode, for now changes gconf_log behavior
	(gconf_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.	
	(gconf_value_from_corba_value): more robust for list types, add an assertion

	* gconf/gconfd.c (gconfd_set): return if the conversion from
	GConfValue doesn't fly

	* gconf/gconf-value.c (gconf_value_new): add a check for valid type

	* gconf/gconf-value.h (GCONF_VALUE_TYPE_VALID): Add macro to check the
	a value type is valid

	* gconf/gconf-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/gconf-client.c (gconf_client_commit_change_set):
	add checks

	* gconf/gconf-changeset.c (gconf_commit_change_set): add checks

	* gconf/gconf-listeners.c (gconf_listeners_remove): Robust against
	bad notify_id

	* gconf/gconf-changeset.c (gconf_create_change_set_from_current):
	New function to create a change set which will restore the current
	values of a list of keys.
	(gconf_create_change_set_from_currentv): Vector version of the
	same function.
	(gconf_change_set_check_value): new function to check for and get 
	the value of a key in a change set.

	* wrappers/gtk/gconf-client.h: Add client analogues for the above
	two set-creation functions.
	
1999-11-28  Havoc Pennington  <hp@pobox.com>

	* gconf.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.

	* gconf/gconf-internals.c (gconf_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/gconf-client.c (gconf_client_commit_change_set):
	put some casts in to chill warnings

	* gconf/gconf-changeset.c (gconf_change_set_size): new function

	* wrappers/gtk/gconf-client.c (gconf_client_destroy): Destroy the
	directory list.

	* Makefile.am (SUBDIRS): add "examples" directory

	* examples/Makefile.am, examples/basic-gconf-app.c: Examples;
	write nice example program.
	
	* gconf/gconfd.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/testgconfclient.c: remove GNOME dependency

	* configure.in: don't build gconf-editor makefile.

	* Makefile.am (SUBDIRS): never build gconf-editor, it will have to
	go in a separate module (somewhat inconveniently, since I'll
	probably end up installing gconf-internals.h for its use, blah)

	* configure.in (GCONF_AGE): Check for plain GTK not GNOME

	* wrappers/Makefile.am (SUBDIRS): change GNOME conditional to GTK

1999-11-23  Havoc Pennington  <hp@pobox.com>

	* gconf/Makefile.am (libgconf_la_LDFLAGS): split off LIBADD

	* wrappers/gtk/Makefile.am (libgconf_gtk_la_LIBADD): set shared
	lib version
	(libgconf_gtk_la_LDFLAGS): split LIBADD and LDFLAGS maybe properly.

	* configure.in: remove gnorba cflags/libs

	* gconf/Makefile.am (install-data-local): Create the
	$(sysconfdir)/gconf 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.

	* gconf/gconfd.c (gconf_server_load_sources): log decision to use
	default config source

1999-11-22  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (gconf_server_load_sources): Fall back to
	xml:~/.gconf if no config file is found

1999-11-22  Havoc Pennington  <hp@pobox.com>

        * gconf/default.path: default configuration file
	
	* gconf/Makefile.am (install-data-local): Install default.path to
	sysconfdir/gconf/path (theoretically)

1999-11-22  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (gconf_set_exception): lots of assertions
	(gconf_server_load_sources): Install the default context even if
	we don't find any configuration sources in the path

	* gconf/gconf.c (gconf_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.

	* gconf/gconfd.c (gconf_server_load_sources): #ifdef the
	debug-only search for debugging path file.

1999-11-19  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (gconf_server_load_sources): Give actual
	sysconfdir in the error message, not just /etc;
	include liboaf.h

	* gconf/gconf.c: include liboaf.h
	(gconf_postinit): fix a bunch of missing semicolons

1999-11-20  Havoc Pennington  <hp@pobox.com>

	* wrappers/gtk/gconf-client.c
	(gconf_client_create_reverse_change_set): new function
	(gconf_client_commit_change_set): new function

1999-11-20  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-changeset.c (gconf_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>

	* gconf/gconfd.c (gconf_server_load_sources): Give actual
	sysconfdir in the error message, not just /etc;
	include liboaf.h

	* gconf/gconf.c: include liboaf.h
	(gconf_postinit): fix a bunch of missing semicolons

1999-11-19  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_server_broken): don't need to set the
	server to NIL here, it gets set in gconf_detach_config_server()

	* doc/gconf/gconf-sections.txt: Add preinit, postinit

	* doc/gconf/gconf.sgml: Remove gconf-orbit entity

	* doc/gconf/gconf-sections.txt: Remove gconf-orbit stuff

        * tests/*.c: Fix to not include gconf-orbit.h, call gconf_init()
	properly
	
	* gconf-editor/gconf-editor.c: don't include gconf-orbit.h

	* wrappers/gtk/testgconfclient.c (main): remove "orb" variable

	* gconf/gconftool.c: don't include gconf-orbit.h

	* gconf/gconfd.c: don't include gconf-orbit.h

	* gconf/gconf.c: don't include gconf-orbit.h

	* gconf/gconf.h: don't include gconf-orbit.h

	* gconf/Makefile.am (gconfinclude_HEADERS): remove gconf-orbit.h
	(libgconf_la_SOURCES): remove gconf-orbit.c

	* gconf/gconfd.c (main): fix error message if oaf_init() returns FALSE

	* gconf/gconf.c (try_to_contact_server): Use the IID macro
	(gconf_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.

	* gconf/gconfd.c (fast_cleanup): Unregister with OAF in order to
	clean up.

	* gconf/Makefile.am: add -DIID to INCLUDES

	* gconf/gconfd.c (main): Use a macro for the IID

	* gconf/gconf-internals.c: Remove gconf_read_server_ior(),
	gconf_info_dir(), gconf_info_file(), etc. since we use OAF instead.

	* gconf/gconfd.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.

        * gconf/gconf-orbit.h, gconf/gconf-orbit.c: Delete these, we 
	are using OAF now.
	
	* gconf/gconf.c (gconf_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 GnomeModuleInfo system.

1999-11-18  Elliot Lee  <sopwith@redhat.com>

	* gconf.m4: AM_PATH_GCONF macro.
	
	* wrappers/gtk/Makefile.am, autogen.sh, backends/Makefile.am: Work with builddir != srcdir

	* Makefile.am: Distribute gconf.m4 & gconf-config.in, install gconf.m4

1999-11-18  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (gconf_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

	* gconf/gconf.c (gconf_set_schema): remove debug spew

	* gconf/gconf-internals.c (gconf_schema_from_corba_schema): parse
	the encoded default value
	(fill_corba_schema_from_gconf_schema): encode the default value to
	ship to the server.

	* gconf/GConf.idl: Add encoded default value string to
	ConfigSchema struct

	* gconf/gconf-internals.c (gconf_value_decode): implement
	(gconf_value_encode): implement

	* gconf/gconf-value.c (gconf_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

	* gconf/gconf-internals.c (gconf_unquote_string_inplace): new
	function unquotes a string
	(gconf_quote_string): quotes a string
	(gconf_unquote_string): unquotes a const string

1999-11-16  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-schema.c (gconf_schema_copy): copy locale, and
	handle NULL fields. Sheesh this was broken.
	(gconf_schema_destroy): destroy default value and locale

1999-11-16  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.c (gconf_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.

	* gconf/gconf-internals.c (gconf_value_type_to_string): Add case
	for GCONF_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/gconf-client.c (gconf_client_get_string):
	g_strdup() the retval if necessary
	(gconf_client_get_pair): fix one of the checks

	* backends/xml-backend.c (xentry_extract_value): use "C" locale if
	none is given.

	* gconf/gconftool.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

	* gconf/gconf-internals.c (gconf_log): move the check for debug
	messages to the top of the function, before g_strdup_vprintf(),
	and if GCONF_ENABLE_DEBUG isn't defined return immediately (ignore
	the GCL_DEBUG messages).

1999-11-15  Havoc Pennington  <hp@pobox.com>

	* doc/gconf/tmpl/gconf-client.sgml: write GConfClient docs.

	* wrappers/gtk/gconf-client.c (gconf_client_new_with_engine):
	change this to increment the #GConfEngine reference count.

	* doc/gconf/gconf.sgml: Add GConfClient entity

	* doc/gconf/gconf-sections.txt: Add GConfClient stuff, add
	set_list and set_pair for GConfChangeSet

	* doc/gconf/gconf.types: New file gtk-doc requires

	* doc/gconf/Makefile.am (scan): Scan GConfClient as well. 
	Uses a bad, probably nonportable hack, but this stuff isn't 
	built by default anyway.

	* wrappers/Makefile.am: Build GConfClient if we have GNOME

1999-11-15  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_get): Fix it to use the current
	locale as documented.

	* gconf/gconf-internals.c
	(gconf_value_list_to_primitive_list_destructive): new function
	takes most code from gconf_get_list()
	(gconf_value_pair_to_primitive_pair_destructive): new function

	* wrappers/gtk/gconf-client.c (get): Return a copy of the cached
	value, should save us some segfaults.
	(gconf_client_get_list): new function
	(gconf_client_get_pair): new function
	(gconf_client_set_list): new function
	(gconf_client_set_pair): new function

	* gconf/gconf-internals.c (gconf_value_pair_from_primitive_pair):
	new function removes guts of gconf_set_pair()

	* gconf/gconf.c (gconf_set_list): change to use
	gconf_value_list_from_primitive_list()

	* gconf/gconf-changeset.c (gconf_change_set_set_list): new
	convenience function
	(gconf_change_set_set_pair): new function

	* gconf/gconf-internals.c (gconf_value_list_from_primitive_list):
	new function, takes most of the code from gconf_set_list() to
	share with other list-set wrappers

1999-11-14  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c (listify_foreach):  s/gconf_entry_new/gconf_entry_new_nocopy/

	* gconf/gconf.c (gconf_all_entries):  s/gconf_entry_new/gconf_entry_new_nocopy/

        * gconf/doc/*: tons of documentation updates.
	
	* gconf/gconf-changeset.c: Add an "in_foreach" flag and warn if
	you do bad things during a foreach operation.
	(gconf_change_set_remove): check that we aren't in a foreach
	(gconf_change_set_unref): if refcount == 0 check that we aren't in
	a foreach

	* gconf/gconf-changeset.h: try to spell "committed" right.

	* gconf/gconf-value.h (gconf_entry_value): add accessor macros 
	to GConfEntry.

	* gconf/gconf-value.c (gconf_entry_new_nocopy): Rename
	gconf_entry_new() to gconf_entry_new_nocopy() to reflect its 
	actual behavior.

1999-11-13  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-internals.h: move the value-from-string constructors
	here

	* gconf/gconf-value.h: moved from here

1999-11-13  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-value.h (gconf_meta_info_schema): Add const cast to
	this macro.

	* gconf/gconf.c (gconf_set_list): allow list of schemas
	(from_primitive): handle schemas
	(primitive_value): handle schemas
	(gconf_get_list): handle schemas

	* doc/gconf/tmpl/gconf-value.sgml: docs!

	* doc/gconf/tmpl/gconf.sgml: docs!

	* doc/gconf/gconf-sections.txt: add set/get list/pair

	* gconf/gconf.c (gconf_set_list): Fix dumb bug (assign back to the
	original list!)

1999-11-13  Havoc Pennington  <hp@pobox.com>

	* tests/testgconf.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 ;-)

	* gconf/gconf.c (error_checked_set): destroy the error if it isn't
	passed out to the user, to avoid a mem leak
	(gconf_set_float): checks
	(gconf_set_int): checks
	(gconf_set_string): checks
	(gconf_set_bool): checks
	(gconf_set_bool): canonicalize the boolean value with !!
	(gconf_set_schema): checks

	* gconf/gconf-value.h (gconf_value_string): add const cast to this 
	macro

	* gconf/gconf.c (gconf_get_schema): add checks
	(gconf_get_bool): checks
	(gconf_get_string): checks
	(gconf_get_int): checks
	(gconf_get_float): checks
	(gconf_get_with_locale): checks
	(gconf_set): more checks
	(gconf_unset): checks
	(gconf_associate_schema): checks
	(gconf_all_dirs): checks
	(gconf_dir_exists): checks
	(gconf_get_list): New function, gets a list of native types 
	and avoids GConfValue.
	(gconf_get_pair): New function, gets a pair of native types
	(gconf_set_list): New function, sets a list of native types
	(gconf_set_pair): New function, sets a pair of native types
	
1999-11-12  Havoc Pennington  <hp@pobox.com>

	* doc/gconf/gconf.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>

	* gconf/gconftool.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.

	* gconf/Makefile.am (INCLUDES): add XML_CFLAGS
	(gconftool_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
	
	* gconf/gconf.c (gconf_set): add check that string values don't
	contain a NULL string	

	* gconf/gconf-changeset.c (gconf_change_set_unset): fix typo

        * doc/gconf.sgml: tweaks
	
	* gconf/gconf-changeset.c, gconf/gconf-changeset.h: ChangeSet data
	structure stores a bunch of changes to be committed in a block.
	For now the gconf_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.

	* gconf/gconf-internals.c (gconf_log): don't log DEBUG level stuff 
	if built without GCONF_ENABLE_DEBUG

	* backends/xml-backend.c (safe_g_hash_table_insert): Same, use
	GCONF_ENABLE_DEBUG
	Add locales stuff throughout this file, but do nothing with it for
	now.

	* gconf/gconfd.c (safe_g_hash_table_insert): Make this dependent
	on GCONF_ENABLE_DEBUG setting.

	* gconf/gconf-sources.c (gconf_sources_query_value): fix locale
	(gconf_sources_unset_value): locale
	(gconf_sources_all_entries): locales

	* gconf/gconfd.c (context_query_value): Use locale list
	(context_unset): locale argument
	(context_all_entries): locale argument
	(gconfd_unset_with_locale): locale

	* gconf/gconf-sources.c (gconf_source_query_value): Pass an array
	of locales to look for
	(gconf_source_all_entries): ditto
	(gconf_source_unset_value): pass locale to unset

	* gconf/gconf-backend.h: Add locale args to the backend functions
	that need it

	* gconf/gconf-internals.c (gconf_current_locale): Use setlocale()
	again, not guess_category_value from gnome-i18n

1999-11-10  Havoc Pennington  <hp@pobox.com>

	* gconf/Makefile.am (gconfd_SOURCES): Move the locale stuff here;
	decided not to use it in backends, so it can be in gconfd not the
	library.

	* gconf/gconfd.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

	* gconf/gconf-locale.c, gconf/gconf-locale.h: New module, creates
	and caches the list of locales to search for given an environment
	variable value

	* gconf/gconf-internals.c (gconf_current_locale): We want
	LC_MESSAGES not LC_ALL

1999-11-07  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.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.

	* gconf/gconfd.c: Add a ConfigServer_Context field to GConfContext
	(register_context): fill in the ConfigServer_Context field
	(context_new): init context field to invalid context

	* gconf/gconf.c (register_engine): Keep a hash from context ID's 
	to GConfEngine, because we no longer have the global connection 
	table (that table was broken anyway).
	(gconf_engine_blank): new function shared by the GConfEngine
	constructors (contains previous contents of gconf_engine_new, 
	separate function required by registration stuff)
	(gconf_engine_new): Create blank engine, then register it
	(gconf_engine_new_from_address): register the engine
	(gconf_engine_unref): unregister the engine

	* gconf/GConf.idl: Add a context ID to the argument
	list of the notification.

	* gconf/gconf.c (gconf_server_broken): New predicate, asks if an
	exception is set indicating that our server is hosed.
	(gconf_detach_config_server): Function to release the server
	object reference and set it to nil
	(gconf_engine_new_from_address): Detach server and retry if
	appropriate.
	(gconf_notify_add): Detach and respawn if needed
	(gconf_notify_remove): ditto
	(gconf_set): ditto
	(gconf_associate_schema): ditto
	(gconf_unset): ditto
	(gconf_all_entries): ditto
	(gconf_all_dirs): ditto
	(gconf_suggest_sync): ditto
	(gconf_notify_add): remove debugging spew
	(gconf_cnxn_new): Add namespace_section to GConfCnxn struct
	(gconf_cnxn_destroy): free namespace_section
	(GConfEnginePrivate): Put the connection table in here, it is
	per-context (and thus per-GConfEngine), should not be global.
	(gconf_init): don't create CnxnTable here, create it for each engine.
	(gconf_engine_new_from_address): remove redundant refcount
	initialization
	(gconf_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>

	* gconf/gconf-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

	* gconf/gconf.c (gconf_get_with_locale): New function
	(gconf_get): just calls get_with_locale() with a NULL locale
	(gconf_get_schema): Use get_with_locale()

	* gconf/gconf-internals.c (gconf_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>

	* gconf/gconf.c (gconf_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.

	* gconf/gconf-backend.h: Add locale to query_value in vtable

	* gconf/gconf-sources.c (gconf_source_query_value): Add locale
	(gconf_sources_query_value): Add locale

	* gconf/gconfd.c (gconfd_lookup_with_locale): Implement new 
	IDL method
	(context_query_value): Add locale

	* gconf/GConf.idl: Add lookup_with_locale() method

	* gconf/gconf-internals.c (fill_corba_schema_from_gconf_schema): 
	Handle case where some schema fields are NULL, handle locale field.
	(gconf_schema_from_corba_schema): Handle locale field.

	* gconf/gconf-schema.c (gconf_schema_set_locale): New function

	* gconf/gconftool.c: Clean up so it is easier to deal with

1999-10-28  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.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/testgconf.c: Fix to compile

	* tests/Makefile.am (testgconf_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

        * gconf/wrappers/gtk/testgconfclient.c: Test program for the GTK+ 
	client wrapper.
	
	* gconf/gconf-sources.c (gconf_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.

	* gconf/gconf.c (gconf_init): Actually set the have_initted variable.	

	* wrappers/gtk/Makefile.am (libgconf_gtk_la_LIBADD): Don't try to 
	link with libgconf;
	Add testgconfclient target.

	* wrappers/gtk/gconf-client.h, wrappers/gtk/gconf-client.c: Make
	it compile
	
	* configure.in: Generate Makefile for GtkObject wrapper

1999-10-27  Havoc Pennington  <hp@pobox.com>

	* gconf-editor/Makefile.am (gconf_editor_LDADD): 
	link to libgconf.la

	* gconf/Makefile.am: Renamed the shared lib to libgconf instead of
	libgconf-client.
	
	* wrappers/gtk/Makefile.am: Renamed gconf-gtk.[hc] to
	gconf-client.[hc] via CVS surgery, then updated Makefile.

1999-10-21  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.c (gconf_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>

	* gconf/gconfd.c, gconf/gconf-sources.c: Finish stuff from the
	17th (use GConfError throughout, etc.)

	* gconf/gconfd-error.h, gconf/gconfd-error.c: Remove the broken
	old error stuff, even gconfd no longer uses it.
	
1999-10-17  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-sources.c: Use GConfError** throughout, make the
	_source_ functions static
	(gconf_sources_query_value): Use the new flags and readable
	function
	(gconf_sources_set_value): use the new flags and writeable
	function

	* gconf/gconf-error.c (gconf_error_copy): new function
	(gconf_compose_errors): new function

        * backends/xml-backend.c: Throughout, use a GConfError** argument
	instead of the global errno thing
	
	* gconf/gconf-error.c (gconf_set_error): New function properly
	handles a GConfError** by setting error or ignoring if NULL, 
	also warns if you "stack" two errors on top of each other.
	(gconf_clear_error): New function clears a GConfError** 

	* gconf/gconfd.c: don't include gconfd-error.h

	* backends/xml-backend.c: Remove inclusion of gconfd-error.h

	* gconf/gconf-backend.h: Add lock/unlock and readable/writeable
	functions to the backend vtable, and add error arguments to 
	all functions in the vtable.

	* gconf/gconfd.c (safe_g_hash_table_insert): priority GCL_WARNING

	* backends/xml-backend.c (safe_g_hash_table_insert): make
	it priority GCL_WARNING.

	* gconf/gconf-sources.h: GCONF_SOURCE_ALL_WRITEABLE,
	GCONF_SOURCE_ALL_READABLE flags to short-circuit calls to the new
	writeable/readable vtable functions.

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-orbit.h: Include orb/orbit.h instead of GConf.h

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* backends/xml-backend.c: Use %gconf.xml instead of .gconf.xml 
	for the magic files.

1999-10-17  Havoc Pennington  <hp@pobox.com>

	* tests/runtests.sh: Make this script work

	* gconf/gconftool.c: Don't use -s for --spawn, since it's used for
	--set.

	* gconf/gconf.c (gconf_get_config_server): Clear the error
	from the initial ping if we're asked to start the server.
	(gconf_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

	* gconf/gconf-internals.c (gconf_read_server_ior): Set error 
	if the server info file doesn't exist

	* gconf/gconf.c (try_to_contact_server): Add a check for setting 
	the error properly

	* gconf/gconftool.c (main): Switch to gconf_suggest_sync()
	instead of gconf_sync()

	* gconf/gconfd.c: Add a GConfContext::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

	* gconf/gconf.c (gconf_suggest_sync): gconf_sync() renamed to
	gconf_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." gconf_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/GCONF

1999-10-12  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c: Use GConfListeners to handle listener
	registration and notification

1999-10-12  Havoc Pennington  <hp@pobox.com>
	
	* gconf/gconf-listeners.c (ltable_insert): Was failing to init 
	the node in the flat array of nodes if the listener location 
	was NULL. 
	(gconf_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 GConfListeners, 
	fairly comprehensive

	* tests/Makefile.am: add testlisteners, put EFENCE at the end of 
	the link line

1999-10-12  Havoc Pennington  <hp@pobox.com>

	* gconf/Makefile.am: Fixes - remove some public headers from
	libgconf_client_SOURCES, look for GConf.idl in $(srcdir) (bug from
	Wichert Akkerman)

	* gconf/gconf-listeners.h, gconf/gconf-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/gconf

1999-10-05  Havoc Pennington  <hp@pobox.com>

	* tests/testgconf.c (check_list_storage): Add checks for empty
	lists, and all the various list types.

	* gconf/gconf-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/testgconf.c (main): Add checks for getting/setting lists,
	bools, floats, and ints

	* gconf/gconf-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>.

	* gconf/gconf-internals.c (g_conf_log): Plug memory leak (not
	freeing log string)

	* gconf/gconfd.c (gconfd_set): Plug memory leak (not freeing the GConfValue)

	* tests/Makefile.am: Make testgconf noinst

	* gconf/gconfd.c (main): check GCONFD_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 gconf for real.

	* gconf/gconf-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 
	GConfValue

	* gconf/GConf.idl: Create ConfigList type to past the list type 
	along with the sequence of values

	* gconf/gconf-value.c (g_conf_value_set_list): New function, list
	setter that copies the list

	* gconf/gconf.c (g_conf_unset, g_conf_set): return boolean to
	indicate success

	* gconf/gconf-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>

	* gconf/gconf-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>

	* gconf/gconf-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/testgconf.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>

	* gconf/gconf.sgml: Update docs

1999-09-29  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-conf.h: Replaced with gconf-engine.h

	* gconf/Makefile.am: use gconf-engine.h

	* gconf/gconf.c, gconf/gconf.h, gconf/gconftool.c,
	gconf-editor/app.c, wrappers/guile/scm-gconf.c: 
	Use GConfEngine name instead of GConf

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 gconfd-error.h and gconf.h, 
	change error checking to new system as needed

	* gconf/Makefile.am: Put more stuff in gconfd_SOURCES instead of
	client lib, add new files

	* gconf/gconf-backend.h: include gconf-sources.h

	* gconf/gconf-conf.h: add error arg to g_conf_new_from_address

	* gconf/gconf-error.c: move strerror in here, fixups,
	preconditions

	* gconf/gconf-internals.c, gconf/gconf-sources.c: move all sources
	stuff to new gconf-sources file

	* gconf/gconf-orbit.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>

	* gconf/Makefile.am: add gconf-error.h, gconf-conf.h headers,
	gconf-value.c file

	* gconf/gconf-error.h, gconf/gconf-conf.h, gconf/gconf-value.c: 
	New files, just rearranging old files, no new code (well, there is 
	a new GConfError object but it's unused)

	* gconf/gconf-internals.c: Move the value, metainfo, and entry
	datatypes to gconf-value.c

	* gconf/gconf.c, gconf/gconf.h: Remove appname argument from
	g_conf_init(), remove g_conf_global_appname() function.

	* gconf/gconftool.c: don't pass appname to g_conf_init()

	* gconf-editor/gconf-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 gconf-editor if we have 
	GNOME

	* autogen.sh: make it more like "macros" autogen.sh
	
	* configure.in: manually check for GNOME instead of using
	"macros"
	
	* macros, intl: remove these subdirs, autogen.sh now
	generates intl

	* gconf/gconf.c: fix array size for strerror messages

	* gconf-editor/Makefile.am: use new GNOME variables

	* gconf-editor/gconf-editor.c: use new g_conf_init() 
	signature

	* gconf-editor/menus.h, gconf-editor/menus.c: These 
	hadn't been added
	
1999-09-19  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf.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.

	* gconf/gconf.c: Add G_CONF_OVERRIDDEN to strerror, etc.

	* gconf/GConf.idl: add ConfigOverridden to pass it across the
	CORBA link

	* doc/gconf.sgml: Add more stuff to docs
	
1999-09-17  Havoc Pennington  <hp@pobox.com>

	* gconf/gconf-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/gconf.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.

	* gconf/Makefile.am: use POPT_LIBS

	* gconf/gconf-backend.c: change some g_warning to g_conf_log

1999-09-03  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.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>

	* gconf/gconf-internals.h, gconf/gconf-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().

	* gconf/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.

	* gconf/gconfd.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)/gconf

	* gconf/Makefile.am: Look for backends in $(libdir)/gconf

	* gconf/gconf-backend.c (g_conf_backend_file): Use
	g_module_build_path() to build the module path

        * gconf/gconf-orbit.c (g_conf_get_cookie_reliably): Make the 
	~/.gconfd directory if necessary.

	Lots of error-checking added.

	* gconf/gconfd.c: Mark a lot of strings for translation; include 
	username in the syslog spew.

1999-09-02  Havoc Pennington  <hp@pobox.com>

	* gconf/gconfd.c (main): If the orb init fails, syslog the 
	GConf error.

	* gconf/gconf-orbit.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

	* GConf.idl: Add ConfigException and ConfigErrorType to pass
	errors from server to client

	* gconf.c (g_conf_handle_corba_exception): set the GConf error
	based on CORBA error, if any, and free the exception. 
	Use throughout the file to receive server errors. 

	* gconfd.c (g_conf_set_exception): set the CORBA exception based
	on the GConf 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 orbit-config, check for C++ compiler
	(since we'll have a C++ wrapper soon)

	* gconf/Makefile.am: Assume GMODULE_CFLAGS are now included in
	GLIB_CFLAGS since we fixed configure.in

	* gconf/gconf.c, gconf/gconf.h: Reference count the GConf object, 
	add extern "C" when using C++

	* gconf/gconftool.c: unref instead of destroying the GConf object

1999-08-31  Dave Camp  <campd@oit.edu>

	* gconf/gconf.c (g_conf_is_initialized): New function.

1999-08-31  Dave Camp  <campd@oit.edu>

	* gconf/gconftool.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>

	* gconf/gconftool.c (options): Added "--dir-exists".
	(main): If dir_exists is on the command line, check if the argument dir
	exists.

	* gconf/gconfd.c (server_epv): Added gconfd_dir_exists.
	(gconfd_dir_exists): New function.
	(context_dir_exists): New function.

	* gconf/gconf.c (g_conf_dir_exists): New function.

	* gconf/gconf-internals.c (g_conf_sources_dir_exists): New function.
	(g_conf_source_dir_exists): New function.

	* gconf/gconf-backend.h (GConfBackendVTable): Added a dir_exists 
	entry. 

	* gconf/GConf.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>

	* gconf/gconf.h: #include gconf-orbit.h.

	* gconf/Makefile.am (gconfinclude_HEADERS): Install gconf-orbit.h,
	GConf.h

1999-08-29  Dave Camp  <campd@oit.edu>

	* Makefile.am (bin_SCRIPTS): Install gconf-config.

	* configure.in (AC_OUTPUT): Create gconf-config. 

	* gconf/Makefile.am: Install gconf.h and gconf-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
