2003-05-29  JP Rosevear  <jpr@ximian.com>

	Fixes #43775

	* e-time-utils.c (locale_supports_12_hour_format): use e_utf8_strftime
	(e_time_format_date_and_time): ditto
	(e_time_format_time): ditto

2003-05-16  Dan Winship  <danw@ximian.com>

	* e-proxy.c (e_proxy_init): Removing trailing / in key name passed
	to gconf_client_notify_add to kill a warning. (Part of #43159)

2003-05-16  Jeremy Katz  <katzj@redhat.com>

	* e-sexp.c (term_eval_and): Use glib macros for pointer/int
	conversion.

2003-05-07  Rodrigo Moya <rodrigo@ximian.com>

	Fixes crash in #42212

	* e-url.c (e_uri_new): check for 'uri_string' being NULL.

2003-05-02  Not Zed  <NotZed@Ximian.com>

	* e-request.c (e_request_string): remove the assert, if we dont
	understand the response, assume it's a cancel.
	GTK_RESPONSE_DELETE_EVENT wasn't handled [#42038].

2003-04-30  Ettore Perazzoli  <ettore@ximian.com>

	* e-request.c (e_request_string): Handle GTK_RESPONSE_NONE.
	[#42038]

2003-04-24  Chris Toshok  <toshok@ximian.com>

	[ for bug #41211 ]
	
	* e-gui-utils.h (e_button_new_with_stock_icon): add prototype.

	* e-gui-utils.c (e_button_new_with_stock_icon): new function,
	allow us to create a custom labeled button with a stock icon.

2003-04-28  Jeffrey Stedfast  <fejj@ximian.com>

	* e-host-utils.c: Added #include <netinet/in.h> for the
	sockaddr_in6 typedef for at least MacOS X.

2003-04-17  Jeffrey Stedfast  <fejj@ximian.com>

	* e-host-utils.c (e_gethostbyname_r): Keep our buf ptr aligned to
	sizeof (char *). Should fix bug #41362.
	(e_gethostbyaddr_r): Same.

2003-04-18  Anna Marie Dirks  <anna@ximian.com>

	* e-request.c (e_request_string): Added appropriate spacing/padding 
	to the rename dialogs. Fixes bugs #41040, #41036, #41038

2003-04-18  Ettore Perazzoli  <ettore@ximian.com>

	* e-gtk-utils.c (e_gtk_button_new_with_icon): Remove debugging
	message.

2003-04-14  Jeffrey Stedfast  <fejj@ximian.com>

	* e-sexp.c: Finished an #if 0'd out port to GObject from an #if
	0'd out GtkObject subclassing.

2003-04-15  Hans Petter Jansson  <hpj@ximian.com>

	* e-sexp.c (e_sexp_add_function)
	(e_sexp_add_ifunction): Make sure any old symbol with the same name
	as the one being added, is removed first.

2003-04-14  Not Zed  <NotZed@Ximian.com>

	* e-gtk-utils.c (e_gtk_button_new_with_icon): Utility function to
	create a button with a stock icon.

2003-04-09  Jeffrey Stedfast  <fejj@ximian.com>

	* e-host-utils.c (e_gethostbyaddr_r): Change the 'len' argument to
	'addrlen' so that when IPv6 is enabled, our temp vriable (also
	named len) does not cause confusion. Fixes bug #40979.

2003-04-05  Ettore Perazzoli  <ettore@ximian.com>

	* e-passwords.c (e_passwords_remember_password): Removed debugging
	message that would spit out the actual password, albeit in encoded
	form.

2003-04-04  Dan Winship  <danw@ximian.com>

	* e-account-list.c (gconf_accounts_changed): Don't start emitting
	ACCOUNT_ADDED signals until we've added all of the new accounts to
	our list. Otherwise if the signal handler calls
	e_account_list_get_default_account() it will end up causing the
	first account in the list to become the default. #40675

2003-04-04  Chris Toshok  <toshok@ximian.com>

	* ename/e-name-western.c (e_name_western_extract_middle): fix abr.
	(e_name_western_get_suffix_at_str_end): same.

2003-04-02  Not Zed  <NotZed@Ximian.com>

	* e-passwords.c (e_passwords_forget_passwords): Delete all
	Passwords-* sections.  Should make this work.

2003-03-31  Chris Toshok  <toshok@ximian.com>

	* ename/test-ename-western.c (do_name): print "" if the value is
	NULL.
	(main): add a couple of utf8 test cases (that still use western
	orderings).

	* ename/e-name-western.c (e_name_western_str_count_words):
	utf8-ize this.
	(e_name_western_cleanup_string): same.
	(e_name_western_get_words_at_idx): same.
	(e_name_western_get_one_prefix_at_str): same.
	(e_name_western_get_prefix_at_str): same.
	(e_name_western_extract_first): same.
	(e_name_western_extract_middle): same.
	(e_name_western_extract_nickname): same.
	(e_name_western_extract_last): same.
	(e_name_western_get_preceding_word): same.
	(e_name_western_get_suffix_at_str_end): same.
	(e_name_western_detect_backwards): same.
	(e_name_western_reorder_asshole): same.
	(FINISH_CHECK_MIDDLE_NAME_FOR_CONJUNCTION): same.
	(e_name_western_fixup): same.
	(e_name_western_parse): validate the string and truncate it if
	need be.

2003-03-27  JP Rosevear  <jpr@ximian.com>

	* e-account-list.c (e_account_list_find): guard against NULL keys

2003-03-25  Dan Winship  <danw@ximian.com>

	* e-dialog-utils.c (e_notice): Move this here from gal. Use
	e_dialog_set_transient_for so it DTRT for out-of-proc components.
	(e_notice_with_xid): Like e_notice but with an X Window ID as the
	parent window
	(e_gnome_dialog_set_parent): Remove this, since it was marked
	deprecated and only used in one place.
	(e_file_dialog_save): Make this use GtkMessageDialog instead of
	GnomeDialog
	(e_dialog_set_transient_for_xid): #ifdef out gtk 2.2 api usage

2003-03-25  Not Zed  <NotZed@Ximian.com>

	* e-meta.c (meta_filename): fix a typo & some missing headers.

2003-03-24  Dan Winship  <danw@ximian.com>

	* e-dialog-utils.c (e_dialog_set_transient_for,
	e_dialog_set_transient_for_xid): Rename, rewrite, make them
	actually work.

2003-03-25  Not Zed  <NotZed@Ximian.com>

	* Makefile.am: Added e-meta.[ch] to libeutil

	* e-meta.[ch]: simple api to implement meta-data for keyed
	objects.

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

	* e-trie.c (e_trie_search): If the gunichar is 0xfffe, just skip
	processing it. Maybe this will fix bug #39900.
	(trie_utf8_getc): Removed unused labels to shutup the compiler.

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

	* e-sexp.h: Fix ESExpClass to never be an empty struct. Also make
	ESExp optionally a subclass of GObject rather than GtkObject (not
	that we'll probably ever make it so, but for completeness sake?).

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

	* e-trie.c (trie_utf8_getc): Don't use __inline__ as it is not
	always defined.

2003-03-13  Dan Winship  <danw@ximian.com>

	* ename/e-address-western.c (e_address_western_parse): When
	declaring a line to be part of "extended" because we don't know
	what else to call it, keep the preceding "\n" so that the address
	still looks the same when we reassemble the pieces later. Fixes
	handling of non-US addresses

2003-03-12  Dan Winship  <danw@ximian.com>

	* e-xml-hash-utils.c (e_xml_to_hash): Update for a libxml2 change
	that was making this code g_warn a lot

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

	* e-request.c (e_request_string): Make the entry activate the
	default response in the dialog.

2003-03-03  Rodney Dawes  <dobey@ximian.com>

	* e-proxy.c: Use gnome2 proxy settings
	
2003-03-02  Rodney Dawes  <dobey@ximian.com>

	* e-pilot-util.c: s/gnome-xml/libxml/
	
2003-02-27  JP Rosevear  <jpr@ximian.com>

	* Makefile.am: include gnome-pilot cflags

2003-02-23  Jeffrey Stedfast  <fejj@ximian.com>

	* e-account-list.c (gconf_accounts_changed): 'uid' should not be
	const.

2003-02-20  Not Zed  <NotZed@Ximian.com>

	* e-account-list.c (e_account_list_get_default): helper to get the
	dfault account.
	(e_account_list_set_default): helper to set the default account.
	(e_account_list_find): Helper to find accounts based on differnet
	key types.
	(e_account_list_add): helper to add account + emit added event.
	(e_account_list_change): helper to emit changed event.
	(e_account_list_remove): herlper to remove account + emit changed event.

2003-02-22  Hans Petter Jansson  <hpj@ximian.com>

	* e-categories-config.c (e_categories_config_open_dialog_for_entry):
	A result of 0 no longer indicates success; GTK_RESPONSE_OK does.

2003-02-17  Chris Toshok  <toshok@ximian.com>

	* e-account-list.c (gconf_accounts_changed): fix memleak - free
	uid.

2003-02-11  Not Zed  <NotZed@Ximian.com>

	* e-trie.c (trie_utf8_getc): Instead of simply ignoring bad chars,
	return the sentinal invalid char 0xfffe, so that we properly track
	the start of sequences.

2003-02-10  Ettore Perazzoli  <ettore@ximian.com>

	* Makefile.am (libeutil_static_la_DEPENDENCIES): Make
	libeutil-static.la depend on libeutil.la so that parallel
	compilations work; building them at the same time confuses
	libtool.
	(e-util-marshal.h, e-util-marshal.c): Use different tmp files so
	these rules can happen in parallel.

2003-02-05  Dan Winship  <danw@ximian.com>

	* Makefile.am (eutilincludedir, etc): define in terms of
	privincludedir.

	* ename/Makefile.am (libenameincludedir): Likewise

	* e-account.c: Fix warnings
	* e-account-list.c: Likewise
	* e-config-listener.c: Likewise
	* e-gui-utils.c: Likewise.
	* e-lang-utils.c: Likewise
	* e-msgport.c: Likewise
	* e-passwords.c: Likewise

	* e-categories-config.c
	(e_categories_config_open_dialog_for_entry): Use g_object_get/_set
	rather than gtk_

	* e-url.c (e_uri_new): Use g_ascii_strdown instead of deprecated
	g_strdown.

2003-01-27  Ettore Perazzoli  <ettore@ximian.com>

	* e-request.c (e_request_string): Port to GtkDialog.  Strdup the
	text returned by GtkEntry after destroying the dialog, not before.
	Use gtk_editable_select_region() instead of
	gtk_entry_select_region().  Add a little bit of padding to make it
	look less crampy and set a default width.

	* e-dialog-utils.h (e_gnome_dialog_set_parent): Declare only if
	GNOME_DISABLE_DEPRECATED is not #defined.
	(e_gnome_warning_dialog_parented): Likewise.
	(e_gnome_ok_cancel_dialog_parented): Likewise.

2003-01-26  Chris Toshok  <toshok@ximian.com>

	* e-pilot-settings.c (e_pilot_settings_new): ref/sink the pilot
	settings to clear up that gtk warning.

2003-01-25  Chris Toshok  <toshok@ximian.com>

	* e-pilot-map.c (e_pilot_map_read): g_file_exists -> g_file_test.
	(e_pilot_map_write): don't use doc->root.

2003-01-25  Chris Toshok  <toshok@ximian.com>

	* e-pilot-settings.[ch]: GObjectify this.

2003-01-24  Hans Petter Jansson  <hpj@ximian.com>

	* e-categories-config.c (initialize_categories_config): Enable
	getting the categories master list from wombat.
	(e_categories_config_open_dialog_for_entry): It's now a GtkDialog.

2003-01-22  Ettore Perazzoli  <ettore@ximian.com>

	* Makefile.am (eutilincludedir): Version using $(BASE_VERSION).
	(econdincludedir): Likewise.
	(edb3includedir): Likewise.
	(imagesdir): Likewise.

	* ename/Makefile.am: Install libename in $(privlibdir) and
	$(includedir)/evolution-$(BASE_VERSION)/ename.

2003-01-17  Jeffrey Stedfast  <fejj@ximian.com>

	* e-account-list.c: Changed signal names to use - instead of _
	like the rest of Gtk2.

	* e-account.c (e_account_import): New function that is basically
	the old account_copy().

2003-01-17  Dan Winship  <danw@ximian.com>

	* e-xml-hash-utils.c: New, sort of from evolution-recurid-branch.

2003-01-16  Dan Winship  <danw@ximian.com>

	* e-account.c: New class, based on MailConfigAccount, for
	describing an evolution (mail) account.

	* e-account-list.c: New class for tracking the list of configured
	accounts. (Also uses some code from mail-config.)

	* e-list.c (e_list_construct, e_list_remove): New

2003-01-14  Ettore Perazzoli  <ettore@ximian.com>

	* e-dialog-utils.c: Do not #include <e-bonobo-widget.h>.
	(e_set_dialog_parent): Remove the BonoboWidget handling stuff (it
	doesn't really work anyways).

2003-01-14  Ettore Perazzoli  <ettore@ximian.com>

	* Makefile.am (eutilinclude_HEADERS): Add e-dialog-utils.h.

2003-01-09  Chris Toshok  <toshok@ximian.com>

	* e-gui-utils.c (e_create_image_widget): change this to use
	GtkImage instead of GnomeCanvas.

2003-01-08  Ettore Perazzoli  <ettore@ximian.com>

	* Makefile.am: Images are now in $(datadir)/evolution/images
	instead of $(datadir)/images/evolution.

2003-01-07  Dan Winship  <danw@ximian.com>

	* e-config-listener.c (e_config_listener_remove_value): New.

	* e-passwords.c (e_passwords_get_password): Don't look at the
	passwords hash until calling e_passwords_init().

2003-01-06  Dan Winship  <danw@ximian.com>

	* e-html-utils.c: Add this back: Connector needs it, and there's
	no reason for addressbook and calendar to be using camel to get
	this functionality.

	* Makefile.am (libeutil_la_SOURCES): re-add e-html-utils

2003-01-02  Jeffrey Stedfast  <fejj@ximian.com>

	A bunch of fixes to make e-util build with -DG_DISABLE_DEPRECATED
	and -DGTK_DISABLE_DEPRECATED.

2003-01-02  Ettore Perazzoli  <ettore@ximian.com>

	* e-gtk-utils.c (e_signal_connect_full_while_alive): Get to
	compile.
	(e_signal_connect_while_alive): Like.

2002-12-19  Ettore Perazzoli  <ettore@ximian.com>

	* e-gtk-utils.c (e_signal_connect_while_alive): New.
	(e_signal_connect_full_while_alive): Renamed from
	e_gtk_signal_connect_full_while_alive().

2002-12-16  Jeffrey Stedfast  <fejj@ximian.com>

	* e-html-utils.[c,h]: Removed. Back to the fiery depths of hell
	from whence ye came!

2002-12-10  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.[ch] (e_config_listener_remove_dir): new
	function.

2002-12-09  Jeffrey Stedfast  <fejj@ximian.com>

	* e-trie.c: New implementation of an Aho-Corasick trie.

2002-12-09  Chris Toshok  <toshok@ximian.com>

	* e-passwords.h: track changes to api (e_passwords_init is gone,
	and several functions take the component name as an arg.)

	* e-passwords.c (e_passwords_init): make this static, and allow
	multiple calls.  Also, it no longer takes the component name.
	(e_passwords_shutdown): make this deal with the case where
	e_passwords_init wasn't called (no hashtable), and it no longer
	needs to free component_name.
	(e_passwords_forget_passwords): call e_passwords_init.
	(e_passwords_clear_component_passwords): take component_name as an
	arg, and call e_passwords_init.
	(password_path): take component_name as an arg.
	(e_passwords_remember_password): same, and call e_passwords_init.
	(e_passwords_forget_password): same.
	(e_passwords_get_password): same.
	(e_passwords_add_password): call e_passwords_init.
	(e_passwords_ask_password): take component_name as an arg.

2002-12-07  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_mutex_cond_wait): Allow an e-mutex to be used
	with standard condition variables.

2002-12-06  Chris Toshok  <toshok@ximian.com>

	* e-categories-master-list-wombat.c (ecmlw_load): change to a more
	gconf-like path (with underscores, etc.)
	(ecmlw_save): same.

2002-11-26  Dan Winship  <danw@ximian.com>

	* e-lang-utils.c (e_get_language_list): If the language is
	something like "fr_FR", return both "fr_FR" and "fr" in the list.
	Oaf doesn't consider "fr_FR" to match a "-fr" translation.

2002-11-22  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (EMsgPort): Added an optional nspr pipe field.
	(e_msgport_new): Init nspr pipe to null.
	(e_msgport_destroy): close prfiledesc's if they're open.
	(e_msgport_prfd): get the prfiledesc to wait asynchronously on.
	(e_msgport_put): Write notify to nspr pipe if it exists.
	(e_msgport_wait): poll nspr pipe fd if it is set, and the pipe fd
	isn't.
	(e_msgport_get): skim off a notify byte on the pr pipe if set.
	(): Include config.h, and nspr stuff if HAVE_NSS is set.

2002-11-13  Ettore Perazzoli  <ettore@ximian.com>

	* e-config-listener.c (e_config_listener_get_string_with_default):
	Make sure we don't use a string value from a GConfValue that got
	freed.

2002-11-12  Chris Toshok  <toshok@ximian.com>

	* Makefile.am
	(eutilinclude_HEADERS): add e-password.h
	(libeutil_la_SOURCES): add e-password.c

	* e-passwords.[ch]: port this to gnome2's gnome-config-private.

2002-11-11  Ettore Perazzoli  <ettore@ximian.com>

	* e-config-listener.c (add_key): g_strdup() the value in the case
	of a string value.

2002-11-11  Jeffrey Stedfast  <fejj@ximian.com>

	* Makefile.am: Re-add e-proxy.c to the build.

2002-11-08  Chris Toshok  <toshok@ximian.com>

	* Makefile.am (eutilinclude_HEADERS): add e-categories-config.h
	and e-categories-master-list-wombat.h
	(libeutil_la_SOURCES): add e-categories-master-list-wombat.c

	* e-categories-master-list-wombat.[ch]: port work.

2002-11-07  JP Rosevear  <jpr@ximian.com>

	* e-categories-config.c (e_categories_config_get_icon_for): pass
	extra pixbuf param

	* e-categories-config.h: use G_*_DECLS

	* e-dialog-utils.c (save_ok): update g_file_test params

	* Makefile.am: Compile some additional files

2002-11-06  Chris Toshok  <toshok@ximian.com>

	* e-config-listener.c (e_config_listener_set_boolean): init err to
	NULL so if there isn't an error we aren't left with an unitialized
	GError.  Fixes crash.
	(e_config_listener_set_float): same.
	(e_config_listener_set_long): same.
	(e_config_listener_set_string): same.

2002-11-05  Rodrigo Moya <rodrigo@ximian.com>

	* e-component-listener.[ch]: ported to GObject.

	* Makefile.am: re-enabled e-component-listener.[ch]

2002-11-03  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.[ch] (e_config_listener_get_boolean,
	e_config_listener_get_float, e_config_listener_get_long,
	e_config_listener_get_string): new simpler functions, without
	a default value.

2002-11-03  Ettore Perazzoli  <ettore@ximian.com>

	* e-config-listener.c (e_config_listener_get_float_with_default):
	Removed unused variable.
	(e_config_listener_get_long_with_default): Likewise.
	(e_config_listener_get_string_with_default): Likewise.

	* Makefile.am: Compile e-config-listener.[ch].

2002-11-02  Chris Toshok  <toshok@ximian.com>

	* Makefile.am: add marshal building stuff, add e-util-marshal.c to
	SOURCES, and add e-util-marshal.list to EXTRA_DIST.

	* e-util-marshal.list: add marshallers for e-util.

	* e-list.c: convert to GObject.

	* e-list.h: convert to GObject.

	* e-iterator.c: convert to GObject.

	* e-iterator.h: convert to GObject.

	* e-list-iterator.c: convert to GObject.

	* e-list-iterator.h: convert to GObject.

	* .cvsignore: ignore e-util-marshal.[ch]

2002-11-02  Ettore Perazzoli  <ettore@ximian.com>

	* ename/Makefile.am (INCLUDES): Removed -I$(includedir).

	* ename/test-ename-western-gtk.c: #include
	<libgnomeui/gnome-ui-init.h> instead of <libgnomeui/gnome-init.h>.
	(create_window): Added GTK_SIGNAL_FUNC() cast.
	(main): Use gnome_program_init().

	* e-db3-utils.c: Do not #include <libgnome/gnome-defs.h>.

	* e-request.c: Do not #include <libgnomeui/gnome-stock.h>.

	* e-memory.c (e_memchunk_clean): Replace GSearchFunc with
	GCompareFunc.

	* e-iterator.c (e_iterator_class_init): GTK2-ified.
	(ECI_CLASS): Likewise.

	* e-html-utils.c: Do not #include <gal/unicode/gunicode.h>.

	* e-gui-utils.c: Don't #include <libgnome/gnome-defs.h>.
	(e_create_image_widget): Pass NULL to gdk_pixbuf_new_from_file()
	for the error arg.

	* e-corba-utils.h: #include <orbit/orbit.h> instead of
	<orb/orbit.h>.

	* Makefile.am: Removed bonobo-factory-util.c,
	bonobo-factory-util.h, e-categories-master-list-wombat.h,
	e-categories-master-list-wombat.c, e-dialog-utils.c,
	e-dialog-utils.h, e-proxy.c e-proxy.h for now.

2002-11-02  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.[ch]: ported to GConf and GObject.

2002-11-01  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.[ch]:
	* e-component-listener.[ch]: compilation fixes for GNOME 2 porting.

2002-10-24  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #32764

	* e-config-listener.c (add_key): store the value returned by
	bonobo_event_source_client_add_listener, so that we can remove it
	later, when freeing the key structure.
	(free_key_hash): remove listener.
	(e_config_listener_set_boolean):
	(e_config_listener_set_float): 
	(e_config_listener_set_long):
	(e_config_listener_set_string): only set the cache values if there's
	no exception.
	(e_config_listener_destroy): remove all keys before unrefing the db
	component.

2002-10-23  Dan Winship  <danw@ximian.com>

	* ename/e-name-western.c: Cast chars to unsigned char before
	passing to ctype macros since they are not defined on negative
	numbers. Fixes parsing problems with names with accented
	characters on Solaris. (At least part of #32146)

2002-09-25  Rodrigo Moya <rodrigo@ximian.com>

	* e-component-listener.c (ping_component_callback): added a comment
	about the fix for #30918.

2002-09-23  Rodrigo Moya <rodrigo@ximian.com>

	* e-component-listener.c (ping_component_callback): gtk_object_ref the
	component listener before emitting the "component_died" signal, since
	in most cases, the component listener will be destroyed in the
	callbacks for that signal.

2002-09-22  Dan Winship  <danw@ximian.com>

	* e-config-listener.c: Fix some non-ANSI switch statements

	* e-path.c: #include <sys/types.h> for OS X

2002-09-11  Chris Toshok  <toshok@ximian.com>

	[ Fixes #27546 ]
	* ename/e-name-western-tables.h
	(e_name_western_complex_last_table): add "di" to
	e_name_western_complex_last_table.

2002-09-05  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.c (e_config_listener_set_boolean,
	e_config_listener_set_float, e_config_listener_set_long,
	e_config_listener_set_string): update the local copy (if we've
	got one) so that we don't return values if asked before getting
	the change notification.

2002-09-04  Dan Winship  <danw@ximian.com>

	* e-time-utils.c (e_mktime_utc): New. Like mktime(3), but assumes
	the input time is UTC.
	(e_localtime_with_offset): New. Like localtime_r(3), but also
	returns an offset from UTC.

2002-08-29  Dan Winship  <danw@ximian.com>

	* e-list.c (e_list_destroy): Don't call g_list_foreach with the
	free func if the free func is NULL.

2002-08-28  Jeffrey Stedfast  <fejj@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Convert file: urls
	too. Fixes bug #29557.

	* e-proxy.[c,h] (e_proxy_init): New convenience function to
	initialise the proxy settings for soup to use.

2002-08-27  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.c[ch] (e_config_listener_get_float_with_default,
	  e_config_listener_set_boolean, e_config_listener_set_float): new
	functions.
	(property_change_cb, add_key): added support for FLOAT values.
	(e_config_listener_set_string): free strings before returning.

2002-08-26  Peter Williams  <peterw@ximian.com>

	* e-dialog-utils.c (set_transient_for_gdk): If gdk_window_foreign_new
	returned NULL, we're probably screwed, but try to avoid a segfault.
	(Preemptive fix suggested by kmaraas).

2002-08-26  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.c (e_config_listener_get_string_with_default):
	call g_strdup in the correct place, or we'll return the internal copy.

2002-08-26  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.c (e_config_listener_set_long): only set the key
	if the value is different from what we've already read from the
	database, to avoid extra change notifications.
	(e_config_listener_set_string): likewise.

2002-08-22  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.[ch]: added "key_changed" signal to class.
	(property_change_cb): emit "key_changed" signal.
	(e_config_listener_set_long): new function.
	(e_config_listener_get_long_with_default): new function.

2002-08-22  Dan Winship  <danw@ximian.com>

	* e-path.c (e_path_rmdir): Remove an e_path directory, and its
	parent "subfolders" dir if it's now empty.

2002-08-22  JP Rosevear  <jpr@ximian.com>

	* e-time-utils.c (e_time_parse_date): if the year was two digits,
	add the current century

	Fixes # 17252
	
2002-08-16  Rodrigo Moya <rodrigo@ximian.com>

	* e-config-listener.[ch]: new class for config database access and
	monitoring.

	* Makefile.am: added new files.

2002-08-14  Rodrigo Moya <rodrigo@ximian.com>

	* e-component-listener.[ch]: new class for controlling a component,
	to detect when it dies.

2002-08-01  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (is_citation): Remove the logic that assumes
	"Rupert> " is a citation, since it misfires more often than it
	hits.

2002-07-31  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (is_addr_char, is_trailing_garbage): Don't use
	"isprint(c)" to mean "c >= 32 && c < 128" since it doesn't in most
	locales.
	(is_domain_name_char): new macro for dns-valid characters
	(email_address_extract): Use is_domain_name_char rather than
	is_addr_char for the part after the @.

2002-07-30  Jeffrey Stedfast  <fejj@ximian.com>

	* e-host-utils.c (e_gethostbyname_r): If the user has enabled IPv6
	support, use getaddrinfo to resolve hostnames and then manually
	fit the result into a struct hostent.
	(e_gethostbyaddr_r): Same.

2002-07-25  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_dlist_length): Return the actual count, rather
	than always 0!
	
2002-07-03  Peter Williams  <peterw@ximian.com>

	* Makefile.am: Install libeutil, libeconduit, and libedb3util and
	their headers.
	
2002-07-15  Not Zed  <NotZed@Ximian.com>

	* e-sexp.c (term_eval_caststring): Cast to a string type.
	(term_eval_castint): Cast to an int type.
	(symbols[]): Add to symbol table.

2002-07-09  Dan Winship  <danw@ximian.com>

	* e-categories-config.c: #include <string.h>

2002-07-02  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.c (e_categories_config_get_icon_for): changed to
	return a gboolean (TRUE if the icon is found, FALSE if not).

2002-06-07  Not Zed  <NotZed@Ximian.com>

	* e-dialog-utils.c (e_gnome_warning_dialog_parented):
	(e_gnome_ok_cancel_dialog_parented): Use connect_while_alive, so
	we're not called after we've quit.  See bug #15397.

2002-06-03  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_msgport_wait): Protect against EINTR (irix?), see
	bug #24086.

2002-05-07  Ettore Perazzoli  <ettore@ximian.com>

	* e-corba-utils.c (e_safe_corba_string_dup): New.

2002-05-06  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_thread_destroy): Destroy our mutex too.
	(e_thread_new): Add thread to a new list of all threads.
	(e_thread_destroy): Remove thread from list of all threads.
	(e_thread_busy): New function, returh true if we're busy somewhere
	processing work.

2002-04-19  Jeffrey Stedfast  <fejj@ximian.com>

	* e-passwords.c (e_passwords_get_password): Don't leak the base64
	encoded password buffer.

2002-04-16  Jeffrey Stedfast  <fejj@ximian.com>

	* e-host-utils.c (e_gethostbyaddr_r): New wrapper around
	gethostbyaddr_r if the system has it, else a whole new
	implementation.

2002-04-11  Jeffrey Stedfast  <fejj@ximian.com>

	* e-sexp.c (parse_value): Handle parsing negative integers.

2002-03-29  JP Rosevear  <jpr@ximian.com>

	* e-dialog-utils.c (e_file_dialog_save): open a file selection
	dialog with the given title and return the selected file name
	(save_ok): if the ok button is clicked, make sure the file doesn't
	already exist and if it does, see if the user wants to over write
	it

	* e-dialog-utils.h: new proto

2002-03-22  Ettore Perazzoli  <ettore@ximian.com>

	* e-lang-utils.c: New.
	* e-lang-utils.h: New.

2002-03-22  Dan Winship  <danw@ximian.com>

	* e-request.c (e_request_string): Document the fact that this
	takes two locale charset strings and one UTF8 string and returns a
	UTF8 string. (Huh.)

2002-03-04  Jeffrey Stedfast  <fejj@ximian.com>

	* e-mktemp.c: #include <string.h> for strcmp.

2002-02-22  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Fix for if the buffer ends
	with an email address (and no newline).

2002-02-09  JP Rosevear  <jpr@ximian.com>

	* e-pilot-settings.h: add row and column defines

2002-01-27  Ettore Perazzoli  <ettore@ximian.com>

	* ename/Makefile.am: Use E_NAME_CFLAGS and E_NAME_LIBS.

	* Makefile.am: Use E_UTIL_CFLAGS and E_UTIL_LIBS.

2002-01-14  JP Rosevear  <jpr@ximian.com>

	* Makefile.am: compile new files

	* e-pilot-settings.[hc]: beginnings of a general conduit
	configuration gui

2002-01-10  Christopher James Lahey  <clahey@ximian.com>

	* ename/e-name-western.c (e_name_western_word_is_suffix): Allow
	for a period after suffixes.  Fixes Ximian bug #17012.

2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>

	* e-memory.c (e_memchunk_clean): Prune free'd nodes from our free
	list otherwise we'll end up re-using free'd memory blocks and
	that's not a Good Thing (tm).

2002-01-02  Jeffrey Stedfast  <fejj@ximian.com>

	* md5-utils.h: Reverted.

2002-01-02  Jeffrey Stedfast  <fejj@ximian.com>

	* md5-utils.h: Move the struct into md5-utils.c - this is a
	kludgey hack around the fact that NSS also defines
	MD5Context. Besides, this should be a private struct anyway.

2002-01-02  JP Rosevear  <jpr@ximian.com>

	* e-dialog-utils.c (e_gnome_dialog_set_parent): util function
	moved from mail-callbacks, also destroys the dialog if the parent
	is destroyed
	(e_gnome_warning_dialog_parented): similarly
	(e_gnome_ok_cancel_dialog_parented): ditto

	* e-dialog-utils.h: new protos

2001-12-17  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.c (e_pilot_map_clear): clear all info from the map

	* e-pilot-map.h: add proto

2001-12-10  JP Rosevear  <jpr@ximian.com>

	* e-pilot-util.c (e_pilot_utf8_to_pchar): use UTF-8 instead of
	UTF8 as the source char set
	(e_pilot_utf8_from_pchar): use UTF-8 instead of UTF8 as the
	destination char set

2001-11-20  Dan Winship  <danw@ximian.com>

	* e-passwords.c (e_passwords_forget_password): Clear the password
	in bonobo-conf as well. Fixes ximian 14893.

2001-11-13  Ettore Perazzoli  <ettore@ximian.com>

	* Makefile.am (libeutil_la_LIBADD): Remove `-lc'.  It makes the
	mailer do strange things when it calls `fork()', thus breaking
	e.g. mail sending through sendmail.

2001-11-13  JP Rosevear  <jpr@ximian.com>
 
 	* e-pilot-map.c (real_e_pilot_map_insert): only insert non-0 pids
 	into the pid map
 	(e_pilot_map_insert): remove and free old keys/values here -
 	including possibly orphaned keys
 	(e_pilot_map_remove_by_uid): only free things if they should have
 	been found

2001-11-13  JP Rosevear  <jpr@ximian.com>

	* Makefile.am (libeutil_la_LIBADD): Explicitly add -lc

2001-10-30  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.c (e_time_parse_date): added a 2nd format, with the
	weekday and the date. We need this so we can try to parse DATE values
	in the ECalendarTable.

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

	* e-dialog-utils.c (e_set_dialog_parent): Remove a g_warning.

2001-10-29  Christopher James Lahey  <clahey@ximian.com>

	* ename/e-name-western.c (e_name_western_fixup): Added French
	conjunction.

	* e-host-utils.c: Don't define gethost_mutex unless we need it.

2001-10-29  Christopher James Lahey  <clahey@ximian.com>

	* ename/e-name-western.c: Cleaned this up a bit.

2001-10-29  Christopher James Lahey  <clahey@ximian.com>

	* ename/e-name-western.c (e_name_western_fixup): Check for
	compound first names here (X & Y).  Fixes Ximian bug #13859.

2001-10-28  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.c (e_pilot_map_remove_by_pid): make sure to free the
	keys as well
	(e_pilot_map_remove_by_uid): ditto

2001-10-27  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.h: update proto

	* e-pilot-map.c (e_pilot_map_lookup_pid): touch the nodes if
	indicated and found
	(e_pilot_map_lookup_uid): ditto

2001-10-26  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.c (real_e_pilot_map_insert): take an extra param on
	whether to mark touched
	(map_sax_start_element): use above
	(e_pilot_map_insert): ditto
	(e_pilot_map_write): pass in extra info to foreach call
	(map_write_foreach): if we are in touched only mode, write out the
	map only if its been touched

	* e-pilot-map.h: add new member

2001-10-26  JP Rosevear  <jpr@ximian.com>
	
	* e-pilot-map.c (map_sax_start_element): add archived records
	with pilot id of 0
	(map_write_foreach): use the uid map for writing
	(e_pilot_map_write): write using the uid map

2001-10-26  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.c (e_pilot_map_insert): free up old memory first
	(e_pilot_map_destroy): free allocated memory when destroying

2001-10-22  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.c (map_set_node_timet): plug leak

2001-10-23  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Change " " to "&nbsp;" at
	start of line.

2001-10-22  Dan Winship  <danw@ximian.com>

	* e-passwords.c (e_passwords_get_password): Pass a
	CORBA_Environment to bonobo_config_get_string so it doesn't g_warn
	on error. (Since the "error" is most likely just that the password
	isn't cached.)
	(e_passwords_remember_password, e_passwords_get_password,
	e_passwords_add_password): Change "if (foo) { entire function; }"
	to "if (!foo) return;"

	* e-html-utils.c (special_chars): Don't allow single quote or
	backtick in email addresses, or pipes following URLs.

2001-10-22  JP Rosevear  <jpr@ximian.com>
	
	* e-dbhash.c (e_dbhash_foreach_key): null out DBT memory prior to
	usage (from Edd Dumbill <edd@usefulinc.com>)
	
2001-10-17  Ettore Perazzoli  <ettore@ximian.com>

	* e-dialog-utils.c (e_set_dialog_parent_from_xid): New.

2001-10-12  Chris Toshok  <toshok@ximian.com>

	* e-passwords.h: new parameter to e_passwords_init, and add
	prototype for e_passwords_clear_component_passwords.

	* e-passwords.c (e_passwords_init): copy off the component name.
	(e_passwords_shutdown): free/NULL the component name.
	(e_passwords_clear_component_passwords): new function.  remove the
	subtree rooted at /Passwords/<ComponentName>.
	(e_passwords_remember_password): use component_name when building
	up the path.
	(e_passwords_get_password): same.
	(e_passwords_add_password): remove/free the currently stored
	session password for this key if there is one, before adding the
	new one.

2001-10-11  Chris Toshok  <toshok@ximian.com>

	* e-passwords.h: change prototype for e_passwords_get_password.

	* e-passwords.c (e_passwords_get_password): remove 'const' from
	return type - the return type is now allocated and must be freed
	by the caller.
	
2001-10-11  Chris Toshok  <toshok@ximian.com>

	* e-passwords.c (e_passwords_init): open the bonobo config db for
	our passwords.
	(e_passwords_shutdown): sync and unref the bonobo db, and clear
	out the per session hash.
	(e_passwords_forget_passwords): remove the bonobo config db
	/Passwords path, and free up the session hash (but don't destroy
	it).
	(e_passwords_remember_password): remove the key/value from the
	session hash, after inserting it into the bonobo db.
	(e_passwords_get_password): look up a session password for the
	uri, and if it's not there, consult the bonobo db.
	(e_passwords_ask_password): quiet gcc's warnings, and only consult
	the toggle button state if we actaully created it.

2001-10-09  Rodrigo Moya <rodrigo@ximian.com>

	* e-url.c (e_uri_to_string): don't add the host if it's null

2001-10-06  Christopher James Lahey  <clahey@ximian.com>

	* ename/e-address-western.c (e_address_western_parse): Made this
	refuse to parse more than 2047 characters of address.

2001-10-04  Dan Winship  <danw@ximian.com>

	* e-passwords.c (e_passwords_add_password): Make this dup the
	strings it's passed.
	(*) Add lots of docs.

2001-10-03  Rodrigo Moya <rodrigo@ximian.com>

	* e-url.c (e_uri_new): default protocol to file: if not specified

2001-10-02  Rodrigo Moya <rodrigo@ximian.com>

	* e-url.c (e_uri_copy): duplicate also the params member

2001-10-02  Rodrigo Moya <rodrigo@ximian.com>

	* e-url.[ch] (e_uri_copy, e_uri_to_string): new functions
	
2001-10-01  Rodrigo Moya <rodrigo@ximian.com>
	
	* e-url.[ch]: added basic URI management functions

	* Makefile.am: added BONOBO flags to make it compile with latest
	Bonobo, which installs headers in a version-based directory

2001-10-01  Dan Winship  <danw@ximian.com>

	* e-passwords.c (e_passwords_ask_password): New, copied/renamed
	from mailer and gnome-libs.

2001-09-30  Chris Toshok  <toshok@ximian.com>

	* Makefile.am (libeutil_la_SOURCES): add e-passwords.[ch]

2001-09-30  Chris Toshok  <toshok@ximian.com>

	* e-passwords.c: copy/rename the mail specific password stuff
	here.

	* e-passwords.h: same.

2001-09-28    <NotZed@Ximian.com>

	* e-msgport.c (e_msgport_put): Write the pipe notification outside
	the lock.  This way if the pipe fills up because of too many
	outstanding request, the queue isn't deadlocked.  This only
	happens wiht 4096 outstanding messages, so something is getting
	VERY busy!  Fixes #11121.

2001-09-24  Christopher James Lahey  <clahey@ximian.com>

	* e-categories-master-list-wombat.c (ecmlw_load, ecmlw_save): Make
	the printouts here conditionally compiled out.

2001-09-21    <NotZed@Ximian.com>

	* e-msgport.c (e_thread_destroy): Instead of using
	pthread_cancel() which seems to have numerous implementation
	issues, send a special quit message to the subordinate thread.
	(thread_dispatch): When it gets a quit message, well, quit!

2001-09-18  Ettore Perazzoli  <ettore@ximian.com>

	* e-gtk-utils.c (widget_realize_callback_for_backing_store): Use
	->bin_window [instead of ->window] if the widget is a GtkLayout.

2001-09-17  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.c (e_time_parse_date): only use 1 format, so we are
	consistent everywhere. If we support multiple formats we have to
	support that in e_time_parse_date_and_time() which means an explosion
	of different formats. I don't think the alternatives are that useful,
	anyway.
	(e_time_parse_date_and_time): parse everything in one go, to avoid
	i18n problems. Also only use '%p' if the locale has am/pm strings.
	(e_time_parse_time): Only use '%p' if locale has am/pm strings.

2001-09-17  Ettore Perazzoli  <ettore@ximian.com>

	* e-gtk-utils.c (gtk_radio_button_get_nth_selected): Removed.
	(gtk_radio_button_select_nth): Removed.
	(e_make_widget_backing_stored): New.

2001-09-13  Jeffrey Stedfast  <fejj@ximian.com>

	* e-mktemp.c (e_mktemp_cleanup): Make sure the dir pointer is
	non-NULL before using it.

2001-09-08  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Fix some broken calls to
	check_size that could result in memory corruption displaying short
	replies.

2001-09-06  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Add E_TEXT_TO_HTML_CITE,
	to prepend "> " to each line.

2001-09-05  Dan Winship  <danw@ximian.com>

	* e-mktemp.c (get_path): Fix the check for the case when mkdir()
	returns EEXIST to check S_ISDIR on the right structure component.
	Fixes bug #8775.

2001-08-31  Federico Mena Quintero  <federico@ximian.com>

	* e-time-utils.c (e_time_parse_date_and_time): Added format for 
	"7 PM" and equivalents.  Fixes bug #7456.
	(e_time_parse_time): Likewise.

2001-08-28  Not Zed  <NotZed@Ximian.com>

	* e-categories-master-list-wombat.c (ecmlw_load): Dont call
	g_print with a NULL string.  See bug #7396.

2001-08-24  Jeffrey Stedfast  <fejj@ximian.com>

	* e-mktemp.c (get_path): Make more robust.

2001-08-24  Jeffrey Stedfast  <fejj@ximian.com>

	* Makefile.am: Added e-mktemp.[c,h] to the build.

	* e-mktemp.c (e_mktemp): A new wrapper around mktemp so that we
	can keep track of temp files for later cleanup.
	(e_mkstemp): Same but obviously for the mkstemp call.
	(e_mkdtemp): And finally a mkdtemp wrapper.

2001-08-24  Zbigniew Chyla  <cyba@gnome.pl>

	* Makefile.am (libeutil_la_SOURCES): Added e-unicode-i18n.c and
	e-unicode-i18n.h.

	* e-unicode-i18n.[ch]: New files with two extra functions
	(e_utf8_gettext, e_utf8_dgettext) and U_() macro.
	Should be used instead of _() if we need UTF-8 string.

2001-08-23  Zbigniew Chyla  <cyba@gnome.pl>

	* e-request.c (e_request_string): Modified to accept and return
	UTF-8 string.  It's currently used only in
	shell/e-shortcuts-view.c and we need UTF-8 there.

2001-08-20  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.c (e_time_parse_date): added comments to help
	translators a bit.

2001-08-09  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.c (e_categories_config_get_icon_for): return
	when there's no icon associated with the category

	* e-categories-config.c: reworked to use the
	ECategoriesMasterListWombat class. Also, load correctly images
	(fixes #6794)

2001-08-09  Federico Mena Quintero  <federico@ximian.com>

	* e-categories-master-list-wombat.c (ecmlw_destroy): Chain to the
	destroy handler in the parent class!

	* e-list-iterator.c (e_list_iterator_destroy): Likewise.  Sigh.

	* e-list.c (e_list_destroy): Likewise.  Double sigh.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

	* e-dialog-utils.h: New.
	* e-dialog-utils.c: New.

2001-08-04  Ettore Perazzoli  <ettore@ximian.com>

	* e-bonobo-factory-util.c
	(e_bonobo_generic_factory_multi_display_new): New function to
	create a factory that creates separate component instances for
	different displays.

2001-08-03  Christopher James Lahey  <clahey@ximian.com>

	* e-list-iterator.c (e_list_iterator_next): Made it so that
	e_list_iterator_next goes to the first element if it's set to
	NULL.  This makes deleting the first element and then doing
	e_list_iterator_next go to the new first element.  Did the analogy
	for e_list_iterator_prev for completeness and consistency's sakes.
	Fixes Ximian bug #6057.

2001-08-01  Christopher James Lahey  <clahey@ximian.com>

	* e-categories-master-list-wombat.c (ecmlw_load): Fixed the load
	statement here by just using array_from_string.
	(ecmlw_save): Removed the part where we save the icons and colors
	since that's handled in the array_to_string function.  Fixes
	Ximian bug #4451.

2001-07-27  JP Rosevear  <jpr@ximian.com>

	* e-dbhash.c (string_to_dbt): memset everything to 0
	(md5_to_dbt): ditto

2001-07-20  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.c (initialize_categories_config): use the 2
	new category icons (16_category_suppliers.png and
	16_category_time-and-expenses.png)

2001-07-19  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.c (initialize_categories_config): use the 2
	new category icons

	* Makefile.am: s/imagedir/imagesdir

2001-07-17  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.c (initialize_categories_config): generate
	default configuration for icons-per-category the first time. And
	use a global (for this file) Bonobo_ConfigDatabase

2001-07-16  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.c (e_categories_config_get_icon_for):
	(e_categories_config_get_icon_file_for):
	(e_categories_config_set_icon_file_for): use GdkPixbuf to load images

2001-07-16  Federico Mena Quintero  <federico@ximian.com>

	* e-time-utils.c (parse_with_strptime): Generalized function for
	trying a number of strptime() formats on a string.
	(e_time_parse_time): Use parse_with_strptime().
	(e_time_parse_date): New function, analogous to the previous one,
	but uses a number of date formats.

2001-07-12  Federico Mena Quintero  <federico@ximian.com>

	* e-time-utils.c (e_time_parse_date_and_time): If the string is
	empty, clear the struct tm before returning.

2001-07-12  Jon Trowbridge  <trow@ximian.com>

	* e-html-utils.c: Added is_addr_char_no_pipes macro, which specifically
	does not consider '|' ("pipe") to be a legal address character.
	(email_address_extract): Use is_addr_char_no_pipes when looking for
	e-mail addresses to turn into HTML links. (Bug #3940)

2001-07-05  Not Zed  <NotZed@Ximian.com>

	* e-memory.c: Added some malloc check stuff.

2001-07-04  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-master-list-wombat.c (ecmlw_load): load all icons
	and colors for each category

	(ecmlw_save): save all icons and categories associated with
	each category

	* e-categories-config.c: use BonoboConf to store/retrieve settings,
	and use ECategoriesMasterListWombat when creating a ECategories
	dialog widget

2001-07-02  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am (libeutil_la_SOURCES): Added
	e-categories-master-list-wombat.c and
	e-categories-master-list-wombat.h.
	(INCLUDES): Added $(BONOBO_CONF_CFLAGS).

	* e-categories-master-list-wombat.c,
	e-categories-master-list-wombat.h: New class implementing a master
	list that stores its state using bonobo-conf.

2001-07-02  Rodrigo Moya <rodrigo@ximian.com>

	* e-categories-config.[ch]: new file for a set of functions for
	managing category-related (icons, colors) configuration

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

	* e-request.c: New.
	* e-request.h: New.

2001-06-25  Jeffrey Stedfast  <fejj@ximian.com>

	* e-sexp.c (term_eval_and): When ANDing two bools, don't use a
	bitwise AND.

2001-06-18  Dan Winship  <danw@ximian.com>

	* Makefile.am: Split e-db3-utils and e-dbhash off into libedb3util
	so eutil won't depend on db3.

2001-06-15  Not Zed  <NotZed@Ximian.com>

	* e-sexp.c (parse_values): REmove a silly hardcoded term limit,
	oops forgot about that.

2001-06-11  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.c (e_time_parse_date_and_time): skip any non-digits
	while looking for dates and times. This should fix some translation
	problems. Though there is still a problem with Japanese, where the
	am/pm flag comes before the time so we will skip it incorrectly.

2001-06-10  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.c (e_time_parse_date_and_time): 
	(e_time_parse_time): got rid of '%n' at end of each format string
	for strptime. I don't know how I managed to put them in there.

2001-05-31  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am (INCLUDES): Added db3 cflags.

	* e-dbhash.c: Made this use db3.

	* e-db3-utils.c, e-db3-utils.h: New files with some helper
	functions.

2001-05-27  Dan Winship  <danw@ximian.com>

	* e-gui-utils.c: Remove e_pixmaps_update (moved to libeshell) so
	libeutil won't depend on bonobo.

2001-05-19  Ettore Perazzoli  <ettore@ximian.com>

	* e-host-utils.c (e_gethostbyname_r)
	[HAVE_GETHOSTBYNAME_R && GETHOSTBYNAME_R_FIVE_ARGS]: Set `*herr'
	to zero if the function returns a non-NULL pointer to the hostent.
	According to the docs, a returned non-NULL hostent always means
	"no error" no matter what the returned value of `herr' is.  [And
	in fact, at least on libc 2.2.3, trying to resolve `localhost'
	sets herr to `HOST_NOT_FOUND' even if the name is resolved
	correctly and the returned hostent is non-NULL.]

2001-05-16  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (e_text_to_html_full): add
	E_TEXT_TO_HTML_ESCAPE_8BIT to turn non-US-ASCII characters into
	"?"s.

2001-05-14  Jon Trowbridge  <trow@ximian.com>

	* e-html-utils.c (is_citation): Check for bad utf8.

2001-05-08  Dan Winship  <danw@ximian.com>

	* e-path.c (e_path_find_folders): Walk a hierarchy using the
	"/subfolders/" convention and call a callback for each folder
	found.

2001-05-01  Dan Winship  <danw@ximian.com>

	* e-msgport.c (e_mutex_assert_locked): Debugging routine. (Only
	works for recursive mutexes right now.)

	* e-html-utils.c (e_text_to_html_full): Don't use g_utf8_next_char
	on text that isn't valid UTF8, since it won't work (and might even
	get into an infinite loop).

2001-04-29  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (email_address_extract): Make this smarter. Now
	e_text_to_html_full calls it when it sees a '@', and
	email_address_extract deals with scanning both forward and
	backward to find the bounds of the email address. It's still
	fooled by Message-IDs, but there's not a whole lot we can do
	there...

2001-04-26  Dan Winship  <danw@ximian.com>

	* e-host-utils.c (e_gethostbyname_r): Make the Solaris and
	no-gethostbyname_r implementations behave more like the Linux one.
	Document.

	* Makefile.am (INCLUDES): Remove UNICODE_CFLAGS
	(libeutil_la_LIBADD): Change UNICODE_LIBS to GAL_LIBS

2001-04-26  Not Zed  <NotZed@Ximian.com>

	* e-memory.c (e_poolv_get): Modified to match e_strv_get
	behaviour.  Assert on bad cases, and return "" rather than NULL
	for empty/unset strings.
	(e_poolv_new): Simplify the mutex cases, only have a single mutex
	for mempool and hashtable references.
	(e_poolv_set): Simplify mutex code.  Fixed a #ifdef orde prob in
	profile stuff.  Always copy string to our own memory when we add
	it to the hash, even if we free it; I think this would have led to
	dangling references otherwise.
	(e_poolv_destroy): Renamed from poolv_free, for consistency with
	the rest of the allocators here.
	(e_poolv_set): Add optional refcounting code here, not currently
	enabled/used, but should make proper string collection work
	easily.
	(e_poolv_destroy): Unrefcount the strings here.
	(e_poolv_cpy): Add refcounting code here.

	* e-memory.[ch]: Applied Jacob's patches <jacob@ximian.com> for
	'e-poolv' type, added his name to the authors list.

2001-04-24  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (check_size): If the buffer is too small, making
	it twice as big does not guarantee it will be big enough. "Duh".
	Also, a bunch of the check_size calls don't seem to be taking
	trailing NULs into account, so add in a +1 here.

2001-04-24  Kjartan Maraas  <kmaraas@gnome.org>

	* e-gui-utils.c, e-memory, e-msgport.c, e-pilot-map, e-sexp.c:
	Added #include <glib.h> and move corresponding local headers
	to the top to catch missing includes in them. Tip from clahey.
	
2001-04-24  Chris Toshok  <toshok@ximian.com>

	* e-host-utils.h: remove prototype for e_gethostbyname_init.

	* e-host-utils.c (e_gethostbyname_r): don't dynamically allocate
	anything - store everything in the buffer that's passed in.  Also,
	stop using EMutex.  Switch to a static GMutex (so we can
	initialize it without having e_gethostbyname_init).
	(e_gethostbyname_init): removed.
	
2001-04-23  Jon Trowbridge  <trow@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Removed attempts to use
	Radek's evil <DATA> hacks, which were just causing me
	(and GtkHTML) grief.

2001-04-23  Jon Trowbridge  <trow@ximian.com>

	* e-host-utils.c: Include glib.h, so that the g_warning in
	e_gethostbyname_r will be treated as a macro and not as an
	unresolved symbol.

2001-04-22  Chris Toshok  <toshok@ximian.com>

	* Makefile.am (libeutil_la_SOURCES): add e-host-utils.[ch]

	* e-host-utils.c: new file, with e_gethostbyname_r.

	* e-host-utils.h: new file.

2001-04-19  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (is_citation): ">From" is not a citation unless
	the previous or following line is a citation.
	(e_text_to_html_full): Update for is_citation change. Also, when
	marking citations, unmangle mbox From-mangling.
	
2001-04-15  Federico Mena Quintero  <federico@ximian.com>

	* e-sexp.c (e_sexp_parse): Start parsing the sexp with
	parse_value(), not parse_list(), because we may have immediate
	values (e.g. "#f") as the whole sexp.

2001-04-08  JP Rosevear  <jpr@ximian.com>

	* Makefile.am: Setup up the conduit library building better so the
	files get disted

2001-04-06  Federico Mena Quintero  <federico@ximian.com>

	* e-sexp.c (scanner_config): Added a question mark to the set of
	valid characters for symbol names.
	(parse_value): Fixed parsing of boolean values.
	(parse_term_free): Added missing clause for ESEXP_TERM_BOOL.

2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>

	* ename/test-ename-western-gtk.c: Fix headers.
	
2001-04-03  Federico Mena Quintero  <federico@ximian.com>

	* e-sexp.h (ESExpResultType): Added ESEXP_RES_TIME for time
	values.
	(ESExpResult): Added a "time_t value.time" field.
	(ESExpTermType): Added ESEXP_TERM_TIME.
	(ESExpTerm): Added a "time_t value.time" field.

	* e-sexp.c (e_sexp_result_free): Deal with time values.  Also, be
	more paranoid; added a default clause with g_assert_not_reached().
	(term_eval_lt): Deal with time values.
	(term_eval_gt): Likewise.
	(term_eval_eq): Likewise.
	(term_eval_plus): Likewise.
	(term_eval_sub): Likewise.
	(e_sexp_term_eval): Likewise.
	(eval_dump_result): Likewise.
	(parse_dump_term): Likewise.
	(parse_term_free): Likewise.

2001-04-01  Gediminas Paulauskas <menesis@delfi.lt>

	* e-gui-utils.h: new type EPixmap, which is used to cache pixmaps for
	bonobo components. use e_pixmaps_update to load icons into ui
	component.
	* e-gui-utils.c: implementation of EPixmap cache, moved here from
	mail/folder-browser-factory.c.

2001-03-31  Jon Trowbridge  <trow@ximian.com>

	* e-url.c (e_url_shroud): Check that first_colon < last_at,
	to prevent horrible things from happening.  Removed spew.
	(e_url_equal): Removed spew.

2001-03-30  Jon Trowbridge  <trow@ximian.com>

	* e-html-utils.c (e_text_to_html_full): Add support for converting
	e-mail addresses to links.
	(is_email_address): Added.  Identifies e-mail addresses.
	(email_address_extract): Added.  Extracts a copy of the e-mail
	address from the text.

	* e-html-utils.h (E_TEXT_TO_HTML_CONVERT_ADDRESSES): Added.

	* e-url.c (e_url_shroud): Added.  Copy a url, replacing
	any plaintext passwords with a single *.
	(e_url_equal): Compare two urls, taking into account that
	they may or may not be shrouded.

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

	* e-corba-utils.h: Remove #include <glib.h>
	* e-dialog-widgets.c: Shuffle some headers.
	* e-dialog-widgets.h: Remove #include <libgnomeui/gnome-propertybox.h>
	* e-gtk-utils.c: #include <gtk/gtksignal.h>
	* e-gtk-utils.h: Replace #include <gtk/gtk.h>
	* e-gui-utils.c: Replace #include <gnome.h>
	* e-html-utils.c: Shuffle headers.
	* e-iterator.c: Replace #include <gtk/gtk.h>
	* e-iterator.h: Replace #include <gtk/gtk.h>
	* e-list-iterator.c: Remove #include <gtk/gtk.h>
	* e-list-iterator.h: Replace #include <gtk/gtk.h>
	* e-list.c: Remove #include <gtk/gtk.h>
	* e-list.h: Replace #include <gtk/gtk.h>
	* e-memory.c: #include <string.h> and <stdlib.h>
	* e-msgport.c: Move around some includes. s/%d/%ld/g in a printf()
	call to fix a warning.
	* e-pilot-map.c: #include <string.h>. Replace #include <gnome.h>
	* e-pilot-util.c: Remove #include <gnome.h>
	* e-sexp.c: Remove #include <glib.h>
	* e-sexp.h: Replace #include <gtk/gtk.h>
	* e-time-utils.c: #include <string.h>
	* md5-utils.c: Shuffle headers.
	* test-ename-western-gtk.c: Replace #include <gnome.h>
	* test-ename-western.c: Same here.
	
2001-03-20  Radek Doulik  <rodo@ximian.com>

	* e-html-utils.c (e_text_to_html_full): new function, extracted
	from e_text_to_html, added color parameter

2001-03-19  Radek Doulik  <rodo@ximian.com>

	* e-html-utils.c (e_text_to_html): support mark citation

	* e-html-utils.h (E_TEXT_TO_HTML_MARK_CITATION): added
	E_TEXT_TO_HTML_MARK_CITATION

2001-03-18  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.c (e_time_format_time): added function to format just
	the time.

2001-03-16  Dan Winship  <danw@ximian.com>

	* e-path.c (e_path_to_physical): Fix a bug noticed by kmaraas

2001-03-15  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (url_extract): Fix a bit: [mailto:foo] shouldn't
	grab the ']'

2001-03-12  JP Rosevear  <jpr@ximian.com>

	* Makefile.am: update cflag macros

2001-03-07  Dan Winship  <danw@ximian.com>

	* e-html-utils.c (url_extract): Fix an off-by-one in the "is this
	for real?" check so that "http:// " won't get URLified

2001-03-04  Damon Chaplin  <damon@ximian.com>

	* e-time-utils.[hc]: new files to contain functions to parse and
	format dates and times for various calendar widgets.

2001-03-01  Dan Winship  <danw@ximian.com>

	* e-path.c (e_path_to_physical): New function to turn foo/bar into
	foo/subfolders/bar. The inverse function doesn't exist yet because
	I didn't need it. Also, if the shell were going to use this, we'd
	need a few more tools...

	* Makefile.am (libeutil_la_SOURCES): Add e-path.[ch]

2001-03-01  Not Zed  <NotZed@Ximian.com>

	* e-sexp.c (e_sexp_encode_string): Make it handle a NULL string as
	an empty string.

2001-02-23  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_thread_destroy): Wait a lot lot longer for
	threads to finish.
	: Turned off some of the debug.

2001-02-08  Not Zed  <NotZed@Ximian.com>

	* e-memory.c (EMemChunk): Changed to allocate raw blocks for the
	data, and keep track of them with an array, this is so the native
	malloc alignment is not lost at the allocation stage.

2001-01-30  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_thread_destroy): Turn on joining of cancelled threads.
	(e_msgport_wait): Put a cleanup handler to clear the mp lock if it
	happens in cond_wait, since it will be locked again.

2001-01-29  Not Zed  <NotZed@Ximian.com>

	* e-msgport.c (e_thread_put): If we have waiting threads, then
	dont start a new one for the NEW case.
	(thread_dispatch): For the NEW case, dont exit, just keep running,
	waiting for a new message to come along.
	(e_thread_destroy): When cleaning up NEW threads, cancel any
	non-busy threads.

2001-01-24  Not Zed  <NotZed@Ximian.com>

	* e-sexp.h (ESExp): Add chunk allocators.

	* e-sexp.c: Removed some redundant debug printfs.
	(e_sexp_term_eval): Dont allocate result till we have it. so we
	can have a fatal error, and not leak it.
	(term_eval_plus): If we have to abort, free our arguments.
	(term_eval_sub): Same.
	(parse_new_term): Renamed to parse_term_new for consistency.
	Fixed callers.
	(e_sexp_result_new): Add the esexp as an argument.  Ouch, lots of
	code to change for this.  Allocate blocks from an ememchunk.
	Fixed all callers.
	(e_sexp_result_free): Same as above, free blocks from the
	ememchunk.  Fixed all callers.
	(parse_term_new): 
	(parse_term_free): Similarly, add the esexp to the argument, and
	alloc/free from memchunks.  Fixed all local callers.
	(e_sexp_init): Setup the memory chunk allocators.
	(e_sexp_finalise): Destroy memchunk allocators.

2001-01-23  Not Zed  <NotZed@Ximian.com>

	* e-sexp.c (e_sexp_parse): Setup error return and return error on
	parse error.
	(parse_list): Fail if we have a problem.
	(parse_value): Here too.
	(fatal_error): Fatal error handling function, jumps back to the
	top caller.
	(term_eval_and):
	(e_sexp_term_eval): 
	(term_eval_sub): 
	(term_eval_plus): 
	(term_eval_gt): 
	(term_eval_lt): 
	(term_eval_or):  Fail on error.
	(e_sexp_term_eval): Added a comment about where this can be
	called, which is only from inside e_sexp_eval().
	(e_sexp_eval): Setup setjmp error handler.
	(e_sexp_error): Error accessor function.

	* e-sexp.h: Added a longjmp environment to the structure, and an
	error return to parse.	

2001-01-22  JP Rosevear  <jpr@ximian.com>

	* e-dbhash.c (md5_to_dbt): New function, can't use strlen on the md5
	hash because it might have null chars in it.
	(e_dbhash_add): use md5_to_dbt

2001-01-19  JP Rosevear  <jpr@ximian.com>

	* e-pilot-map.c (e_pilot_map_remove_by_pid): Remove an item by pid
	(e_pilot_map_remove_by_uid): ditto for uid

	* e-pilot-map.h: new protos

2001-01-17  Jason Leach  <jasonleach@usa.net>

	* e-gtk-utils.c (gtk_radio_button_get_nth_selected): New function,
	name describes it well.
	(gtk_radio_button_select_nth): New function.

2001-01-17  Federico Mena Quintero  <federico@ximian.com>

	* e-dialog-widgets.[ch]: Ximianified.

2001-01-15  JP Roseveaer  <jpr@ximian.com>

	* e-pilot-util.c (e_pilot_utf8_from_pchar): Dup the string passed
	in, not the temporary string. d'oh.

2001-01-04  Dan Winship  <danw@helixcode.com>

	* e-msgport.c: #define E_THREAD_NONE as ((pthread_t)~0) and use
	that instead of ~0 throughout. (pthread_t is a pointer type on my
	system, so there are lots of warnings without the cast.)

2000-12-24  Not Zed  <NotZed@HelixCode.com>

	* Merge from camel-mt-branch.

2000-12-20  JP Rosevear  <jpr@helixcode.com>

	* e-pilot-util.c (e_pilot_utf8_to_pchar): Check for null strings
	(e_pilot_utf8_from_pchar): ditto

2000-12-19  JP Rosevear  <jpr@helixcode.com>

	* e-pilot-util.c (e_pilot_utf8_to_pchar): Convert utf8 strings to
	pilot character set
	(e_pilot_utf8_from_pchar): vice versa

	* Makefile.am: Conditionally build e-pilot-util.[hc] because
	they depend on pilot-link stuff

2000-12-23  Not Zed  <NotZed@HelixCode.com>

	* e-msgport.c (e_dlist_length): Util function.
	(e_thread_new): Another new thread primitive.  This one is a
	re-usable 'server thread' thingy.

2000-12-21  Not Zed  <NotZed@HelixCode.com>

	* Makefile.am (libeutil_la_SOURCES): Added msgport stuff.

	* e-msgport.[ch]: Some thread primitives.  e_dlist, a
	double-linked list (ok, not a thread primitive, but used in ...),
	e_msgport - an asynchronous, non-copying message passing
	rendesvous port, and e_mutex, a portably configurable mutex.

2000-12-19  Not Zed  <NotZed@HelixCode.com>

	* e-sexp.c: Make the code compile without being a gtk object (the
	old code can still be built as a gtk object if required).  Also
	removed some dead code.
	(e_sexp_ref): New function to ref if we're not a gkt object.
	(e_sexp_unref): Same for unref.

2000-12-13  Larry Ewing  <lewing@helixcode.com>

	* e-html-utils.c (e_text_to_html): make sure we actually make
	enough space for "&nbsp;".

2000-12-08  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.c (e_dialog_editable_get): Updated
	documentation comment.

2000-12-04  Ettore Perazzoli  <ettore@helixcode.com>

	* e-corba-utils.h: New.

	* e-corba-utils.c: New.
	(e_safe_corba_string): New.

2000-11-30  Not Zed  <NotZed@HelixCode.com>

	* e-memory.c (e_strv_new): Fix typename of args (for all funcs).
	(e_strv_set_ref): Assert the index is in range.
	(e_strv_set_ref_free): "
	(e_strv_set): "
	(e_strv_get): "

2000-11-29  Not Zed  <NotZed@HelixCode.com>

	* e-sexp.c (term_eval_lt): Plug a memleak, need to free results
	from term_eval().
	(term_eval_gt): 
	(term_eval_eq): 

2000-11-27  Not Zed  <NotZed@HelixCode.com>

	* e-memory.c (e_mempool_new): Added some locking to global data.
	This should make the interfaces mt-safe, although each object is
	only per-thread safe.

2000-11-22  Not Zed  <NotZed@HelixCode.com>

	* e-memory.c (e_mempool_alloc): If we dont get a big enough chunk
	in the first node, give up.  Otherwise we spend too much time
	searching.
	(e_mempool_strdup): Doh, and allocate enough for the terminating
	NUL at that.
	(e_strv_set_ref_free): New function, set a reference to a string
	that is then owned/free'd by the strv.
	(e_strv_destroy): If there are any strings to destroy, free them
	here.

2000-11-21  Not Zed  <NotZed@HelixCode.com>

	* e-memory.c (e_memchunk_alloc0): New function to allocate a
	zero'd out chunk.
	(e_mempool_strdup): New function to strdup into a mempool.

2000-11-20  Not Zed  <NotZed@HelixCode.com>

	* e-memory.[ch]: New routines for fast memory management and
	compact string array storage.

	* Makefile.am (libeutil_la_SOURCES): Added e-memory.[ch].

2000-11-09  JP Rosevear  <jpr@helixcode.com>

	* e-dbhash.h: oops thats func not *func

	* e-dbhash.c (e_dbhash_foreach_key): Memset the data DBT to 0

2000-11-07  JP Rosevear  <jpr@helixcode.com>

	* Makefile.am: Build e-dbhash.[hc]

	* e-dbhash.[hc]: New routines to manage a db database on disk that
	contains md5 hashed data and indexed by uids.  Provides comparison
	functions and such so the caller does not have to do the md5 bits.

200-10-30  Kjartan Maraas  <kmaraas@gnome.org>

	* e-dialog-widgets.c: #include <string.h> to quench warning.
	* e-sexp.c: #include <stdlib.h> for same reason.
	
2000-10-27    <jpr@helixcode.com>

	* Makefile.am: build md5-utils

	* md5-utils.c: Make part of util, get rid of camel stream util
	function include string.h

	* md5-utils.h: ditto
	
2000-10-27    <jpr@helixcode.com>

	* e-pilot-map.c (e_pilot_map_lookup_uid): Return null if no
	pnode was found.

2000-10-27  JP Rosevear  <jpr@helixcode.com>

	* e-pilot-map.c (map_sax_start_element): Get archive field while
	parsing
	(map_write_foreach): Write out archive field
	(e_pilot_map_pid_is_archived): implement
	(e_pilot_map_uid_is_archived): ditto
	(e_pilot_map_insert): Insert new node structures
	(e_pilot_map_lookup_pid): Take into account the list is now
	a list of structures
	(e_pilot_map_lookup_uid): ditto

2000-10-26  Michael Meeks  <michael@helixcode.com>

	* ename/e-address-western.c (e_address_western_is_postal): 
	unsigned chars.

	* ename/e-name-western.c (e_name_western_get_one_prefix_at_str):
	cast to unsigned char.

2000-10-25  Dan Winship  <danw@helixcode.com>

	* e-html-utils.c (e_text_to_html): Deal properly with URLs at the
	end of the buffer. (The old code would append a "&#0;" to the
	text.)

2000-10-23  JP Rosevear  <jpr@helixcode.com>

	* e-pilot-map.c (e_pilot_map_lookup_pid): Lookup a pid by uid.
	(e_pilot_map_lookup_uid): Lookup a uid by pid.
	Now this is wrapped, we can store archive info internally

	* e-pilot-map.h: New accessor prototypes
	
2000-10-23  Dan Winship  <danw@helixcode.com>

	* ename/Makefile.am (INCLUDES): Remove unused GNOMELOCALEDIR
	setting.

2000-10-23  JP Rosevear  <jpr@helixcode.com>

	* e-pilot-map.c: Operate with EPilotMap structure so things are
	abstract to the caller
	(e_pilot_map_pid_is_archived): Infrastructure for marking records
	as archived
	(e_pilot_map_uid_is_archived): ditto

	* e-pilot-map.h: Add more to public interface, including EPilotMap
	structure
	
2000-10-23  JP Rosevear  <jpr@helixcode.com>

	* e-pilot-map.c: Pilot map functions grabbed from existing conduits

	* e-pilot-map.h (e_pilot_map_write): Header

2000-10-18  Dan Winship  <danw@helixcode.com>

	* e-html-utils.c (e_text_to_html): If unicode_get_utf8 returns -1,
	assume it was actually undeclared iso-8859-1 text.

2000-10-17  Jesse Pavel  <jpavel@helixcode.com>

	* ename/e-address-western.c: made the routines use the stardard
	e_strstrcase instead of the included function that existed
	earlier.

2000-10-11  Iain Holmes  <iain@helixcode.com>

	* ename/e-address-western.c (e_address_western_parse): g_strconcat
	needs to be NULL terminated or it goes funny.

Tue Sep 26 16:48:49 2000  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS).

2000-09-25  Jeffrey Stedfast  <fejj@helixcode.com>

	* Makefile.am: add ename as a SUBDIR

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-list-iterator.c, e-list.c, e-list.h: Made e_list a bit more
	reentrant.  If a iterator gets its data pulled out from under it
	while in a loop, it goes back one so that loops will be able to
	continue.

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Removed all the files moved to gal.

	* e-dialog-widgets.c: Fixed the #include lines to deal properly
	with gal.

	* e-gui-utils.c, e-gui-utils.h: Removed all of the functionality
	that was moved to gal.

	* e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c,
	e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h,
	e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c,
	e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h,
	e-xml-utils.c, e-xml-utils.h: Moved to gal.

2000-09-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-font.c: Fixed an uninitialized variable.

2000-09-12  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.c (e_utf8_to_gtk_string_sized): Use underscores
	for untranslatable characters
	(e_utf8_from_gtk_string_sized): Ditto

2000-09-12  Dan Winship  <danw@helixcode.com>

	* e-font.c (e_font_from_gdk_font): Change this a bit so that if
	you pass it a bold font, it puts that in font->bold and finds a
	lighter font for font->font (if it can). This is for themes like
	Metal where the default font is bold.
	(find_variants): renamed from find_best_bold
	
2000-09-11  Dan Winship  <danw@helixcode.com>

	* e-font.c (find_best_bold): Thou shalt leave space for the
	trailing \0.

	* e-util.c (e_strstrcase): The return value should not be
	const. (Well, unless the input was, but you can't know that.)

2000-09-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-unicode.c, e-unicode.h: Added e_utf8_gtk_editable_get_text and
	e_utf8_gtk_editable_set_text.

2000-09-11  Lauris Kaplinski  <lauris@helixcode.com>

	* e-font.c: Try to find real bold variant of X font, fall
	to double stroke only if not found

2000-09-10  Ettore Perazzoli  <ettore@helixcode.com>

	* e-gtk-utils.c: New.
	(e_gtk_signal_connect_full_while_alive): New.

	* e-gtk-utils.h: New.

2000-09-08  Lauris Kaplinski  <lauris@helixcode.com>

	* e-font.c: Use experimental 16-bit font stuff for EFonts

2000-09-08  Dan Winship  <danw@helixcode.com>

	* e-popup-menu.h: remove consts from the EPopupMenu structure: the
	caller may want to modify its own EPopupMenu before calling
	e_popup_menu_run.

2000-09-07  Lauris Kaplinski  <lauris@helixcode.com>

	* e-dialog-widgets.c (e_dialog_editable_get): Use UTF-8
	(e_dialog_editable_set): Use UTF-8

	* e-font.c (translate_encoding): More encodings
	(e_gdk_font_encoding): Use experimental stuff

	* e-unicode.* (e_utf8_gtk_editable_insert_text): New wrapper
	
2000-09-07  Federico Mena Quintero  <federico@helixcode.com>

	* e-canvas.c (emit_event): Remove incorrect optimization.  Events
	are read-only!

2000-09-04  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.c: Added new font code, but comment it out now
	* e-font.h, e-font.c: Test code for font analyzing

2000-09-02  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.h, e-unicode.c: New functions
	e_utf8_gtk_clist_append, e_utf8_gtk_clist_set_text
	e_unicode_init

2000-08-31  Lauris Kaplinski  <lauris@helixcode.com>

	* e-html-utils.c (e_text_to_html): Use UTF-8

	* e-unicode.h:
	* e-unicode.c (g_unichar_to_utf8): glib 1.3 function
	(gdk_keyval_to_unicode): gdk 1.3 function
	(e_utf8_from_gdk_event_key): Use keyval, not string

2000-08-30  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.h: #define gnome_font_get_size and
	gnome_font_get_width, and gnome_font_lookup_default,
	if compiling with gnome-print 0.20

2000-08-30  Dan Winship  <danw@helixcode.com>

	* Makefile.am (libeutil_la_LIBADD): make e-util depend on
	libunicode

	* e-popup-menu.c (make_item): Use GtkMenuItem rather than
	GtkPixmapMenuItem for items with no pixmaps, so that if the whole
	menu is pixmapless, you don't get a column of blank pixmaps.

2000-08-24  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.h:
	* e-unicode.c (e_utf8_gtk_menu_item_new_with_label): New wrapper

2000-08-23  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.h:
	* e-unicode.c (e_utf8_strstrcase): New function

2000-08-23  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.c (e_dialog_editable_set): Constify.

2000-08-22  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.h:
	* e-unicode.c: e_utf8_gtk_editable_get_chars
	e_utf8_gtk_entry_get_text
	e_utf8_gtk_entry_set_text
	e_utf8_to_gtk_string: New convenience functions

2000-08-22  Lauris Kaplinski  <lauris@helixcode.com>

	* e-unicode.h:
	* e-unicode.c: Some convenience functions to deal with Gtk+ and UTF-8

	* Makefile.am: Added e-unicode.h, e-unicode.c

2000-08-21  Lauris Kaplinski  <lauris@helixcode.com>

	* e-font.h:
	* e-font.c: Changed UTF-8 syntax from char-based to byte-based
	
2000-08-21  Peter Williams  <peterw@helixcode.com>

	* e-html-utils.c (e_text_to_html): Fix a booboo in the tab
	expansion code (didn't use the new value of 'out').

2000-08-19  Lauris Kaplinski  lauris@helixcode.com

	* e-font.h: #define e_font_height(f) to save some space
	
2000-08-19  Lauris Kaplinski  lauris@helixcode.com

	* e-font.h:
	* e-font.c: Thin wrapper around GdkFont to deal with UTF-8 directly
	Also handles bold/italic styling

2000-08-14  Peter Williams  <peterw@helixcode.com>

	* e-sexp.c (scanner_config): Add "-" to be an acceptable
	first character for an operation -- yaaay subtraction!

2000-08-11  Peter Williams  <peterw@helixcode.com>

	* e-html-utils.c (e_text_to_html): Fix the tab expansion
	for when the length would exceed the ten characters that
	we allocated.

2000-08-10  Dan Winship  <danw@helixcode.com>

	* e-setup.[ch]: Remove. The shell tells the components where
	the evolution homedir is now.
	
	* Makefile.am (libeutil_la_SOURCES): Remove e-setup.c

	* e-html-utils.c (e_text_to_html): If converting both spaces and
	newlines, then convert tabs too. The joys of pseudo-<PRE>.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-popup-menu.c: Fix the bug where it truncates the last item

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-popup-menu.c: Ooops.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added uncompiled e_read_uri function.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-popup-menu.c, e-popup-menu.h: Added a hide_mask argument to
	the two popup menu functions.

2000-08-07  Christopher James Lahey  <clahey@helixcode.com>

	* e-gui-utils.c, e-gui-utils.c: Added
	e_container_change_tab_order.

2000-07-27  Peter Williams  <peterw@helixcode.com>

	* e-canvas.c (e_canvas_destroy): Chain the
	destroy handler.
	
2000-07-25  Peter Williams  <peterw@helixcode.com>	
	
	* e-canvas.c (emit_event): Don't bother with 
	dereferencing the event pointer.
	(e_canvas_item_set_cursor): Reference our selection
	item; print a debug message. Deref when destroying
	(e_canvas_item_add_selection): Same.
	(e_canvas_item_remove_selection): Same.
	
2000-07-25  Peter Williams  <peterw@helixcode.com>

	* Makefile.am (libeutil_static_la_LDFLAGS): Build both libraries
	(a typo didn't build libeutil.la, only -static.)

2000-07-25  Seth Alves  <alves@hungry.com>

	* Makefile.am (libeutil_static_la_LDFLAGS): build static version
	of library for conduit to use

2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added a bunch of e_marshal functions.

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added e_strstrcase function.

2000-07-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas-vbox.c: Removed some debugging printfs.
	
	* e-canvas.c (e_canvas_unrealize): Call parent unrealize method.

2000-07-10  Ettore Perazzoli  <ettore@helixcode.com>

	* e-sexp.c (eval_dump_result): `#if 0'ed out.

	* e-popup-menu.h (e_popup_menu_create): New prototype.

2000-07-10  Dan Winship  <danw@helixcode.com>

	* e-html-utils.c: Fix warnings.

2000-07-08  Christopher James Lahey  <clahey@helixcode.com>

	* e-list.c, e-list.h: Added e_list_duplicate.

2000-07-07  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added e_strsplit to work around a bug in
	g_strsplit.

2000-07-07  Christopher James Lahey  <clahey@helixcode.com>

	* e-iterator.c, e-iterator.h, e-list-iterator.c,
	e-list-iterator.h: Added last and insert functions.

2000-07-06  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.c: Added docstrings.  This file did not have
	them at all.  EEEEEEK!

2000-07-05  Dan Winship  <danw@helixcode.com>

	* e-sexp.c (e_sexp_parse): Kill debugging message

2000-07-03  Christopher James Lahey  <clahey@helixcode.com>

	* e-iterator.c, e-iterator.h, e-list-iterator.c,
	e-list-iterator.h, e-list.c, e-list.h: New list class with
	iterators.

	* e-canvas.c: Made it so that you don't get the same selection in
	the selection list more than once.

2000-07-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-gui-utils.h: #include <libgnomeui/gnome-messagebox.h>.  It's
	needed to be able to pass an appropriate @type arg to
	`e_notice()'.

2000-06-29  Jody Goldberg <jgoldberg@home.com>

	* e-canvas.c (e_canvas_init) : Init the InputContext members
	(e_canvas_class_init) : Add a handler for unrealize.
	(e_canvas_focus_in) : enable the input context.
	(e_canvas_focus_out) : enable the input context.
	(e_canvas_realize) : Create an input context.
	(e_canvas_unrealize) : New function to release the input context.

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

	* e-html-utils.c (url_extract): add ")" to the set of characters
	to back up over at the end of a potential URL.

2000-06-27  Ettore Perazzoli  <ettore@helixcode.com>

	* e-dialog-widgets.c (get_toggle_value): Use `value_var', not
	`value'.

2000-06-27  Ettore Perazzoli  <ettore@helixcode.com>

	* Makefile.am (INCLUDES): `-I$(top_srcdir)' to fix compilation
	with builddir != srcdir.

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.

	* e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
	a vbox using the reflow system.

2000-06-20  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas.c, e-canvas.h: Added a variable to keep track of the
	cursor.  Set the cursor when selection_add is called.  Properly
	unset the cursor at the right times.

2000-06-20  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas.c: Grab the focus when setting the cursor.

2000-06-20  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas.c, e-canvas.h: Built a system for doing selections
	and/or a cursor in canvas.

2000-06-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Changed the needed e_marshal functions.

	* e-printable.c, e-printable.h: Added a quantize parameter to
	e_printable_height.  Also, added a e_printable_will_fit function.
	
2000-06-10  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-printable.c and e-printable.h.

	* e-printable.c, e-printable.h: This new class is a printing
	context.  Other classes return an EPrintable which represents a
	context for printing that object.

	* e-util.c, e-util.h: Added
	e_marshal_NONE__OBJECT_DOUBLE_DOUBLE_BOOL and
	e_marshal_DOUBLE__OBJECT_DOUBLE_DOUBLE.

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c: Fixed e_marshal_INT__INT_INT_POINTER.

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added e_marshal_INT__INT_INT_POINTER.

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

	* e-util.c (g_int_compare): Duh! -1 != 1. :)

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-sexp.c (e_sexp_term_eval): g_return_val_if_fail to prevent a crash.

2000-05-30  Not Zed  <NotZed@HelixCode.com>

	* e-sexp.c (e_sexp_encode_bool): Utility function to build a bool
	as part of an expression string.
	(e_sexp_encode_string): Likewise for strings.

2000-05-30  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas-utils.c, e-canvas-utils.h: Added
	e_canvas_item_show_area which makes sure that a particular area of
	a given item is in the scroll area.

2000-05-30  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.c (hook_radio): Use the exported function to
	set the value.
	(get_radio_value): Likewise.
	(hook_option_menu): Likewise.
	(get_option_menu_value): Likewise.
	(hook_toggle): Likewise.
	(get_toggle_value): Likewise.
	(hook_spin_button): Likewise.
	(get_spin_button_value): Likewise.
	(hook_editable): Likewise.
	(get_editable_value): Likewise.
	(e_dialog_radio_set): Radio buttons are prepended to their parent
	group's list, so we need to flip the index around when
	getting/setting the value.
	(e_dialog_radio_get): Likewise.

2000-05-27  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.c (e_dialog_editable_set): Moved over from
	event-editor-utils.c.
	(e_dialog_editable_get): Likewise.
	(e_dialog_toggle_set): Likewise.
	(e_dialog_toggle_get): Likewise.
	(e_dialog_spin_set): Likewise.
	(e_dialog_spin_get_double): Likewise.
	(e_dialog_spin_get_int): Likewise.
	(e_dialog_option_menu_set): Likewise, and added a value map.
	(e_dialog_option_menu_get): Likewise.
	(e_dialog_dateedit_set): Likewise.
	(e_dialog_dateedit_get): Likewise.
	(e_dialog_radio_set): New function.
	(e_dialog_radio_get): New function.

2000-05-24  Christopher James Lahey  <clahey@helixcode.com>

	* e-paned.c, e-paned.h: Removed.

2000-05-23  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.c (get_radio_value): Implemented.  Amazing that
	one has to go through so much pain to get a stupid value from
	GTK+.
	(hook_option_menu): Implemented.  Same complaint.
	(get_toggle_value): Implemented.
	(get_spin_button_value): Implemented.
	(get_entry_value): Implemented.
	(e_dialog_widget_hook_value): Function to hook a widget to the
	variable it will modify.
	(e_dialog_get_values): Function to feed the variables from a
	dialog's widgets.
	(e_dialog_xml_widget_hook_value): Function to hook a widget from
	a Glade file.

2000-05-23  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added e_write_file.

2000-05-19  Federico Mena Quintero  <federico@helixcode.com>

	* e-dialog-widgets.[ch]: New files with utilities for hooking up
	widgets in Glade-generated dialogs.

	* Makefile.am (libeutil_la_SOURCES): Added e-dialog-widgets.[ch].

2000-05-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-gui-utils.c, e-gui-utils.h: Added e_container_foreach_leaf.

2000-05-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Add imagesdir support.

	* e-gui-utils.c, e-gui-utils.h: Added e_create_image_widget for
	glade use.

2000-05-16  Christopher James Lahey  <clahey@helixcode.com>

	* e-xml-utils.c: xmlGetProp appears to return malloced memory.
	Thus we must free it.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

	* e-util.c (e_free_string_list): New function.

2000-05-14  Christopher James Lahey  <clahey@helixcode.com>

	* e-util.c, e-util.h: Added e_strdup_strip which returns a copy of
	the string with the leading and trailing spaces removed.

2000-05-11  NotZed  <NotZed@HelixCode.com>

	* e-sexp.c (e_sexp_finalise): Destroy the g_scanner when cleaning up.
	(e_sexp_finalise): Free symbol table on finalise.

2000-05-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas.c: Remove reflow idle when being destroyed.

2000-05-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-html-utils.c: Got rid of some warnings.

	* e-util.c, e-util.h: Added e_read_file which takes a filename and
	returns a newly allocated string containing the contents of that
	file.

2000-05-03  Ettore Perazzoli  <ettore@helixcode.com>

	* e-util.h: #include <glib.h> and <gtk/gtktypeutils.h>.

	* e-util.c (e_free_object_list): New utility function.

2000-05-02  Damon Chaplin  <damon@helixcode.com>

	* e-canvas.c (e_canvas_focus_in): 
	(e_canvas_focus_out): set and reset the GTK_HAS_FOCUS flag. We now get
	focus_out events correctly.

2000-05-02  NotZed  <NotZed@HelixCode.com>

	* e-sexp.c (e_sexp_finalise): Free the parse tree if we have one.
	(e_sexp_parse): If we already have a parse tree, free it.

2000-05-02  Matt Loper  <matt@helixcode.com>

	* Makefile.am: set G_LOG_DOMAIN.

2000-05-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-xml-utils.c, e-xml-utils.h: Constified all the functions.

2000-04-27  Dan Winship  <danw@helixcode.com>

	* e-html-utils.c (e_text_to_html): Moved here from the mailer,
	since it's of general use, and the composer needs it too.

2000-04-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-popup-menu.c: New file.  Implements easy to use popup menus. 

2000-04-24  Matt Loper  <matt@helixcode.com>

	* e-paned.c: New file. Makes a GtkPaned with more than two
	children.
	* e-paned.h: same.

	* Makefile.am: added e-paned.[ch].

2000-04-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-xml-utils.c, e-xml-utils.h: Added
	e_xml_get_child_by_name_by_lang.

2000-04-16  Anders Carlsson  <andersca@gnu.org>

      * e-canvas.c (e_canvas_class_init): Add realize.
      (e_canvas_realize): Set the back pixmap to NULL to reduce flicker.

2000-04-14  Christopher James Lahey  <clahey@helixcode.com>

	* e-xml-utils.c: Fixing a warning.

2000-04-14  Christopher James Lahey  <clahey@helixcode.com>

	* e-xml-utils.c: Add g_return_if_fails.

2000-04-12  Miguel de Icaza  <miguel@gnu.org>

	* e-cursors.c (e_cursor_get): Prevent next hacker to get bitten by this.

2000-04-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-canvas.c: Added proper keyboard focus handling.

2000-04-06  Matt Loper  <matt@helixcode.com>

	* e-setup.c (e_setup_base_dir): Get/set Evolution's base directory
	via gnome-config.
	(mkdir_if_necessary): New function.
	(e_setup_base_dir): Use mkdir_if_necessary().

2000-03-22  NotZed  <NotZed@HelixCode.com>

	* e-util/e-sexp.h: Formatting cleanup.

2000-03-07  NotZed  <NotZed@HelixCode.com>

	* e-util/Makefile.am (libeutil_la_SOURCES): s-sexp.h -> e-sexp.h.

2000-03-12  Christopher James Lahey  <clahey@helixcode.com>
	
	* e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to
	speed up reflow and to make it fail less often.

2000-03-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-util/e-canvas.c, e-util/e-canvas.h: Designed a new system for
	doing hierarchical displays in the canvas.  Adds an extra idle
	loop to the canvas system.

2000-03-05  Christopher James Lahey  <clahey@helixcode.com>

	* e-util/e-xml-utils.c: Fixed e_xml_set_integer_prop_by_name.

2000-03-04  Christopher James Lahey  <clahey@helixcode.com>

	* e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added
	e_xml_set_integer_prop_by_name.

2000-02-28  NotZed  <NotZed@HelixCode.com>
	
	* e-util/e-sexp.[ch]: Added.  moved from filter-sexp.[ch]

	* e-util/Makefile.am (libeutil_a_SOURCES): Add e-sexp.
	(noinst_LTLIBRARIES): Changed to a libtool library.

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

	* e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added
	e_xml_get_integer_prop_by_name.

	* e-util/Makefile.am: Added e-util.c.

	* e-util/e-util.h: Added e-util.c functions.

	* e-util/e-util.c: New file for compare functions

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>
	
	* e-util/e-canvas-utils.h: Fixed the comment at the top and added
	#ifndef __E_CANVAS_UTILS__.

	* e-util/Makefile.am: Added e-xml-utils.c and
	e-xml-utils.h.

	* e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
	xml utilities.

	* e-util/e-util.h: Added type EFocus which describes which
	direction the focus will be coming from.

2000-02-23  Dan Winship  <danw@helixcode.com>

	* e-util/e-setup.c (e_setup_base_dir): Make ~/evolution mode 700
	rather than mode 600 (and use the symbolic name rather than the
	number).
	
2000-02-09  Christopher James Lahey  <clahey@helixcode.com>
	
	* e-util/Makefile.am: Add canvas utilities to libeutil.

