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

	* configure.in: made ready for release

2000-08-11  Ettore Perazzoli  <ettore@helixcode.com>

	* mime-type-capplet/Makefile.am (INCLUDES): Add `$(top_srcdir)' so
	that we don't wrongly #include existing installed headers.

2000-08-11  Pavel Cisler  <pavel@eazel.com>

	* HACKING:
	* NEWS:
	* configure.in:
	* data/mime/gnome-vfs.keys:
	* test/Makefile.am:
	Prepare for release.
	Merge over mime entries for gnumeric.
	Fix makefile breakage in devel-docs and test.

2000-08-10  J Shane Culpepper  <pepper@eazel.com>

	* data/mime/gnome-vfs.keys:  Rolling fix for Bug # 2104 into branch

2000-08-10  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c (parse_uri_substring,
	gnome_vfs_uri_new): Tolerate fragment identifiers by just ignoring
	them; differentiate them from the gnome-vfs method chaning syntax
	by checking for a colon past the pound sign.

2000-08-08  J Shane Culpepper  <pepper@eazel.com>

	* modules/http-method.c: (process_propfind_response),
	(make_propfind_request):

		Adding major dav stability fixes to the branch.

2000-08-07  Maciej Stachowiak  <mjs@eazel.com>

	* CVSVERSION: New file, used to detect whether we are configuring
	a cvs version or a release tarball.
	
	* configure.in: Default -Werror to off when configuring a release
	tarball, and to on when configuring a cvs version.

2000-08-07  Maciej Stachowiak  <mjs@eazel.com>

	* test/test-escape.c (main): Fix to match new escaping logic for
	paths.

2000-08-07  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_has_parent):
	Fixed so it matches the _get_parent function by just calling
	_get_parent. It would be hard to get the corresponding result
	otherwise. Someone performance-obsessed could move the common
	code out into a separate function if they like.
	
	* test/test-uri.c: (test_uri_has_parent), (main):
	Added a test of gnome_vfs_uri_has_parent to this tool.
	
	* modules/http-method.c: (make_propfind_request):
	Changed a g_warning to a g_message. Maybe yakk will change it
	back or something, but it happens too often to be a drop-into-
	the-debugger warning.

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>

	* libgnomevfs/gnome-vfs-result.c:
	* libgnomevfs/gnome-vfs-types.h:
	added a new error code GNOME_VFS_ERROR_SERVICE_NOT_AVAILABLE

2000-08-07  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-utils.c: Do not escape `?', `&', or `=' in
	paths, to avoid messing up http queries.

2000-08-08  Ian McKellar  <yakk@yakk.net.au>

	* modules/http-method.c: (process_propfind_propstat),
	(process_propfind_response):
	Fixed a memory leak in WebDAV PROPFIND response parsing.

Sun Aug 06 15:10:01 2000  George Lebl <jirka@5z.com>

	* libgnomevfs/gnome-vfs-mime-info.c (load_mime_type_info_from)
	  (load_mime_list_info_from) (gnome_vfs_mime_init):  Be more correct
	  in function prototypes
	  (gnome_vfs_mime_init): gnome_i18n_get_language_list returns a
	  "constant" list.  So make a copy before inverting it.

	* bzip2-method.c, gzip-method.c:  #include <string.h> to make it
	  compile on alpha

2000-08-07  Ian McKellar  <yakk@yakk.net.au>

	* modules/http-method.c: (process_propfind_propstat),
	(do_get_file_info):
	Fixed a bug that affected Xythos interoperability.

2000-08-06  Ian McKellar  <yakk@yakk.net.au>

	* modules/ftp-method.c: (do_get_file_info):
	Changed the do_get_file_info behaviour to be more portable. I believe
	this resolves bug #1981.

2000-08-05  Michael K. Fleming  <mfleming@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri),
	(split_toplevel_uri_old), (uri_strspn_to), (split_toplevel_uri):
	* test/test-uri.c: (test_uri_part), (test_uri_host_port), (main):

	Re-implemented split_toplevel_uri to fix some parsing bugs in the old one.
	(Most signficantly, 'http://localhost:80' would be parsed as 
	hostname 'localhost:80' rather than hostname 'localhost' port '80')

	****Note that the new code is necessarally not bug-for-bug compatible with
	the original implementation, and therefore may expose bugs in existing
	applications!****

	Added new test cases for URI parsing.

	The old split_toplevel_uri code is ifdef'd out.  If you disable 
	NO_MKF_DEBUG, you can get warnings when a differences between the old
	version and the new version is encountered.  Of course, the code in this
	block should be removed before the next release.

2000-08-04  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs-mime-magic: changed text/rtf to
	application/rtf to match both the .keys file and reality.
	
	* data/mime/gnome-vfs.keys: added description for
	audio/x-riff.

2000-08-04  Robey Pointer  <robey@eazel.com>

	* libgnomevfs/gnome-vfs-utils.c:
	(gnome_vfs_escape_string_internal), (gnome_vfs_escape_path_string),
	(gnome_vfs_escape_host_and_path_string):
	* libgnomevfs/gnome-vfs-utils.h:

	Add an _escape_host_and_path_string() call to cope intelligently
	with uri's that have a host:port section before the path.

2000-08-05  Ian McKellar  <yakk@yakk.net.au>

	* modules/http-method.c: (process_propfind_response),
	(do_open_directory), (do_get_file_info):
	Make open_directory and do_get_file_info try http://foo/bar/ if 
	http://foo/bar fails with a file not found error. See:
	http://bugzilla.eazel.com/show_bug.cgi?id=1904

2000-08-04  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime.c: (add_to_key):
	Added a workaround for a bug in Solaris regcomp.

2000-08-03  Seth Nickell  <seth@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c: (count_items_and_size),
	(link_items), (gnome_vfs_xfer_delete_items),
	(gnome_vfs_xfer_uri_internal):
	A rewrite of the code that CVS (or me?) lost for some strange bizarre reason...
	<sigh> Adds symbolic link abilities to gnome-vfs-xfer.

2000-08-03  Ramiro Estrugo  <ramiro@eazel.com>

	* data/mime/gnome-vfs.keys:

	Add the mozilal component as a content handler for
	x-special/webdav-directory.  Also move the gtkhtml web browser up
	in the food chain.
	
2000-08-03  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys: Added a couple of description-less
	types that people had run into (image/x-xfig and application/x-compress).
	Also removed one of the two different descriptions for image/x-xpixmap.
	Also alphabetized the entries again -- someone changed some MIME
	type names without re-alphabetizing.

2000-08-03  Mathieu Lacage  <set EMAIL_ADDRESS environment variable>

	* libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_init): 
	remove FIXMEs for bug 796.
	* libgnomevfs/gnome-vfs-mime.c: (mime_init): idem.

2000-08-02  Pavel Cisler  <pavel@eazel.com>

	Seth forgot to check in changes Nautilus relies on and
	unfortunately they are nowhere to be found on his machine.
	This change will make Nautilus build again. Seth needs to check
	in his missing changes to make symlink creation work properly.

	* libgnomevfs/gnome-vfs-types.h:

2000-08-02  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug 1837, The icon in the action list item
	should represent the item in the list.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(populate_mime_list):
	Load icon and display based on action.
	
2000-08-02  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type):
	Removed some old FIXMEs that were left after the bug was fixed.

2000-08-02  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug 1836, Description list item icon wrong.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(populate_mime_list), (gdk_font_get_bold),
	Set up proper and scaled description column icon.
	
	(capplet_gdk_pixbuf_scale_to_fit):
	New function that scales an gdk-pixbuf to the requested
	width and height.  Copied from libnautilus.

2000-08-01  Darin Adler  <darin@eazel.com>

	* data/mime/gnome-vfs.keys:
	Added description for "x-special/virtual-directory", which
	will probably be renamed soon.

2000-08-01  Ian McKellar  <yakk@yakk.net.au>

	* AUTHORS:
	Updated ftp method info.

	* modules/http-method.c: (process_propfind_response),
	(make_propfind_request), (do_read_directory):
	Fixed the PROPFIND response parsing to handle Xythos servers
	better.

2000-07-30  ERDI Gergo  <cactus@cactus.rulez.org>

	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c
	(name_from_oaf_server_info): changed oaf_server_info_attr_lookup
	calls to oaf_server_info_prop_lookup

2000-07-28  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(init_mime_capplet), (pixmap_file), (gtk_widget_make_bold),
	(gtk_widget_set_font), (gtk_style_set_font), (gdk_font_get_bold):
	New function to set the font of a widget to bold.  These were
	borrowed from libnautilus-extensions.
	
2000-07-28  Gene Z. Ragan  <gzr@eazel.com>

	* data/mime/gnome-vfs-mime-magic:
	* data/mime/gnome-vfs.keys:
	Added magic and mime type for GMC links.
	application/x-gmc-link
	
2000-07-27  Seth Nickell  <seth@eazel.com>

	* libgnomevfs/gnome-vfs-file-info.h:
	Added SYMLINK macros.
	
	* libgnomevfs/gnome-vfs-types.h:
	Added GNOME_VFS_FILE_FLAGS_SYMLINK	

	* modules/file-method.c: (get_stat_info):
	Changed code around to properly stat and lstat, and use flags.
	
	* test/gnome-file-selection/gnome-file-selection.c:
	(populate_callback):
	* test/test-async-directory.c: (print_list):
	* test/test-directory-visit.c: (directory_visit_callback):
	* test/test-directory.c: (print_list):
	Changed to use flags properly.
	
2000-07-26  Gene Z. Ragan  <gzr@eazel.com>

	* data/mime/gnome-vfs-mime-magic:
	* data/mime/gnome-vfs.keys:
	Added mime magic and mime type key for application/x-nautilus-link

2000-07-25  Mike Fleming  <mfleming@eazel.com>

	* modules/translate-method.c: (tr_exec_open_child),
	(tr_exec_pass_uri), (tr_exec_do_retain), (tr_handle_exec),
	(tr_exec_init), (tr_exec_cleanup), (tr_args_parse),
	(vfs_module_init), (vfs_module_shutdown):

	Added -retain option to translate's -exec mode
	Fixed method-table initialization problem

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

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_default_action_without_fallback): New function
	to get the default action for a MIME type without falling back to
	its supertype if there is nothing available for the full type.

2000-07-25  Darin Adler  <darin@eazel.com>

	* modules/pipe-method.c: (mime_from_uri):
	Handle the case where the URI is NULL (can happen with some bad
	URIs that can't be unescaped).

2000-07-25  John Sullivan  <sullivan@eazel.com>

	Made async set_file_info pass back newly-retrieved
	file info, since setting some info changes other
	info (e.g., setting owner can change permissions).

	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_set_file_info): New options parameter
	to use when getting file info, changed callback type.
	* libgnomevfs-pthread/gnome-vfs-job.h:
	Add get_file_info options field to request struct, and file_info &
	get_file_info_result fields to notify struct.
	* libgnomevfs-pthread/gnome-vfs-job.c:
	(execute_set_file_info): Fetch file_info after setting.
	(dispatch_set_file_info_callback): Pass to caller newly-fetched
	file_info, or NULL if it couldn't be read.

	* libgnomevfs/gnome-vfs-async-ops.h:
	Change signature of gnome_vfs_async_set_file_info to take options
	for get_file and to use a GnomeVFSAsyncSetFileInfoCallback
	* libgnomevfs/gnome-vfs-backend.c:
	(report_failure_set_file_info_callback),
	(report_failure_set_file_info): New functions that handle the new
	intricacies of set_file_info failures.
	(gnome_vfs_async_set_file_info): Updated for parameter changes.
	* libgnomevfs/gnome-vfs-types.h:
	Changed GnomeVFSAsyncCloseCallback to just a #define;
	added new GnomeVFSAsyncSetFileInfoCallback

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

	* modules/file-method.c: (do_find_directory), (do_check_same_fs):
	Use lstat instead of stat to correctly treat symbolic links.

2000-07-24  Fatih Demir  <kabalak@gmx.net>

	* mime-type-capplet/nautilus-mime-type.desktop: Added the
	Turkish desktop entries.

2000-07-21  Mathieu Lacage  <set EMAIL_ADDRESS environment variable>

	Closes bug 1120, 1118, 1176 from buzilla.eazel.com
	source incompatible change. Removes metadata support.
	Basically, it changes the signature of all the functions which 
	had metadata support and removes one parameter. To take this change
	into account, you basically need to remove one NULL parameter from 
	the calls which have changed. 
	
	* idl/gnome-vfs-slave.idl:
	* idl/gnome-vfs-types.idl:
	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	(corba_gnome_vfs_async_get_file_info),
	(corba_gnome_vfs_async_load_directory),
	(corba_gnome_vfs_async_load_directory_uri):
	* libgnomevfs-corba/gnome-vfs-slave-notify.c:
	(impl_Notify_load_directory), (impl_Notify_get_file_info):
	* libgnomevfs-corba/gnome-vfs-slave.c: (allocate_info_list),
	(copy_file_info), (load_directory_not_sorted),
	(load_directory_sorted), (impl_Request_get_file_info),
	(impl_Request_load_directory):
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_get_file_info),
	(pthread_gnome_vfs_async_load_directory),
	(pthread_gnome_vfs_async_load_directory_uri):
	* libgnomevfs-pthread/gnome-vfs-job.c:
	(execute_load_directory_not_sorted),
	(execute_load_directory_sorted), (execute_get_file_info),
	(execute_load_directory):
	* libgnomevfs-pthread/gnome-vfs-job.h:
	* libgnomevfs/gnome-vfs-async-ops.h:
	* libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_get_file_info),
	(gnome_vfs_async_load_directory_uri),
	(gnome_vfs_async_load_directory):
	* libgnomevfs/gnome-vfs-cancellable-ops.c:
	(gnome_vfs_get_file_info_uri_cancellable),
	(gnome_vfs_get_file_info_from_handle_cancellable):
	* libgnomevfs/gnome-vfs-cancellable-ops.h:
	* libgnomevfs/gnome-vfs-directory-list.c:
	(gnome_vfs_directory_list_load),
	(gnome_vfs_directory_list_load_from_uri):
	* libgnomevfs/gnome-vfs-directory-list.h:
	* libgnomevfs/gnome-vfs-directory.c:
	(gnome_vfs_directory_handle_new),
	(gnome_vfs_directory_handle_destroy), (open_from_uri), (open),
	(gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri),
	(directory_visit_internal), (gnome_vfs_directory_visit_uri),
	(gnome_vfs_directory_visit),
	(gnome_vfs_directory_visit_files_at_uri),
	(gnome_vfs_directory_visit_files):
	* libgnomevfs/gnome-vfs-directory.h:
	* libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_clear),
	(gnome_vfs_file_info_copy):
	* libgnomevfs/gnome-vfs-file-info.h:
	* libgnomevfs/gnome-vfs-handle.c:
	(gnome_vfs_handle_do_get_file_info):
	* libgnomevfs/gnome-vfs-handle.h:
	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_get_special_mime_type):
	* libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_get_file_info),
	(gnome_vfs_get_file_info_uri),
	(gnome_vfs_get_file_info_from_handle):
	* libgnomevfs/gnome-vfs-ops.h:
	* libgnomevfs/gnome-vfs-private-types.h:
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-xfer.c: (empty_directory),
	(gnome_vfs_visit_list), (directory_add_items_and_size),
	(handle_name_conflicts), (create_directory), (copy_directory),
	(copy_items), (gnome_vfs_xfer_delete_items_common):
	* modules/bzip2-method.c: (do_get_file_info):
	* modules/efs-method.c: (do_open_directory), (do_get_file_info):
	* modules/extfs-method.c: (do_open_directory), (do_get_file_info),
	(do_get_file_info_from_handle):
	* modules/file-method.c: (directory_handle_new),
	(do_open_directory), (read_directory), (do_get_file_info),
	(do_get_file_info_from_handle):
	* modules/ftp-method.c: (internal_get_file_info),
	(do_get_file_info), (do_open_directory):
	* modules/gconf-method.c: (directory_handle_new),
	(set_stat_info_value), (set_stat_info_dir), (do_open_directory),
	(read_directory), (do_get_file_info),
	(do_get_file_info_from_handle):
	* modules/gzip-method.c: (do_get_file_info):
	* modules/http-method.c: (do_open_directory),
	(get_file_info_from_http_handle), (do_get_file_info),
	(do_get_file_info_from_handle):
	* modules/pipe-method.c: (do_get_file_info),
	(do_get_file_info_from_handle):
	* modules/translate-method.c: (tr_do_open_directory),
	(tr_do_get_file_info), (tr_do_get_file_info_from_handle):
	* test/gnome-file-selection/gnome-file-selection.c:
	(start_populating):
	* test/test-async-cancel.c: (wait_until_vfs_threads_gone),
	(first_get_file_info), (test_get_file_info),
	(test_load_directory_cancel):
	* test/test-async-directory.c: (main):
	* test/test-directory-visit.c: (main):
	* test/test-directory.c: (main):
	* test/test-info.c: (print_file_info), (main):
	* test/test-shell.c: (do_ls), (validate_path), (get_regexp_name),
	(do_info):
	* test/test-symlinks.c: (deal_with_result):

2000-07-19  Ali Abdin  <aliabdin@aucegypt.edu>

	* modules/translate-method.c: (tr_apply_default_mime_type): 
	Modified to also apply default mime-type if the mime-type is
	application/octet-stream

2000-07-19  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (get_method_string): Schemes are
	not case-sensitive according to the RFC, so make them all
	lower-case with g_strdown when we parse.
	(gnome_vfs_uri_get_parent): Change logic so that URIs with no "/"
	have no parent.
	
	* test/test-uri.c: (test_uri_parent): Added a function for testing
	gnome_vfs_uri_get_parent.
	(main): Moved "FILE:" test out of the FIXME section since it's fixed.
	Added lots of parent tests. Corrected the "add // incorrectly" test
	to match the new version of gnome_vfs_uri_new.
	
	* modules/pipe-method.c: Removed some bad casts of function
	pointers to (gpointer) that were also completely unnecessary.

	* libgnomevfs/Makefile.am (INCLUDES): Ettore meant
	"-I$(top_builddir)", since it's a generated file.

	* test/auto-test: Pass "-a" option to diff so it treats the files
	as text files.

	* test/test.output: Updated to match what the program currently
	writes out. Someone needs to look it over and see if it's correct
	or if it reflects bugs.

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

	* libgnomevfs/Makefile.am (INCLUDES): Add `-I$(top_srcdir)'.
	Otherwise `#include <libgnomevfs/gnome-vfs-types.h>' doesn't work.

2000-07-19  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Added nl to ALL_LINGUAS.
	
2000-07-18  Mike Fleming  <mfleming@eazel.com>

	* modules/translate-method.c: (tr_forkexec_cb), (tr_getline),
	(tr_handle_exec), (tr_uri_translate), (tr_do_open), (tr_do_create),
	(tr_do_open_directory), (tr_do_get_file_info), (tr_do_truncate),
	(tr_do_is_local), (tr_do_make_directory), (tr_do_find_directory),
	(tr_do_remove_directory), (tr_do_move), (tr_do_unlink),
	(tr_do_check_same_fs), (tr_do_set_file_info),
	(my_poptParseArgvString), (tr_args_parse), (tr_args_free):

	Added a -exec option to vfs-translate, which allows a child
	process to filter URI's.

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-private-utils.c
	(gnome_vfs_string_list_from_string_array): Handle a zero-length
	non-NULL array properly by turning a gratuitous do ... while loop
	into a while loop.

2000-07-17  Maciej Stachowiak  <mjs@eazel.com>

	* modules/search-method.c, modules/search-method.h: Removed (moved
	to medusa).

	* libgnomevfs/gnome-vfs-private-ops.c,
	libgnomevfs/gnome-vfs-private-ops.h: Renamed to
	gnome-vfs-cancellable-ops.[ch]
	* libgnomevfs/Makefile.am, libgnomevfs/gnome-vfs-private.h: Deal
	with the renaming.

2000-07-17  Mathieu Lacage <mathieu@eazel.com>

	This should fix bug 796.
	
	* libgnomevfs/Makefile.am: add -DGNOME_VFS_DATADIR and
	-DGNOME_VFS_CONFDIR.
	* libgnomevfs/gnome-vfs-mime.c:(mime_init) look into gnome_vfs 
	prefix instead of gnome-libs one.
	* libgnomevfs/gnome-vfs-mime-magic.c:(gnome_vfs_mime_get_magic_table)
	idem.
	* libgnomevfs/gnome-vfs-gen-mimedb.c:(main) idem.
	* libgnomevfs/gnome-vfs-mime-info.c:(gnome_vfs_mime_init) idem.
	
2000-07-17  Seth Nickell  <seth@eazel.com>

	* modules/search-method.c: (search_directory_handle_new),
	(search_directory_handle_destroy), (parse_search_uri), (do_open),
	(do_create), (do_close), (do_read), (do_write), (do_write),
	(do_seek), (do_tell), (do_truncate_handle), (do_open_directory),
	(do_close_directory), (do_read_directory), (do_get_file_info),
	(do_get_file_info_from_handle), (do_is_local), (do_make_directory),
	(do_remove_directory), (do_move), (do_unlink), (do_check_same_fs),
	(do_set_file_info), (do_truncate), (do_find_directory),
	(do_create_symbolic_link):
	* modules/search-method.h:

	Create module for interfacing Gnome-VFS and the medusa search service.
	Write skeletons, draft basic functionality.
	
2000-07-17  Jonathan Blandford  <jrb@redhat.com>

	* modules/bzip2-method.c: #include <string.h>

	* libgnomevfs/gnome-vfs-private-ops.c: #include <string.h>

	* libgnomevfs/gnome-vfs-xfer.c: #include <string.h>

	* libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h: Add newline
	to the end of the file.
	* libgnomevfs/gnome-vfs-find-directory.h: Add newline to the end
	of the file.

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

	* libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_delete_items):
	Added a missing READYTOGO progress that caused asserts to
	get fired during a delete operation.

2000-07-15  Ali Abdin  <aliabdin@aucegypt.edu>

	* modules/pipe-methpd.c:
	(mime_from_uri), (str_without_suffix), (do_get_file_info),
	(do_get_file_info_from_handle), (do_open):
	We are now allowed to specify mime-type over the URI using the pipe
	method (as in pipe:command;mime-type=text/html)

	Also - you can now escape strings passed to the pipe method (before
	they had to be unescaped)

	This closes bug #1322. (We still need a test-suite for this though).

	Also - expect a commit for a 'fix' to libvfs-translate.so

2000-07-14  Gene Z. Ragan  <gzr@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	* libgnomevfs/gnome-vfs-mime-handlers.h:
	(gnome_vfs_mime_get_icon), (gnome_vfs_mime_set_icon):
	New API to get and set icon data.
	
	* mime-type-capplet/Makefile.am:
	Added new file 
	mime-type-capplet/nautilus-mime-type-icon-entry.c
	
	* mime-type-capplet/nautilus-mime-type-icon-entry.c:
	* mime-type-capplet/nautilus-mime-type-icon-entry.h:
	(nautilus_mime_type_icon_entry_get_type),
	(nautilus_mime_type_icon_entry_class_init), (entry_changed),
	(entry_activated), (setup_preview), (ientry_destroy),
	(browse_clicked), (icon_selected_cb), (cancel_pressed),
	(gil_icon_selected_cb), (nautilus_mime_type_show_icon_selection),
	(drag_data_received), (drag_data_get),
	(nautilus_mime_type_icon_entry_init),
	(nautilus_mime_type_icon_entry_new),
	(nautilus_mime_type_icon_entry_gnome_file_entry),
	(nautilus_mime_type_icon_entry_gnome_entry),
	(nautilus_mime_type_icon_entry_gtk_entry),
	(nautilus_mime_type_icon_entry_set_pixmap_subdir),
	(nautilus_mime_type_icon_entry_set_icon),
	(nautilus_mime_type_icon_entry_get_filename):
	New file.  This is a new verison of GnomeIconEntry.
	I am customizing it to look and bahve in a way that
	is compatible with Arlo's UI reccomendations.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(mime_list_selected_row_callback), (icon_changed),
	(change_icon_clicked), (init_mime_capplet),
	(nautilus_mime_type_capplet_update_info), (populate_mime_list):
	More UI cleanups.  Removed GnomeIconEntry and replaced
	with new NautilusMimeTypeIconEntry. 

2000-07-14  Mathieu Lacage <mathieu@eazel.com>

	* mime-type-capplet/Makefile.am: add OAF_CFLAGS and OAF_LIBS
	where it is needed to make it compile with strange prefixes.

2000-07-13  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug 1158, GnomeVFSMimeHandlers code needs error handling
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_add_extension), 
	(gnome_vfs_mime_remove_extension):
	These functions now return a valid GNomeVFSResult.

	* libgnomevfs/gnome-vfs-mime-info.c:
	* libgnomevfs/gnome-vfs-mime-info.h:
	(gnome_vfs_mime_commit_registered_types),
	(write_registered_mime_data):
	These functions now return a valid GNomeVFSResult. 
	
2000-07-13  Pavel Cisler <pavel@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job.c:
	* libgnomevfs/gnome-vfs-xfer.c: (remove_file), (remove_directory),
	(count_each_file_size_one), (gnome_vfs_xfer_empty_trash),
	(gnome_vfs_xfer_delete_items):
	First part of fix for Bugzilla bug 1549 - Empty Trash progress dialog
	doesn't work. Made it so that both preflight calculation and 
	the erase loop both weight each erased file/directory as if it
	were a file copy of a file 1024 bytes large.

2000-07-13  Ian McKellar  <yakk@yakk.net.au>

	* libgnomevfs/gnome-vfs-seekable.c: (read_file), (init_seek),
	(gnome_vfs_seek_emulate), (do_seek):
	Various fixes related to tmpfile changes and also random bug fixes
	to make seekable emulation actually work.
	
	* modules/http-method.c: (do_open):
	Fix to http-method so it works with the gnome-vfs-seekable code.

2000-07-12  Ian McKellar  <yakk@yakk.net.au>

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string):
	Fixed a bug that added an extra '/'.

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

	* gnome-vfs.spec.in: changed *.so.* to *.so*

2000-07-12  Ramiro Estrugo  <ramiro@eazel.com>

	* modules/gconf-method.c: (vfs_module_init):
	Update for GConf api changes.
	
2000-07-11  Robin Slomkowski  <rslomkow@eazel.com>

	* gnome-vfs.spec.in: removed a '.'

2000-07-11  Darin Adler  <darin@eazel.com>

	* test/.cvsignore:
	* test/test-uri.c: (test_uri_to_string), (main):
	Added some more tests that demonstrate some more problems with the
	GnomeVFSURI functions. A lot of FIXMEs in here now about the
	problems.
	
	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string):
	Added a check for uri->text of NULL so that URIs like "http:"
	would not cause a core dump. But perhaps they should return NULL
	instead of creating a legal URI? Also fixed a little of the
	formatting to fit the gnome-vfs standard.

2000-07-12  Ian McKellar  <yakk@yakk.net.au>

	* data/mime/gnome-vfs.keys:
	Added `vfs-method' keys to a few mime types. This key indicates the
	name of a GNOME VFS method that can be used to decode a file of this
	type.

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string):
	Essentially rewrote gnome_vfs_uri_to_string. It was very broken
	(especially for chained URIs).

	* modules/bzip2-method.c: (do_open), (do_get_file_info):
	* modules/gzip-method.c: (do_open), (do_get_file_info):
	Fiddled with invalid URI detection.

	* modules/extfs-method.c: (strip_separators), (get_basename),
	(get_dirname), (do_open), (read_directory_list),
	(do_open_directory), (do_close_directory), (do_read_directory),
	(do_get_file_info):
	Made it work - basically changed the way a bunch of the functions
	do their stuff.

	* modules/extfs/Makefile.am:
	* modules/extfs/tar:
	Added a `tar' extfs module - it isn't a good long-term solution for
	tar file access, but it works for now.

	* test/Makefile.am:
	* test/test-uri.c: (stop_after_log), (make_asserts_break),
	(test_failed), (test_uri_to_string), (main):
	Added a test-uri program.

2000-07-07  Michael Meeks  <michael@helixcode.com>

	* modules/efs-method.c (do_create): remove serious locking bug.

2000-07-10  Darin Adler  <darin@eazel.com>

	Added async. set_file_info. Sadly, I didn't yet write a test
	for it and I haven't yet added it to the CORBA back end.
	
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_set_file_info):
	* libgnomevfs-pthread/gnome-vfs-job.h:
	* libgnomevfs-pthread/gnome-vfs-job.c:
	(dispatch_set_file_info_callback), (dispatch_job_callback),
	(execute_get_file_info), (execute_set_file_info),
	(gnome_vfs_job_execute):
	Added set_file_info to the thread back end.

	* libgnomevfs/gnome-vfs-types.h:
	Made the standard callback that just returns a result code have
	the name GnomeVFSAsyncCallback since it can be used for any number
	of simple calls.
	
	* libgnomevfs/gnome-vfs-async-ops.h:
	Added async. set_file_info to the async. ops list.
	
	* libgnomevfs/gnome-vfs-backend.c:
	(report_failure_simple_callback), (report_failure_simple): Make
	the open-specific callback helper into something that can be
	shared by multiple calls.
	(gnome_vfs_async_open), (gnome_vfs_async_open_uri),
	(gnome_vfs_async_create), (gnome_vfs_async_create_uri),
	(gnome_vfs_async_create_symbolic_link): Use the callback helper by
	its new name.
	(gnome_vfs_async_set_file_info): Add async. set_file_info.
	
	* modules/newftp-method.c: [removed]
	* modules/newftp-method.h: [removed]

2000-07-09  Ian McKellar  <yakk@yakk.net.au>

	* libgnomevfs/gnome-vfs-private-types.h:
	Renamed GnomeVFSMethodCreateSymbolicLink to
	GnomeVFSMethodCreateSymbolicLinkFunc to match 

	* modules/bzip2-method.c: (do_open), (do_read):
	Bugfixes.

	(do_get_file_info):
	Implemented do_get_file_info - needed by Nautilus
	
	* modules/gzip-method.c: (do_open), (do_read):
	Bugfixes.

	(do_get_file_info):
	Implemented do_get_file_info - needed by Nautilus

	* modules/http-method.c: (base64), (make_request):
	Implement minimal basic authorization support.

	(do_get_file_info), (do_close), (do_move):
	Bugfixes.

2000-07-07  Gene Z. Ragan  <gzr@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension):
	Changed code to used renamed gnome_vfs_mime_extensions_list_free
	
	* libgnomevfs/gnome-vfs-mime-info.c:
	* libgnomevfs/gnome-vfs-mime-info.h:
	(gnome_vfs_mime_get_extensions_pretty_string):
	Return a list with period prepended, comma seperated items.

	(gnome_vfs_mime_extensions_list_free):
	Changed name form gnome_vfs_mime_extension_list_free
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(populate_extension_list), (init_mime_capplet),
	(nautilus_mime_type_capplet_update_info), (populate_mime_list),
	(create_mime_list_and_scroller):
	More exciting UI layout work and feature completion.

2000-07-07  Seth Nickell  <set EMAIL_ADDRESS environment variable>

	* libgnomevfs/gnome-vfs-xfer.c: (copy_directory), (copy_items):
	Add proper copy support for symlinks.
	
	* modules/file-method.c: (get_stat_info):
	Fix get_stat_info to return symbolic type correctly.
	
	* test/test-symlinks.c: (deal_with_result):
	Add more tests.

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

	* gnome-vfs.spec.in: moved *.so* out of devel section

2000-07-06  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/nautilus-mime-type-capplet.c: (column_clicked),
	(create_mime_list_and_scroller):
	Added sorting functionality to the column buttons.  Enabled
	columns to respond to a click.  Clicking a column header
	toggles between ascending and descending sort for that column.
	
2000-07-06  Dan Winship  <danw@helixcode.com>

	* libgnomevfs/gnome-vfs-mime-sniff-buffer.c
	(gnome_vfs_mime_sniff_buffer_get): don't try to seek if the sniff
	buffer has no seek function (eg, because it's memory based).

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

	* mime-type-capplet/Makefile.am: fixed libgdk_pixbuf
	dependency.

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

	* modules/gconf-method.c: add #ifdef HAVE_ALLOCA_H

2000-07-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* libgnomevfs/gnome-vfs-types.h: Changed 
	'#include <gnome-vfs-file-size.h>' to 
	'#include <libgnomevfs/gnome-vfs-file-size.h>'

	* libgnomevfs/Makefile.am: Added gnome-vfs-file-size.h to
	libgnomevfsinclude_HEADERS

2000-07-06  Ian McKellar  <yakk@yakk.net.au>

	* libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_create_temp):
	* libgnomevfs/gnome-vfs-seekable.c: (init_seek):
	Changed to use safe temp file functions. (bugzilla.eazel.com: 1001)

	* modules/http-method.c: (http_status_to_vfs_result):
	Updated HTTP result -> GnomeVFSResult mapping.

	* (do_create):
	Fixed create method a bit.
	

2000-07-05  Ian McKellar  <yakk@yakk.net.au>

	* modules/extfs-method.c: (get_dirname), (do_open_directory),
	(match), (find_next):
	SEGV fixes.

	(do_get_file_info):
	Implement a useful get_file_info (based off the existing 
	(open|read|close)_directory code.

	* modules/http-method.c: (my_strcmp), (do_move):
	Implement MOVE (using the HTTP/DAV MOVE method)

	* test/test-info.c: (print_file_info):
	Only print valid info fields.

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

	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_new_directory_with_unique_name):
	Make it possible for the unique name handling callback to detect
	a file system that supports only short names and supply an 
	8.3 name.

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

	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-utils.h:
	* libgnomevfs/gnome-vfs-xfer.c: (copy_file_data), (copy_file),
	(gnome_vfs_xfer_delete_items_common),
	(gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_internal):
	Add support for removing source files during an inter-volume move.
	Split up deletion code into a common routine for reuse.
	Introduce a new progress phase to allow us to reset the progress
	state when done copying and when starting remove source files.
	Fixed bug 1215.

2000-07-04  Gene Z. Ragan  <gzr@eazel.com>
	More capplet work in progress.  Modifying applet and code
	to support UI work done by Arlo.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension):
	API changes to support new layout.

	* libgnomevfs/gnome-vfs-mime-info.c:
	* libgnomevfs/gnome-vfs-mime-info.h:
	(gnome_vfs_mime_get_extensions_list),
	(gnome_vfs_mime_get_extensions_string):
	API changes to support new layout.
	
	* mime-type-capplet/Makefile.am:
	Added dependency to GdkPixbuf.
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(show_edit_components_dialog), (add_new_application),
	(show_new_application_window), (show_edit_application_window):
	API changes to support new layout.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	* mime-type-capplet/nautilus-mime-type-capplet.h:
	(populate_extension_list), (extension_list_deselected),
	(application_button_toggled), (viewer_button_toggled),
	(icon_changed), (init_mime_capplet),
	(nautilus_mime_type_capplet_update_info),
	(populate_application_menu), (populate_viewer_menu),
	(edit_default_clicked),
	(nautilus_mime_type_capplet_update_application_info),
	(nautilus_mime_type_capplet_update_viewer_info),
	(insert_mime_vals_into_clist), (create_mime_list_and_scroller),
	(nautilus_mime_type_capplet_get_selected_item_mime_type),
	(make_path), (pixmap_file):
	API changes to support new layout.
	

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

	* libgnomevfs-pthread/Makefile.am (INCLUDES): Add
	`-I$(top_builddir)/libgnomevfs' so that it works with builddir !=
	srcdir.
	* libgnomevfs-corba/Makefile.am (INCLUDES): Likewise.
	* libgnomevfs/Makefile.am (INCLUDES): Likewise.
	* modules/Makefile.am (INCLUDES): Likewise.

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

	* HACKING:
	* NEWS:
	* TODO:
	More tweaks for the release.

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

	* libgnomevfs/Makefile.am:
	* mime-type-capplet/Makefile.am:
	Making gnome-vfs rpm'able

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

	* AUTHORS:
	* HACKING:
	* README:
	* TODO:
	Update these for an upcomming release.
	
	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_find_directory_cancellable):
	Fix a leak.

2000-07-03  Seth Nickell  <seth@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_create_uri),
	(pthread_gnome_vfs_async_create_symbolic_link):
	* libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_job_callback),
	(execute_create), (execute_create_symbolic_link),
	(gnome_vfs_job_execute):
	* libgnomevfs-pthread/gnome-vfs-job.h:
	* libgnomevfs/gnome-vfs-async-ops.h:
	* libgnomevfs/gnome-vfs-backend.c:
	(gnome_vfs_async_create_symbolic_link):
	* libgnomevfs/gnome-vfs-file-info.h:
	Added asynchronous calls for the creation of symbolic links.
	
	* libgnomevfs/gnome-vfs-types.h:
	Rename GNOME_VFS_FILE_TYPE_BROKEN_SYMLINK to GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK, remove
	GNOME_VFS_FILE_FLAGS_SYMLINK. 
	
	* test/gnome-file-selection/gnome-file-selection.c:
	(populate_callback):
	* test/test-async-directory.c: (type_to_string), (print_list):
	* test/test-directory-visit.c: (type_to_string),
	(directory_visit_callback):
	* test/test-directory.c: (type_to_string), (print_list):
	* test/test-info.c: (type_to_string):
	* test/test-shell.c: (do_ls), (do_info):
	Update pieces of GnomeVFS to reflect the aforementioned change, and check behaviors
	to reduce breakage regarding the change from a symbolic link as a flag to a type.
	
	* modules/file-method.c: (get_mime_type), (get_stat_info):
	Add handling for GNOME_VFS_INFO_FOLLOW_LINKS.

	* test/test-symlinks.c: (deal_with_result), (create_link_callback),
	(make_link), (make_link_async), (check_broken_links), (main):
	Add tests for link following, broken symbolic link checking, and async. link
	creation checking to the symbolic link checking program.
	
2000-06-27  Michael Meeks  <michael@helixcode.com>
	
	* modules/efs-method.c (gnome_vfs_file_system_*): Create in-file
	file system code.
	Totaly re-write internals to use the new in-file filing system code.

	* test/test.cmds: Expand regression tests to do new things.

2000-07-03  Ian McKellar  <yakk@yakk.net.au>

	* libgnomevfs/gnome-vfs-xfer.c: (call_progress_often),
	(copy_file_data), (copy_file):
	Fixes to supply a default IO block size of 4096 for xfers when none
	is supplied by the module.

	* modules/extfs-method.c:
	Segfault fix.

	* modules/ftp-method.c: (ls_to_file_info),
	(internal_get_file_info):
	Fix get_file_info response to not contain a default IO block size.

	* test/test-xfer.c: (xfer_progress_callback):
	Update test-xfer to understand a couple more xfer phases.

2000-07-02  Ian McKellar  <yakk@yakk.net.au>

	* libgnomevfs/gnome-vfs-uri.h:
	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_path):
	Added gnome_vfs_uri_get_path function.

	(gnome_vfs_uri_get_basename):
	Added FIXME bug id 1472.

	* modules/ftp-method.h:
	* modules/ftp-method.c: (FTP_DEBUG), (read_response_line),
	(do_path_command), (do_path_command_completely),
	(do_path_transfer_command), (ftp_connection_create),
	(ftp_connection_destroy), (my_str_hash), (my_str_equal),
	(ftp_connection_uri_hash), (ftp_connection_uri_equal),
	(ftp_connection_aquire), (ftp_connection_release), (do_open),
	(do_read), (do_write), (internal_get_file_info),
	(do_get_file_info), (do_open_directory), (do_check_same_fs),
	(do_make_directory), (do_remove_directory), (do_move), (do_unlink):
	Rewrote the FTP method to use GnomeVFSURIs internally rather than
	FtpUris. Also defined the semantics and memory management of URIs
	more clearly (closing bug 1465). Some general sanitisation.

	* modules/http-method.c: (set_content_type):
	Ignore encoding.

	(do_close), (do_read), (do_open_directory), (do_read_directory),
	(do_get_file_info), (do_make_directory), (do_remove_directory),
	(do_unlink):
	Add convenience routines to make adding methods easier.
	Implement mkdir, rmdir, rm (much of bugs 1480, 1485).

	(process_propfind_propstat), (process_propfind_response), 
	(make_propfind_request), 
	Fixed URI handling a bit (decode returned filenames, strip trailing
	'/'s, etc). 

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

	Fix a bunch of leaks.
	
	* libgnomevfs-pthread/gnome-vfs-job.c:
	(execute_load_directory_not_sorted):
	Unref allocated GnomeVFSFileInfo when read fails properly.
	Delete the list of file info structs when we are done with them properly.

	* libgnomevfs/gnome-vfs-directory-filter.c:
	(gnome_vfs_directory_filter_destroy):
	Free filter object properly.
	
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.c:
	(gnome_vfs_mime_sniff_buffer_new_generic):
	Set up buffer ownership for generic sniffers properly so the buffer
	gets freed when it should.

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

	* data/mime/gnome-vfs-mime-magic:
	* data/mime/gnome-vfs.keys:
	Fix magic rules and mime type for image/x-xpixmap

2000-06-27  Michael Meeks  <michael@helixcode.com>

	* modules/efs-method.c: Kill redundant fields.
	(directory_handle_new): kill; redundant.
	(do_open_directory): implement handle creation.
	(directory_handle_destroy): remove redundant free.
	(GET_PATH_MAX): remove; unneeded & ugly.
	remove old redundant macros.
	remove redundant includes.

2000-06-27  Michael Meeks  <michael@helixcode.com>

	* mime-type-capplet/Makefile.am (INCLUDES): add libgnomevfs

2000-06-27  Michael Meeks  <michael@helixcode.com>

	* vfsConf.sh.in: touch to force script re-build.

	* test/gnome-file-selection/Makefile.am (INCLUDES): add
	-I$(top_srcdir)/libgnomevfs

	* libgnomevfs/Makefile.am (libgnomevfsplatofrmincludedir): make path
	slightly less gratuitous.

	* libgnomevfs/gnome-vfs-types.h: rename include to gnome-vfs-file-size.h

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

	* libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_parse):
	Fix patterns with mask to apply the mask on the patterns -- this makes
	it allows the masked out bits to be anything.

	* test/test-mime.c: (main):
	Remove a bogus setting of the suffix_only flag.
	
	* data/mime/gnome-vfs-mime-magic:
	Fixed the mime type for compress files.
	Remove ambiguous magic rule for application/x-font-tex-tfm that was
	misfiring on .Xauthority files.
	Change photoshop rules to use the rule with a mask.

	* data/mime/gnome-vfs.keys:
	Change application/x-patch to text/x-patch

Mon Jun 26 16:04:48 2000  George Lebl <jirka@5z.com>

	* configure.in:  Test the sizes of int, long, and long long to figure
	  out if we have a 64bit type.  Then set up some variables and build
	  libgnomevfs/gnome-vfs-file-size.h with this information and a bunch
	  of defines about the types used.  Also since this header will be
	  installed into <prefix>/lib/vfs/include/libgnomevfs, the
	  VFS*_INCLUDEDIR's now add this directory

	* libgnomevfs/Makefile.am: install gnome-vfs-file-size.h to 
	  $(libdir)/vfs/include/libgnomevfs

	* gnome-vfs-constants.h: Remove the GNOME_VFS_*_FORMAT_STR macros as
	  they are replaced by ones in gnome-vfs-file-size.h

	* gnome-vfs-types.h: include gnome-vfs-file-size.h and remove the
	  GnomeVFSFileSize and GnomeVFSFileOffset typedefs

	* gnome-vfs-file-size.h.in:  Skeleton file created by configure to
	  typedef GnomeVFSFileSize and GnomeVFSFileOffset,
	  GNOME_VFS_*_FORMAT_STR macros and GNOME_VFS_*_IS_<type> macros

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

	* doc/uri.txt: update.

	* test/Makefile.am: Add automatic regression testing.

	* test/test.input: Plaintext to test vs.

	* test/test.output: Standard good output

	* test/test.cmds: test-shell commands to execute.

	* test/test-shell.c (close_file, kill_file_cb, register_file),
	(close_files): mange named file handles.
	(get_handle, do_create, do_open, get_int, do_read, do_close): implement.
	(do_seek): implement. (main): allow comments in the input stream,
	s/stderr/vfserr/ (main): Setup vfserr to be stdout for regression tests.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): kill redundant
	check on ref_count.

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

	* data/mime/gnome-vfs-mime-magic:
	Added a sniff rule for svg files.
	Got rid of questionable sgml sniff rules.

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

	* modules/efs-method.c (do_make_directory): add error handling
	on efs close. (do_make_directory): commit.
	(do_close): re-write, adding commit.
	(do_unlink): add commit.

	* Makefile.am (SUBDIRS): move SUBDIRS_OAF up the build so
	it is made in time for the tests.

	* test/test-shell.c (list_commands): expand help.
	(syntax_error): kill. (main): update argument handling.

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

	* Makefile.am:
	Fix broken build - recent changes to Makefile.am put libraries
	in wrong order.

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

	* configure.in:
	Turn -Werror back on.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c: (join_str_list),
	(bool_to_str):
	Fix code that breaks if USING_OAF is undefined.

2000-06-25  Morten Welinder  <terra@diku.dk>

	* test/test-mime-handlers.c: conditionalise on USING_OAF and
 	HAVE_GCONF as needed.

	* libgnomevfs/gnome-vfs-mime-handlers.c: conditionalise on
 	USING_OAF and HAVE_GCONF as needed.
 	(gnome_vfs_mime_action_free): Add a few "break;"s to this piece of
 	untested code.

	* test/Makefile.am (noinst_PROGRAMS): Only make oaf-depedent tests
 	when we have oaf.

	* test/gnome-file-selection/Makefile.am (noinst_PROGRAMS): Ditto.

	* modules/default-modules.conf (ftp): Remove Yakk's newftp hack.

	* acconfig.h (HAVE_GCONF): Add.

	* libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Only initialise
 	oaf if we have it.

	* configure.in (set_more_warnings): Don't add -Wsign-promo and
 	-Wno-sign-compare unless the compiler understands them.  Don't add
 	-Werror at all.

	* test/test-async-cancel.c (my_yield): renamed from yield to avoid
 	name clash.

	* libgnomevfs/gnome-vfs-mime.c (add_to_key): Fix arguments to
 	isspace (etc.)
	(mime_fill_from_file): Ditto.

	* libgnomevfs/gnome-vfs-mime-magic.c (read_string_val): Ditto.
	(read_num_val): Ditto.
	(eat_white_space): Ditto.
	(gnome_vfs_mime_magic_parse): Ditto.

	* modules/translate-method.c (my_poptParseArgvString): Ditto.

	* modules/ftp-method.c (get_response): Ditto.
	(do_read_directory): Ditto.

	* modules/http-method.c (parse_status): Ditto.
	(header_value_to_number): Ditto.

	* libgnomevfs/fnmatch.c (FOLD): Ditto.

	* libgnomevfs/gnome-vfs-uri.c (get_method_string): Ditto.

	* libgnomevfs/gnome-vfs-private-utils.c (check_end): Ditto.

2000-06-26  Ian McKellar  <yakk@yakk.net.au>

	* modules/ftp-method.c: (ftp_response_to_vfs_result),
	(do_control_write), (do_basic_command), (do_transfer_command),
	(ftp_connection_create), (ftp_connection_release), (do_open),
	(internal_get_file_info), (do_read_directory):
	Added FIXMEs to bugzilla, removed some fixed FIXMEs and fixed some
	of the things mentioned in some of the FIXMEs.

2000-06-24  Morten Welinder  <terra@diku.dk>

	* libgnomevfs/gnome-vfs-parse-ls.c (vfs_parse_filedate): Actually
 	get the time, don't use an undefined one.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): Avoid double
 	free of method string.

	* modules/http-method.c (make_request): Feee uri_string in all
 	cases.

2000-06-24  Michael Meeks  <michael@helixcode.com>

	* modules/efs-method.c (do_make_directory): create if not found.

	* test/test-shell.c (do_mv, do_rmdir, do_mkdir, do_rm): implement.
	(main): use g_get_current_dir.

2000-06-24  Michael Meeks  <michael@helixcode.com>

	* modules/efs-method.c (open_efs_file): split.
	(do_open, do_create): update. (do_unlink): implement.
	(do_open_directory,do_get_file_info, do_make_directory): update.
	Elimiate all uses of MAKE_ABSOLUTE, it leaks badly.
	(directory_handle_new): clean for no MAKE_ABSOLUTE.
	(do_open_directory): add param checks on uri.

2000-06-24  Michael Meeks  <michael@helixcode.com>

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): re-order to make
	(parse_uri_substring): Add parent arg, since set_uri_element will
	trample on memory unless uri->parent != NULL before call. update.
	(gnome_vfs_uri_new): update.

	* modules/efs-method.c (MAKE_ABSOLUTE): add catch for non-existant
	parents. (do_tell): implement. (do_open_directory): open only for read
	and use (transfer_dir_to_info): split (do_get_file_info): implement.
	(do_get_file_info_from_handle): remove, should be a fallback in the vfs
	anyway.

	* configure.in: enable libefs by default.

	* doc/uri.txt: revert a daftness.

2000-06-24  Pavel  <pavel@eazel.com>

	* modules/file-method.c: (file_handle_new), (do_close),
	(directory_handle_new), (get_mime_type),
	(do_get_file_info),
	(do_get_file_info_from_handle), (do_make_directory),
	(do_remove_directory), (rename_helper), (do_move), (do_unlink),
	(do_set_file_info):
	Fixed 1312 - Need to plug in sniff buffer mime magic API into methods.
	Fixed 1183 - Made the get_mime_type call correctly handle symlinks.
	Fixed 1184 - removed an extra stat call.
	Bunch of renamings and cleanup.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_sniff_buffer_looks_like_text):
	Fixed a bug where only text files larger than 256 would get recognized properly.
	Get rid of gnome_vfs_mime_magic_matches_p.
	Get rid of gnome_vfs_mime_type_from_magic.
	
	* libgnomevfs/gnome-vfs-mime-magic.h:
	Get rid of obsolete comment.
	
	* libgnomevfs/gnome-vfs-mime.c:
	* libgnomevfs/gnome-vfs-mime.h:
	(gnome_vfs_mime_type_from_name_or_default),
	(gnome_vfs_mime_type_from_name),
	(gnome_vfs_get_mime_type_from_uri_internal),
	(gnome_vfs_get_mime_type), (file_seek_binder), (file_read_binder),
	(gnome_vfs_get_file_mime_type), (gnome_vfs_get_mime_type_from_uri),
	(gnome_vfs_get_mime_type_for_data):
	New call gnome_vfs_get_file_mime_type used to detect mime types by the
	file method.
	Renamed a number of routines.
	
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-xfer.c: (count_items_and_size),
	* modules/extfs-method.c: (read_directory_list):
	(directory_add_items_and_size):
	* modules/file-method.c: (get_stat_info), (read_directory):
	* modules/gconf-method.c: (set_mime_type_value), (file_info_value),
	(file_info_dir):
	Renamed some of GnomeVFSFileInfoOptions.
	Added new GNOME_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE option.
	Renamed GNOME_VFS_XFER_FOLLOWLINKS to GNOME_VFS_XFER_FOLLOW_LINKS.
	
	* modules/ftp-method.c: (get_response), (do_transfer_command),
	(ls_to_file_info), (internal_get_file_info), (do_get_file_info):
	Fixed some leaks, got rid of checks for NULL before g_free,
	switched to use new gnome_vfs_mime_type_from_name_or_default, 
	cleaned up.

	* modules/gconf-method.c: (set_mime_type_value):
	Fixed bad mime type.
	
	* test/gnome-file-selection/gicon.c: (gicon_get_icon_for_file_2):
	* test/gnome-file-selection/gnome-file-selection.c:
	(start_populating):
	* test/test-async-cancel.c: (test_load_directory_cancel):
	* test/test-async-directory.c: (main):
	* test/test-directory-visit.c: (main):
	* test/test-directory.c: (main):
	* test/test-info.c: (main):
	* test/test-mime.c: (main):
	Changed to match new renamings.

	* data/mime/gnome-vfs.keys:
	Added description for application/x-executable-file.

2000-06-24  Fatih Demir	<kabalak@gmx.net>
	
	* mime-type-capplet: Removed this install-data-local target and
		made another normal rule to install the .desktop file
		 also to the "Settings" menu-tree.
	
	  [ PS: Some `install' variants don't support the -D flag, so you'd
		avoid whereever it's possible. ]

2000-06-23  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_edit_user_file_full): Added code to handle NULL
	for value and write out an empty string. The old code wrote out
	"(NULL)" because of the help of glibc, but then I had added checks
	for NULL. Now we handle it intentionally.
	(gnome_vfs_mime_edit_user_file_args): Got rid of check for NULL
	that made it illegal. Fixed a bug that would trash memory where I
	was doing the wrong list.
	(gnome_vfs_mime_edit_user_file): Make NULL legal here too.

2000-06-23  Michael Meeks  <michael@helixcode.com>

	* test/test-shell.c (do_info): implement.
	(main): hook in.

2000-06-23  Michael Meeks  <michael@helixcode.com>

	* test/test-shell.c (get_fname): updates.

	* modules/efs-method.c (do_read_directory): implement.
	(directory_handle_new): setup new->efs.
	Begin to loathe efs.

	* doc/uri.txt: update.

	* test/Makefile.am (libraries): add LIBEFS_LIBS

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): fix from
	Rajit, this still looks rather limited to me.

	* configure.in: Add efs check.

	* modules/default-modules.conf (efs): add.

2000-06-22  Michael Meeks  <michael@helixcode.com>

	* configure.in: add --enable-libefs.

2000-06-22  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #581.  UI for specifying whether applicaition
	can open multiple files at once.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	* libgnomevfs/gnome-vfs-mime-handlers.h:
	(gnome_vfs_mime_define_application):
	Added const char * argument for mime type.  Removed placeholder
	mime type.
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(populate_default_applications_list),
	(populate_default_components_box),
	(initialize_edit_applications_dialog), (add_new_application),
	(show_new_application_window), (show_edit_application_window):
	Modified edit applicaiton list dialog to use a GtkList with
	embedded check buttons and labels.  This allows single list items
	to be selected so that individual items can be edited or deleted.
	
	* test/test-mime-handlers-set.c: (main):
	Fixed call to gnome_vfs_mime_define_application to use
	new argument.

2000-06-22  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.h:
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_edit_user_file_full),
	(gnome_vfs_mime_edit_user_file_args),
	(gnome_vfs_mime_edit_user_file_multiple),
	(gnome_vfs_mime_edit_user_file),
	(gnome_vfs_mime_set_default_action_type),
	(gnome_vfs_mime_set_default_application),
	(gnome_vfs_mime_set_default_component),
	(gnome_vfs_mime_set_short_list_applications),
	(gnome_vfs_mime_set_short_list_components),
	(gnome_vfs_mime_id_in_application_list),
	(gnome_vfs_mime_id_in_component_list),
	(gnome_vfs_mime_add_application_to_short_list),
	(gnome_vfs_mime_remove_application_from_list),
	(gnome_vfs_mime_remove_application_from_short_list),
	(gnome_vfs_mime_add_component_to_short_list),
	(gnome_vfs_mime_remove_component_from_list),
	(gnome_vfs_mime_remove_component_from_short_list),
	(gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension),
	(gnome_vfs_mime_extend_all_applications),
	(gnome_vfs_mime_remove_from_all_applications),
	(gnome_vfs_mime_define_application):
	Added some rudimentary error handling.
	
	* test/.cvsignore:
	Some new files are generated but not yet ignored.

2000-06-22  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(show_new_application_window), (show_edit_application_window):
	Clean up work on layout of capplet dialogs.
	
2000-06-22  John Sullivan  <sullivan@eazel.com>

	Moved SUID, SGID, and Sticky bits from flags
	field to permissions field because (1) it's
	conventional to treat them as permission bits,
	especially for display purposes, and (2) there was
	no way to set them before.
	
	* libgnomevfs/gnome-vfs-types.h: Added new
	GNOME_VFS_PERM_xxx constants for these three bits;
	removed old GNOME_VFS_FILE_FLAGS_xxx constants.
	* libgnomevfs/gnome-vfs-file-info.h:
	updated GNOME_VFS_FILE_INFO_xxx macros for these
	three bits to look in permissions field instead of
	flags field.
	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_stat_to_file_info): Put these bits in
	permissions field instead of flags field when
	converting from stat result.
	
	Added a few more MIME type descriptions.

	* data/mime/gnome-vfs.keys: Added descriptions
	for x-special/device-char and friends.

2000-06-22   Rajit Singh <endah@dircon.co.uk>

	* modules/efs-method.[ch]: Create.

2000-06-22  Michael Meeks  <michael@helixcode.com>

	* test/test-shell.c (get_fname): use regexps.
	(ms_ole_dump, do_dump): implement.

2000-06-22  Michael Meeks  <michael@helixcode.com>

	* test/Makefile.am: Add test-shell setup

	* test/test-shell.c: Small lightweight gnome-vfs shell for testing.

2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #1434, Fix alignment of widgets in main capplet view.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(init_mime_capplet):
	Replaced use of multiple pack boxes with a table.  Things
	look much better now.
	
2000-06-21  Seth Nickell  <seth@eazel.com>

	Added more complete symlink support to gnome-vfs.

	* libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_create_symbolic_link):
	* libgnomevfs/gnome-vfs-ops.h:
	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_create_symbolic_link_cancellable),
	* libgnomevfs/gnome-vfs-private-ops.h:
	* libgnomevfs/gnome-vfs-private-types.h:
	Added the generic gnome-vfs functions and declarations for
	gnome_vfs_create_symbolic_link and children that end up calling 
	method specific functions.
	
	(gnome_vfs_remove_directory_from_uri_cancellable),
	(gnome_vfs_unlink_from_uri_cancellable),
	(check_same_fs_in_uri):
	Cleaned up formatting in some of the functions.

	* modules/file-method.c: (do_create_symbolic_link):
	Implemented symlinking for the file-method, with a place-holder
	for possible (eventual, post 1.0?) addition of URI links.
	
	* modules/bzip2-method.c:
	* modules/extfs-method.c:
	* modules/ftp-method.c:
	* modules/gzip-method.c:
	* modules/pipe-method.c:
	* modules/translate-method.c:
	Added NULL placeholders for other methods that do not implement
	create_symbolic_link.
	
	* test/Makefile.am:
	* test/test-symlinks.c: (make_link), (main):
	Wrote test code for the new gnome-vfs symlink support. Verifies
	by writing data to the new links and checking the target uri.
	
	* libgnomevfs/gnome-vfs-uri.h:
	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_scheme):
	Fixed bug 821 by providing a method for querying a URI's 
	scheme. (as featured in the addition of symlink support)
	
2000-06-21  Seth Nickell  <seth@eazel.com>

	* modules/http-method.c: (http_file_handle_new),
	(http_file_handle_destroy), (http_handle_close), (do_close):
	Pavel here. Fixed a number of memory thrashers in http_handle_close.
	Fixed some white space.

2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Final stage in renaming.
	
	* modules/ftp-method.c:
	* modules/ftp-method.h:
	Changed internal references form new-ftp-method to new-ftp-method.
	
2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Added renamed new-ftp module files as ftp modules.
	
	* modules/ftp-method.c: (FTP_DEBUG), (ftp_response_to_vfs_result),
	* modules/ftp-method.h:
	(read_response_line), (get_response), (do_control_write),
	(do_basic_command), (do_transfer_command), (end_transfer),
	(ftp_connection_create), (ftp_connection_uri_hash),
	(ftp_connection_uri_equal), (ftp_connection_uri_to_string),
	(ftp_uri_to_string), (ftp_connection_aquire),
	(ftp_connection_release), (ftp_uri_create), (do_is_local),
	(do_open), (do_close), (do_read), (do_write), (ls_to_file_info),
	(internal_get_file_info), (do_get_file_info),
	(do_get_file_info_from_handle), (do_open_directory),
	(do_close_directory), (do_read_directory), (do_check_same_fs),
	(do_make_directory), (do_remove_directory), (do_move), (do_unlink),
	(vfs_module_init), (vfs_module_shutdown):
	

2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Part of renaming and replacing of old
	ftp module with new ftp module.
	
	* modules/Makefile.am:
	* modules/ftp-method.c:
	* modules/ftp-method.h:
	Removed references to new-ftp.
	
2000-06-21  Rebecka Schulman  <rebecka@eazel.com>

	* test/test-async-directory.c: (type_to_string):
	Fixed constant errors that were uncaught in previous
	name changes

2000-06-21  Darin Adler  <darin@eazel.com>

	Improved the API of the utils (bug 1210).

	* libgnomevfs/gnome-vfs-utils.h:
	* libgnomevfs/gnome-vfs-utils.c:
	(gnome_vfs_format_file_size_for_display): Changed name from
	gnome_vfs_file_size_as_string.
	(gnome_vfs_escape_string_internal), (gnome_vfs_escape_string),
	(gnome_vfs_escape_path_string): Replaced the old parameterized
	escape_string function with 2 parameter-free versions for paths
	and for other strings respectively.
	(gnome_vfs_unescape_string_for_display): Added string to the name
	to make it more like the other names.
	
	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_file_name),
	(gnome_vfs_uri_extract_short_name):
	* modules/http-method.c: (create_handle), (do_read):
	* test/test-async-cancel.c: (test_load_directory_cancel):
	* test/test-escape.c: (test_escape), (test_escape_path),
	(test_unescape_display), (main):
	Updated callers to use calls by their new names.

2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #583
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(initialize_edit_applications_dialog),
	(show_new_application_window), (show_edit_application_window):
	New dialog and items to indicate and allow user to 
	set application behavior concerning multiple launch and
	URI handling.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(init_mime_capplet):
	Removed old UI code and migrated to dialog.
	
2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Follow up to bug #1162.

	GnomeVFSFilePermissions had some items to be renamed as well.
	
	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_get_special_mime_type), (gnome_vfs_stat_to_file_info):
	* libgnomevfs/gnome-vfs-types.h:
	* modules/file-method.c: (set_mime_type), (get_stat_info):
	* modules/ftp-method.c: (_ftpfs_read_directory), (fill_file_info):
	* test/test-directory-visit.c: (type_to_string):
	* test/test-directory.c: (type_to_string):
	* test/test-info.c: (type_to_string):

2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #1162.

	Changed naming of gnome-vfs errors to seperate words with
	underscore and replace abbreviations with full words.
	
	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	(corba_gnome_vfs_async_open),
	(corba_gnome_vfs_async_open_as_channel),
	(corba_gnome_vfs_async_create),
	(corba_gnome_vfs_async_create_as_channel),
	(corba_gnome_vfs_async_close), (corba_gnome_vfs_async_read),
	(corba_gnome_vfs_async_write),
	(corba_gnome_vfs_async_get_file_info),
	(corba_gnome_vfs_async_load_directory),
	(corba_gnome_vfs_async_xfer), (corba_gnome_vfs_async_cancel):
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_cancel),
	(pthread_gnome_vfs_async_open_uri), (pthread_gnome_vfs_async_open),
	(pthread_gnome_vfs_async_open_uri_as_channel),
	(pthread_gnome_vfs_async_open_as_channel),
	(pthread_gnome_vfs_async_create_uri),
	(pthread_gnome_vfs_async_create),
	(pthread_gnome_vfs_async_create_as_channel),
	(pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read),
	(pthread_gnome_vfs_async_write),
	(pthread_gnome_vfs_async_get_file_info),
	(pthread_gnome_vfs_async_load_directory),
	(pthread_gnome_vfs_async_load_directory_uri),
	(pthread_gnome_vfs_async_xfer):
	* libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_cancel):
	* libgnomevfs/gnome-vfs-directory.c: (open),
	(gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri),
	(directory_visit_internal), (gnome_vfs_directory_visit_uri),
	(gnome_vfs_directory_visit),
	(gnome_vfs_directory_visit_files_at_uri):
	* libgnomevfs/gnome-vfs-handle.c:
	* libgnomevfs/gnome-vfs-inet-connection.c:
	(gnome_vfs_inet_connection_create):
	* libgnomevfs/gnome-vfs-iobuf.c: (gnome_vfs_iobuf_read),
	(gnome_vfs_iobuf_peekc), (gnome_vfs_iobuf_write),
	(gnome_vfs_iobuf_flush):
	* libgnomevfs/gnome-vfs-method.h:
	* libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_open),
	(gnome_vfs_create), (gnome_vfs_tell), (gnome_vfs_get_file_info),
	(gnome_vfs_truncate), (gnome_vfs_make_directory),
	(gnome_vfs_remove_directory), (gnome_vfs_unlink), (gnome_vfs_move),
	(gnome_vfs_check_same_fs), (gnome_vfs_set_file_info):
	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_open_uri_cancellable),
	(gnome_vfs_create_uri_cancellable), (gnome_vfs_close_cancellable),
	(gnome_vfs_read_cancellable), (gnome_vfs_write_cancellable),
	(gnome_vfs_seek_cancellable),
	(gnome_vfs_get_file_info_uri_cancellable),
	(gnome_vfs_get_file_info_from_handle_cancellable),
	(gnome_vfs_truncate_uri_cancellable),
	(gnome_vfs_truncate_handle_cancellable),
	(gnome_vfs_make_directory_for_uri_cancellable),
	(gnome_vfs_find_directory_cancellable),
	(gnome_vfs_remove_directory_from_uri_cancellable),
	(gnome_vfs_unlink_from_uri_cancellable),
	(gnome_vfs_move_uri_cancellable),
	(gnome_vfs_check_same_fs_uris_cancellable),
	(gnome_vfs_set_file_info_cancellable):
	* libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_create_temp):
	* libgnomevfs/gnome-vfs-result.c: (gnome_vfs_result_from_errno),
	(gnome_vfs_result_from_h_errno):
	* libgnomevfs/gnome-vfs-seekable.c: (read_file), (write_file),
	(init_seek), (do_open), (do_create), (do_truncate_handle):
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-xfer.c: (handle_overwrite),
	(create_directory), (xfer_create_target), (copy_items),
	(move_items), (gnome_vfs_new_directory_with_unique_name),
	(gnome_vfs_xfer_uri), (gnome_vfs_xfer_private):
	* modules/bzip2-method.c: (result_from_bz_result), (do_open),
	(do_create):
	* modules/extfs-method.c: (do_open), (do_create), (do_write),
	(do_truncate_handle), (do_truncate), (do_open_directory),
	(do_get_file_info), (do_get_file_info_from_handle),
	(do_make_directory), (do_find_directory), (do_remove_directory),
	(do_move), (do_unlink), (do_check_same_fs):
	* modules/file-method.c: (do_open), (do_create), (do_seek),
	(do_tell), (do_truncate_handle), (do_truncate),
	(do_open_directory), (do_get_file_info),
	(do_get_file_info_from_handle), (do_make_directory),
	(do_remove_directory), (do_find_directory), (rename_helper),
	(do_move), (do_unlink), (do_set_file_info):
	* modules/ftp-method.c: (ftpfs_open_socket),
	(ftpfs_connection_connect), (login_server), (linear_start),
	(send_ftp_command), (retrieve_file), (get_file_entry),
	(ftpfs_open), (ftpfs_create), (ftpfs_open_directory),
	(ftpfs_get_file_info):
	* modules/gconf-method.c: (do_open), (do_create), (do_close),
	(do_read), (do_write), (do_get_file_info_from_handle):
	* modules/gzip-method.c: (result_from_z_result), (skip_string),
	(skip), (read_guint32), (read_gzip_header), (do_open), (do_create):
	* modules/http-method.c: (http_status_to_vfs_result),
	(create_handle), (do_open), (make_propfind_request):
	* modules/newftp-method.c: (ftp_response_to_vfs_result),
	(do_transfer_command), (do_open), (do_read), (do_write),
	(internal_get_file_info), (do_move):
	* modules/pipe-method.c: (do_open):
	* test/test-async-cancel.c: (file_open_fail_callback):

2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(initialize_edit_applications_dialog),
	(nautilus_mime_type_capplet_show_new_extension_window),
	(add_new_application), (show_new_application_window):
	More work on adding applications and extension.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(nautilus_mime_type_capplet_add_extension),
	(remove_extension_clicked), (none_button_toggled),
	(application_button_toggled), (component_button_toggled),
	(init_mime_capplet),
	(nautilus_mime_type_capplet_get_selected_item_mime_type):
	Changed use of GtkFixed to use layout.  Layout is now messy
	again, but I should be able to get it looking right.	

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

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_magic_matches_p):
	Fix a memory thrasher in my new code.

	* data/mime/gnome-vfs-mime-magic:
	* data/mime/gnome-vfs.keys:
	Add proper key entries to Photoshop file type.

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

	* libgnomevfs/gnome-vfs-mime-magic.h:
	* libgnomevfs/gnome-vfs-mime-magic.c: (is_octal_digit),
	(is_hex_digit), (read_octal_byte), (read_hex_byte),
	(read_string_val), (read_hex_pattern), (read_num_val),
	(eat_white_space), (match_pattern), (gnome_vfs_mime_magic_parse),
	(endian_swap), (try_one_pattern_on_buffer),
	(gnome_vfs_mime_magic_matches_p),
	(gnome_vfs_mime_try_one_magic_pattern),
	(gnome_vfs_mime_get_magic_table),
	(gnome_vfs_mime_test_get_magic_table), (print_escaped_string),
	(print_hex_pattern), (gnome_vfs_mime_dump_magic_table):
	Rewrote most of the mime rule parser, cleaning it up and fixing
	a ton of problems.
	Added support for patterns with masks.
	Added support for offset ranges.
	Added support for comments in the magic rule file.
	Got rid of unused entries in the GnomeMagicEntry struct.
	Fixed mask support in gnome_vfs_mime_magic_matches_p.
	Made gnome_vfs_mime_magic_matches_p and 
	gnome_vfs_mime_try_one_magic_pattern share code.
	Added a way to dump the MIME magic table and to load an
	arbitrary table for debugging purposes.
	
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_sniff_buffer_looks_like_text):
	Added support for UTF-8 text.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_sniff_buffer_looks_like_mp3):
	Added an algorithmic sniffer for audio/x-mp3.
	
	* test/test-mime.c: (main):
	Added a way to load and dump a specific file with magic rules.

	* data/mime/gnome-vfs-mime-magic:
	Added comments.
	Added sniff rule for Photoshop documents using a pattern with a mask.
	Changed html rules to work on an offset range.
	Added sniff rules for C and C++ files.
	Reordered rules placing ones that require a seek deep into the
	examined file last.

2000-06-20  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_action_type): Another place we need to
	handle NULL.

2000-06-20  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(mime_list_selected_row_callback), (none_button_toggled),
	(application_button_toggled), (component_button_toggled),
	(init_mime_capplet), (nautilus_mime_type_capplet_update_info):
	Added frame and set of radio buttons to indicate and allow the 
	user to change the default action that will occur when a file
	is clicked/double-clicked in Nautilus.  We have three choices that
	map to the three types of actions we currently support.

2000-06-20  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #1221
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(application_menu_activated), (populate_application_menu),
	(component_menu_activated), (populate_component_menu):
	Add handling of the case where a default application or
	component is not in the default applicaiton or component list.
	This involved some UI work and adding the default app to 
	the default list.  Hopefully the gnome-vfs-mime-handler API
	will not allow this to happen, but we handle it just in case.

	Cleaned up the way the menu items for the default application
	and component are set and added a signal handler to set
	the user's choice of application or component to be the default.

2000-06-20  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #1055
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	* libgnomevfs/gnome-vfs-mime-handlers.h:
	(gnome_vfs_mime_add_extension):
	Renamed function to be more in accordance with other function
	in file. 

	(gnome_vfs_mime_remove_extension):
	New function to remove mapped extension from mime type.
	
	* libgnomevfs/gnome-vfs-mime-info.c: (load_mime_list_info_from),
	(gnome_vfs_mime_get_extensions), (mime_list_sort), (get_key_name),
	(gnome_vfs_mime_commit_registered_types),
	(write_mime_data_foreach), (write_registered_mime_data):
	A couple of things done here.  One was work on the tokenizer
	so that it handled a variety of cases when reading in
	key data form .mime files.  Another was work on saving and
	deleting mapped extensions from the .mime file.
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(nautilus_mime_type_capplet_show_new_extension_window):
	Work on saving and deleting mapped extensions from the .mime file.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(populate_extension_list),
	(nautilus_mime_type_capplet_add_extension),
	(remove_extension_clicked):
	Work on saving and deleting mapped extensions from the .mime file.
	
2000-06-20  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys: Finished renaming of some types
	from application/x-foo to text/x-foo.
	* data/mime/gnome-vfs.mime: Removed mysterious colons at the
	ends of some mime type names that was causing them not to match
	the keys.

2000-06-19  Ramiro Estrugo  <ramiro@eazel.com>

	* data/mime/gnome-vfs.keys:
	Make mozilla the default 
	
2000-06-19  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c: (mime_type_get_supertype):
	Made another function tolerant of NULL since we use NULL to mean
	unknown MIME type all the time.

2000-06-19  Darin Adler  <darin@eazel.com>

	* po/POTFILES.in: Removed mime-data.c to fix build.

2000-06-19  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/mime-data.c:
	* mime-type-capplet/mime-data.h:
	Removed obsolete files.
	
	* mime-type-capplet/Makefile.am:
	Removed above files from Makefile.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	* libgnomevfs/gnome-vfs-mime-handlers.h:
	(gnome_vfs_mime_add_extension_to_mime_type):
	New function.  Add extension mapping to named mime type
	and save to .mime file.
	
	* libgnomevfs/gnome-vfs-mime-info.c: 
	* libgnomevfs/gnome-vfs-mime-info.h:
	(load_mime_list_info_from),
	(load_mime_type_info), (gnome_vfs_mime_get_extensions),
	
	(gnome_vfs_mime_extension_list_free):
	New function to deep free the list returned
	by gnome_vfs_mime_get_extensions()
	
	(gnome_vfs_mime_registered_mime_type_list_free),
	New function to deep free the list returned
	by gnome_vfs_mime_get_extensions()

	(gnome_vfs_mime_commit_registered_types):
	Public function to commit internal hash table
	of mime data to disk.
	
	(gnome_vfs_mime_set_registered_type_key):
	This functions sets the key data for the registered mime
 	type's hash table.
 
	(write_mime_data_foreach), (write_mime_data):
	New functions to write out mime data from hash table.
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(nautilus_mime_type_capplet_show_new_mime_window),
	(nautilus_mime_type_capplet_show_new_extension_window):
	Clean up work on dialogs.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c: 
	(ok_callback),
	(populate_extension_list),
	(nautilus_mime_type_capplet_add_extension),
	(remove_extension_clicked), (init_mime_capplet),
	(delete_mime_clicked), (create_mime_list_and_scroller),
	(get_selected_item_mime_type):
	Clean up work on main capplet view.

2000-06-17  Gene Z. Ragan  <gzr@eazel.com>

	File Types and Programs capplet work in progress.
	
	* mime-type-capplet/mime-info.c:
	* mime-type-capplet/mime-info.h:
	Removed obsolete files from capplet.

	* mime-type-capplet/Makefile.am:
	Remove above files form makefile.
	
	* libgnomevfs/gnome-vfs-mime-info.c: 
	* libgnomevfs/gnome-vfs-mime-info.h:
	(list_context_new), (context_destroy_and_unlink), 
	(load_mime_type_info_from),
	(load_mime_list_info_from), (mime_list_load),
	(load_mime_type_info), (gnome_vfs_mime_init),
	(gnome_vfs_mime_info_clear), (gnome_vfs_mime_info_shutdown),
	(get_key_name), (gnome_vfs_get_registered_mime_types):
	Various fixes and modifications.  Fixed a bug in the
	mime key database parser that caused comments to be 
	read in incorrectly.
	
	* mime-type-capplet/mime-data.c: 
	(add_to_key), (add_mime_vals_to_clist), 
	(add_new_mime_type), (add_new_mime_type),
	(write_mime_foreach):
	Capplet work in progress.
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(nautilus_mime_type_capplet_show_new_mime_window):
	Capplet work in progress.

	* mime-type-capplet/nautilus-mime-type-capplet.c: 
	* mime-type-capplet/nautilus-mime-type-capplet.h:
	(main), (g_list_free_deep), (try_callback), (revert_callback),
	(ok_callback), (cancel_callback), (populate_extension_list),
	(mime_list_selected_row_callback), (init_mime_capplet),
	(nautilus_mime_type_capplet_update_info), (delete_mime_clicked),
	(edit_applications_clicked), (edit_components_clicked),
	(insert_mime_vals_into_clist), (create_mime_list_and_scroller):
	Capplet work in progress.

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

	* data/mime/gnome-vfs.mime:
	Fix two incorrect mime types.

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

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_sniff_buffer_looks_like_text),
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.h:
	Fix bug 1168 - add UTF-8 support to the text mime sniffer.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.h:
	(gnome_vfs_get_mime_type_for_buffer),
	(gnome_vfs_sniff_buffer_looks_like_mp3):
	Fix bug 960 - add algorithmic sniffer for detecting audi/x-mp3 files.
 
	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_open_uri_cancellable):
	Fix bug 1189 - removed retry code in open and made it respect the
	RANDOM flag as set by the caller.

2000-06-16  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_application): Added a FIXME to note
	that we need to enhance the "default-application" feature.
	(gnome_vfs_mime_get_default_component): Use the new exported
	liboaf.h OAF_ServerInfo_duplicate instead of our own, local,
	flawed function.
	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_get_all_applications),
	Prune the list to only ones with applications that "exist"
	by calling the new prune_ids_for_nonexistent_applications
	function.
	(strdup_to), (is_executable_file), (executable_in_path),
	(get_executable_name_from_command_string),
	(application_known_to_be_nonexistent),
	(prune_ids_for_nonexistent_applications):
	Write the functions needed for a clean implementation of
	prune_ids_for_nonexistent_applications.
	(OAF_ServerInfoList_to_ServerInfo_g_list): Use the new exported
	liboaf.h OAF_ServerInfo_duplicate instead of our own, local,
	flawed function.

2000-06-16  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys,
	* data/mime/gnome-vfs.mime:
	Changed illegal audio/midi to legal audio/x-midi,
	and fixed up some font keys that didn't get
	updated in synch earlier.

Fri Jun 16 12:11:32 2000  George Lebl <jirka@5z.com>

	* libgnomevfs/gnome-vfs-constants.h:  When the long is actually
	  64bit, use "ld" and "lu" for the format.

	* libgnomevfs/gnome-vfs-mime-sniff-buffer.c:  Include <string.h>
	  to fix warnings

	* modules/gconf-method.c:  Include <string.h> and <alloca.h> to
	  fix warnings

	* test/test-async-directory.c (print_list):
	  test/test-async.c (read_callback):  Use the
	  GNOME_VFS_SIZE_FORMAT_STR format constant to print out sizes

2000-06-16  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_get_value),
	(gnome_vfs_mime_get_keys): Change to support MIME types of NULL
	which will make code simpler since NULL is commonly used to mean
	"unknown MIME type".

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

	* data/mime/gnome-vfs-mime-magic:
	Add mime magic for shell scripts.

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

	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type):
	* modules/gconf-method.c: (set_mime_type_dir):
	* modules/http-method.c: (process_propfind_propstat):
	Convert illegal "special/..." mime types to legal ones.

	* data/mime/gnome-vfs-mime-magic:
	* data/mime/gnome-vfs.keys:
	* data/mime/gnome-vfs.mime:
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_type_from_magic):
	Fix all illegal mime types. Reformat the magic table a bit and reorder it
	to put ambiguous rules last.

	* modules/http-method.c: (process_propfind_propstat):
	Change a TODO: to a FIXME:
	Get rid of an extra if before a g_free.

2000-06-15  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_action_type): Fix bug where we would
	not fall back to the supertype action if the action type string
	was NULL.
	(gnome_vfs_mime_get_default_component): Fix bug where we would
	free an uninitialized variable.

2000-06-15  Gene Z. Ragan  <gzr@eazel.com>

	Work in progress on the FIle Types and Programs Capplet
	* mime-type-capplet/Makefile.am:
	Removed obsolete files form build.
	
	* mime-type-capplet/edit-window.c:
	* mime-type-capplet/edit-window.h:
	Obsolete.  Removed.
	
	* mime-type-capplet/new-mime-window.c:
	* mime-type-capplet/new-mime-window.h:
	Obsolete.  Removed.

	* mime-type-capplet/mime-data.c: (add_mime_vals_to_clist),
	(selected_row_callback):

	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.h:
	(edit_applications_dialog_destroy), (application_is_in_list),
	(application_button_toggled_callback),
	(populate_default_applications_box),
	(populate_default_components_box),
	(initialize_edit_applications_dialog),
	(show_edit_applications_dialog), (show_edit_components_dialog),
	(nautilus_mime_type_capplet_show_new_mime_window),
	(nautilus_mime_type_capplet_show_new_extension_window):

	* mime-type-capplet/nautilus-mime-type-capplet.c:
	* mime-type-capplet/nautilus-mime-type-capplet.h:
	(revert_callback), (populate_extension_list),
	(nautilus_mime_type_capplet_add_extension),
	(add_extension_clicked), (remove_extension),
	(extension_list_selected), (extension_list_deselected),
	(init_mime_capplet), (nautilus_mime_type_capplet_update_info),
	(add_mime_clicked), (edit_components_clicked),
	(nautilus_mime_type_capplet_update_application_info),
	(nautilus_mime_type_capplet_update_component_info):

2000-06-15  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-gen-mimedb.c: (main):
	* libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_init):
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_get_magic_table):
	* libgnomevfs/gnome-vfs-mime.c: (mime_init):
	* mime-type-capplet/mime-data.c: (init_mime_type):
	Added FIXMEs to places that get MIME info from the gnome-libs
	prefix since we install this stuff in the gnome-vfs prefix.
	We already had a bug report about this.

2000-06-15  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.mime,
	* data/mime/gnome-vfs.keys: Added description for .lha,
	and extension + description for .lhz.

2000-06-14  Gene Z. Ragan  <gzr@eazel.com>
	
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.h:
	New files. Trying to clean up current capplet source and
	organize it in a sensible way.
	
	(edit_application_dialog_destroy), (edit_component_dialog_destroy),
	(populate_default_applications_list),
	(populate_preferred_applications_list), (component_is_in_list),
	(component_button_toggled_callback),
	(populate_default_components_box),
	(populate_preferred_components_list),
	(initialize_edit_applications_dialog),
	(initialize_edit_components_dialog),
	(show_edit_applications_dialog), (show_edit_components_dialog),
	Brand new functions.

	* mime-type-capplet/Makefile.am:
	Added new source file listed above.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(init_mime_capplet), (populate_application_menu),
	(populate_component_menu), (edit_applications_clicked),
	(edit_components_clicked):
	Work on setting up info view.

2000-06-14  Maciej Stachowiak  <mjs@eazel.com>

	Part of task 1057: Terminal-based programs should open into a new
	terminal window

	* data/mime/application-registry-hack.keys: Set requires_terminal
	setting for everything.
	* libgnomevfs/gnome-vfs-mime-handlers.h,
	libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_application_new_from_id): Add requires_terminal
	field to the GnomeVFSMimeApplication structure and initialize it
	appropriately. 
	* test/test-mime-handlers.c (print_application): Print the
	require_terminal setting.

2000-06-14  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys:
	Maciej meant to change application/x-sh to
	text/x-sh, but didn't quite finish the job;
	also removed application/x-sh and application/x-tcl.

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

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_application_list_free),
	(gnome_vfs_mime_component_list_free):
	Fix two leaks John and I found.

2000-06-13  Gene Z. Ragan  <gzr@eazel.com>

	More work in progress and added a new file to the capplet build.
	
	* mime-type-capplet/nautilus-mime-type-capplet.c: (main),
	(init_mime_capplet), (edit_applications_clicked),
	(edit_components_clicked), (edit_application_dialog_destroy),
	(initialize_edit_application_dialog),
	(show_edit_applications_dialog), (show_edit_components_dialog):

	* mime-type-capplet/nautilus-mime-type-capplet.h:
	New file
	
2000-06-13  Gene Z. Ragan  <gzr@eazel.com>

	Work in progress on the File Types and Program capplet
	
	* mime-type-capplet/edit-window.c: (initialize_main_win):
	* mime-type-capplet/mime-data.c: (get_priority), (add_to_key),
	(mime_fill_from_file), (add_mime_vals_to_clist),
	(selected_row_callback), (create_mime_clist), (add_new_mime_type):

	* mime-type-capplet/mime-data.h:
	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(init_mime_capplet), (nautilus_mime_type_capplet_update_info),
	(populate_application_menu), (populate_component_menu),
	(free_mime_info), (delete_mime_clicked), (add_mime_clicked),
	(edit_applications_clicked), (edit_components_clicked):

2000-06-13  Maciej Stachowiak  <mjs@eazel.com>

	* data/mime/gnome-vfs.keys, data/mime/gnome-vfs.mime: Update file
	manager view IIDs, and use text/x-foo as the preferred mime type
	for more things that used to be application/x-foo.

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_default_component): Fix type inserted when
	adding sort conditions.

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_default_component):FIx part of FIXME 1145;
	prefer a component of the short list as a fallback default if no
	explicit default.
	(gnome_vfs_mime_get_short_list_components): Fix a bug in the query.

2000-06-13  Maciej Stachowiak  <mjs@eazel.com>

	Bugzilla task #1074
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_action_type,
	gnome_vfs_mime_get_default_application,
	gnome_vfs_mime_get_default_component,
	gnome_vfs_mime_get_short_list_applications,
	gnome_vfs_mime_get_short_list_components,
	gnome_vfs_mime_get_all_applications): Added support for trying the
	supertype.
	(gnome_vfs_mime_str_list_merge,
	gnome_vfs_mime_str_list_apply_delta,
	gnome_vfs_mime_do_short_list_processing): New or modified helper
	functions.
	(process_app_list): Changed to take a GList of IDs instead of a
	comma-separated string.
	* data/mime/gnome-vfs.keys: Added text/* entry.
	
2000-06-13  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_all_components): Fix broken query.

2000-06-13  Maciej Stachowiak  <mjs@eazel.com>

	* data/mime/gnome-vfs.keys, data/mime/gnome-vfs.mime: Made
	canonical mime types for shell and c-shell scripts text/x-sh and
	text/x-csh, not application/x-sh and application/x-csh.

2000-06-12  Maciej Stachowiak  <mjs@eazel.com

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_all_components): Fix syntax error in query.

2000-06-12  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_set_default_application),
	(gnome_vfs_mime_set_default_component):
	Set the default action type if it had no
	previous value.

2000-06-12  Ramiro Estrugo  <ramiro@eazel.com>

	* libgnomevfs/Makefile.am:
	Make the private header really private by not installing it.
	
2000-06-12  Eskil Heyn Olsen  <eskil@eazel.com>

	* gnome-vfs.spec.in: Changed the Requires to what the configure.in
	is actually checking for.
	* libgnomevfs/Makefile.am: Added
	gnome-vfs-mime-sniff-buffer-private.h to HEADERS.
	* mime-type-capplet/Makefile.am: added a -D to install of the
	.desktop file. Ensures that the dir is there during rpm -ta.

	Can now build a gnome-vfs rpm.

2000-06-09  John Sullivan  <sullivan@eazel.com>

	Fixed bug 1302: can't undo mmap with g_free. Nautilus was
	sometimes crashing on exit due to this bug.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	Added global variables to keep track of mmap size and
	whether mmap was used.
	(gnome_vfs_mime_get_magic_table):
	#ifdef declarations of variables only used in _POSIX_MAPPED_FILES
	case; use new globals to keep track of mmap size and
	whether mmap was used; check for MAP_FAILED case.
	(gnome_vfs_mime_clear_magic_table): Call munmap and not g_free
	if mmap was used.

2000-06-10  Sung-Hyun Nam  <namsh@lgic.co.kr>

	* configure.in (ALL_LINGUAS): added ko

2000-06-08  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_default_component,
	gnome_vfs_mime_get_short_list_components,
	gnome_vfs_mime_get_all_components): Fix the queries

2000-06-08  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_basename),
	(gnome_vfs_uri_extract_short_path_name):
	* libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_string),
	(gnome_vfs_unescape_string), (gnome_vfs_unescape_for_display):
	Added code to handle NULL for the text of a URI. The old code
	would overreact and segfault.

2000-06-08  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_short_list_components,
	gnome_vfs_mime_get_all_components): Expand the queries to be
	closer to giving a superset of what Nautilus does.

2000-06-08  Darin Adler  <darin@eazel.com>

	More leak fixes.
	
	* libgnomevfs/Makefile.am:
	* libgnomevfs/gnome-vfs-mime-private.h:
	Added a private header for some new calls. Made it really
	private, meaning it's not installed into the prefix include
	directory, unlike the old "private" files which are installed.
	
	* libgnomevfs/gnome-vfs-mime-info.c:
	(gnome_vfs_mime_info_shutdown): Added this new function which
	calls gnome_vfs_mime_info_clear and then does the rest of the
	cleanup which can only be done at shutdown time.
	
	* libgnomevfs/gnome-vfs-mime-info.h: gnome_vfs_mime_info_clear
	is now a private call.
	
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_get_magic_table): Put the mmap call inside an
	ifdef _POSIX_MAPPED_FILES for better portability.
	(gnome_vfs_mime_clear_magic_table): Added a FIXME because we
	can't undo an mmap call with a g_free call!
	
	* libgnomevfs/gnome-vfs-mime.c:
	(remove_one_mime_hash_entry): Fixed leak by freeing the items
	in the list, not just the list.
	(gnome_vfs_mime_shutdown): Fixed leak by destroying the hash
	tables and the directory names.
	(gnome_vfs_mime_type_or_default): Simplified logic for freeing
	the upext.
	
	* libgnomevfs/gnome-vfs-mime-handlers.h: Some formatting and
	cleanup.

2000-06-08  Maciej Stachowiak  <mjs@eazel.com

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_application_free): Free the new "id" field.
	(gnome_vfs_mime_action_free): Implemented, to fix bugzilla
	bug 1157.
	(get_user_level): Fixed bugs 1150 and 1151; made it return
	"novice" if gconf does not give back some expected value.
	(OAF_ServerInfo__copy): Adjust copying until the CORBA_frees don't
	crash nautilus.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_short_list_applications,
	gnome_vfs_mime_get_short_list_components): Refactored and
	corrected memory management (should not leak or double-free now).
	
	(gnome_vfs_mime_get_all_components,
	gnome_vfs_mime_get_default_component): Fixed bugzilla.eazel.com
	1146.
	
	(gnome_vfs_mime_str_list_apply_delta,
	gnome_vfs_mime_get_value_for_user_level): New helper functions.

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

	* libgnomevfs/gnome-vfs-init.c: (gnome_vfs_shutdown):
	* libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_info_clear),
	(gnome_vfs_mime_info_reload):
	* libgnomevfs/gnome-vfs-mime-info.h:
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_clear_magic_table):
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.h:
	* libgnomevfs/gnome-vfs-mime.c: (mime_extensions_empty),
	(maybe_reload), (gnome_vfs_mime_shutdown):
	* libgnomevfs/gnome-vfs-mime.h:
	Add calls that clear the different mime type tables and call them
	from gnome_vfs_shutdown.

	* libgnomevfs/gnome-vfs-mime.c:
	(gnome_vfs_mime_type_or_default):
	Fix a leak.

2000-06-07  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-backend.c: (func_lookup):
	Fixed a storage leak.
	
	* test/test-async-cancel.c: (file_open_fail_callback),
	(test_open_fail), (main): Added a test.

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

	* libgnomevfs/gnome-vfs-directory-list.c:
	(gnome_vfs_directory_list_load),
	(gnome_vfs_directory_list_load_from_uri):
	Fix a storage and file descriptor leak.
	
	* libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_mime_type_or_default):
	Fix a leak.

2000-06-06  Ramiro Estrugo  <ramiro@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level):
	Use "/apps/nautilus" instead of "/nautilus" to conform to the
	gconf "standard"

	Thanks to andersca@gnu.org for pointing this out.

2000-06-06  Ramiro Estrugo  <ramiro@eazel.com>

	* configure.in:
	Require only "gconf" not "gconf-gtk"
	
2000-06-06  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-info.h,
	libgnomevfs/gnome-vfs-mime-info.c
	(gnome_vfs_mime_info_reload): New call to force reloading of the
	MIME database.
	(maybe_reload): Use gnome_vfs_mime_info_reload if we decide to
	reload.

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_set_default_action_type),
	(gnome_vfs_mime_set_default_application),
	(gnome_vfs_mime_set_default_component),
	(gnome_vfs_mime_set_short_list_applications),
	(gnome_vfs_mime_set_short_list_components),
	(gnome_vfs_mime_extend_all_applications),
	(gnome_vfs_mime_remove_from_all_applications),
	(gnome_vfs_mime_define_application): call
	gnome_vfs_mime_info_reload when done reloading.
	(gnome_vfs_mime_set_short_list_applications): Rewritten for
	correct memory management and improved clarity.
	
2000-06-06  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_remove_component_from_short_list):
	Fixed an application -> component typo.

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

	* libgnomevfs-corba/gnome-vfs-slave.c: (copy_metadata):
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_all_applications):
	* libgnomevfs/gnome-vfs-module-shared.c:
	* modules/extfs-method.c: (do_open_directory):
	Renumber some FIXMEs after marking them as duplicates.
	Fix a wrong FIXME number.

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

	* devel-docs/gnome-vfs-tutorial/gnome-vfs-tutorial.sgml:
	* doc/writing-modules.sgml:
	* modules/extfs-method.c: (do_open):
	Added more bug numbers to FIXMEs.
	Changed some mentions of FIXMEs to FixMes to make them
	not trigger the FIXME tool.

2000-06-05  Seth Nickell  <snickell@stanford.edu>

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name):
	Modified to call gnome_vfs_unescape_string on the "short_name"
	before returning.
	* libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_unescape_string):
	Added a g_assert to make sure length of returned string is correct
	(gnome_vfs_unescape_for_display):
	* libgnomevfs/gnome-vfs-utils.h:
	New function similar to unescape_string except that it returns
	the string formatted better for display - i.e. with "invalid" 
	escape sequences and ASCII 0 still escaped
	* test/test-escape.c: (test_unescape), (test_unescape_display),
	(main):
	Added more test cases for escape code, improve output, added
	test code for gnome_vfs_unescape_for_display

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

	* libgnomevfs-corba/gnome-vfs-slave.c: (serve_channel_read),
	(serve_channel_write):
	* libgnomevfs-pthread/gnome-vfs-job-slave.c:
	* mime-type-capplet/edit-window.c: (populate_application_menu):
	* mime-type-capplet/mime-data.c: (add_to_key):
	* modules/extfs-method.c: (do_open), (read_directory_list),
	(do_open_directory), (match):
	* modules/extfs/cpio.in:
	* modules/extfs/lha.in:
	* modules/file-method.c: (read_directory):
	* modules/gconf-method.c: (directory_handle_destroy):
	Added more bug numbers to FIXMEs.
	Fixed one misspelled FIXME that made it show up in the check-FIXME.pl tool.

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

	* libgnomevfs/gnome-vfs-xfer.c: (call_progress),
	(count_items_and_size), (handle_name_conflicts), (copy_file),
	(copy_directory), (copy_items), (gnome_vfs_xfer_uri_internal),
	(gnome_vfs_xfer_private):
	Added more bug numbers to FIXMEs.

2000-06-05  Darin Adler  <darin@eazel.com>

	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	* libgnomevfs-corba/gnome-vfs-corba.c: (gnome_vfs_corba_init):
	* libgnomevfs-corba/gnome-vfs-slave-notify.c:
	(impl_Notify_load_directory):
	* libgnomevfs-corba/gnome-vfs-slave-process.c:
	(gnome_vfs_slave_process_reset), (gnome_vfs_slave_process_destroy):
	* libgnomevfs/gnome-vfs-directory-list.c:
	* libgnomevfs/gnome-vfs-handle.c: (gnome_vfs_handle_do_close):
	* libgnomevfs/gnome-vfs-parse-ls.c:
	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_open_uri_cancellable):
	* libgnomevfs/gnome-vfs-private-utils.c:
	* libgnomevfs/gnome-vfs-result.c: (gnome_vfs_result_from_errno),
	(gnome_vfs_result_from_h_errno):
	* libgnomevfs/gnome-vfs-seekable.c: (do_open), (do_create),
	(do_truncate_handle):
	* libgnomevfs/gnome-vfs-shellpattern-filter.c:
	(gnome_vfs_shellpattern_filter_new):
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-uri.c: (get_method_string),
	(parse_uri_substring), (gnome_vfs_uri_append_path),
	(gnome_vfs_uri_to_string), (gnome_vfs_uri_is_local):
	* libgnomevfs/gnome-vfs-utils.h:
	Added more bug numbers to FIXMEs.

2000-06-05  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_set_default_application):
	Tiny reformatting.

2000-06-05  John Sullivan  <sullivan@eazel.com>

	Refactored and made some helper functions public so 
	clients that modify the program lists don't need to 
	replicate a bunch of code.

	* libgnomevfs/gnome-vfs-mime-handlers.h:
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_id_in_application_list),
	(gnome_vfs_mime_id_in_component_list):
	Made these functions public.
	
	(gnome_vfs_mime_id_list_from_application_list),
	(gnome_vfs_mime_id_list_from_component_list):
	Gave these existing functions more public-sounding
	names and made them public.
	
	(gnome_vfs_mime_remove_application_from_list),
	(gnome_vfs_mime_remove_component_from_list):
	New public helper functions, extracted from the
	_short_list versions.

	(gnome_vfs_mime_add_application_to_short_list),
	(gnome_vfs_mime_add_component_to_short_list),
	(gnome_vfs_mime_remove_application_from_short_list),
	(gnome_vfs_mime_remove_component_from_short_list):
	Modified to call the new helper functions and
	reflect the renamings.

2000-06-05  Darin Adler  <darin@eazel.com>

	* modules/bzip2-method.c:
	(bzip2_method_handle_init_for_decompress),
	(bzip2_method_handle_init_for_compress), (do_close), (do_read):
	* modules/file-method.c: (do_close), (set_mime_type),
	(do_find_directory), (rename_helper):
	* modules/ftp-method.c:
	* modules/gconf-method.c: (directory_handle_destroy),
	(get_value_size):
	* modules/gzip-method.c: (gzip_method_handle_init_for_deflate),
	(result_from_z_result), (do_open), (do_create), (do_close),
	(do_read):
	* modules/http-method.c: (http_file_handle_new),
	(http_status_to_vfs_result), (create_handle), (do_create):
	Added more bug numbers to FIXMEs.

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

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_action_free):
	* libgnomevfs/gnome-vfs-mime-handlers.h:
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_magic_matches_p),
	(gnome_vfs_sniff_buffer_looks_like_text):
	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_mime_type_from_mode), 
	(gnome_vfs_get_special_mime_type):
	* libgnomevfs/gnome-vfs-parse-ls.c:
	Added more bug numbers to FIXMEs.

2000-06-05  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_component),
	(gnome_vfs_mime_get_short_list_components),
	(gnome_vfs_mime_get_all_components),
	(gnome_vfs_mime_set_default_action_type),
	(gnome_vfs_mime_set_default_application),
	(gnome_vfs_mime_set_default_component),
	(gnome_vfs_mime_set_short_list_applications),
	(gnome_vfs_mime_set_short_list_components),
	(gnome_vfs_mime_extend_all_applications),
	(gnome_vfs_mime_remove_from_all_applications),
	(gnome_vfs_mime_define_application), (get_user_level):
	* modules/extfs-method.c: (do_open_directory):
	Added bug numbers to FIXMEs.
	
	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	(corba_gnome_vfs_async_xfer):
	Fixed the formatting of a FIXME bug.

2000-06-05  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_application_copy),
	(gnome_vfs_mime_application_free): Made these
	two routines accept NULL parameters.

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

	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	(corba_gnome_vfs_async_xfer):
	* libgnomevfs-corba/gnome-vfs-slave-notify.c: (impl_Notify_reset):
	* libgnomevfs-corba/gnome-vfs-slave-process.c:
	* libgnomevfs-corba/gnome-vfs-slave-process.h:
	* libgnomevfs-corba/gnome-vfs-slave.c: (copy_metadata):
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_cancel):
	* libgnomevfs-pthread/gnome-vfs-job-slave.c:
	(gnome_vfs_job_slave_new):
	* libgnomevfs-pthread/gnome-vfs-job.c:
	* libgnomevfs-pthread/gnome-vfs-job.h:
	* libgnomevfs/gnome-vfs-configuration.c:
	* libgnomevfs/gnome-vfs-directory.c:
	* libgnomevfs/gnome-vfs-messages.h:
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_component),
	(gnome_vfs_mime_get_short_list_components),
	(gnome_vfs_mime_get_all_applications),
	(gnome_vfs_mime_get_all_components),
	(gnome_vfs_mime_extend_all_applications),
	(gnome_vfs_mime_remove_from_all_applications), (join_str_list),
	(get_user_level):
	Added bug numbers to FIXMEs.

2000-06-05	Mathieu Lacage <mathieu@gnome.org>

	* libgnomevfs/Makefile.am: add OAF_CFLAGS to include
	so that oaf.h is picked up when oaf is not in GNOME prefix.
	* test/Makefile.am : idem.

2000-06-05  Darin Adler  <darin@eazel.com>

	* modules/http-method.c:
	* modules/newftp-method.c: (do_open_directory),
	(do_make_directory):
	* modules/pipe-method.c: (do_close):
	* test/gnome-file-selection/gicon.c: (get_stock_icon),
	(get_stock_overlay), (get_default_icon),
	(gicon_get_icon_for_file_2):
	* test/gnome-file-selection/gnome-file-selection-history.c:
	* test/gnome-file-selection/gnome-file-selection.c:
	(update_directory_combo_list), (setup_directory_combo_and_toolbar),
	(destroy), (class_init), (init):
	* test/test-info.c:
	Added bug numbers to FIXMEs.
	
	* mime-type-capplet/edit-window.c: (destruction_handler),
	(initialize_main_win), (launch_edit_window),
	(populate_application_menu):
	Got rid of the fixed-length mime_string field.
	
	* modules/file-method.c: (read_link), (get_stat_info):
	Some minor tweaks on the code Rebecca just checked in.
	There was a little problem with unsigned integers.

2000-06-05  Rebecca Schulman <rebecka@eazel.com>

	* modules/file-method.c
	Fixed lack of error handling for readlink call in read_link.

2000-06-05  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_default_component),
	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_get_short_list_components),
	(gnome_vfs_mime_get_all_applications),
	(gnome_vfs_mime_get_all_components),
	(gnome_vfs_mime_set_default_action_type),
	(gnome_vfs_mime_set_default_application),
	(gnome_vfs_mime_set_default_component),
	(gnome_vfs_mime_set_short_list_applications),
	(gnome_vfs_mime_set_short_list_components),
	(id_list_from_component_list),
	(gnome_vfs_mime_add_application_to_short_list),
	(gnome_vfs_mime_remove_application_from_short_list),
	(gnome_vfs_mime_add_component_to_short_list),
	(gnome_vfs_mime_remove_component_from_short_list),
	(gnome_vfs_mime_extend_all_applications),
	(gnome_vfs_mime_remove_from_all_applications),
	(gnome_vfs_mime_define_application), (gnome_vfs_mime_action_free),
	(gnome_vfs_mime_application_list_free),
	(gnome_vfs_mime_component_list_free), (str_to_bool), (bool_to_str),
	(join_str_list):
	Added free calls to get rid of many storage leaks.
	Added more FIXMEs.
	Replaced lots of use of \' with just plain '.
	Replaced retval with variable names that are words in many places.
	Other reformatting and tweaking.

2000-06-05  Ramiro Estrugo  <ramiro@eazel.com>

	* data/mime/gnome-vfs.keys:

2000-06-04  Ian McKellar  <yakk@yakk.net>

	* modules/newftp-method.c: (read_response_line),
	(ftp_connection_aquire), (do_open), (internal_get_file_info),
	(do_open_directory), (do_make_directory), (do_remove_directory),
	(do_move), (do_unlink):
	Fixed this lots. It should now fail gracefully if it can't connect or
	log into a server, and it should reconnect if a connection times out.

2000-06-02  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_add_application_to_short_list),
	(gnome_vfs_mime_remove_application_from_short_list),
	(gnome_vfs_mime_add_component_to_short_list),
	(gnome_vfs_mime_remove_component_from_short_list):
	Added implementations for these formerly empty functions.

	(gnome_vfs_mime_application_has_id),
	(gnome_vfs_mime_id_matches_application),
	(gnome_vfs_mime_id_matches_component),
	(gnome_vfs_mime_application_matches_id),
	(gnome_vfs_mime_component_matches_id),
	(gnome_vfs_mime_id_in_application_list),
	(gnome_vfs_mime_id_in_component_list),
	(id_list_from_application_list), (id_list_from_component_list),
	(g_list_free_deep): New helper functions used in the
	implementations of the add/remove functions. Most of these
	are replicated in nautilus_mime_action.c. I will make another
	pass to share code later.

	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_get_short_list_components): Fixed mistakes
	where the wrong list items were compared against, and added
	clarifying parentheses. There is still a bug that I couldn't
	find where these routines do not correctly include user additions
	to the lists. I'm writing this up.

2000-06-02  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_new_directory_with_unique_name):
	Fixed a URI leak.

	* libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level):
	Tweaked gconf_init and some formatting.
	
2000-06-02  Gene Z. Ragan  <gzr@eazel.com>

	* mime-type-capplet/edit-window.c: 
	(populate_application_menu):
	More work on handling the logic of populating the menu
	and handling special cases where short list, default application
	and applicaiton list may be NULL or empty.

2000-06-02  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.h,
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_add_application_to_short_list),
	(gnome_vfs_mime_remove_application_from_short_list),
	(gnome_vfs_mime_add_component_to_short_list),
	(gnome_vfs_mime_remove_component_from_short_list):
	Added prototypes and empty bodies for these new
	convenience functions. Implementations coming soon.

2000-06-02  Gene Z. Ragan  <gzr@eazel.com>

	More work in progress on the capplet.  Still incomplete.

	* mime-type-capplet/edit-window.c: 
	(initialize_main_win),
	(populate_application_menu):
	The Application window now displays the shortlist and selected
	the default application if it is present in the short list.

	(add_application):
	All of the mchinery is hooked up, but the API does not seem to 
	be registering the new choice.
	
2000-06-02  Gene Z. Ragan  <gzr@eazel.com>

	More work in progress on the capplet.  Still incomplete.
	
	* mime-type-capplet/edit-window.c: (initialize_main_win_vals),
	(show_edit_window), (populate_application_menu),
	(populate_component_menu), (application_menu_activate),
	(add_application), (show_file_selector):
	Work in progress.
	
	* mime-type-capplet/mime-data.c: (add_to_key):
	Work in progress.

2000-06-02  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys:
	* data/mime/gnome-vfs.mime:
	Added application/x-gnumeric at andersca's suggestion.

2000-06-02  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-utils.c:
	* libgnomevfs/gnome-vfs-utils.h:
	* test/test-escape.c: (main):
	Updated escape and test to not escape "+" except if explicitly
	asked. This makes the path escape function more useful for the
	real case of converting a path to a URI.
	
	* test/.cvsignore: Ignore test-mime-handlers-set.

2000-06-02  Ramiro Estrugo  <ramiro@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level):
	Use a GConfEngine directly to avoid depending on the Gtk object
	system.
	
2000-06-01  Maciej Stachowiak  <mjs@eazel.com>

	* data/mime/gnome-vfs.keys: Define short-list components for
	text/plain

	First half of task 370 (write APIs for mime handler stuff)
	
	* libgnomevfs/gnome-vfs-mime-handlers.h,
	libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_set_default_action_type,
	gnome_vfs_mime_set_default_application,
	gnome_vfs_mime_set_default_component,
	gnome_vfs_mime_set_short_list_applications,
	gnome_vfs_mime_set_short_list_components,
	gnome_vfs_mime_extend_all_applications,
	gnome_vfs_mime_remove_from_all_applications): Implemented (w/ some
	slight interface changes relative to old headers/stubs.
	
	(gnome_vfs_mime_define_application): New function.

	(bool_to_str, gnome_vfs_strsplit_to_list,
	gnome_vfs_strjoin_from_list, comma_separated_str_to_str_list,
	str_list_to_comma_separated_str, str_list_difference): More helper functions.

	* test/test-mime-handlers-set.c: Test for mime handler setter
	APIs.
	* test/Makefile.am: Build it.
	
	* mime-type-capplet/edit-window.c (add_application): Remove
	now-invalid call to gnome_vfs_mime_set_default_application w/
	comment on how to do it better.
	
2000-06-01  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-utils.h:
	* libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_string),
	(hex_to_int), (gnome_vfs_unescape_string): Fixed escape string to
	handle characters in a way that matches the URI RFC instead of
	being "conservative" and escaping everything. Also fixed to escape
	some characters it wasn't escaping and did code cleanup. Changed
	the API to gnome_vfs_unescape_string and made it handle cases where
	there are bad escape sequences or bad characters by returning NULL.
	
	* modules/file-method.c: (get_path_from_uri), (get_base_from_uri),
	(do_open), (do_create), (do_close), (do_read), (do_write),
	(do_truncate), (directory_handle_new), (do_open_directory),
	(do_get_file_info), (do_get_file_info_from_handle),
	(do_make_directory), (do_remove_directory), (do_find_directory),
	(rename_helper), (do_move), (do_unlink), (do_check_same_fs),
	(do_set_file_info): Handled URI escaping in every call. This
	involved unescaping URIs and handling the cases where there are
	bad characters.
	
	* test/test-escape.c: (test_escape), (test_unescape), (main):
	Added code to test both the escape and unescape functions. It's a
	lot easier to get it right if it's tested :-) This test gets run
	as part of make check.

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_file_name),
	(gnome_vfs_uri_extract_short_name): Update for the new name of the
	parameter to gnome_vfs_escape_string.
	
2000-06-01  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_application_copy): Oops, this wasn't
	updated to copy the new id field, wreaking havoc on
	my Nautilus code.

2000-06-01  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys: Fixed the application short 
	lists for text/plain, text/html, and special/webdav-directory.

2000-06-01  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level): Added
	fake parameters to the gconf_init call. It just won't put up with
	0/NULL as argc/argv.
	
	* test/test-escape.c: (test_escape), (main): More test code (work
	in progress).

2000-06-01  John Sullivan  <sullivan@eazel.com>

	* data/mime/application-registry-hack.keys:
	added entry for eog.
	* data/mime/gnome-vfs.keys:
	added a couple of text applications to the complete list
	for text/html, so we can test full-list-longer-than-short-list.

2000-06-01  Darin Adler  <darin@eazel.com>

	* data/mime/gnome-vfs.keys: Checked in a full version. I
	accidentally truncated this with my last check-in.  Also forgot to
	mention in my last check-in that I had changed the name from
	componet to component for xpdf (which I also updated).
	
	* test/Makefile.am:
	* test/.cvsignore:
	* test/test-escape.c: (stop_after_log), (make_asserts_break),
	(test_failed), (main): Started a new test for the escape/unescape
	functions.

2000-06-01  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c (OAF_ServerInfo__copy):
	Implement copying of the attribute list properly by jumping
	through all the CORBA hoops.

2000-06-01  Darin Adler  <darin@eazel.com>

	A set of changes to make the short lists be based on the user
	level.  I'm not wild about adding the GConf dependency nor about
	the 3 identical lists for every MIME type, but for now this is
	what we designed.
	
	* configure.in: Changed to always require GConf, not just
	conditionally.
	
	* data/mime/gnome-vfs.keys: Updated the short list keys to have
	a separate list for each user level.
	
	* libgnomevfs/Makefile.am: Added GConf to what's linked with the
	gnome-vfs library.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_get_short_list_components), (get_user_level):
	Added code to get the user level and include the user level name
	in the attribute name that's sought ought in the MIME data.
	
	* modules/gconf-method.c: Fixed build warnings.

2000-06-01  Maciej Stachowiak  <mjs@eazel.com>

	* data/mime/gnome-vfs.keys: Added short list and default
	components to all appropriate types. Expanded application info for
	some types.

2000-06-01  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_application_new_from_id): Get
	"can_open_multiple_files" and "can_open_uris" from the right
	properties.

2000-06-01  JP Rosevear  <jpr@arcavia.com>

	* mime-type-capplet/Makefile.am: Make the capplet build if gnomevfs
	isn't already installed.

	* libgnomevfs-corba/gnome-vfs-corba.c: Use only the oaf stuff

	* libgnomevfs-corba/gnome-vfs-slave.c: ditto

	* libgnomevfs/Makefile.am: Remove oaf conditionals since we require
	oaf now

	* libgnomevfs-corba/Makefile.am: 

	* configure.in: Check for oaf >= 0.3.0 and make it mandatory

2000-06-01  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.h: Added `id' field to
	GnomeVFSMimeApplication struct.
	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_application_new_from_id): Set the id field.

	* libgnomevfs/gnome-vfs-mime-handlers.h,
	libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_default_action_type): New function which only
	determines and returns the default action type. Needed for
	_for_uri versions of stuff in nautilus.
	(gnome_vfs_mime_get_default_action): Use it.

	* data/mime/gnome-vfs.keys: Populated with a bit more data.

2000-05-31  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.h,
	libgnomevfs/gnome-vfs-mime-handlers.c: Removed the _for_uri
	versions of these calls; they've been moved to Nautilus for now
	since they will require reading metadata.
	
2000-05-31  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-directory.c: (directory_visit_internal),
	(gnome_vfs_directory_visit_files_at_uri):
	* libgnomevfs/gnome-vfs-uri.h:
	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_file_name):
	* libgnomevfs/gnome-vfs-xfer.c: (empty_directory),
	(gnome_vfs_visit_list), (handle_name_conflicts), (copy_directory),
	(copy_items), (move_items), (gnome_vfs_xfer_delete_items),
	(gnome_vfs_new_directory_with_unique_name):
	A quick fix to Seth's check-in.	He also forgot a ChangeLog.
	The change was to adda new append_file_name call that handles
	escaping correctly for combining a file name with a URI.
	
	* test/.cvsignore: Ignore some new test programs.

2000-05-31  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_get_short_list_components),
	(gnome_vfs_mime_get_all_applications),
	(gnome_vfs_mime_get_all_components): Made these
	routines bail out immediately when passed NULL
	as the mime type. Maciej can flog me and change
	them back if he wants. (This prevents lots of
	spam when dealing with files that don't have
	any MIME type.)

2000-05-31  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(get_mime_type_from_uri_hack),
	(gnome_vfs_mime_get_short_list_applications_for_uri),
	(gnome_vfs_mime_get_short_list_components_for_uri),
	(gnome_vfs_mime_get_all_applications_for_uri),
	(gnome_vfs_mime_get_all_components_for_uri): Added some
	temporary hacks so the _for_uri calls "work" by calling
	through to the mime-type-based ones.

2000-05-31  John Sullivan  <sullivan@eazel.com>

	Couldn't wait for Maciej for a few bits here.

	* libgnomevfs/gnome-vfs-mime-handlers.h:
	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_application_copy): New function
	(gnome_vfs_mime_application_free): Supplied implementation.
	(gnome_vfs_mime_application_list_free),
	(gnome_vfs_mime_component_list_free): New functions.

2000-05-31  Gene Z. Ragan  <gzr@eazel.com>

	Work in progress for the modified Files and Programs
	capplet that is relacing the old mime types capplet
	in the Gnome Control Center.
	
	* mime-type-capplet/Makefile.am:
	Added link dependeny to libgnomevfs.
	
	* mime-type-capplet/edit-window.c: 
	(add_extension), (remove_extension):
	Rename functions to be more coherent.

	(initialize_main_win), (initialize_main_win_vals):
	Modified functions to remove dialog items
	that are obsolete in our new designs.  Added new
	items such as the application and component menus.

	(populate_application_menu),
	(populate_component_menu), (application_menu_activate):
	Application menu functions that list the short
	list of applications for a mime type and allow a user
	to add applications to the short list.

	(add_application), (show_file_selector):
	Menu callback and function to display GtkFileSelection to 
	allow user to locate an application to be associated with
	mime type.
	
	* mime-type-capplet/mime-data.c: 
	(add_new_mime_type):
	Modified functions for new mime APIs.
	
	* mime-type-capplet/new-mime-window.c: (launch_new_mime_window):
	Modified functions for new mime APIs.

	* modules/file-method.c: (file_handle_new):
	Modified functions for new mime APIs.

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

	* data/mime/gnome-vfs-mime-magic: 
	* data/mime/gnome-vfs.keys: application/postscript doesn't have an
	x-, the registered type for Word is application/msword, and word
	processing formats in general are application/*, not text/*
	(because text/ means you can read it raw if you have to). Also,
	make some descriptions more consistent, and sync some types
	between the files where they differed.

2000-05-31  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* data/mime/gnome-vfs-mime-magic: 
	* data/mime/gnome-vfs.mime: 
	* data/mime/gnome-vfs.keys: 
	add new mime types.


2000-05-31  Ramiro Estrugo  <ramiro@eazel.com>

	* Makefile.am:
	* configure.in:

	Now hook up the documentation generation up.
	
2000-05-31  Ramiro Estrugo  <ramiro@eazel.com>

	* devel-docs/.cvsignore:
	* devel-docs/Makefile.am:
	* devel-docs/gnome-vfs-mime-type-handling.txt:
	* devel-docs/gnome-vfs-tutorial/.cvsignore:
	* devel-docs/gnome-vfs-tutorial/Makefile.am:
	* devel-docs/gnome-vfs-tutorial/gnome-vfs-tutorial.sgml:
	* devel-docs/gnome-vfs/.cvsignore:
	* devel-docs/gnome-vfs/Makefile.am:
	* devel-docs/gnome-vfs/gnome-vfs-decl.txt:
	* devel-docs/gnome-vfs/gnome-vfs-docs.sgml:
	* devel-docs/gnome-vfs/gnome-vfs-sections.txt:
	* devel-docs/gnome-vfs/tmpl/gnome-vfs-mime-info.sgml:
	* devel-docs/gnome-vfs/tmpl/gnome-vfs-mime.sgml:
	* devel-docs/gnome-vfs/tmpl/libgnome-vfs.sgml:
	* man/.cvsignore:
	* man/Makefile.am:
	* man/gnome-vfs-mime.5.in:

	Import gnome mime documentation from gnome-libs so that it can be
	properly updated over here in gnome-vfs.
	
2000-05-31  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/Makefile.am: Conditionally compile in oaf-based
	stuff.

	Complete bugzilla task #586 in a functional albeit somewhat
	hackish way that is in need of much code cleanup and some
	internals redesign.
	
	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_short_list_applications,
	gnome_vfs_mime_get_short_list_components): Implemented.
	(gnome_vfs_mime_get_default_application,
	gnome_vfs_mime_get_all_applications): Updated to expect mime
	records to only point to app IDs, which point to app info in an
	external registry.
	(str_to_bool, join_str_list, strv_contains_str,
	extract_prefix_add_suffix, mime_type_get_supertype,
	strsplit_handle_null, gnome_vfs_mime_application_new_from_id,
	OAF_ServerInfo__copy, OAF_ServerInfoList_to_ServerInfo_g_list,
	process_app_list): New and modified helper functions.
	* test/test-mime-handlers.c (main): Add tests for short_list
	functions.
	* data/mime/gnome-vfs.keys: More test data; fix for new data
	representation.
	* data/mime/application-registry-hack.keys: Total hack using bogus
	mime types to create an application registry. Need a better
	solution than this long-term.
	* data/mime/Makefile.am: Install `application-registry-hack.keys'.
	
2000-05-30  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_xfer_private):
	Removed some obsolete xfer options. Added new ones to make
	new copy engine functions not depend so much on subtle values
	of input source/target lists of items.
	
	* libgnomevfs/gnome-vfs-xfer.c: 
	(gnome_vfs_new_directory_with_unique_name):
	Darin and mjs hated the old name.

	* libgnomevfs/gnome-vfs-xfer.c: 
	(gnome_vfs_xfer_delete_items):
	New call to support a fallback delete for files that cannot be moved
	to Trash.

2000-05-30  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.c:
	(gnome_vfs_mime_get_all_applications,
	gnome_vfs_mime_get_all_components): Implemented

	(gnome_vfs_mime_get_short_list_applications),
	(gnome_vfs_mime_get_short_list_components), 

	(parse_app_lists, OAF_ServerInfoList_to_ServerInfo_g_list): New
	helper functions.

	* test/test-mime-handlers.c: Expanded to test the all_applications
	and all_components calls.

	* libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init): Fix oaf
	initialization to use a better dummy argv.

	* data/mime/gnome-vfs.keys: Added more test data.

2000-05-30  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_new_folder),
	(gnome_vfs_xfer_private):
	Add yet another flavor to the copy engine to allow creating 
	new directories.

	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	(corba_gnome_vfs_async_xfer):
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_xfer):
	Get rid of an assert that no longer applies.

2000-05-30  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/Makefile.am: Add OAF_CLAGS.
	* libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): oaf_init if it
	hasn't been done already.

	* libgnomevfs/gnome-vfs-mime-handlers.c
	(gnome_vfs_mime_get_default_action,
	gnome_vfs_mime_get_default_application,
	gnome_vfs_mime_get_default_component): Implemented more or less
	correctly (I hope).

	(extract_prefix_add_suffix, mime_type_get_supertype,
	OAF_ServerInfo__copy) : Helper functions cut & pasted from
	elsewhere.

	* test/test-mime-handlers.c: Test for gnome-vfs-mime-handlers API.
	* test/Makefile.am: Add the above to the build.

	* data/mime/gnome-vfs.keys: Put in some default
	ation/application/component data for testing purposes.
	
2000-05-27  Pavel Cisler <pavel@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job-slave.c:
	(gnome_vfs_job_slave_new), (gnome_vfs_thread_backend_shutdown),
	(gnome_vfs_debug_get_thread_count):
	Made gnome_vfs_thread_backend_shutdown work properly by adding the
	right call to yield to the gtk idle task that is needed to allow 
	all the task callbacks to finish. This simplifies the application
	quit. 
	Tweaked some debugging messages.
	
	* libgnomevfs-pthread/gnome-vfs-job.c: (job_signal_ack_condition),
	(job_ack_notify), (job_notify), (gnome_vfs_job_finish_destroy),
	(gnome_vfs_job_prepare), (execute_load_directory_not_sorted),
	(execute_load_directory_sorted), (gnome_vfs_job_execute),
	(gnome_vfs_job_cancel):
	Added a cancel check to job_notify to make sure someone is still
	expecting a notification before we start notifying. Add checks
	to the return value of job_notify, bailing from all the calls
	during cancel.
	Added the same check to execute_load_directory_not_sorted to make
	it bail out earlier during a cancel.
	When cancelling, signal to the possibly waiting job_ack_notify
	to make it give up waiting. 
	Added a lot more debugging code to help me chase down the problems.
	
	* test/test-async-cancel.c: (stop_after_log), (make_asserts_break),
	(directory_load_callback), (yield), (test_load_directory_cancel),
	(main):
	Made the test stop in the debugger during an assert.
	Added tests for load_directory cancellations.
	
2000-05-27  Dan Winship  <danw@helixcode.com>

	* libgnomevfs-corba/gnome-vfs-slave-notify.c
	(impl_Notify_open_as_channel): cast "struct sockaddr_un *"
	argument to connect to "struct sockaddr *".

	* libgnomevfs/gnome-vfs-private.h: Fix the getdelim prototype.

2000-05-26  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.h,
	libgnomevfs/gnome-vfs-mime-handlers.c: Add stub implementations
	for all functions. Add `gnome_vfs_mime_application_free' function.

	* libgnomevfs/Makefile.am: Add
	`libgnomevfs/gnome-vfs-mime-handlers.c' to the build.
	
	* libgnomevfs/gnome-vfs-mime-handlers.h: Add a "name" field to the
	GnomeVFSMimeApplication struct, as John and I discussed.
	
	* libgnomevfs/gnome-vfs-types.h: include <glib.h>, not jsut
	<glibconfig.h> (glibconfig is really supposed to be an internal
	header anyway).

2000-05-26  Gene Z. Ragan  <gzr@eazel.com>

	All of the below is work in progress on the Files and Programs
	capplet.  I am currently retro-fitting jrb's capplet to use
	our modified capplet layout and new gnome-vfs mime API.
	This capplet does not currently work properly, but does build and
	causes no harm if run.
	
	* mime-type-capplet/edit-window.c: (ext_remove), (apply_changes),
	(initialize_main_win), (initialize_main_win_vals),
	(launch_edit_window), (hide_edit_window), (show_edit_window),
	(populate_application_menu), (populate_component_menu):
	
	* mime-type-capplet/mime-data.c: (selected_row_callback),
	(edit_clicked):
	
	* mime-type-capplet/nautilus-mime-type.desktop:
	Changed entries so capplet would register itself as "Files and Programs"

2000-05-26  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys: Added one more description.
	This had been sitting around on my disk for awhile but
	I forgot.

2000-05-26  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-mime-handlers.h: Header for upcoming mime
	handler API.
	* libgnomevfs/Makefile.am: Install the new header.

2000-05-24  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_sniff_buffer_looks_like_text):
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.h:
	* libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type):
	Implement a simple version of the call. Rename to a better
	name.
	
	* libgnomevfs/gnome-vfs-mime.c:
	(gnome_vfs_get_mime_type_from_file_data):
	Add detecting text files.

2000-05-24  Pavel Cisler  <pavel@eazel.com>

	* data/mime/gnome-vfs-mime-magic:
	Add a magic rule for rpm files.
	
	* libgnomevfs/gnome-vfs-file-info.c:
	(gnome_vfs_file_info_matches):
	Fix a bug that would make the routine fail most of the times.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.c:
	* libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h:
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.h:
	* libgnomevfs/gnome-vfs-mime.c:
	(handle_seek_glue), (handle_read_glue), 
	(gnome_vfs_mime_sniff_buffer_new_from_handle),
	(gnome_vfs_mime_sniff_buffer_new_generic),
	(gnome_vfs_mime_sniff_buffer_get):
	Add callback vectors to mime shiff buffer to allow providing
	any seek and read calls to make it work on anything, not just
	GnomeVFSHandles. Reworked gnome_vfs_mime_sniff_buffer_get to
	use the callback vectors. 
	Rewrite gnome_vfs_mime_sniff_buffer_new_from_handle to use the
	callback vectors.

	* libgnomevfs/gnome-vfs-mime.c:
	* libgnomevfs/gnome-vfs-module-shared.c:
	(gnome_vfs_mime_type_from_mode),
	(gnome_vfs_get_special_mime_type),
	(libgnomevfs/gnome-vfs-module-shared.h):
	Move the routine close to an existing call that has similar logic.

	* modules/file-method.c:
	(read_directory):
	Tweak a comment.

2000-05-24  Ramiro Estrugo  <ramiro@eazel.com>

	* mime-type-capplet/.cvsignore,
	  mime-type-capplet/Makefile.am
	  mime-type-capplet/mime-type-capplet.c
	  mime-type-capplet/mime-type.desktop
	  mime-type-capplet/nautilus-mime-type-capplet.c
	  mime-type-capplet/nautilus-mime-type.desktop:
	Rename the 'mime-type' capplet to 'nautilus-mime-capplet' to avoid
	clobbering the control-center's one.

2000-05-23  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c (get_method_string): Allow digits,
	`+', `-' and `.' in the uri scheme name.

2000-05-23  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-mime-magic.c:
	* libgnomevfs/gnome-vfs-mime-magic.h:
	* libgnomevfs/gnome-vfs-mime.c:
	* libgnomevfs/gnome-vfs-mime.h:
	(gnome_vfs_mime_try_one_magic_pattern), (gnome_vfs_get_mime_type_for_buffer),
	(gnome_vfs_mime_magic_db_load), (gnome_vfs_mime_get_magic_table),
	(gnome_vfs_mime_type_from_magic), (gnome_vfs_get_special_mime_type),
	(gnome_vfs_get_mime_type_from_name_internal),
	(gnome_vfs_get_mime_type_from_name), (gnome_vfs_get_mime_type),
	(gnome_vfs_get_mime_type_from_file_data), (gnome_vfs_get_mime_type_for_data),
	(gnome_vfs_get_sniff_buffer_looks_like_text):
	Add new magic MIME sniffing APIs that can work on a URI as well as
	on an in-memory buffer. Fix the broken use of mask.
	Fix a bug where octal numbers were not parsed properly -- pretty much
	half the rules that used octal numbers never worked. Make the 
	loading of the MIME-magic entry database thread-safe. Change the 
	MIME-type lookup sequence for the default call.

	* libgnomevfs/Makefile.am: 
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.h: 
	* libgnomevfs/gnome-vfs-mime-sniff-buffer.c:
	Lazy-reading buffer that can wrap either a file or a memory buffer
	and that is passed to the new magic MIME type sniffing calls.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(read_hex_str):
	Fix a bug Darin helped me find where uppercase hex numbers weren't 
	converted properly.

	* libgnomevfs/gnome-vfs-mime-magic.c:
	(read_string_val):
	Fix a bug where octal numbers were not parsed properly -- pretty much
	half the rules that used octal numbers never worked.

	* data/mime/gnome-vfs-mime-magic: 
	Re-did the whole file. We'll add more entries in the future,
	for now start with a good set of magic rules that are correct
	and that are for file types you are actually likely see on your
	machine. Ordered the rules such that the more-ambiguous ones
	are at the end of the file to minimize the chance of getting
	false positive. Fixed a number of incorrect rules in some of
	the entries I kept from the old file.
	
	* test/Makefile.am:
	* test/test-mime.c:
	New testing tool to test the new MIME-magic sniffing routines.
	In addition to testing the main gnome_vfs_get_mime_type allows 
	testing magic-only MIME sniffing (good for verifying that
	a new magic entry is correct) and suffix-only MIME sniffing.

2000-05-23  Ramiro Estrugo  <ramiro@eazel.com>

	* configure.in:
	Removed -lgnomevfs from CAPPLET_LIBS.

2000-05-23  Ramiro Estrugo  <ramiro@eazel.com>

	* Makefile.am:
	* configure.in:
	* mime-type-capplet/.cvsignore:
	* mime-type-capplet/Makefile.am:
	* mime-type-capplet/edit-window.c,
	* mime-type-capplet/edit-window.h,
	* mime-type-capplet/mime-data.c,
	* mime-type-capplet/mime-data.h,
	* mime-type-capplet/mime-info.c,
	* mime-type-capplet/mime-info.h,
	* mime-type-capplet/mime-type-capplet.c,
	* mime-type-capplet/mime-type.desktop,
	* mime-type-capplet/new-mime-window.c,
	* mime-type-capplet/new-mime-window.h:
	Copy mime-type capplet from the control-center so that it can be
	improved and made to use gnome-vfs.

	This has the unfortunate side-effect of introducing a dependency
	on libcapplet.  This is temporary until the capplet can move back
	to the control-center.  At that time, the control-center will
	depend on gnome-vfs and eveyone will live happily ever after.  

2000-05-19  Pavel Cisler  <pave@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job.c: 
	* libgnomevfs-pthread/gnome-vfs-job.h: 
	(dispatch_job_callback), (serve_channel_write),
	(gnome_vfs_job_new): Fixed up the rest of the g_io_channel_read
	calls to prevent them from returning without reading any input
	when a thread is signalled. Added more debugging code.

2000-05-19  Pavel Cisler  <pave@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job.c: 
	(dispatch_job_callback): Handle a bug where g_io_channel_read
	would sometimes return with an error and without any characters
	read, failing to synchronize with the slave thread. I need to 
	figure out why this is happening (probably a race condition in
	the g_io_channel setup code) for now added code that forces the
	read to be repeated. 
	Fixes a problem Ettore and Andy were running into.

	* libgnomevfs-pthread/gnome-vfs-job-slave.c:
	* libgnomevfs-pthread/gnome-vfs-job.c:
	* libgnomevfs-pthread/gnome-vfs-job.h:
	Clean up debugging code a ton.
	
2000-05-19  Darin Adler  <darin@eazel.com>

	* modules/file-method.c: (set_mime_type): Fixed to get the fast
	type if the slow type returns NULL.
	
	* modules/pipe-method.c: Got rid of commented out copy of
	set_mime_type, since it will just get out of sync. with the real
	copy.

2000-05-19  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): There was
	a bug in the change to free method_string. This should fix it.
	
	* libgnomevfs/gnome-vfs.h: Fixed a FIXME.
	* test/gnome-file-selection/Makefile.am: Fixed a FIXME.

2000-05-19  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Actually, now
	it looks like Rebecca's change had nothing to do with the problem
	I'm seeing, so I'm reverting my change.

	* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Commented out
	Rebecca's memory leak fix for now; it looks correct to me but it
	must be triggering some other bug because it makes Nautilus do
	strange things for me and others.

2000-05-18  Rebecca Schulman <rebecka@eazel.com>
	
	* libgnomevfs/gnome-vfs-uri.c
	Fixed a memory leak in gnome_vfs_uri_new.  (method_string
	sometime was never freed)

2000-05-18  Maciej Stachowiak  <mjs@eazel.com>

	* data/mime/gnome-vfs-mime-magic: Replaced mime type of "X pixmap
	image text" to "image/x-xpm".

2000-05-17  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c:
	* libgnomevfs/gnome-vfs-uri.h:
	(gnome_vfs_uri_is_parent):
	Added a new utility call.
	
	* libgnomevfs/gnome-vfs-uri.c:
	(my_streq):
	Fixed it up to treat NULL and "" the same and cleaning it up.
	This fixes a bug in gnome_vfs_uri_equal making it fail on
	URIs that should have been evaluated as equal.

	* libgnomevfs/gnome-vfs-xfer.c:
	(move_items):
	Fix a bug where in some cases the error callback would get called
	without the names of the files it failed on.

2000-05-17  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys:
	Added application/x-asp

2000-05-16  Gene Z. Ragan  <gzr@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c:
	Reverted due to accidental check-in during last commit.

2000-05-16  Gene Z. Ragan  <gzr@eazel.com>

	* test/gnome-file-selection/main.c: #include
	"libgnomevfs/gnome-vfs.h", not "gnome-vfs.h".

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

	* test/gnome-file-selection/gnome-file-selection.c: #include
	"libgnomevfs/gnome-vfs.h", not "gnome-vfs.h".

	* test/gnome-file-selection/Makefile.am (INCLUDES): Replace
	`-I$(top_srcdir)/libgnomevfs' with `-I$(top_srcdir)'.

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

	* libgnomevfs/gnome-vfs-mime-info.c (language_level): Correctly
	cast the `void *' pointer before passing to `strcmp()'.  Also,
	made const-safe and re-indented a bit.

2000-05-16  Ian McKellar  <yakk@yakk.net.au>

	* modules/newftp-method.c:
	Fixed warning.

2000-05-16  Ian McKellar  <yakk@yakk.net.au>

	* modules/Makefile.am:
	* modules/default-modules.conf:
	* modules/newftp-method.c:
	* modules/newftp-method.h:
	New FTP method. It doesn't currently work with Netpresenz servers, but
	it is thread safe. Play with it, break it, mail me the addresses of FTP
	servers that don't work. This is a complete reimplementation, so I've
	left the old ftp-method in cvs as a reference.

	* test/test-info.c: (main):
	Accept multiple URIs on the command line.

2000-05-11  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_xfer_uri_internal):
	Fix bug 435: gnome_vfs_async_xfer does not report errors that
	Darin was running into.

2000-05-11  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job-slave.c:
	Add debugging code to help me fix deadlocks caused by gnome vfs
	not shutting down properly.
	
	* libgnomevfs-pthread/gnome-vfs-job.c:
	Make the JOB_DEBUG debugging print atomic.

	* libgnomevfs/gnome-vfs-backend.h:
	* libgnomevfs/gnome-vfs-backend.c:
	* libgnomevfs/gnome-vfs-init.h:
	* libgnomevfs/gnome-vfs-init.c:
	* libgnomevfs-pthread/gnome-vfs-job-slave.c:
	* libgnomevfs-pthread/gnome-vfs-job-slave.h:
	(gnome_vfs_thread_backend_shutdown),
	(gnome_vfs_debug_get_thread_count):
	Add a call that will allow apps to synchronize with the slave threads
	that are finishing up.

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

	* data/mime/gnome-vfs.keys: Add message/* and multipart/* mime
	types. They aren't useful for identifying files, but they may be
	useful for mail programs, and it would be dumb to have a separate
	MIME type database for that. Also fix up some descriptions, add
	some more types, and remove text/vnd.latex-z, because it's not
	what you think (and not useful).

	* data/mime/gnome-vfs.mime: Sync.

2000-05-09  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-gen-mimedb: Removed from CVS. 
	Oops, checked this in by accident.

2000-05-09  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job.c:
	(execute_xfer):
	Add a missing job_close that was triggering an assert for
	various file system operations.
	
2000-05-09  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job.c:
	(job_oneway_notify):
	Handle the case where job_oneway_notify gets called from 
	gnome_vfs_job_destroy properly - the current_op is NULL 
	but we may still have a pending notify_op.
	
	* libgnomevfs-pthread/gnome-vfs-job.c:
	(gnome_vfs_job_cancel):
	Fix a crash during cancellation - the call was dereferencing
	a null job when cancelling.

2000-05-08  Darin Adler  <darin@eazel.com>

	A fix for canceling. Cancels can still be done until the caller
	is notified, even if the work is done.

	* libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_cancel):
	Allow the caller to cancel a task even if we are done with it.
	* test/test-async-cancel.c: (test_get_file_info): Tweak message.

2000-05-08  Darin Adler  <darin@eazel.com>

	Another cut at fixing the pthread back end for GNOME VFS.
	
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_cancel),
	(pthread_gnome_vfs_async_open_uri), (pthread_gnome_vfs_async_open),
	(pthread_gnome_vfs_async_open_uri_as_channel),
	(pthread_gnome_vfs_async_open_as_channel),
	(pthread_gnome_vfs_async_create_uri),
	(pthread_gnome_vfs_async_create),
	(pthread_gnome_vfs_async_create_as_channel),
	(pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read),
	(pthread_gnome_vfs_async_write),
	(pthread_gnome_vfs_async_get_file_info),
	(pthread_gnome_vfs_async_load_directory),
	(pthread_gnome_vfs_async_load_directory_uri),
	(pthread_gnome_vfs_async_xfer),
	(pthread_gnome_vfs_async_add_status_callback),
	(pthread_gnome_vfs_async_remove_status_callback):
	Changed to use the separate op structure so we can support starting
	a new operation before we have notified about the last one.
	
	* libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine):
	Re-enabled destroying the GnomeVFSJob objects, although the actual
	destroying takes place on the main thread after a subsequent notify.
	(gnome_vfs_job_slave_new), (gnome_vfs_job_slave_destroy),
	(pthread_gnome_vfs_debug_get_thread_count):
	Added thread count interface for testing and debugging.
	
	* libgnomevfs-pthread/gnome-vfs-job.h:
	* libgnomevfs-pthread/gnome-vfs-job.c: (job_oneway_notify),
	(job_notify), (dispatch_open_callback), (dispatch_create_callback),
	(dispatch_open_as_channel_callback),
	(dispatch_create_as_channel_callback), (dispatch_close_callback),
	(dispatch_read_callback), (dispatch_write_callback),
	(dispatch_load_directory_callback),
	(dispatch_get_file_info_callback), (dispatch_xfer_callback),
	(close_callback), (handle_cancelled_open), (dispatch_job_callback),
	(gnome_vfs_job_new), (gnome_vfs_job_destroy),
	(gnome_vfs_job_finish_destroy), (gnome_vfs_op_destroy),
	(gnome_vfs_job_release_current_op),
	(gnome_vfs_job_release_notify_op), (gnome_vfs_job_prepare),
	(serve_channel_read), (execute_open), (execute_open_as_channel),
	(execute_create), (execute_create_as_channel), (execute_close),
	(execute_read), (execute_write),
	(execute_load_directory_not_sorted),
	(execute_load_directory_sorted), (execute_get_file_info),
	(execute_load_directory), (xfer_callback), (execute_xfer),
	(gnome_vfs_job_execute), (gnome_vfs_job_cancel):
	Changed to use the separate op structure so we can support starting
	a new operation before we have notified about the last one. Also added
	code to handle the case of an open that's cancelled after the file is
	opened, but before the callback has been called.
	
	* libgnomevfs/gnome-vfs-backend.c:
	(gnome_vfs_debug_get_thread_count): Added thread count interface for
	testing and debugging.
	
	* libgnomevfs/gnome-vfs-utils.h:
	* libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_file_size_to_string),
	(gnome_vfs_escape_string), (gnome_vfs_ascii_hex_to_char),
	(gnome_vfs_unescape_string): Remove the "_ht" and HT from the names.
	
	* test/.cvsignore:
	* test/Makefile.am:
	* test/test-async-cancel.c: (get_free_file_descriptor_count),
	(get_used_file_descriptor_count), (wait_for_boolean),
	(wait_until_vfs_threads_gone),
	(wait_until_vfs_threads_gone_no_main),
	(wait_until_file_descriptors_gone), (test_failed),
	(get_file_info_callback), (first_get_file_info),
	(test_get_file_info), (file_open_callback), (file_close_callback),
	(file_read_callback), (test_open_read_cancel_close),
	(test_open_cancel), (main):
	Added a new test, test-async-cancel. This one is run as part of make
	check and it checks for all the problems I was trying to fix.

	* configure.in: Turned on -Werror for all directories. Also turned
	on extra warnings like in Nautilus.
	* libgnomevfs/gnome-vfs-parse-ls.c: (finduid), (findgid):
	Fixed warnings.
	* test/gnome-file-selection/gnome-file-selection.c: Fixed a warning.
	
	* libgnomevfs-corba/Makefile.am:
	* libgnomevfs-pthread/Makefile.am:
	* libgnomevfs/Makefile.am:
	* modules/Makefile.am:
	Took out now-unnecessary $(WERROR) lines.
	
2000-05-08  Ettore Perazzoli  <ettore@helixcode.com>

	* libgnomevfs-corba/Makefile.am: Don't use `GNOME_CFLAGS'.

2000-05-08  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(system_time):
	Fix it to return a correct value.
	
2000-05-07  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-backend.c
	(report_failure_get_file_info_callback),
	libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_empty_trash): Fixed
	some uninitialized variable warnings.

2000-05-07  Maciej Stachowiak  <mjs@eazel.com>

	* data/mime/gnome-vfs-mime: Fixed some of the broken mime types.

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

	* gnome-vfs/configure.in:
	* libgnomevfs/Makefile.am:
	* libgnomevfs-corba/Makefile.am:
	* libgnomevfs-pthread/Makefile.am:
	* modules/Makefile.am:
	* test/Makefile.am:
	Turn on a flag to treat warnings as errors. This would have caught
	the two bugs I fixed in my previous checkin.
	
	* libgnomevfs/gnome-vfs-mime-info.c:
	* libgnomevfs/gnome-vfs.h:
	* modules/extfs-method.c:
	* test/test-async-directory.c:
	Fix all warnings in gnome-vfs.
	
2000-05-07  Pavel Cisler  <pavel@eazel.com>

	* modules/translate-method.c: (tr_args_parse):
	Fixed the translate module that got broken recently.
	(b_strcasecmp->g_strcasecmp). This broke viewing
	man pages, etc. in Nautilus.
	
	* modules/translate-method.c: (tr_do_find_directory):
	Fixed an obvious bug in parameter passing that was 
	triggering a warning.

2000-05-06  Darin Adler  <darin@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine):
	Turned off the call to gnome_vfs_destroy, reintroducing the
	leak. Hopefully this makes things work again, but the leak
	is back until I get a real fix.
	
	* libgnomevfs/gnome-vfs-context.h: Fixed a typo in the macro
	that made it work only on variables named "context".

2000-05-05  Darin Adler  <darin@eazel.com>

	* libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_destroy):
	Oops. One loose end. Gotta avoid a little race condition.

2000-05-05  Darin Adler  <darin@eazel.com>

	Fixed the leak of a ton of objects and 4 file descriptors for
	every async. call.

	* libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine):
	Destroy jobs when we are done with them.
	
	* libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_close_callback):
	Took out the bogus call to destroy the job in here.
	(dispatch_job_callback): Added logic to get rid of the callback
	when we are done with it. Since there's no remove call, we need
	to send an additional notify just to get the call to remove
	itself.
	(gnome_vfs_job_new): Initialize want_notify_ack which had a
	random value in the old code. Also initialize the new "done"
	flag which is used to kill the above callback.
	(gnome_vfs_job_destroy): Got rid of bogus code in here that
	acquired the access lock, since this is only called from code
	that already has it. Added a call to job_notify so the callback
	can release itself. Removed the call to cancel the slave since
	the job is destroyed by the slave. Uncommented the code to free
	the execution condition, since that was an artifact of the old
	bad way the code was structured.
	* libgnomevfs-pthread/gnome-vfs-job.h: Added the "done" field.
	
	* libgnomevfs/.cvsignore: Ignore gnome-vfs-gen-mimedb.

2000-05-05  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-gen-mimedb: Removed from CVS. This
	is a generated file and I shouldn't have checked it in earlier.
	
	* libgnomevfs/gnome-vfs-mime-info.h,
	* libgnomevfs/gnome-vfs-mime-info.c:
	(gnome_vfs_mime_program_list), (gnome_vfs_mime_program_name_list),
	(gnome_vfs_mime_program_name_list_free):  Removed these
	list-based functions with Miguel's blessing. They shouldn't
	have gotten into the old gnome-mime.c, and they're not
	needed for Nautilus or apparently anything else.
	* libgnomevfs/gnome-vfs-mime.h,
	* libgnomevfs/gnome-vfs-mime.c:
	Added #include <time.h> to shut up warning.
	(gnome_vfs_mime_type_list), (gnome_vfs_mime_type_list_or_default), 
	(gnome_vfs_mime_type_list_of_file),
	(gnome_vfs_mime_type_list_or_default_of_file): Removed these
	list-based functions with Miguel's blessing. They shouldn't
	have gotten into the old gnome-mime.c, and they're not
	needed for Nautilus or apparently anything else.

2000-05-03  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c (remove_file), (remove_directory),
	(gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_uri_internal):
	Make emptying Trash update the progress_info structure properly
	to allow the progress dialog to display the right numbers.

	* libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri_internal):
	Call progress with GNOME_VFS_XFER_PHASE_READYTOGO when emptying
	the Trash properly.
	
	* libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_private):
	Fix broken const.

2000-05-03  Dave Camp  <campd@oit.edu>

	* modules/gconf-method.c (do_open): 
	(do_create): 
	(do_close): 
	(do_open_directory): 
	(do_close_directory): 
	(do_read_directory): 
	(do_get_file_info): Fixed prototypes to match the current gnome-vfs
	api.
	(MAKE_ABSOLUTE): Make sure there is no trailing '/', as gconf doesn't
	like them.
	(directory_handle_new): Create a mutex for accessing the pairs.
	(directory_handle_destroy): Free the pair mutex.
	(set_mime_type_value): Change the mime-types.
	(set_stat_info_dir): 
	(set_stat_info_value): Reflect changes in gnome-vfs api.
	(do_get_file_info): 
	(do_open_directory): Perform locking for gconf accesses, and reflect
	gconf api changes.
	(read_directory): Perform locking when accessing the pairs, and
	correctly free the gconf pairs.
	(vfs_module_init): Reflect gconf api changes, and initialize a mutex
	for locking gconf.
	(vfs_module_shutdown): Free the gconf mutex.

2000-05-03  Michael Meeks  <michael@helixcode.com>

	* libgnomevfs/gnome-vfs-file-info.c: s/strcasecmp/g_strcasecmp/

	* modules/translate-method.c: s/strcasecmp/g_strcasecmp/,
	indent.

2000-05-02  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.mime:
	Added a bunch of MIME types that were in the 1.0 branch
	of gnome-libs but not in HEAD.
	
	* data/mime/gnome-vfs.keys:
	Added a few missing keys that people had run into, and
	put the icon for core files here so it doesn't need to
	be special-cased in Nautilus.

2000-05-02  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.keys: Added description for
	image/svg.

2000-05-02  Dave Camp  <campd@oit.edu>

	* libgnomevfs/gnome-vfs-ops.h (gnome_vfs_move_uri):
	* libgnomevfs/gnome-vfs-ops.h (gnome_vfs_move):
	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_move_uri): 
	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_move): Renamed parameters,
	as the 'new' parameter was causing problems with C++ compilers.
	
2000-05-02  John Sullivan  <sullivan@eazel.com>

	* data/mime/gnome-vfs.mime: Alphabetized the mime types,
	and removed the duplicate entry for video/x-msvideo (avi)

2000-05-02  John Sullivan  <sullivan@eazel.com>

	Another step towards getting all the MIME handling code
	into gnome-vfs and out of gnome-libs. This step gets the
	data files and mime-magic stuff into gnome-vfs.

	* data/mime/gnome-vfs-mime-magic,
	* data/mime/gnome-vfs.mime,
	* data/mime/gnome-vfs.keys:
	New data files, cloned from "mime-magic", "gnome.mime",
	and "nautilus.keys", which these ones obviate.

	* Makefile.am,
	* configure.in,
	* data/.cvsignore:,
	* data/Makefile.am,
	* data/mime/.cvsignore,
	* data/mime/Makefile.am: New files -- build system fu to 
	get the new data files installed in the right places
	
	* gnome-vfs.spec.in: Added new data files to RPM. Not sure
	I got this part right, will ask Ramiro about it.
	
	* libgnomevfs/gnome-vfs-gen-mimedb,
	* libgnomevfs/gnome-vfs-gen-mimedb.c: New files, copied
	over from gnome-libs. These are used so a tool can be
	called to compile the mime-magic data into a database form.
	* libgnomevfs/Makefile.am: Build system fu to handle
	gnome-vfs-gen-mimedb.
	
	* libgnomevfs/gnome-vfs-mime-info.c (mime_info_load): Use
	gnome-vfs.keys and skip gnome.keys if found.
	
	* libgnomevfs/gnome-vfs-mime-magic.c:
	(gnome_vfs_mime_magic_db_load): Use gnome-vfs-mime-magic.dat
	instead of mime-magic.dat.
	(gnome_vfs_mime_type_from_magic): Use gnome-vfs-mime-magic
	instead of mime-magic.
	
	* libgnomevfs/gnome-vfs-mime.c (mime_load): Use gnome-vfs.mime
	and skip gnome.mime if found.

2000-05-01  John Sullivan  <sullivan@eazel.com>

	First steps at the grand move-MIME-handling-code-to-
	gnome-vfs plan.

	* libgnomevfs/gnome-vfs-mime-info.c,
	* libgnomevfs/gnome-vfs-mime-info.h,
	* libgnomevfs/gnome-vfs-mime-magic.c,
	* libgnomevfs/gnome-vfs-mime-magic.h,
	* libgnomevfs/gnome-vfs-mime.c,
	* libgnomevfs/gnome-vfs-mime.h:
	New files, cloned from similarly-named ones in gnome-libs. 
	I started with the HEAD versions of these files, which
	include some mime-list API that I'm not sure yet if we
	actually need (but is currently sitting there uncalled,
	so no biggie for now). All code should now start using
	these instead of the code in gnome-libs, which will
	eventually be obsoleted.

	* libgnomevfs/Makefile.am:
	Put these new files into the build.
	
	* modules/extfs-method.c (read_directory_list):
	* modules/file-method.c (set_mime_type):
	* modules/ftp-method.c (_ftpfs_read_directory), (fill_file_info):
	* modules/pipe-method.c (set_mime_type):
	* test/gnome-file-selection/gicon.c (gicon_get_icon_for_file_2):
	Update all callers in gnome-vfs to use the new gnome-vfs mime
	calls.

2000-05-01  Ian McKellar  <yakk@yakk.net>

	* modules/ftp-method.c:
	(ftpfs_chdir_internal): Assume path=="" is equivalent to path=="/".
	(ftpfs_open_directory): Check return value of retrieve_dir.

	FTP URIs should now work. Miguel says that ftp-method needs to be made
	thread-safe, but I'm not sure how to do this.

2000-04-26  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_xfer_empty_trash):
	Set up progress phase properly. This fixes a problem with the 
	progress dialog getting instantiated twice.

	* libgnomevfs/gnome-vfs-xfer.c:
	(remove_directory):
	Properly initialize and return result.
	

2000-04-26  Darin Adler  <darin@eazel.com>

	* gnome-vfs-private-ops.c: 
	(gnome_vfs_open_uri_cancellable),
	(gnome_vfs_create_uri_cancellable), (gnome_vfs_close_cancellable),
	(gnome_vfs_read_cancellable), (gnome_vfs_write_cancellable),
	(gnome_vfs_seek_cancellable),
	(gnome_vfs_get_file_info_uri_cancellable),
	(gnome_vfs_get_file_info_from_handle_cancellable),
	(gnome_vfs_truncate_uri_cancellable),
	(gnome_vfs_truncate_handle_cancellable),
	(gnome_vfs_make_directory_for_uri_cancellable),
	(gnome_vfs_find_directory_cancellable),
	(gnome_vfs_remove_directory_from_uri_cancellable),
	(gnome_vfs_unlink_from_uri_cancellable),
	(gnome_vfs_move_uri_cancellable),
	(gnome_vfs_check_same_fs_uris_cancellable),
	(gnome_vfs_set_file_info_cancellable):
	Changed these all so they will handle the case where the are
	cancelled before they even begin.

2000-04-26  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-job.c: (execute_get_file_info):
	Fixed bug that would result in a thread that never dies.

2000-04-26  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c
	Fix a crash caused by using the wrong call to free a uri_list.
	
2000-04-26  Pavel Cisler  <pavel@eazel.com>

	Added gnome_vfs_find_directory to return well known directories.
	For now only returns Trash.
	* libgnomevfs/gnome-vfs-find-directory.c:
	* libgnomevfs/gnome-vfs-find-directory.h:
	* libgnomevfs/gnome-vfs-private-ops.c:
	* libgnomevfs/gnome-vfs-private-ops.h:
	* libgnomevfs/gnome-vfs-private-types.h:
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/Makefile.am:
	(gnome_vfs_find_directory_cancellable),
	(gnome_vfs_find_directory):
	Added gnome_vfs_find_directory to return well known directories.
	For now only returns Trash.

	* modules/file-method.c:
	* modules/translate-method.c:
	(do_find_directory), (tr_do_find_directory):
	Add support for find_directory.

	* modules/bzip2-method.c:
	* modules/extfs-method.c:
	* modules/ftp-method.c:
	* modules/gconf-method.c:
	* modules/gzip-method.c:
	* modules/http-method.c:
	* modules/pipe-method.c:
	Add empty support for find_directory to the remaining methods.

	* libgnomevfs/gnome-vfs-xfer.c:
	(remove_directory), (empty_directory), (remove_file),
	(directory_add_items_and_size), (calc_items_and_size),
	(gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_uri_internal),
	(libgnomevfs-corba/gnome-vfs-async-ops.c), 
	(libgnomevfs-pthread/gnome-vfs-async-ops.c):
	Add support for emptying Trash (or any other list of directories).

2000-04-26  Ian McKellar  <yakk@yakk.net>

	Fixed bug #489 (http://bugzilla.eazel.com/show_bug.cgi?id=489)

	* modules/http-method.c: checked for handle==NULL in 
	http_file_handle_destroy and http_handle_close.

2000-04-25  Darin Adler  <darin@eazel.com>

	Changed the async. get_file_info to do multiple files at a time.
	We don't even have a single-file version any more. We can always
	re-add it if it turns out to be useful.
	
	* idl/gnome-vfs-slave.idl:
	* libgnomevfs/gnome-vfs-async-ops.h:
	* libgnomevfs/gnome-vfs-backend.c
	(report_failure_get_file_info_callback),
	(report_failure_get_file_info), (gnome_vfs_async_get_file_info):
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(gnome_vfs_uri_list_to_corba_uri_list),
	(corba_gnome_vfs_async_get_file_info):
	* libgnomevfs-corba/gnome-vfs-slave-notify.c
	(strdup_or_null), (impl_Notify_get_file_info):
	* libgnomevfs-corba/gnome-vfs-slave.c (impl_Request_get_file_info):
	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(pthread_gnome_vfs_async_get_file_info):
	* libgnomevfs-pthread/gnome-vfs-job.h:
	* libgnomevfs-pthread/gnome-vfs-job.c
	(dispatch_get_file_info_callback), (execute_get_file_info):
	Changed get_file_info to work for multiple files.
	
	* libgnomevfs/gnome-vfs-file-info.h:
	Removed gnome_vfs_file_info_destroy macro.
	* libgnomevfs/gnome-vfs-file-info.c:
	(gnome_vfs_file_info_list_ref), (gnome_vfs_file_info_list_unref),
	(gnome_vfs_file_info_list_copy), (gnome_vfs_file_info_list_free):
	Added utility functions for manipulating a GList that contains
	GnomeVFSFileInfo pointers in it.
	
	* libgnomevfs/gnome-vfs-uri.h:
	* libgnomevfs/gnome-vfs-uri.c:
	(gnome_vfs_uri_list_ref), (gnome_vfs_uri_list_unref),
	(gnome_vfs_uri_list_copy), (gnome_vfs_uri_list_free):
	Added utility functions for manipulating a GList that contains
	GnomeVFSURI pointers in it.
	
	* libgnomevfs/gnome-vfs-utils.c (gnome_vfs_unescape_string):
	Fixed a warning.
	* libgnomevfs-corba/gnome-vfs-corba.c (gnome_vfs_corba_init):
	Fixed a warning.
	* libgnomevfs-corba/gnome-vfs-slave.c (init_corba):
	Fixed a warning (bad OAF init call).
	* modules/http-method.c (do_write): Fixed a warning.
	* libgnomevfs-corba/gnome-vfs-slave.c (xfer_progress_callback):
	Fixed a warning.
	
	* modules/extfs-method.c (free_directory_entries):
	Replaced a lingering gnome_vfs_file_info_destroy with a call to
	gnome_vfs_file_info_unref.
	(do_open_directory): Got rid of #warning which was redundant with
	a FIXME. (We'll be making all FIXME into bug reports.)
	
	* modules/ftp-method.c (ftpfs_open_socket), (retrieve_file),
	(ftpfs_open), (ftpfs_create): Turned #warning into FIXME. (We'll
	be making all FIXME into bug reports.)
	(_ftpfs_read_directory): Fixed a bad bug where the mime type was
	filled in without g_strdup. Potential memory trasher.
	
	* libgnomevfs-corba/gnome-vfs-slave.c (load_directory_not_sorted):
	Replaced a lingering gnome_vfs_file_info_destroy with a call to
	gnome_vfs_file_info_unref.
	
	* libgnomevfs/gnome-vfs-backend.c
	(gnome_vfs_async_load_directory):
	* libgnomevfs/gnome-vfs-directory-list.c:
	* libgnomevfs/gnome-vfs-directory-list.h:
	(gnome_vfs_directory_list_load), (gnome_vfs_directory_list_load_from_uri):
	* libgnomevfs/gnome-vfs-directory.h:
	* libgnomevfs/gnome-vfs-directory.c (open_from_uri), (open),
	(gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri)
	(directory_visit_internal), (gnome_vfs_directory_visit_uri),
	(gnome_vfs_directory_visit),
	(gnome_vfs_directory_visit_files_at_uri),
	(gnome_vfs_directory_visit_files):
	* libgnomevfs/gnome-vfs-ops.h:
	* libgnomevfs/gnome-vfs-ops.c:
	(gnome_vfs_get_file_info), (gnome_vfs_get_file_info_uri),
	(gnome_vfs_get_file_info_from_handle):
	* libgnomevfs/gnome-vfs-private-ops.h:
	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_get_file_info_uri_cancellable):
	(gnome_vfs_get_file_info_from_handle_cancellable):
	* libgnomevfs/gnome-vfs-private-utils.h:
	* libgnomevfs/gnome-vfs-private-utils.c
	(gnome_vfs_string_list_from_string_array)
	(gnome_vfs_forkexec),
	(gnome_vfs_process_run_cancellable):
	* libgnomevfs/gnome-vfs-process.h:
	* libgnomevfs/gnome-vfs-process.c (gnome_vfs_process_new):
	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(corba_gnome_vfs_async_load_directory),
	(corba_gnome_vfs_async_load_directory_uri):
	* libgnomevfs-corba/gnome-vfs-slave-launch.c
	(gnome_vfs_slave_launch):
	* modules/extfs-method.c (do_open):
	* libgnomevfs-pthread/gnome-vfs-async-ops.c (copy_meta_keys),
	(pthread_gnome_vfs_async_get_file_info):
	Added const as needed.
	
	* libgnomevfs/gnome-vfs-cancellation.c:
	* libgnomevfs/gnome-vfs-context.c:
	* libgnomevfs/gnome-vfs-directory-filter.c:
	* libgnomevfs/gnome-vfs-directory-list.c:
	* libgnomevfs/gnome-vfs-directory.c:
	* libgnomevfs/gnome-vfs-directory.h:
	* libgnomevfs/gnome-vfs-file-info.h:
	* libgnomevfs/gnome-vfs-handle.c:
	* libgnomevfs/gnome-vfs-handle.h:
	* libgnomevfs/gnome-vfs-inet-connection.c:
	* libgnomevfs/gnome-vfs-iobuf.c:
	* libgnomevfs/gnome-vfs-messages.c:
	* libgnomevfs/gnome-vfs-private-types.h:
	* libgnomevfs/gnome-vfs-private.h:
	* libgnomevfs/gnome-vfs-regexp-filter.c:
	* libgnomevfs/gnome-vfs-shellpattern-filter.c:
	* libgnomevfs/gnome-vfs-types.h:
	* libgnomevfs/gnome-vfs-utils.h:
	* libgnomevfs-pthread/gnome-vfs-job.h:
	Got rid of leading underscores in many places where they were
	unnecessary and violate the ANSI C standard. There are still more.
	
2000-04-25  Ettore Perazzoli  <ettore@helixcode.com>

	* libgnomevfs-corba/Makefile.am: Use `OAF_CFLAGS' too to make sure
	we get the right `CFLAGS'.

2000-04-20  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(move_items):
	Move the call_progress call after where the file was moved, that way the
	file is in guaranteed to be in it's final destination when the callback 
	kicks in for it.
	
2000-04-19  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-file-info.c:
	* libgnomevfs/gnome-vfs-file-info.h:
	(gnome_vfs_file_info_matches):
	Added a new call.

	* libgnomevfs/gnome-vfs-xfer.c:
	Added a bunch of call_progress calls to ensure we can follow all 
	the file system changes during a copy.

2000-04-19  Pablo Saratxaga <pablo@mandrakesoft.com>

	* configure.in (ALL_LINGUAS): added Catalan

2000-04-18  Pavel Cisler  <pavel@eazel.com>

	Fixed two bugs Darin ran into.

	* libgnomevfs/gnome-vfs-xfer.c:
	(call_progress_with_current_names), (handle_error),
	(handle_overwrite):
	Made error/overwrite dialogs properly show the file that was being copied
	while an error ocurred.

	* libgnomevfs/gnome-vfs-xfer.c:
	(handle_name_conflicts):
	Add a way for the progress callback to find out if a single or multiple
	items ended up conflicting. That way the progress callback can determine
	if to add a Replace All option or not.

	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_xfer_private):
	Added a workaround for a bug that happens when the caller of the
	routine tries to handle a returned error by calling the progress 
	callback -- the problem is that that at that point the progress
	could have already cleaned up after itself knwong that the copy
	operation is over and could have deleted it's user data.
	
	* libgnomevfs/gnome-vfs-xfer.c:
	* test/test-xfer.c:
	Fixed warnings.

2000-04-18  Pavel Cisler  <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(handle_error):
	Made the error return value get set to GNOME_VFS_OK after
	Skip is selected -- This caused gnome_vfs_xfer_private to
	return an unexpected error that execute_xfer didn't know how
	to deal with.

	* libgnomevfs-pthread/gnome-vfs-job.c:
	(execute_xfer):
	Properly set up the dummy progress_info and progress_state
	structs used for reporting unexpexted error results returned
	by gnome_vfs_xfer_private.
	
2000-04-18  Pavel Cisler  <pavel@eazel.com>

	Fixed a bug in error reporting that I introduced in my
	previous checkin.

	* libgnomevfs/gnome-vfs-xfer.c:
	(handle_error):
	Set the progress_info->status value to the correct error value.
	(move_items):
	Fix a bug in a retry case - the result value needs to get reset to
	GNOME_VFS_OK after Retry is selected.
	
2000-04-17  Maciej Stachowiak  <mjs@eazel.com>

	Work with either OAF or GOAD: 
	
	* libgnomevfs-corba/gnome-vfs-corba.c,
	libgnomevfs-corba/gnome-vfs-salve.c: initialize appropriately for
	GOAD or OAF.
	* libgnomevfs-corba/gnome-vfs-async-ops.c,
	libgnomevfs-corba/gnome-vfs-slave-notify.c,
	libgnomevfs-corba/gnome-vfs-slave-process.c: Remove gratuitous
	include of <libgnorba/gnorba.h>
	* libgnomevfs-corba/Makefile.am: Link against the appropriate
	choice of OAF or GNORBA.
	* configure.in, acconfig.h: Add --enable-oaf option and if used,
	check for OAF.

2000-04-17  Pavel Cisler  <pavel@eazel.com>

	Made it possible for the gnome-vfs async copy engine to have
	two kinds of progress callbacks - one that gets called every 
	hundred milliseconds or when user response is required and one
	that gets called for every single copy operation primitive.
	The latter is not called in the context of the master process
	and is much lighterweight to invoke. Nautilus will be using
	this callback mechanism to queue up notification records during
	a copy.

	* libgnomevfs/gnome-vfs-async-ops.h:
	* libgnomevfs/gnome-vfs-backend.c:
	* libgnomevfs-corba/gnome-vfs-async-ops.c:
	* libgnomevfs-pthread/gnome-vfs-job.c:
	* libgnomevfs-pthread/gnome-vfs-job.h:
	(gnome_vfs_xfer_async), (corba_gnome_vfs_async_xfer),
	(pthread_gnome_vfs_async_xfer):
	Add optional sync callback and parameters. Pass the new 
	parameters around.

	* libgnomevfs/gnome-vfs-private-ops.h:
	* libgnomevfs/gnome-vfs-xfer.c:
	(gnome_vfs_xfer_private):
	Add new private common copy engine entry point.

	* libgnomevfs/gnome-vfs-private-types.h:
	* libgnomevfs/gnome-vfs-xfer.c:
	Add new GnomeVFSProgressCallbackState that contains the
	two callback, their user data, the timing logic for calling the
	update callback often.
	(handle_error), (remove_file), (remove_directory), (copy_file_data),
	(xfer_open_source), (xfer_create_target), (gnome_vfs_xfer_uri_internal),
	(gnome_vfs_xfer_uri), (gnome_vfs_xfer), (gnome_vfs_xfer_private)
	Rework xfer calls to pass around the new GnomeVFSProgressCallbackState
	structure.
	
	* libgnomevfs/gnome-vfs-private-types.h:
	* libgnomevfs/gnome-vfs-xfer.c:
	(call_progress), (progress_set_source_target_uris), 
	(progress_set_source_target_names), (init_progress),
	(call_progress_uri), (call_progress_often),
	(call_progress_with_uris_often):
	Reworked progress calls to use GnomeVFSProgressCallbackState.

	* libgnomevfs/gnome-vfs-types.h
	* libgnomevfs-corba/gnome-vfs-slave-notify.c:
	* libgnomevfs-corba/gnome-vfs-slave.c:
	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	* test/test-xfer.c:
	Add new enum values so that progress callbacks can
	detect whether a copy, move or remove operations is being performed.
	Got rid of the GNOME_VFS_XFER_PHASE_XFERRING enum value.

	* gnome-vfs/libgnomevfs/gnome-vfs-xfer.h
	Got rid of an obsolete comment.

2000-04-13  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-async-ops.h:
	* libgnomevfs/gnome-vfs-backend.c:
	Changed the async. operations so they report their errors through
	the callbacks all the time instead of sometimes returning an error
	code immediately. This is more convenient for callers, although
	it's a bit more complex to implement.

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(pthread_gnome_vfs_async_load_directory):
        * test/test-async-directory.c (main):
        * test/test-async.c (main):
        * test/test-channel.c (main):
	Fix callers so they no longer expect a result code.
	
	* .cvsignore: Another generated file to ignore.

2000-04-12  Pavel Cisler <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c.c:
	(gnome_vfs_xfer_uri_internal), (count_items_and_size):
	Make the move operation properly preflight by only adding up
	the items to move nonrecursively.

2000-04-11  Pavel Cisler <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c.c:
	(gnome_vfs_xfer_uri), (gnome_vfs_xfer_uri_internal),
	(handle_name_conflicts):
	Fixed problems with using "Skip" during a move/copy conflict.
	The first problem was that a skip flag wasn't being checked properly.
	The second, bigger problem, was that the handle_name_conflicts
	had no good way of telling the rest of the copy engine that
	a given file was skipped. Now it gets a copy of the source/
	targe item lists and optionally removes the items the user 
	chose to skip.

2000-04-11  John Sullivan <sullivan@eazel.com>

	* modules/file-method.c:
	(do_get_file_info): statbuf was passed to set_mime_type
	uninitialized. Fixed by passing &statbuf to get_stat_info,
	which was obviously the original intention.

2000-04-11  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-backend.c (gnome_vfs_async_create_uri):
	Added another missing async. cover routine.

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

	* libgnomevfs/gnome-vfs-xfer.c:
	* libgnomevfs/gnome-vfs-types.h:
	Fixed up the copy engine.
	Added an option to create duplicate items with the help of
	the progress_callback.
	Worked around a problem where calling progress_callback in async
	mode was causing context switches each time and degreaded performance.
	For now made it only call the callback every 200 ms for cases where
	response is not important. This will get reworked eventually.
	(progress_set_source_target_names), (progress_set_source_target_uris),
	(call_progress), (call_progress_uri), (call_progress_often),
	(call_progress_with_uris_often):
	Added a bunch of convenience calls for calling the progress callback.
	(gnome_vfs_visit_list):
	Convenience call to iterate a base uri and a list of name, similar to
	the visit directory calls.
	(count_items_and_size):
	New preflight call - calculates the sum and total size of copied files.
	Made all preflight operations call progress_info and be interruptible.
	(handle_name_conflicts):
	New preflight call - finds out if there are conflicts in the target 
	destination and optionally prompts the user to remove them.
	(create_directory), (copy_directory), (gnome_vfs_xfer_uri):
	Reworked the copy engine to use a recursive directory copy instead
	one that first creates a flat list. This way the copy will be able to
	deal with directories being moved from under the copy operation
	properly.
	(remove_file), (remove_directory):
	Call progress callback to make them interruptible, make remove_directory
	optionally recursive.

	* libgnomevfs-pthread/gnome-vfs-job.c:
	(xfer_callback):Fixed a bug where notify.progress_info was not being
	initialized.

	* libgnomevfs-pthread/gnome-vfs-job.c:
	* libgnomevfs-corba/gnome-vfs-slave.c:
	Renamed the GNOME_VFS_XFER_PHASE_UNKNOWN to GNOME_VFS_XFER_PHASE_INITIAL
	(the phase is always known and an initial phase was needed).

2000-04-06  Ian McKellar <yakk@yakk.net>

	* modules/http-method.c:
	Added code to recognise stupid web servers that return an invalid
	reply to PROPFIND requests.

2000-04-05  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c (fast_move): Fixed an infinite
	loop. (It even had a comment that said it was an infinite loop.)

	* libgnomevfs/gnome-vfs-seekable.c (init_seek): Got rid of \n
	in a g_warning.

2000-04-05  Ian McKellar <yakk@yakk.net>

	* modules/http-method.c:
	Added a create method, and fixed the write/close method so that
	Nautilus can successfully store metafiles, and so writing to WebDAV
	repositories will work in the future.

2000-04-04  Andy Hertzfeld <andy@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c:
	fixed critical assertion that Nautilus was encountering using
	non-filesystem uris by making sure the uri was reference before
	calling unref.
	
2000-04-04  Ian McKellar <yakk@yakk.net>

	* modules/http-method.c:
	Fixed WebDAV directory code to remove leading "/" from filenames.

2000-03-29  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-directory.c (open_from_uri):
	Use CHECK_IF_SUPPORTED macro to be consistent with the rest of the file.

	* libgnomevfs/gnome-vfs-private-ops.c:
	(gnome_vfs_open_uri_cancellable), (gnome_vfs_create_uri_cancellable),
	(gnome_vfs_set_file_info_cancellable):
	Added missing checks for NULL in the module. The rest of the operations
	had checks for NULL.
	
	* libgnomevfs/gnome-vfs-uri.c:
	(gnome_vfs_uri_is_local): Check for a NULL is_local pointer. Unlike the
	other operations, for this one it's illegal to be NULL since there is
	no way to return the NOTSUPPORTED error code.

	* test/.cvsignore: Missing file.

2000-03-28 Pavel Cisler <pavel@eazel.com>

	* libgnomevfs/gnome-vfs-xfer.c:
	(move_file): initialize "skip" properly.
	
	* libgnomevfs/gnome-vfs-uri.c:
	(gnome_vfs_uri_get_parent): strip trailing slashes. Handle 
	multiple slashes properly.

	* libgnomevfs-pthread/gnome-vfs-job.c:
	(execute_xfer): pass the proper job structure.

	* libgnomevfs-pthread/gnome-vfs-async-ops.c:
	(pthread_gnome_vfs_async_xfer): pass the proper job type selector.
	
2000-03-28 John Sullivan <sullivan@eazel.com>
	* gnome-vfs-uri.c:
	(gnome_vfs_uri_extract_short_name): Check for empty-string
	host name as well as NULL.

2000-03-28 John Sullivan <sullivan@eazel.com>

	* gnome-vfs-uri.h,
	* gnome-vfs-uri.c:
	(gnome_vfs_uri_extract_short_name): Made this function return the
	host name (if any) when there's no path. Formerly it just returned
	"/" in that case.
	(gnome_vfs_uri_extract_short_path_name): New function, really a
	renaming of the old gnome_vfs_uri_extract_short_name. There are those
	who argue that this should be renamed extract_basename and the current
	get_basename (which doesn't handle trailing path separators according
	to XPG spec) should be abolished.

2000-03-25 Yukihiro Nakai <nakai@gnome.gr.jp>
	
	* configure.in: Added Japanese translation from Akira Tagoh.

2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com>
	
	* configure.in,po/lt.po: Added Lithuanian language file

2000-03-13 Elliot Lee <sopwith@redhat.com>
	
	* modules/Makefile.am: Finish the help-method move. Move module-shared stuff to
	libgnomevfs.
	* libgnomevfs/Makefile.am: Install our "private" headers for use by modules.

	* modules/http-method.c: #if 0 debug messages.
	* libgnomevfs/gnome-vfs-uri.c: Fix split_toplevel_uri for URIs with a hostname but no path.
	* modules/Makefile.am: Move help-method over to nautilus.

2000-03-10  Ian McKellar  <yakk@yakk.net>
	
	* modules/http-method.c
	Added made do_get_file_info* understand WebDAV servers.
	Also, made WebDAV collections return the mime-type special/webdav-directory.

2000-03-10  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* TODO: added pointers to other similar projects

2000-03-09  Jonathan Blandford  <jrb@redhat.com>

	* libgnomevfs/gnome-vfs-types.h: Add a urn field to
	GnomeVFSToplevelURI.  This will let us add VFS modules that simply
	change a totally virtual name to a actual URL.

	* modules/help-method.c: New module to allow for "help:*" URL's.
	* modules/help-method.h:

	* modules/Makefile.am: added help module.

	* libgnomevfs/gnome-vfs-method.c (gnome_vfs_transform_get): Allow
	Transformations.  Clean up the code a little.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): changed to
	allow for translations.  Also, code cleaned up a lot.

2000-03-09  Ian McKellar  <yakk@yakk.net>
	
	* modules/http-method.c
	Added (open|read|close)_directory support for WebDAV servers.

	* configure.in, modules/Makefile.am
	Added checks for gnome-xml as are required for the WebDAV directory
	code.

2000-03-07  Ian McKellar  <yakk@yakk.net>
	
	* modules/http-method.c
	Added PUT support (i.e. WebDAV or HTTP/1.1 file upload).

	* test/test-sync-write.c
	Added a test program which writes from stdin to a URI.

	* test/test-sync.c
	Patched test-sync.c to handle larger files.

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

	* libgnomevfs/gnome-vfs-private-ops.c
	(gnome_vfs_get_file_info_uri_cancellable): If the `get_file_info'
	method is not implemented, return `GNOME_VFS_ERROR_NOTSUPPORTED'
	instead of crashing.

	* configure.in: Generate `gnome-vfs.spec' from
	`gnome-vfs.spec.in'.

	* gnome-vfs.spec.in: New file.  From Ross Golder
	<rossigee@bigfoot.com>.

2000-03-03  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-utils.c, libgnomevfs/gnome-vfs-utils.h
	(gnome_vfs_escape_string, gnome_vfs_unescape_string): New
	functions to escape and unescape URI strings; patch from Gene
	Z. Ragan <gzr@diskzero.com>.

2000-03-02  Maciej Stachowiak  <mjs@eazel.com>

	* modules/http-method.c (get_file_info_from_http_handle): Don't
	pretend we know the file size when we don't.

2000-02-24  Ettore Perazzoli  <ettore@helixcode.com>

	* test/test-directory.c (print_list): Deal with a NULL MIME type.

	Patch from Marcus Nilsson <marcusn@docs.uu.se>:
	* modules/file-method.c (struct _DirectoryHandle): Made
	`current_entry' a pointer to a `struct dirent *' instead of just a
	`struct dirent'.
	(read_directory): Updated accordingly.
	(directory_handle_new): Allocate `current_entry' with
	`g_malloc()', allocating extra space as required by `readdir_r()'.
	(directory_handle_destroy): Free `current_entry'.

2000-02-22  Ettore Perazzoli  <ettore@helixcode.com>

	* Version 0.1 is released.

2000-02-21  Ettore Perazzoli  <ettore@helixcode.com>

	* libgnomevfs/gnome-vfs-cancellation.c
	(gnome_vfs_cancellation_check): If the cancellation is NULL, just
	return FALSE.
	(gnome_vfs_cancellation_ack): If the cancellation is NULL, just
	return.

	* test/test-xfer.c (xfer_progress_callback): Use
	`GNOME_VFS_SIZE_FORMAT_STR' to match the types.

	* test/test-async-directory.c (main) [!WITH_CORBA]: Do not define
	`ev', so that we don't get annoying compiler warnings.

	* test/test-xfer.c (xfer_progress_callback): Add casts.

	* test/test-directory-visit.c (directory_visit_callback): Add
	cast.

	* test/test-directory.c (print_list): Add cast.

	* test/test-async-directory.c (main): Removed unused variable.

	* modules/translate-method.c (tr_do_read_directory): Added cast to
	placate the compiler.

	* modules/file-method.c (do_get_file_info_from_handle):
	s/gnome_vfs_extract_short_name/gnome_vfs_uri_extract_short_name/.
	`gnome_vfs_extract_short_name' does not even exist!

	* modules/extfs-method.c: Add missing NULL pointer in
	initialization of `method'.

	* libgnomevfs-corba/gnome-vfs-slave.c (serve_channel_read): Use
	`GNOMEVFSFileSize' instead of `gulong'.
	(serve_channel_write): Likewise.

	* modules/Makefile.am (libhttp_la_LIBADD): Do not link the HTTP
	module with `-lghttp' (we don't actually use it).

2000-02-21  Jonathan Blandford  <jrb@redhat.com>

	* libgnomevfs/gnome-vfs-cancellation.c
	(gnome_vfs_cancellation_check): change g_return_if_fail to be a
	g_return_val_if_fail.  I don't know if the g_ function is right
	here, but until that gets straightened out, make it compile.

2000-02-21 Elliot Lee <sopwith@redhat.com>
	* libgnomevfs/gnome-vfs-configuration.c: "Home made check" is supposed to be there.
	g_return_if_fail inappropriate, change reverted.

2000-02-20  Mathieu Lacage <mathieu@advogato.org>

	* libgnomevfs/gnome-vfs-configuration.c: plug memory leak in
	module_path_element_free intorduced by someone who forgot
	the arg element. Change a home-made check in g_return_if_fail.
	* libgnomevfs/gnome-vfs-cancelation.c: Change home-made check
	in g_return_if_fail.

2000-02-18  Maciej Stachowiak  <mjs@eazel.com>

	* modules/file-method.c (do_get_file_info,
	do_get_file_info_from_handle): Use gnome_vfs_extract_short_name on
	the URI rather than g_basename on the filename to get the
	basename. g_basename is broken.

2000-02-17  Jonathan Blandford  <jrb@redhat.com>

	* modules/default-modules.conf (ghelp): add ghelp to the list of
	known domains.

2000-02-16  Elliot Lee  <sopwith@redhat.com>
	* test/test-async.c: Exit after receiving read(), no matter what result is received.
	* modules/pipe-method.c: Check fread() result for being > 0, not !EOF
	* libgnomevfs/gnome-vfs-uri.c: Don't add leading /
	* libgnomevfs/gnome-vfs-backend.c: Add assert to ensure initialization.
	* modules/default-methods.conf: Pass filename to gnome-man2html2 instead of redirecting
	it as input.

2000-02-15  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-configuration.c:
	(gnome_vfs_configuration_get_module_path): Just clarified an
	error message.

2000-02-14  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs/gnome-vfs-types.h: Added a GnomeVFSFIleInfoFields
	enumeration, and added a field of this type (valid_fields) to
	GnomeVFSFileInfo, so that cases where get_file_info returns
	incomplete information can be handled gracefully.
	* modules/extfs-method.c, modules/file-method.c,
	modules/ftp-method.c, modules/http-method.c,
	modules/module-shared.c, modules/pipe-method.c,
	modules/translate-method.c: Set the valid_fields

2000-02-09  Elliot Lee  <sopwith@redhat.com>

	* libgnomevfs/gnome-vfs-messages.c, libgnomevfs/gnome-vfs-method.c,
	libgnomevfs/gnome-vfs-process.c, libgnomevfs-corba/gnome-vfs-async-ops.c,
	libgnomevfs-corba/gnome-vfs-slave-launch.c, libgnomevfs-corba/gnome-vfs-slave-notify.c,
	libgnomevfs-corba/gnome-vfs-slave-process.c, modules/ftp-method.c: Remove excess
	debugging output.

	* libgnomevfs/gnome-vfs-handle.c, libgnomevfs/gnome-vfs-handle.h,
	libgnomevfs/gnome-vfs-ops.c, libgnomevfs/gnome-vfs-ops.h,
	libgnomevfs/gnome-vfs-private-ops.c,
	libgnomevfs/gnome-vfs-private-ops.h,
	libgnomevfs/gnome-vfs-private-types.h,
	libgnomevfs/gnome-vfs-seekable.c: Add gnome_vfs_truncate and gnome_vfs_truncate_handle.
	* modules/bzip2-method.c, modules/extfs-method.c,
	modules/file-method.c, modules/ftp-method.c,
	modules/gconf-method.c, modules/gzip-method.c,
	modules/http-method.c, modules/pipe-method.c,
	modules/translate-method.c: Implement truncate (or don't).
	* libgnomevfs-corba/gnome-vfs-corba.c: putenv("GNOME_DISABLE_CRASH_DIALOG=1") so we don't get stupid crash dialogs.
	* libgnomevfs-pthread/gnome-vfs-async-ops.c: Fix obvious get_file_info bug.

2000-02-07  Elliot Lee  <sopwith@redhat.com>

	* libgnomevfs-corba/gnome-vfs-slave-notify.c: When memcpy'ing over a new GnomeVFSFileInfo, reset the refcount to 1
	so that we can unref it later.
	* libgnomevfs-corba/gnome-vfs-slave.c: Fix stupid cut & paste bug that was using the wrong loop variable.
	Also unref the file_info instead of destroying it.

2000-02-02  Elliot Lee  <sopwith@redhat.com>

	* idl/gnome-vfs-slave.idl, libgnomevfs/gnome-vfs-async-ops.h,
	libgnomevfs/gnome-vfs-backend.c, libgnomevfs/gnome-vfs-types.h, libgnomevfs-corba/*.[ch], libgnomevfs-pthread/*.[ch]:
	Implement asynchronous get_file_info operation. Compiles but is untested.

	* libgnomevfs/gnome-vfs-method.c: Pass method_name and config options to the module.
	* libgnomevfs/gnome-vfs-private-types.h: Pass GnomeVFSMethod
	pointer as first arg to all method implementation routines.
	* libgnomevfs/*.c, modules/*.c: Reflect above changes.
	* libgnomevfs/gnome-vfs-configuration.[ch]: Parse and return
	module arguments from config file. Fix miscellaneous bugs.
	* modules/translate-method.c, modules/Makefile.am: Implement a
	'URI translation' module that just translates URIs according to configuration options, then passes them
	on to the real module.

2000-02-01  Darin Adler  <darin@eazel.com>

	* libgnomevfs-corba/gnome-vfs-slave-notify.c:
        Make more-easily-understood g_warning messages for
        cases where the wrong operation is in progress.

	* libgnomevfs/gnome-vfs-uri.c: Use defines instead of
        hard-coded '/' characters consistently.

2000-01-28  Elliot Lee  <sopwith@redhat.com>

	* libgnomevfs/gnome-vfs-configuration.c: Support reading multiple configuration files from multiple directories.
	* libgnomevfs/gnome-vfs-{configuration,private}.h: Move #defines from gnome-vfs-configuration.h to gnome-vfs-private.h
	* libgnomevfs/Makefile.am: Add defines of sysconfdir and libdir to cflags, remove prefix define. 
	* modules/Makefile.am: Rename modules.conf to default-modules.conf, and install into $(sysconfdir)/vfs/modules instead.

2000-01-27  Elliot Lee  <sopwith@redhat.com>

	* modules/pipe-method.[ch]: Implement a stupid one-cent trick pipe method - produces output of a pipe.

2000-01-27  John Sullivan  <sullivan@eazel.com>

	Moved, renamed, and made public GnomeVFSFileInfo-comparing routines.

	* libgnomevfs/gnome-vfs-file-info.c:
	* libgnomevfs/gnome-vfs-file-info.h:
	(gnome_vfs_file_info_compare_for_sort),
	(gnome_vfs_file_info_compare_for_sort_reversed):
	New functions, moved & renamed from static functions in
	gnome-vfs-directory-list.c. Changed third parameter from
	constgpointer to const GnomeVFSDirectorySortRule * for clarity.

	* libgnomevfs/gnome-vfs-directory-list.c:
	(compare_for_sort), (compare_for_sort_reversed): Removed.
	(gnome_vfs_directory_list_sort): Updated to reflect name change.

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

	* libgnomevfs/gnome-vfs-directory.c (directory_visit_internal):
	Unref instead of destroying the file info.
	(directory_visit_internal): Likewise.
	(directory_visit_internal): Likewise.
	(directory_visit_internal): Likewise.
	(gnome_vfs_directory_visit_files_at_uri): Likewise.

	* libgnomevfs/gnome-vfs-directory-list.c (remove_entry): Unref
	instead of destroying the file info.
	(gnome_vfs_directory_list_destroy): Likewise.
	(load_from_handle): Likewise.

2000-01-18  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-directory-list.c: (compare_for_sort):
	Made sorting by mime type handle NULL mime types (e.g. directories).

2000-01-18  Federico Mena Quintero  <federico@helixcode.com>

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_destroy): Removed.
	It does not make sense to have this function, as we have proper
	reference counting of URIs.
	(gnome_vfs_uri_new): Use gnome_vfs_uri_unref() instead of
	destroy() for the new_uri.
	(gnome_vfs_uri_unref): Added a sanity check for the reference
	count.

2000-01-18  Elliot Lee  <sopwith@redhat.com>

	* configure.in: We want ORBit, not gnorba.

2000-01-16  John Sullivan  <sullivan@eazel.com>

	Split utils into public and private, and moved file-size-as-string
	method into new public utils.

	* libgnomevfs/gnome-vfs-private-utils.h:
	* libgnomevfs/gnome-vfs-private-utils.c:
	New files, containing most of what was in gnome-vfs-utils.h/c.

	* libgnomevfs/gnome-vfs-utils.h:	
	* libgnomevfs/gnome-vfs-utils.c:	
	Moved everything from here to gnome-vfs-private-utils.h/c, except...
	(gnome_vfs_size_as_string): Renamed to gnome_vfs_file_size_as_string,
	changed parameter from ulong to GnomeVFSFileSize, replaced 
	implementation with similar but slightly cleaner code written by Havoc
	in nautilus/src/file-manager/fm-directory-view.c

	* Makefile.am: Moved gnome-vfs-utils.h to public headers, added
	gnome-vfs-private-utils.h/.c to the build.

	* modules/http-method.c: (create_handle), (do_read): Updated all
	callers of gnome_vfs_size_as_string to reflect new name.

2000-01-16  Federico Mena Quintero  <federico@helixcode.com>

	* libgnomevfs-pthread/Makefile.am: Do not put $(VFS_LIBS) in the
	library LDADD.

2000-01-14  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-uri.h: libgnomevfs/gnome-vfs-uri.c:
	(gnome_vfs_uri_extract_short_name): Added a new function to get the
	short form of a uri. This is the same as the XPG version of basename,
	and the basename tool, but g_basename, gnome_vfs_uri_get_basename, and
	gnome_vfs_uri_extract_dirname use a different definition, where the
	basename of a uri that points to a directory with a trailing '/' is
	NULL. The short_name variant is useful when you want to know the name
	of a directory even though the uri might end in '/'.

2000-01-11  Darin Adler  <darin@eazel.com>

	* libgnomevfs-corba/gnome-vfs-slave-notify:
	(impl_Notify_dying): Changed the messages to use g_message instead
	of g_warning, since they are normal.

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

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_get_basename): Do not
	strdup.

2000-01-06  Darin Adler  <darin@eazel.com>

	* libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_open_uri):
	Implemented this missing routine.

2000-01-04  John Sullivan  <sullivan@eazel.com>

	* libgnomevfs/gnome-vfs-uri.c: (gnome-vfs-uri-new):
	Removed g_return_val_if_fail() for empty string case,
	since rest of routine handles empty string identically
	to any other bogus string.
	* libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_get_file_info):
	Avoid calling gnome_vfs_uri_unref on NULL uri, to avoid
	g_return_if_fail.
	
2000-01-02  Tomasz Koczko  <kloczek@pld.org.pl>
        * configure.in, po/pl.po: added Polish translation
        (based on GNOME PL translation resources).

1999-12-30  Miguel de Icaza  <miguel@gnu.org>

	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(corba_gnome_vfs_async_cancel): Removed C++ comment.

1999-12-29  Elliot Lee  <sopwith@redhat.com>

	* acconfig.h, libgnomevfs/gnome-vfs-backend.[ch],
	libgnomevfs/gnome-vfs-init.[ch], libgnomevfs-{pthread,corba}/*:
	Load the corba & pthread backends via gmodule instead of linking
	them in.
	* modules/*-method.c: Fix warnings.

1999-12-29  Jesus Bravo Alvarez  <jba@pobox.com>

	* configure.in: (ALL_LINGUAS) Added Galician (gl).

1999-12-28  Martin Norbck <d95mback@dtek.chalmers.se>

	* configure.in: Added sv to ALL_LINGUAS.
	
1999-12-28  Yuri Syrota  <rasta@renome.rovno.ua>

	* configure.in: Added "uk" to ALL_LINGUAS.
	
1999-12-27  Matthias Warkus  <mawa@iname.com>

	* configure.in: Added de to ALL_LINGUAS.

1999-12-21  Elliot Lee  <sopwith@redhat.com>

	* modules/ftp-method.c: Fix get_file_info so MIME type gets filled in.

	* modules/http-method.c: Don't pass the full URL, since this violates the HTTP spec.
	* libgnomevfs/gnome-vfs-uri.c: Properly implement handling of all the hide_options.

	* modules/http-method.c: Don't treat redirections as an error.

	This is not quite the "right" solution, since redirections are
	similar to symlinks, and this change doesn't check for the
	GNOME_VFS_FILE_INFO_FOLLOW_SYMLINKS flag. It's also possible that
	the MIME type returned from a redirection is different than the
	MIME type of the target.

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

	* libgnomevfs/gnome-vfs-file-info.c (gnome_vfs_file_info_new):
	init refcount
	(gnome_vfs_file_info_init): init refcount
	(gnome_vfs_file_info_destroy): remove in favor of unref(), 
	with compatibility #define
	(gnome_vfs_file_info_unref): new function
	(gnome_vfs_file_info_ref): new function

	* libgnomevfs/gnome-vfs-types.h: Add refcount to GnomeVFSFileInfo.
	The refcount won't be used if the object is on the stack of course.
	
1999-12-16  Maciej Stachowiak  <mjs@eazel.com>

	* libgnomevfs-corba/gnome-vfs-async-ops.c,
	libgnomevfs-corba/gnome-vfs-slave-process.c : Avoid leaving around
	gnome-vfs-slave processes.

	* libgnomevfs/gnome-vfs-method.c (gnome_vfs_method_get): Avoid
	reinitializing the method table (nautilus was causing this to
	happen).
	
1999-12-16  Ettore Perazzoli  <ettore@helixcode.com>

	* libgnomevfs-corba/gnome-vfs-slave-notify.c
	(impl_Notify_load_directory): Actually set the list in the
	`GnomeVFSAsyncDirectoryOpInfo' struct when creating it from
	scratch.

1999-12-15  Elliot Lee  <sopwith@redhat.com>

	* libgnomevfs*/*.c: Fix warnings.
	* configure.in: Add --with-default-backend=...

1999-12-15  Darin Adler  <darin@eazel.com>

        * libgnomevfs/gnome-vfs-method.c: (load_module):
          Changed "Loading module" message to a g_message, since we
          want to ignore it, and we don't want to ignore g_warnings.
        * libgnomevfs/gnome-vfs-process.c: (wake_up):
          Changed "Process died" message to a g_message, since we
          want to ignore it, and we don't want to ignore g_warnings.
          (gnome_vfs_process_new): Changed "Process died" message to
          a g_message, since we want to ignore it, and we don't want
          to ignore g_warnings.

1999-12-15 Elliot Lee <sopwith@redhat.com>
	* libgnomevfs/gnome-vfs-ops.c: Sanity check for an invalid URI.
	* libgnomevfs/gnome-vfs-ops.[ch]: Use char instead of gchar.
	* libgnomevfs-corba/gnome-vfs-slave-process.c: Use g_message instead
	  of the incorrect g_warning.
	
1999-12-15  Darin Adler  <darin@eazel.com>

        * libgnomevfs/gnome-vfs-async-ops.h
        * libgnomevfs/gnome-vfs-context.c
        * libgnomevfs/gnome-vfs-directory-list.c
        * libgnomevfs/gnome-vfs-directory-list.h
        * libgnomevfs/gnome-vfs-directory.c
        * libgnomevfs/gnome-vfs-directory.h
        * libgnomevfs/gnome-vfs-messages.c
        * libgnomevfs/gnome-vfs-ops.c
        * libgnomevfs/gnome-vfs-ops.h
        * libgnomevfs/gnome-vfs-private-ops.c
        * libgnomevfs/gnome-vfs-private-ops.h
        * libgnomevfs/gnome-vfs-utils.c
        * libgnomevfs/gnome-vfs-utils.h
        * libgnomevfs-corba/gnome-vfs-async-ops.c
        * libgnomevfs-corba/gnome-vfs-slave-notify.c
        * libgnomevfs-pthread/gnome-vfs-async-ops.c
        * test/test-seek.c
          Made meta_keys[] take const char* instead of char*.
          Fixed some warnings.

1999-12-14  Darin Adler  <darin@eazel.com>

	* .cvsignore: Ignore more generated files.
	* libgnomevfs-corba/.cvsignore: Ignore more generated files.
	* modules/extfs/.cvsignore: Ignore more generated files.
	* test/.cvsignore: Ignore more generated files.

1999-12-14  Elliot Lee  <sopwith@redhat.com>

	* libgnomevfs-corba/gnome-vfs-async-ops.c: Implement gnome_vfs_async_load_directory_uri
	in terms of gnome_vfs_async_load_directory by converting the GnomeVFSURI to a string.
	Also, fill in the 'op_info' in gnome_vfs_async_load_directory.

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

	* modules/gconf-method.c (vfs_module_init): Some updates, the
	GConf stuff is updated but it still doesn't match the latest 
	virtual table that modules are expected to have.

	* modules/Makefile.am (libgconf_la_LIBADD): add GTK_LIBS
	(INCLUDES): add GCONF_CFLAGS

	* configure.in (VFS_LIBS): use the located $GCONF_CONFIG instead
	of just "gconf-config", look for GTK to use the GConfClient
	GtkObject.

1999-12-08  Ramiro Estrugo  <ramiro@eazel.com>

	* modules/extfs/Makefile.am
	take out non existance extfs.ini from EXTRA_DIST to unbreak
 	'make dist'
	
1999-12-07  Havoc Pennington  <hp@pobox.com>

	* libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read): handle
	cancellation during the read, and then check for it before we
	write, and after each write.

	* libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Return
	immediately if the number of bytes to read is 0.

	* libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read):
	Rewrite this to use nonblocking writes; allows us to 
	keep reading while the main thread is blocked.

	* libgnomevfs/gnome-vfs-utils.c (gnome_vfs_size_to_string): fix
	operator precedence problem

	* libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_write): Take
	a context argument, and then use gnome_vfs_write_cancellable() so
	status messages can trickle up. The messages are coming from the
	slave thread; so the status message callback setup is supposed to
	be thread safe. The one in Explorer is indeed.
	(serve_channel_read): Parallel change, add the context object.

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

	* libgnomevfs-corba/gnome-vfs-slave-process.c
	(gnome_vfs_slave_process_new): Creates a context object.

	* libgnomevfs/gnome-vfs-async-ops.h
	(gnome_vfs_async_remove_status_callback): declare status callback
	add/remove functions.
	
	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_add_status_callback): implement status callback ops

	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(gnome_vfs_async_remove_status_callback): implement status
	callback ops

	* libgnomevfs/gnome-vfs-messages.c: Add ID numbers for callback
	removal

	* modules/http-method.c (create_handle): Emit message about # of
	bytes to retrieve.
	(do_close): emit message saying "closing"
	(do_read): emit message about bytes read.

	* libgnomevfs/gnome-vfs-utils.c (gnome_vfs_size_to_string): New
	function, returns a string representing a size in bytes

	* libgnomevfs-pthread/gnome-vfs-job.h: replace cancellation with context

	* modules/gzip-method.c: replace cancellation with context
	
	* modules/bzip2-method.c: replace cancellation with context
	
	* modules/ftp-method.c: replace cancellation with context

	* modules/http-method.c: replace cancellation with context 

	* modules/file-method.c: replace cancellation with context 

	* modules/extfs-method.c: replace cancellation with context

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

	* libgnomevfs/gnome-vfs-private-ops.h: replace cancellation with
	context

	* libgnomevfs/gnome-vfs-handle.h: replace cancellation with
	context

	* libgnomevfs/gnome-vfs-private-ops.c: replace cancellation with
	context

	* libgnomevfs/gnome-vfs-seekable.c: replace cancellation with
	context

	* libgnomevfs/gnome-vfs-directory.c: Replace cancellation with
	context

	* libgnomevfs/gnome-vfs-private.h: add gnome-vfs-context.h,
	include <config.h> too

	* libgnomevfs/gnome-vfs.h: add gnome-vfs-messages.h

	* libgnomevfs/gnome-vfs-private-types.h: typedef the
	GnomeVFSContext type; change GnomeVFSCancellation to
	GnomeVFSContext for all functions in the GnomeVFSMethod vtable

	* libgnomevfs/gnome-vfs-context.c,
	libgnomevfs/gnome-vfs-context.h: Proposed API for a context object
	to be passed to VFS module functions.

1999-12-04  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_cancel): Added comment about the need for freeing
	the handle.

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

	* libgnomevfs/gnome-vfs-messages.c: all my filter predicates were
	backward

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

	* libgnomevfs/gnome-vfs-messages.h,
	libgnomevfs/gnome-vfs-messages.c: New file, a simple data type to
	manage status-message callback lists. Untested, not in the build.	

1999-11-29  Elliot Lee  <sopwith@redhat.com>

	* libgnomevfs-corba/*.c: Don't __alloc() buffers for temporary usage only.
	* libgnomevfs/gnome-vfs-cancellation.c (gnome_vfs_cancellation_cancel): Now guaranteed signal-safe.

	* libgnomevfs/gnome-vfs-method.c: If init_path_list() has already been called, return TRUE to indicate success.

	* libgnomevfs/gnome-vfs-result.c: I declare the errno->GnomeVFSResult translation function "complete enough".

1999-11-24  Elliot Lee  <sopwith@redhat.com>

	* modules/Makefile.am: Try using $(GLIB_LIBS) to pick up the -L thingie for -lghttp
	* Makefile.am: Remove 'intl' dir from build.

1999-11-19  Kjartan Maraas  <kmaraas@online.no>

	* configure.in: Added "no" to ALL_LINGUAS.
	
1999-11-18  Ettore Perazzoli  <ettore@gnu.org>

	* modules/file-method.c: Removed the static function prototypes
	and moved the method struct to the end of the file so that they
	are not needed anymore.
	(rename_helper): New helper function, cut & paste from
	`do_move()'.
	(do_move): Use it.
	(do_set_file_info): New function, implementing the `set_file_info'
	method.
	(do_make_directory): Use `MAKE_ABSOLUTE' to make sure the path we
	use is absolute.
	(do_move): Likewise.
	(do_unlink): Likewise.
	(do_check_same_fs): Likewise.
	(directory_handle_new): Likewise.
	(do_get_file_info): Likewise.
	(do_create): Likewise (forgot to use `file_name' instead of
	`uri->text' here).

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_check_same_fs): Check
	that `same_fs_return' is not NULL.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_set_file_info_uri): New
	function.
	(gnome_vfs_set_file_info): New function.
	* libgnomevfs/gnome-vfs-ops.h: Prototypes here.

	* libgnomevfs/gnome-vfs-private-ops.c
	(gnome_vfs_set_file_info_cancellable): New function.
	* libgnomevfs/gnome-vfs-private-ops.h: Prototype here.

	* libgnomevfs/gnome-vfs-private-types.h: New function typedef
	`GnomeVFSMethodSetFileInfo'.  New member `set_file_info' in
	`GnomeVFSMethod'.

	* libgnomevfs/gnome-vfs-types.h: New enum
	`GnomeVFSSetFileInfoMask'.

	* libgnomevfs/gnome-vfs-types.h: Renamed
	`GNOME_VFS_FILE_INFO_NOOPTION' to `GNOME_VFS_FILE_INFO_DEFAULT'.
	* libgnomevfs/gnome-vfs-xfer.c (create_xfer_file_list): Updated
	accordingly.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_extract_dirname): New
	function.

1999-11-12  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_append_path): Make sure
	`uri_string' is always freed.

	* libgnomevfs/gnome-vfs-configuration.c (parse_file): Free the
	line buffer on exit.

1999-11-08  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-xfer.c (xfer_create_target): Set `retry'
	to `FALSE' at the start of the `while' loop.
	(xfer_open_source): Likewise.
	(xfer_file): Likewise.
	(copy_directory): Likewise.
	(move_file): Likewise.

1999-10-29 Elliot Lee <sopwith@redhat.com>

	* test/test-somethingorother.c: Make it use the file info flags
	instead of ->is_symlink.
	
	* libgnomevfs/Makefile.am: Put our build tree on the include path
	before installed stuff.

1999-10-23  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-directory-filter.c
	(gnome_vfs_directory_filter_apply): If `filter' is NULL, just
	return `TRUE'.

	* libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Only read
	as much bytes as the stream gives us; not more.

	* modules/ftp-method.c (_ftpfs_read_directory): Set the "local"
	flag in the info to `FALSE'.
	(fill_file_info): Likewise.

	* modules/file-method.c (get_stat_info): Set the "local" flag to
	`TRUE'.
	(get_stat_info_from_handle): Likewise.

	* modules/extfs-method.c (read_directory_list): Set the "local"
	flag in the info object to FALSE.

	* modules/module-shared.c (gnome_vfs_stat_to_file_info): Do not
	set the "local" flag anymore.

	* modules/ftp-method.c (print_vfs_message): Made static.
	(insert_dots): Use `gnome_vfs_parse_ls_lga()' instead of
	`vfs_parse_ls_lga()', which does not exist anymore.
	(retrieve_dir): Likewise.

	* libgnomevfs/gnome-vfs-directory.c (directory_visit_internal):
	Updated to match the `GnomeVFSFileInfo' changes.
	* modules/module-shared.c (gnome_vfs_stat_to_file_info): Likewise.
	* modules/file-method.c (get_stat_info): Likewise.
	* modules/http-method.c (get_file_info_from_http_handle): Likewise.
	* modules/ftp-method.c (fill_file_info): Likewise.
	(_ftpfs_read_directory): Likewise.
	* test/gnome-file-selection/gnome-file-selection.c
	(populate_callback): Likewise.
	* test/test-directory.c (print_list): Likewise.
	* test/test-directory-visit.c (directory_visit_callback): Likewise.
	* test/test-info.c (print_file_info): Likewise.

	* libgnomevfs/gnome-vfs-file-info.h (GNOME_VFS_FILE_INFO_SYMLINK):
	New macro.
	(GNOME_VFS_FILE_INFO_LOCAL): New macro.
	(GNOME_VFS_FILE_INFO_SUID): New macro.
	(GNOME_VFS_FILE_INFO_SGID): New macro.
	(GNOME_VFS_FILE_INFO_STICKY): New macro.
	(GNOME_VFS_FILE_INFO_SET_SYMLINK): New macro.
	(GNOME_VFS_FILE_INFO_SET_LOCAL): New macro.
	(GNOME_VFS_FILE_INFO_SET_SUID): New macro.
	(GNOME_VFS_FILE_INFO_SET_SGID): New macro.
	(GNOME_VFS_FILE_INFO_SET_STICKY): New macro.

	* libgnomevfs/gnome-vfs-types.h: New enum
	`GnomeVFSFileFlags'.
	(struct _GnomeVFSFileInfo): Replaced the various gboolean 1-bit flags
	with a single `GnomeVFSFileFlags' member called `flags'.

	* test/test-info.c (main): Follow links.

	* modules/file-method.c (read_link): Zero-terminate the returned
	string.

	* modules/module-shared.c (gnome_vfs_stat_to_file_info):
	Unconditionally set the type to `GNOME_VFS_FILE_TYPE_UNKNOWN' if
	all else fails, even if `file_info' refers to a symlink.

	* modules/ftp-method.c: #include <gnome.h>, "gnome-vfs.h" and
	"gnome-vfs-private.h".

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_get_file_info): If the
	`get_file_info' function is not implemented, return
	`GNOME_VFS_ERROR_NOTSUPPORTED'.

	* test/test-info.c: New program for testing the
	`gnome_vfs_get_file_info()' API call.

	* libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Argh.
	Don't put more than `bytes' bytes in `buffer'!

1999-10-22  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Do not use
	`bytes_read' if NULL.
	(gnome_vfs_iobuf_write): Likewise with `bytes_written'.
	(flush): Flush output, not input.  :-P
	(refill_input_buffer): Changed to return a `GnomeVFSResult'.
	Return `GNOME_VFS_ERROR_EOF' at EOF.
	(gnome_vfs_iobuf_read): Updated accordingly.

	* libgnomevfs/gnome-vfs-method.c (load_module): Don't check for
	the `create' function anymore.

	* libgnomevfs/gnome-vfs-private.h: #include
	"gnome-vfs-inet-connection.h".

	* libgnomevfs/gnome-vfs-inet-connection.c: New file implementing
	Internet connections.
	* libgnomevfs/gnome-vfs-inet-connection.h: Corresponding header file.

	* libgnomevfs/gnome-vfs-private-types.h: New opaque typedef
	`GnomeVFSInetConnection'.

	* modules/Makefile.am: Compile the HTTP method again.

	* modules/http-method.c: New re-implementation from scratch, with
	great help from the GNU Wget sources.
	* modules/http-method.h: Corresponding header file.

	* libgnomevfs/gnome-vfs-utils.c: #include <ctype.h>.
	(gnome_vfs_atotm): New function, from GNU Wget.
	* libgnomevfs/gnome-vfs-utils.h (gnome_vfs_atotm): Prototype here.

1999-10-21  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-iobuf.c (refill_input_buffer): New helper
	function.
	(gnome_vfs_iobuf_read): Changed to use it.
	(gnome_vfs_iobuf_peekc): New function.

	* libgnomevfs/gnome-vfs-private-types.h: New opaque
	`GnomeVFSIOBuf' typedef for the struct defined in
	`gnome-vfs-iobuf.c'.

	* libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-iobuf.h".

	* libgnomevfs/gnome-vfs-iobuf.h: New header file for
	`gnome-vfs-iobuf.c'.

	* libgnomevfs/gnome-vfs-iobuf.c: New file implementing buffered
	I/O on top of low-level Unix file descriptors.

1999-10-20  Ettore Perazzoli  <ettore@gnu.org>

	* modules/extfs-method.c (match): Apply filter.
	(vfs_module_shutdown): Close all the handles.
	(do_close): Remove the handle from the handle list.

	* README: Added some info about the `vfs-run' wrapper.

	* configure.in: Subst `@TOP_BUILDDIR@' with the path to the top
	building directory.  Build `$(top_builddir)/test/vfs-run' from
	`$(top_srcdir)/test/vfs-run.in'.

	* test/vfs-run.in (GNOME_VFS_MODULE_PATH): New file.

	* libgnomevfs/gnome-vfs-method.c (gnome_vfs_method_get): Set the
	effective UID/GID to the real UID/GID when loading the module, and
	restore them afterwards.  This should prevent exploits to
	setuid/setgid applications by using `GNOME_VFS_MODULE_PATH'.
	(module_get_sane_handle): Renamed to `load_module'.  Added
	debugging message displaying the complete name of the module that
	is being loaded.

	* libgnomevfs/gnome-vfs-method.c: New variable `module_path_list'.
	(init_hash_table): New helper function.
	(gnome_vfs_method_init): Use it.
	(init_path_list): New helper function to initialize
	`module_path_list' through the `GNOME_VFS_MODULE_PATH' environment
	variable.
	(install_path_list): New helper function used by `init_path_list'.
	(gnome_vfs_method_init): Use it.
	(load_module_in_path_list): New function to search for a module in
	the path list.
	(gnome_vfs_method_get): Use it.
	(module_get_sane_handle): Made const-safe.

1999-10-19  Ettore Perazzoli  <ettore@gnu.org>

	* modules/extfs-method.c (read_directory_list): New parameter
	`info_options'.  If the `GNOME_VFS_FILE_INFO_GETMIMETYPE' bit is
	set, set the MIME type in the file information struct according to
	the file name.
	(do_open_directory): Updated accordingly.

	* modules/ftp-method.c: Do not #include "parse.h" anymore.

	* libgnomevfs/gnome-vfs-cancellation.c [HAVE_CONFIG_H]: #include
	<config.h>.

	* modules/Makefile.am (CPPFLAGS): #define `_GNU_SOURCE'.
	* libgnomevfs-pthread/Makefile.am (CPPFLAGS): Likewise.
	* libgnomevfs-corba/Makefile.am (CPPFLAGS): Likewise.
	* libgnomevfs/Makefile.am (CPPFLAGS): Likewise.

	* modules/extfs-method.c: Implemented directory reading.

	* modules/extfs-method.c (get_script_path): New helper function.
	(do_open): Use it.
	(ERROR_IF_NOT_LOCAL): New macro.
	(do_open): Use it.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_hequal): New function.
	(gnome_vfs_uri_hash): New function.
	* libgnomevfs/gnome-vfs-uri.h (gnome_vfs_uri_hash): Prototypes here.

	* modules/ftp-method.c (resolve_symlink_with_ls_options): Use
	`gnome_vfs_parse_ls_lga()' instead of `vfs_parse_ls_lga()', which
	does not exist anymore.

	* modules/parse.c: Removed.
	* modules/parse.h: Removed.

	* libgnomevfs/gnome-vfs-parse-ls.c: Removed global variables
	`columns', `column_ptr'.
	(vfs_split_text): New parameters `columns', `column_ptr'.
	(gnome_vfs_vfs_parse_ls_lga): Updated accordingly.
	(is_num): Get a string as the single parameter.
	(gnome_vfs_vfs_parse_ls_lga): Updated accordingly.
	(vfs_parse_filedate): New parameter `columns'.
	(gnome_vfs_vfs_parse_ls_lga): Updated accordingly.

	* configure.in: Check for `getdelim' and use our version if 
	not available.

	* libgnomevfs/Makefile.am: Added `getdelim' to `EXTRA_DIST'.

	* libgnomevfs/gnome-vfs-private.h [! HAVE_GETDELIM]: Declare
	prototype for `getdelim()'.

	* libgnomevfs/getdelim.c: New file, implementing `getdelim()' for
	non-GNU systems.

1999-10-18  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-parse-ls.c: New file, derived from former
	`modules/parse.c'.  Reindented; made all the helper functions
	static; glibified a bit.
	* libgnomevfs/gnome-vfs-parse-ls.h: Corresponding header file.

1999-10-17  Ettore Perazzoli  <ettore@gnu.org>

	* modules/extfs-method.c (do_open): If the return value from the
	script is nonzero, return `GNOME_VFS_ERROR_NOTFOUND'.  Check that
	the parent URI is accessed through the `file' method.  Completed
	parameters passed to the extfs script.

	* modules/modules.conf: Added entries for `extfs'.

	* modules/extfs/README: New file.
	* modules/extfs/a: New file.
	* modules/extfs/deb.in: New file.
	* modules/extfs/hp48: New file.
	* modules/extfs/mailfs: New file.
	* modules/extfs/patchfs: New file.
	* modules/extfs/rpm: New file.
	* modules/extfs/rpms: New file.
	* modules/extfs/trpm: New file.
	* modules/extfs/ar.in: New file.
	* modules/extfs/arj: New file.
	* modules/extfs/cpio.in: New file.
	* modules/extfs/lha.in: New file.
	* modules/extfs/rar.in: New file.
	* modules/extfs/zip.in: New file.
	* modules/extfs/zoo.in: New file.
	* configure.in: Generate scripts from the `.in' files.

	* configure.in: Check for `awk' using `AC_PROG_AWK'.

	* modules/extfs: New subdirectory.
	* modules/extfs/Makefile.am: New file.
	* modules/Makefile.am: Updated accordingly.

	* modules/extfs-method.c: Replaced member `fd' in `ExtfsHandle'
	with `vfs_handle' (i.e. we use a VFS handle instead of a UNIX file
	descriptor).  #include <errno.h>.
	(VFS_HANDLE): New helper macro.
	(extfs_handle_close): Updated accordingly.  Return value changed
	from `void' to `GnomeVFSResult', so that we can return the result
	of the `close' operation.  Also, remove `local_path'.
	(do_open): Updated accordingly.  Also updated for the new version
	of `gnome_vfs_create_temp()'.
	(do_close): Implementated (`close' operation).
	(do_read): Implemented (`read' operation).
	(do_tell): Implemented (`tell') operation.
	(do_write): Return `GNOME_VFS_ERROR_READONLYFS' instead of
	`GNOME_VFS_ERROR_NOTSUPPORTED'.

	* libgnomevfs/gnome-vfs-utils.c (gnome_vfs_create_temp): Changed
	so that it returns a GnomeVFSHandle instead of a plain Unix file
	descriptor.  Abort if creating the file fails with something
	different from a "file exists" error.

1999-10-15  Ettore Perazzoli  <ettore@gnu.org>

	* modules/Makefile.am (CPPFLAGS): #define `PREFIX'.

	* libgnomevfs/gnome-vfs-process.c (gnome_vfs_process_new): Use
	`gnome_fs_forkexec()'.

	* libgnomevfs/gnome-vfs-process.c (get_max_fds): Removed.
	(shut_down_file_descriptors): Removed.
	* libgnomevfs/gnome-vfs-utils.c: Moved here.

	* libgnomevfs/gnome-vfs-utils.c
	(gnome_vfs_process_run_cancellable): New function.
	(gnome_vfs_forkexec): New function, cut & paste from
	`gnome_vfs_process_new()'.
	(gnome_vfs_create_temp): New function.
	* libgnomevfs/gnome-vfs-utils.h: Prototypes here.

	* libgnomevfs/gnome-vfs-process.c: #include "gnome-vfs.h" and
	"gnome-vfs-private.h", instead of just "gnome-vfs-process.h".

	* libgnomevfs/gnome-vfs-process.h
	(gnome_vfs_process_run_cancellable): Prototype.

	* libgnomevfs/gnome-vfs-process.h: New enum
	`GnomeVFSProcessRunResult'.

1999-10-14  Ettore Perazzoli  <ettore@gnu.org>

	* modules/extfs-method.c: New file, implementing MC-style extfs.
	* modules/extfs-method.h: Corresponding header.
	* modules/Makefile.am: Compile it in `libextfs.so'.

	* libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Report
	progress for the operation of deleting the source directories.
	Free progress info at each iteration.

	* libgnomevfs/gnome-vfs-types.h: New GnomeVFSXferPhase value
	`GNOME_VFS_XFER_PHASE_DELETESOURCE'.

	* libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Report
	`GNOME_VFS_XFER_PHASE_FILECOMPLETED' for the last file too.
	(remove_directory): New helper function.
	(gnome_vfs_xfer_uri): Use it.

	* libgnomevfs/gnome-vfs-xfer.c (fast_move): New function,
	implementing fast moving through `gnome_vfs_move()'.
	(gnome_vfs_xfer_uri): Use it if we are transferring files between
	two directories on the same file system and we are requested to
	remove the sources.

1999-10-13  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-xfer.c (init_progress): New helper
	function.
	(gnome_vfs_xfer_uri): Use it.  Leak fix: free progress info if the
	progress callback returns `FALSE' in the `READYTOGO' or `XFERRING'
	phases.

	* modules/Makefile.am: Add `modules.conf' to `EXTRA_DIST'.

	* libgnomevfs/gnome-vfs-cancellation.c
	(gnome_vfs_cancellation_check): Do not complain if `cancellation'
	is NULL.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_move_uri): New function.
	(gnome_vfs_move): New function.
	(gnome_vfs_check_same_fs_uris): New function.
	(gnome_vfs_check_same_fs): New function.
	* libgnomevfs/gnome-vfs-ops.h (gnome_vfs_move): Prototypes here.

	* libgnomevfs/gnome-vfs-private-ops.c
	(gnome_vfs_move_uri_cancellable): New function.
	(gnome_vfs_check_same_fs_uris_cancellable): New function.
	* libgnomevfs/gnome-vfs-private-ops.h
	(gnome_vfs_move_uri_cancellable): Prototypes here.

	* modules/file-method.c (do_check_same_fs): New function,
	installed as the `check_same_fs' op implementation.

	* libgnomevfs/gnome-vfs-private-types.h: New type
	`GnomeVFSCheckSameFSFunc'.  New member `check_same_fs' in
	`GnomeVFSMethod'.

	* modules/file-method.c (do_move): New function, implementing the
	`move' operation.

	* libgnomevfs/gnome-vfs-private-types.h: `GnomeVFSMethodRenameFunc'
	removed; replaced by `GnomeVFSMethodMoveFunc' with different
	parameters.  `rename' member in `struct _GnomeVFSMethod' removed;
	replaced by `move'.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_get_basename): New
	function.
	* libgnomevfs/gnome-vfs-uri.h: Prototype here.

	* test/test-xfer.c: New file, implementing a test for the xfer
	functionality.
	* test/Makefile.am: Compile it as `test-xfer'.

	* test/test-copy.c: Removed.

	* libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Honour
	`GNOME_VFS_XFER_REMOVESOURCE'.  This needs to be optimized for the
	"files are in the same file system" case of course.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open): Doc'ed.
	(gnome_vfs_open_uri): Doc'ed.
	(gnome_vfs_create): Doc'ed.
	(gnome_vfs_create_uri): Doc'ed.
	(gnome_vfs_close): Doc'ed.
	(gnome_vfs_read): Doc'ed.
	(gnome_vfs_write): Doc'ed.
	(gnome_vfs_seek): Doc'ed.
	(gnome_vfs_tell): Doc'ed.
	(gnome_vfs_get_file_info): Doc'ed.
	(gnome_vfs_get_file_info_uri): Doc'ed.
	(gnome_vfs_get_file_info_from_handle): Doc'ed.
	(gnome_vfs_make_directory_for_uri): Doc'ed.
	(gnome_vfs_make_directory): Doc'ed.
	(gnome_vfs_remove_directory_from_uri): Doc'ed.
	(gnome_vfs_remove_directory): Doc'ed.
	(gnome_vfs_unlink_from_uri): Doc'ed.
	(gnome_vfs_unlink): Doc'ed.

	* test/test-directory.c (main): Local variable `args' made const.

	* test/test-directory.c (filter_list): `#if 0'ed out just to make
	the compiler happy.

	* libgnomevfs/gnome-vfs-result.c (gnome_vfs_result_from_errno):
	Re-indented to make sorting easier.  Convert `EBUSY', `ENOTEMPTY',
	`EROFS', `EMLINK', `EXDEV', `EFAULT', `ELOOP', as well, using the
	new GnomeVFSResult values.

	* libgnomevfs/gnome-vfs-types.h: New errors
	`GNOME_VFS_ERROR_DIRECTORYBUSY', `GNOME_VFS_ERROR_DIRECTORYNOTEMPTY',
	`GNOME_VFS_ERROR_TOOMANYLINKS', `GNOME_VFS_ERROR_READONLYFS',
	`GNOME_VFS_ERROR_NOTSAMEFS', `GNOME_VFS_ERROR_NAMETOOLONG'.
	* libgnomevfs/gnome-vfs-result.c: Added corresponding string
	descriptions.

1999-10-12  Ettore Perazzoli  <ettore@gnu.org>

	* modules/file-method.c (do_open): When getting `EINTR', do not
	restart the operation if a cancellation is pending.
	(do_create): Likewise.
	(do_close): Likewise.
	(do_read): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.c (dispatch_job_callback):
	Slightly made cleaner.

	* TODO: Updated.

	* libgnomevfs-pthread/gnome-vfs-job.c (execute_open): Use
	cancellable version of the primitive.
	(execute_open_as_channel): Likewise.
	(execute_create): Likewise.
	(execute_create_as_channel): Likewise.
	(execute_close): Likewise
	(execute_read): Likewise.

	* libgnomevfs/gnome-vfs-configuration.c [HAVE_CONFIG_H]: #include
	<config.h>.

	* libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-private-ops.h".

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_uri): Made a simple
	wrapper for the cancellable version in `gnome-vfs-private-ops.c'.
	(gnome_vfs_create_uri): Likewise.
	(gnome_vfs_close): Likewise.
	(gnome_vfs_read): Likewise.
	(gnome_vfs_write): Likewise.
	(gnome_vfs_seek): Likewise.
	(gnome_vfs_get_file_info_uri): Likewise.
	(gnome_vfs_get_file_info_from_handle): Likewise.
	(gnome_vfs_make_directory_for_uri): Likewise.
	(gnome_vfs_remove_directory_from_uri): Likewise.
	(gnome_vfs_unlink_from_uri): Likewise.

	* libgnomevfs/gnome-vfs-private-ops.h: New file.

	* libgnomevfs/gnome-vfs-private-ops.c: New file.

	* libgnomevfs/gnome-vfs-result.c: New error description for
	`GNOME_VFS_ERROR_CANCELLED'.

	* libgnomevfs/gnome-vfs-types.h: New error `GNOME_VFS_ERROR_CANCELLED'.

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_cancel): Use
	the new `cancellation' member instead of `cancelled'.
	(dispatch_job_callback): Likewise.
	(gnome_vfs_job_new): Initialize `cancellation'.
	(gnome_vfs_job_destroy): Destroy it.
	(execute_open): Do not check `cancelled' anymore.
	(execute_create): Likewise.
	(execute_load_directory_not_sorted): Likewise.
	(execute_load_directory_sorted): Likewise.
	(xfer_callback): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.h (struct _GnomeVFSJob):
	Removed member `cancelled'.  Replaced by new member
	`cancellation', of type `GnomeVFSCancellation'.

	* modules/bzip2-method.c: Updated all the method implementation
	functions to accept the `cancellation' parameter.  It is not
	honoured yet though.
	* modules/file-method.c: Likewise.
	* modules/gzip-method.c: Likewise.
	* modules/http-method.c: Likewise.

	* libgnomevfs/gnome-vfs-seekable.c: Updated to accept the
	`cancellation' parameter.  It does not honour it yet though.
	(read_file): Pass `NULL' as the `cancellation' parameter for
	`read'.
	(write_file): Likewise for `write'.
	(do_close): Likewise for `close'.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_uri): Pass `NULL' as
	the `cancellation' parameter to the `open' implementation.
	(gnome_vfs_open_uri): Likewise.
	(gnome_vfs_create_uri): Pass `NULL' as the `cancellation'
	parameter to the `create' implementation.
	(gnome_vfs_close): Pass `NULL' as the `cancellation' parameter to
	`gnome_vfs_handle_do_close()'.
	(gnome_vfs_read): Likewise with `gnome_vfs_handle_do_read()'.
	(gnome_vfs_write): Likewise with `gnome_vfs_handle_do_write()'.
	(gnome_vfs_seek): Likewise with `gnome_vfs_handle_do_seek()'.
	(gnome_vfs_get_file_info): Likewise with the `get_file_info'
	implementation.
	(gnome_vfs_get_file_info_uri): Likewise.
	(gnome_vfs_get_file_info_from_handle): Likewise with
	`gnome_vfs_handle_do_get_file_info()'.
	(gnome_vfs_make_directory_for_uri): Likewise with the
	`make_directory' implementation.
	(gnome_vfs_make_directory): Likewise.
	(gnome_vfs_remove_directory_from_uri): Likewise with the
	`remove_directory'implementation.
	(gnome_vfs_unlink_from_uri): Likewise for `unlink'.

	* libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_do_close): New
	parameter `cancellation'.
	(gnome_vfs_handle_do_read): Likewise.
	(gnome_vfs_handle_do_write): Likewise.
	(gnome_vfs_handle_do_seek): Likewise.
	(gnome_vfs_handle_do_get_file_info): Likewise.
	* libgnomevfs/gnome-vfs-handle.h: Updated prototypes accordingly.

	* libgnomevfs/gnome-vfs-directory.c (open): New parameter
	`cancellation'.
	(open_from_uri): Likewise.  Pass it to the `open_directory'
	implementation.
	(gnome_vfs_directory_open): Updated accordingly.
	(gnome_vfs_directory_open_from_uri): Update accordingly.
	(gnome_vfs_directory_read_next): Pass `NULL' as the `cancellation'
	parameter in the call to the `read_directory' implementation.
	(gnome_vfs_directory_close): Pass `NULL' as the `cancellation'
	parameter in the call to the `close_directory' implementation.

	* libgnomevfs/gnome-vfs-private-types.h: New opaque typedef
	`GnomeVFSCancellation'.  Added new `cancellation' parameter to all
	the method implementation typedefs.

	* libgnomevfs/gnome-vfs-private.h: #include
	"gnome-vfs-cancellation.h".

	* libgnomevfs/gnome-vfs-cancellation.c: New file, implementing
	cancellation for the VFS method implementations.

	* libgnomevfs/gnome-vfs-cancellation.h: New file.

	* modules/modules.conf: Added `ugzip' for compatibility with the
	Midnight Commander's VFS.

	* libgnomevfs/gnome-vfs-configuration.c (parse_line): Set
	`method_start' again after saving a method name.

1999-10-11  Ettore Perazzoli  <ettore@gnu.org>

	* test/test-sync.c (main): Abort reporting an error if
	`gnome_vfs_uri_new()' returns NULL.

	* modules/modules.conf: New file: configuration for the current VFS
	modules.
	* modules/Makefile.am: Install it in the `modulesdir'.

	* libgnomevfs/gnome-vfs-method.c (gnome_vfs_method_get): Use
	`gnome_vfs_configuration_get_module_path()' to retrieve the module
	name.  This also fixes a memory leak introduced by Michael's
	commit of 1999-08-31.

	* libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Initialize the
	configuration system by calling `gnome_vfs_configuration_init()'.

	* libgnomevfs/gnome-vfs-constants.h: New constant
	`GNOME_VFS_MODULE_CFGFILE', `GNOME_VFS_MODULE_DIR'.

	* libgnomevfs/gnome-vfs-private.h: #include
	"gnome-vfs-configuration.h".

	* libgnomevfs/gnome-vfs-configuration.c: New file.

	* libgnomevfs/gnome-vfs-configuration.h: New file.

1999-10-10  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-file-info.c: Doc'ed.

	* libgnomevfs/gnome-vfs-directory.c: Doc'ed.

	* libgnomevfs/gnome-vfs-directory-list.c: Doc'ed.

	* libgnomevfs/gnome-vfs-directory-filter.c: Doc'ed.

	* doc/writing-modules.sgml: New file.

1999-10-08  Ettore Perazzoli  <ettore@gnu.org>

	* modules/Makefile.am (CPPFLAGS): #define
	`_POSIX_PTHREAD_SEMANTICS'.
	* libgnomevfs/Makefile.am (CPPFLAGS): Likewise.

	* libgnomevfs-corba/gnome-vfs-slave-notify.c: #define `SUN_LEN()'
	if not already #defined.

	* libgnomevfs-corba/gnome-vfs-slave.c (setup_and_serve_channel):
	Change `socklen_t' into `int'.
	(setup_and_serve_channel): Use `[AP]F_UNIX' instead of
	`[AP]F_LOCAL' if the latter are not available.

	* libgnomevfs-corba/gnome-vfs-slave-process.c: #include
	<sys/types.h> first, <sys/socket.h> afterwards as pointed out by
	Michael.
	* libgnomevfs-corba/gnome-vfs-slave-notify.c: Likewise.

1999-10-07  Ettore Perazzoli  <ettore@gnu.org>

	* libgnomevfs/gnome-vfs-process.c: If the
	`GNOME_VFS_PROCESS_SETSID' option is set, call `setsid()'
	after forking and calling the user-specified function.

	* libgnomevfs/gnome-vfs-private.h: Do not #include
	"gnome-vfs-process.h".

	* libgnomevfs/gnome-vfs.h: #include "gnome-vfs-process.h".  This
	makes the GnomeVFSProcess stuff public, thus making my work on the
	file manager slightly easier.  It should not be public in the
	final version though; instead, I would like to have something like
	this in glib or gnome-libs.

	* libgnomevfs/Makefile.am: Install `gnome-vfs-process.h'.

	* libgnomevfs/gnome-vfs-process.h (gnome_vfs_process_new): Update
	prototype.

	* libgnomevfs/gnome-vfs-process.c (gnome_vfs_process_new): New
	parameter `options' instead of `use_search_path' and
	`close_file_descriptors'.
	* libgnomevfs-corba/gnome-vfs-slave-launch.c
	(gnome_vfs_slave_launch): Updated accordingly.

	* libgnomevfs/gnome-vfs-process.h: New enum
	`GnomeVFSProcessOptions'.

	* libgnomevfs/gnome-vfs-types.h: New value
	`GNOME_VFS_URI_HIDE_TOPLEVEL_METHOD' in `GnomeVFSURIHideOptions'.
	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_to_string): Honour
	it.

1999-10-07  Miguel de Icaza  <miguel@gnu.org>

	* modules/ftp-method.c (linear_read): Close first to comply to
	RFC959.

1999-10-04  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/module-shared.c (gnome_vfs_set_meta_for_list): Use
	`gnome_vfs_set_meta()' instead of `set_meta()'.

	* libgnomevfs/gnome-vfs-seekable.c (init_seek): Removed local
	variable `txt_uri'.

	* libgnomevfs-corba/gnome-vfs-slave.c (load_directory_sorted):
	Updated to use `gnome_vfs_directory_list_load()' instead of
	`gnome_vfs_directory_load()'.
	* libgnomevfs-pthread/gnome-vfs-job.c
	(execute_load_directory_sorted):  Likewise.
	* test/test-directory.c (main): Likewise.

	* libgnomevfs/gnome-vfs-directory-list.c
	(gnome_vfs_directory_list_load): New version of
	`gnome_vfs_directory_load', for consistency.
	(gnome_vfs_directory_list_load_from_uri): Likewise for
	`gnome_vfs_directory_load_from_uri'.

	* libgnomevfs/gnome-vfs-directory.c (gnome_vfs_directory_load):
	Removed.
	(gnome_vfs_directory_load_from_uri): Removed.
	(gnome_vfs_uri_append_path): If the original URI is empty, return
	the URI from the new path.

1999-09-30  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs/gnome-vfs-uri.c (my_streq): New function.
	(compare_elements): Use it instead of `strcmp' so that it works
	even with NULL fields.
	(gnome_vfs_uri_equal): Likewise.

1999-09-29  Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>

	* configure.in: add pt_BR to ALL_LINGUAS

1999-09-29  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/ftp-method.c (MUTEX_LOCK): New macro to lock a mutex.
	Defined to empty if `G_THREADS_ENABLED' is not defined.
	(MUTEX_UNLOCK): New macro to unlock a mutex.  Defined to empty if
	`G_THREADS_ENABLED' is not defined.
	(ftpfs_connection_new) [G_THREADS_ENABLED]: Initialize
	`access_mutex'.
	(ftpfs_connection_unref): Perform locking.  Free the lock if
	refcounting is zero.

	* modules/ftp-method.h [G_THREADS_ENABLED]: New member
	`access_lock' in `ftpfs_connection_t'.

	* modules/ftp-method.c: Define a static lock for
	`connections_hash'.
	(ftpfs_connection_destroy): Removed.
	(ftpfs_connection_unref): Perform locking on `connections_hash'.
	(lookup_conn): Likewise.
	(ftpfs_connection_new): Likewise.

	* modules/ftp-method.c (ftpfs_open_directory): Use the raw URI
	path, without using `g_dirname()'.

1999-09-28  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/bzip2-method.c: Re-indented in GNOME style.

	* configure.in: Added `--enable-gconf' option to explicitly enable
	the GConf module backend; if not specified, GConf support is not
	compiled even if GConf is available.  For now, the GConf API is
	too much of a moving target to rely on it by default.

	* modules/ftp-method.c (ftpfs_get_file_info): `#if 0'ed completely
	to get it to compile.  Always return `GNOME_VFS_ERROR_NOTSUPPORTED'.

1999-09-27  Miguel de Icaza  <miguel@gnu.org>

	* modules/module-shared.c (gnome_vfs_set_meta_for_list,
	gnome_vfs_set_meta, gnome_vfs_stat_to_file_info,
	gnome_vfs_mime_type_from_mode): moved here some code from the file
	backend that can be reused by the ftp backend.
	
	* modules/ftp-method.c: directory listings work.  Still some work
	is required.

1999-09-27  Cody Russell  <bratsche@dfw.net>

	* modules/bzip2-method.c: At Ettore's request, reformatted the
	code to look more like the rest of the code. Function return
	values are now on the preceeding line of the function name.

1999-09-27  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.c (dispatch_open_callback):
	Unref before calling the callback, not after that.
	(dispatch_create_callback): Likewise.
	(dispatch_open_as_channel_callback): Likewise.

	* modules/bzip2-method.c (do_open): Removed unused variables.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_equal): New function.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_from_uri): Renamed
	to `gnome_vfs_open_uri'.
	(gnome_vfs_create_for_uri): Renamed to `gnome_vfs_create_uri'.
	(gnome_vfs_get_file_info_from_uri): Renamed to
	`gnome_vfs_get_file_info_uri'.

	* libgnomevfs-pthread/gnome-vfs-job.c (execute_open_as_channel):
	Close and unref channels.
	(execute_create_as_channel): Likewise.
	(gnome_vfs_job_destroy): Use `g_io_channel_close()' instead of
	`close()'.
	(execute_open_as_channel): Wait for ack from the notification.
	(execute_create_as_channel): Likewise.

	* libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Ignore SIGPIPE.

1999-09-26  Dave Camp  <campd@oit.edu>

	* modules/gconf-method.c (do_get_file_info_from_handle): New method.
	(vfs_module_init): Don't pass the "application" parameter to
	g_conf_init().

11999-09-25  Cody Russell  <bratsche@dfw.net>

	* modules/bzip2-method.c: Removed MAKE_ABSOLUTE().

1999-09-25  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs/gnome-vfs-constants.h (GNOME_VFS_OFFSET_FORMAT_STR)
	[!HAVE_GINT64]: Change "L" to "l".

	* modules/bzip2-method.c (struct _Bzip2MethodHandle): Removed
	`modification_time' member.
	(bzip2_method_handle_new): Removed `modification_time' parameter.
	(do_open): Do not pass it as an uninitialized value nor zero
	anymore.  Open the file using the parent URI correctly.
	(bzip2_read_open): Removed bogus static prototype.
	(do_open): Write mode `#if 0'ed out as it wouldn't work anyway.

	* modules/Makefile.am: Enable compilation of the bzip2 module.

1999-09-25  Kjartan Maraas  <kmaraas@online.no>

	* configure.in: Added da to ALL_LINGUAS.
	
1999-09-18  Cody Russell  <bratsche@dfw.net>

	* modules/bzip2-method.[ch]: Added. Note that this method is not
	currently finished, and so I've disabled building of it for now.

	* modules/Makefile.am: Added Bzip2, but it's currently commented
	out.

	* configure.in: Fixed a typo. "gconf will not be build"
	s/build/built.

1999-09-18  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new):
	Initialize the `cancelled' member to `FALSE'.
	(gnome_vfs_job_cancel): Set `cancelled' to `TRUE'.
	(dispatch_job_callback): If the job was cancelled, do not dispatch
	the callback.
	(execute_open): If the job was cancelled, return FALSE so that the
	thread dies.
	(execute_create): Likewise.
	(execute_load_directory_not_sorted): Interrupt if job is
	cancelled.  Also, close the directory handle on exit.
	(execute_load_directory_sorted): Likewise.
	(xfer_callback): If the job is cancelled, return FALSE.

	* libgnomevfs-pthread/gnome-vfs-job.h (struct _GnomeVFSJob): New
	member `cancelled'.

1999-09-18  Michael Meeks  <michael@nuclecu.unam.mx>

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_has_parent): remove
	unused 'p'

	* modules/ftp-method.c, gzip-method.c, gconf-method.c:
	pad method structure.

	* modules/http-method.c: Add comment explaining the coding stall.

	* modules/file-method.c (do_unlink): implement.

	* libgnomevfs/gnome-vfs-seekable.c (do_close, init_seek): do unlink of
	tmp file. 

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_unlink),
	(gnome_vfs_unlink_for_uri): Added.

	* libgnomevfs/gnome-vfs-ops.h: add unlinks.

	* libgnomevfs/gnome-vfs-private-types.h: Add unlink, update truncate.

1999-09-17  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs/gnome-vfs-constants.h: #include "gnome-vfs-types.h"
	and <glibconfig.h>.  #define `GNOME_VFS_SIZE_FORMAT_STR' and
	`GNOME_VFS_OFFSET_FORMAT_STR' according to the size of
	`GnomeVFSFileSize' and `GnomeVFSFileOffset'
	(i.e. according to whether gint64 exists or not).

	* libgnomevfs/gnome-vfs-types.h: #include <glibconfig.h>.

1999-09-16  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.c
	(execute_load_directory_sorted): If the directory is empty, notify
	one single EOF.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_has_parent): New function.
	(gnome_vfs_uri_get_parent): New function.
	(set_uri_element): Make sure there is a slash at the beginning of
	the string.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_to_string): Do not
	try to copy `toplevel_info' if it is NULL.
	(gnome_vfs_uri_dup): If `uri' is NULL, do not spit out a warning.

	* libgnomevfs-pthread/gnome-vfs-job.c
	(dispatch_load_directory_callback): Do not unref the URI here
	unless we are reporting an error!
	(execute_open): Return FALSE if the operation failed, so that the
	thread is killed.
	(execute_create): Likewise.
	(execute_open_as_channel): Return FALSE on any error, and after closing
	the file.
	(execute_create_as_channel): Likewise.

	* libgnomevfs/gnome-vfs-directory.c (directory_visit_internal): Use new
	`gnome_vfs_uri_append_path()' instead of old
	`gnome_vfs_uri_append_text()'.
	(gnome_vfs_directory_visit_files_at_uri): Likewise.
	(CHECK_IF_SUPPORTED): Removed bogus `vfs' parameter.  All
	occurrences updated.

	* libgnomevfs/gnome-vfs-xfer.c (create_xfer_file_list): Use new
	`gnome_vfs_uri_append_path()' instead of old
	`gnome_vfs_uri_append_text()'.
	(gnome_vfs_xfer_uri): Likewise.

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_dup): Handle the
	toplevel URI element correctly.
	(gnome_vfs_uri_append_text): Removed.
	(gnome_vfs_uri_append_path): New function.

1999-09-15  Ettore Perazzoli  <ettore@comm2000.it>

	* test/Makefile.am (EXTRA_DIST): Add all the `.c' files.

	* libgnomevfs-corba/Makefile.am (gnome_vfs_slave_SOURCES): List
	built sources on top.
	(libgnomevfs_corba_la_SOURCES): Likewise.

	* libgnomevfs/Makefile.am (noinst_HEADERS): Add
	`gnome-vfs-module.h'.

1999-09-14  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.c (dispatch_open_callback):
	Unref the URI.
	(dispatch_create_callback): Likewise.
	(dispatch_open_as_channel_callback): Likewise.
	(dispatch_create_as_channel_callback): Likewise.
	(dispatch_load_directory_callback): Likewise.

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_open_uri): New function.
	(gnome_vfs_async_open_uri_as_channel): New function.
	(gnome_vfs_async_create_uri): New function.
	(gnome_vfs_async_load_directory_uri): New function.
	(gnome_vfs_async_open): Updated to work with the GnomeVFSJob
	changes using the GnomeVFSURI-based counterpart.
	(gnome_vfs_async_open_as_channel): Likewise.
	(gnome_vfs_async_create): Likewise.
	(gnome_vfs_async_create_as_channel): Likewise.
	(gnome_vfs_async_load_directory): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.c (execute_open): Updated to
	work with the GnomeVFSJob changes.
	(execute_open_as_channel): Likewise.
	(execute_create): Likewise.
	(execute_create_as_channel): Likewise.
	(execute_load_directory_not_sorted): Likewise.
	(execute_load_directory_sorted): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.h: Use a `GnomeVFSURI' instead
	of a string for all the jobs, except for the xfer one.

	* libgnomevfs/gnome-vfs-async-ops.h (gnome_vfs_async_open_uri):
	New function prototype.
	(gnome_vfs_async_open_uri_as_channel): New function prototype.
	(gnome_vfs_async_create_uri): New function prototype.
	(gnome_vfs_async_create_uri_as_channel): New function prototype.
	(gnome_vfs_async_load_directory_uri): New function prototype.

	* libgnomevfs/gnome-vfs-directory-list.c
	(gnome_vfs_directory_list_sort): Re-assign `entries' to sort the
	list, and set the current position to "none".
	(gnome_vfs_directory_list_set_position): Allow setting a NULL
	position.

	* libgnomevfs/gnome-vfs-directory-filter.c
	(gnome_vfs_directory_filter_new): Do not return NULL if type is
	"none", but some option is specified.

	* libgnomevfs/gnome-vfs-types.h: New GnomeVFSDirectoryFilterOption
	`GNOME_VFS_DIRECTORY_FILTER_NOSELFDIR' to skip `.' and
	`GNOME_VFS_DIRECTORY_FILTER_NOPARENTDIR' to skip `..'.
	* libgnomevfs/gnome-vfs-directory-filter.c (common_filter): Honour
	them.

	* test/test-directory.c (sort_list): Measure sorting speed if
	`--measure-speed' is specified.
	(main): Sort the list even if `--measure-speed' is specified.
	Removed bogus filtering (it did not fit with the popt argument
	parsing).

	* test/test-async-directory.c: New option `--sort' (`-s').
	(main): Do not sort the directory unless it is specified.

	* test/test-async-directory.c: Changed alias for `--measure-speed'
	from `-s' to `-m'.
	* test/test-directory.c: Likewise.

	* idl/gnome-vfs-slave.idl
	(GNOME::VFS:Slave::Notify::load_directory): The problem with
	`oneway' notifications was an ORBit bug, and has now been
	fixed: make this method `oneway' again.

	* libgnomevfs/gnome-vfs-directory-list.c
	(gnome_vfs_directory_list_get): New function.
	* libgnomevfs/gnome-vfs-directory-list.h: Prototype here.

1999-09-13  Ettore Perazzoli  <ettore@comm2000.it>

	* idl/gnome-vfs-slave.idl: Made all the Notify methods non-oneway.
	[No matter what Sopwith says, ORBit does seem to discard oneway
	calls.  Too bad, this could give us up to 20% more speed in
	`load_directory'.]

1999-09-12  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(gnome_vfs_async_cancel): New function.  Just a stub for now.

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_cancel): New
	function.  Just a stub for now.

	* libgnomevfs-pthread/gnome-vfs-job.h (gnome_vfs_job_cancel):
	New prototype.

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_cancel): New function.

	* libgnomevfs/gnome-vfs-async-ops.h (gnome_vfs_async_cancel): New
	prototype.

	* libgnomevfs-pthread/gnome-vfs-job.c (execute_close): Notify with
	ack and return `FALSE' so that the thread is killed.
	(execute_load_directory_not_sorted): Always return FALSE.
	(execute_load_directory_sorted): Likewise.
	(gnome_vfs_job_new): Start the slave only when the `GnomeVFSJob'
	structure has all the members filled.

	* libgnomevfs-corba/gnome-vfs-slave.c: Do not #define
	`SLAVE_DEBUG'.
	(DPRINTF): Flush stdout.

	* test/test-directory.c: Added speed measurement options.
	(main): Honour them.

	* libgnomevfs/gnome-vfs-directory-list.h
	(gnome_vfs_directory_list_get_num_entries): New Prototype.

	* libgnomevfs/gnome-vfs-directory-list.c
	(struct _GnomeVFSDirectoryList): New member `num_entries'.
	(remove_entry): Decrement it.
	(gnome_vfs_directory_list_new): Initialize it.
	(gnome_vfs_directory_list_prepend): Increment it.
	(gnome_vfs_directory_list_append): Increment it.
	(gnome_vfs_directory_list_get_num_entries): New function, returning
	`num_entries'.

	* libgnomevfs/gnome-vfs-utils.c: #include <string.h>.

1999-09-11  Ettore Perazzoli  <ettore@comm2000.it>

	* test/test-async-directory.c (print_list): Flush stdout after
	each line.

	* libgnomevfs-pthread/gnome-vfs-job.c
	(execute_load_directory_sorted): Set result to
	`GNOME_VFS_ERROR_EOF' for the last notification.

	* test/test-async-directory.c: Added command-line options to
	control the number of items per notification and measure speed.
	(main): Set them up and honour them.
	(directory_load_callback): Do not print anything if measuring speed.

	* test/test-async-directory.c (main): Initialize the libraries
	correctly according to the version we are compiling (CORBA or
	pthread).
	(print_list): New parameter `num_entries'.  Only print out the
	first `num_entries' elements.
	(directory_load_callback): Pass the number of entries.

	* test/Makefile.am: Compile `test-async-directory' in two
	versions: a CORBA and a pthread one.

	* libgnomevfs-pthread/gnome-vfs-job.c (JOB_DEBUG): Debugging
	macro, normally disabled.
	(job_notify): Set `want_notify_ack' before calling `wakeup'.
	(job_ack_notify): Debugging messages.
	(wakeup): Likewise.
	(job_oneway_notify): Likewise.
	(job_notify): Likewise.
	(job_close): Likewise.

	* test/gnome-file-selection/Makefile.am: Compile the pthread
	version of `gnome-file-selection-test' as well.

	* test/gnome-file-selection/gnome-file-selection.c (struct
	_GnomeFileSelectionPrivate): Removed `GnomeVFSAsyncContext'
	member, replaced by a `GnomeVFSAsyncHandle' member.
	(destroy): Don't free the context as it does not exist anymore.
	(init): Do not initialize the context.  Instead, set the handle to
	NULL.
	(start_populating): Load the directory with the new API.
	(populate_callback): Updated for the new API (get a
	GnomeVFSAsyncHandle, not a GnomeVFSAsyncContext).

	* test/Makefile.am (SUBDIRS): Compile `gnome-file-selection'
	again.

	* modules/ftp-method.c: Do not #include "util-url.h" anymore.

	* modules/util-url.c: Removed.
	* modules/util-url.h: Removed.

	* modules/ftp-method.c (ftpfs_chdir_internal): Ooops.  Use `TRUE'
	instead of `WAIT_REPLY'.
	(ftpfs_get_current_directory): Use `FALSE' instead of `NONE'.

1999-09-10  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/ftp-method.c: Removed `reply_str' global.  Removed
	`NONE', `WAIT_REPLY', `WANT_STRING' #defines.
	(command): New parameters `reply_string' and `reply_string_len':
	copy the response in there instead of using the silly global.
	(login_server): Pass `TRUE' instead of `WAIT_REPLY' to `command()'
	for the `wait_reply' parameter.  Pass NULL, 0 as `reply_string',
	`reply_string_len'.
	(ftpfs_chdir_internal): Likewise.
	(open_data_connection): Likewise.
	(changetype): Likewise.
	(initconn): Likewise.
	(abort_transfer): Pass `FALSE' instead of `NONE' to `command()'
	for the `wait_reply' parameter. Pass NULL, 0 as `reply_string',
	`reply_string_len'.
	(ftpfs_get_current_directory): Likewise.
	(setup_passive): Allocate the reply in a local buffer, update the
	call to `command()'.

	* modules/ftp-method.c: Removed variable `force_expiration', it
	does not seem to be have meaningful use.  #define `logfile' to
	`stdout' so that we get some useful debugging messages.  Removed
	`code' global (this was *evil*).  Removed `got_sigpipe' global.
	(retrieve_dir): Do not reference it anymore.
	(get_reply): Return the code without dividing it by 100.
	(command): Return 421 for a transient error.  Return `COMPLETE *
	100' instead of `COMPLETE'.
	(login_server): Divide return values from `get_reply' and
	`command' by 100 before comparing with the `ftp.h' constants.
	(abort_transfer): Compare `get_reply()' return value with 426
	instead of comparing it with 4 and checking the global `code' with
	426.
	(store_file): Divide return value from `get_reply()' by 100.
	(linear_read): Likewise.
	(ftpfs_get_current_directory): Likewise.
	(retrieve_dir): Likewise.
	(abort_transfer): Divide return value from `command()' by 100.
	(login_server): Likewise.
	(setup_passive): Likewise.
	(ftpfs_get_current_directory): Likewise.
	(ftpfs_chdir_internal): Likewise.
	(open_data_connection): Likewise.
	(changetype): Likewise.
	(initconn): Likewise.
	(is_connection_closed): Removed unused function.
	(sig_pipe): Do not set `got_sigpipe' anymore.
	(net_init): Likewise.
	(command): Likewise.

	* modules/ftp-method.c (ftpfs_connection_new): New parameter
	`result_return' used to return the VFS error code for a failure.
	(ftpfs_uri_new): Likewise.
	(ftpfs_open_socket): Return a GnomeVFSResult, and set the
	connection on `conn' directly.  Return
	`GNOME_VFS_ERROR_INVALIDHOSTNAME' if the host name is not valid.
	If `gethostbyname()' fails, translate `h_errno' using
	`gnome_vfs_result_from_h_errno()'.  If any of the other Unix
	functions fails, return a sensible error code using
	`gnome_vfs_result_from_errno()'.
	(login_server): Return value changed to `GnomeVFSResult'.  Return
	`GNOME_VFS_ERROR_LOGINFAILED' on error.  Use login "anonymous" if
	user name is NULL.
	(ftpfs_open): Use the new result parameter in `ftpfs_uri_new()'.
	(ftpfs_create): Likewise.
	(command): Adapted to the new `ftpfs_connection_connect()'.
	(ftpfs_connection_connect): Return type changed to
	`GnomeVFSResult'.  Return an appropriate result value.
	(hash_conn): Deal with NULL host/user names gracefully.
	(get_file_entry): Return `GNOME_VFS_ERROR_NOTFOUND' if the file is
	not found, instead of `GNOME_VFS_ERROR_GENERIC'.

	* libgnomevfs/gnome-vfs-result.c: #include <netdb.h> and declare
	`h_errno' as extern
	(gnome_vfs_result_from_h_errno): New function.
	* libgnomevfs/gnome-vfs-result.h (gnome_vfs_result_from_h_errno):
	Prototype here.

	* libgnomevfs/gnome-vfs-types.h: New errors
	`GNOME_VFS_ERROR_HOSTNOTFOUND', `GNOME_VFS_ERROR_INVALIDHOSTNAME',
	`GNOME_VFS_ERROR_HOSTHASNOADDRESS', `GNOME_VFS_ERROR_LOGINFAILED'.
	* libgnomevfs/gnome-vfs-result.c: Added the corresponding
	description strings.

	* modules/ftp-method.c (resolve_symlink_without_ls_options): Use
	`gnome_vfs_canonicalize_pathname()' instead of
	`canonicalize_pathname' from `util-url.c'.
	(ftpfs_open): Return `GNOME_VFS_ERROR_INVALIDURI' instead of
	`GNOME_VFS_ERROR_WRONGFORMAT'.
	(ftpfs_create): Likewise.
	(ftpfs_connection_new): Get const string parameters, and
	g_strdup() all of them when filling the connection struct.
	(ftpfs_parse_uri): Renamed to `ftpfs_uri_new'.  Use the new
	members in `GnomeVFSToplevelURI' instead of parsing the string.
	(ftpfs_connection_new): Removed unused parameter `path'; callers
	updated.
	(lookup_conn): If the specified port is zero, use the default FTP
	port.
	(ftpfs_connection_new): Likewise.

	* test/test-sync.c (main): Do things through a GnomeVFSURI and use
	`gnome_vfs_uri_to_string()', so that we can debug the new stuff.

	* libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Hide password
	when setting source/target URIs in the progress info.

	* libgnomevfs/gnome-vfs-uri.c (set_uri_element): New helper
	function.  It sets the URI element canonicalizing it as well.
	(gnome_vfs_uri_new): Changed to use `set_uri_element' and allocate
	the special toplevel URI element.
	(gnome_vfs_uri_to_string): New parameter `hide_options'.  Add
	host/user information to the string, hiding the information
	specified in `hide_options'.

	* libgnomevfs/gnome-vfs-types.h: New enum `GnomeVFSURIHideOptions'.

	* libgnomevfs/gnome-vfs-utils.c (gnome_vfs_canonicalize_pathname):
	New function, stolen from `util-url.c'.  Slightly changed so that
	it does not remove trailing slashes anymore (we do want them!).

	* libgnomevfs/gnome-vfs-uri.c: Use the constants defined in
	`gnome-vfs-constants.h'.

	* libgnomevfs/gnome-vfs.h: #include `gnome-vfs-constants.h'.

	* libgnomevfs/gnome-vfs-constants.h: New file defining VFS
	constants.

1999-09-09  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): Allocate the
	toplevel URI as a `GnomeVFSToplevelURI'.
	(gnome_vfs_uri_get_toplevel): New function.
	(gnome_vfs_uri_get_host_name): New function.
	(gnome_vfs_uri_get_host_port): New function.
	(gnome_vfs_uri_get_user_name): New function.
	(gnome_vfs_uri_get_password): New function.
	(gnome_vfs_uri_set_host_name): New function.
	(gnome_vfs_uri_set_host_port): New function.
	(gnome_vfs_uri_set_user_name): New function.
	(gnome_vfs_uri_set_password): New function.
	(destroy_element): If it's a toplevel URI, free its extra strings
	as well.
	(string_head): New helper function.
	(split_toplevel_uri): New function, derived from the Midnight
	Commander code in `util-url.c'.  Changed semantics and parameters,
	optimized and prettified a little bit.

	* libgnomevfs/gnome-vfs-types.h: New type `GnomeVFSToplevelURI'.

1999-09-08  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.c (execute_open): Do not set
	`handle' on the notification.
	(execute_create): Likewise.
	(execute_close): Likewise.

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_close): Do not set `handle' on the request.
	(gnome_vfs_async_read): Likewise.
	(gnome_vfs_async_write): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new):
	Initialize the `handle' member to NULL.
	(execute_open): Set `handle'.
	(execute_create): Likewise.
	(execute_close): Use `job->handle' instead of the (now gone)
	request-specific member.
	(execute_read): Likewise.
	(execute_write): Likewise.
	(execute_close): Set `handle' to NULL.

	* libgnomevfs-pthread/gnome-vfs-job.h: Removed `handle' members
	from all the `*Job' structs.
	(struct _GnomeVFSJob): New member `handle'.

	* libgnomevfs-pthread/gnome-vfs-job.c (execute_xfer): Return FALSE.
	(execute_load_directory): Return FALSE;

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_context_new): Removed.
	(gnome_vfs_async_context_destroy): Removed.
	(struct _GnomeVFSAsyncContext): Removed.
	(struct _GnomeVFSAsyncHandle): Removed.
	(gnome_vfs_async_open): Updated for the new API.  Create a new job
	for this file and return it as the handle.
	(gnome_vfs_async_open_as_channel): Likewise.
	(gnome_vfs_async_create): Likewise.
	(gnome_vfs_async_create_as_channel): Likewise.
	(gnome_vfs_async_close): Updated for the new API.  
	(gnome_vfs_async_read): Updated for the new API.
	(gnome_vfs_async_write): Updated for the new API.
	(gnome_vfs_async_load_directory): Updated for the new API.  Create
	a new job for this file and return it as the handle.
	(gnome_vfs_async_xfer): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Removed
	parameter `context'.
	(dispatch_open_callback): Updated to match the new number of
	parameters of callback functions.  Pass the job as the
	`GnomeVFSAsyncHandle' parameter.
	(dispatch_create_callback): Likewise.
	(dispatch_open_as_channel_callback): Likewise.
	(dispatch_create_as_channel_callback): Likewise.
	(dispatch_read_callback): Likewise.
	(dispatch_write_callback): Likewise.
	(dispatch_xfer_callback): Likewise.
	(dispatch_close_callback): Likewise.  Destroy the job on return.
	(dispatch_load_directory_callback): Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.h (struct _GnomeVFSJob):
	Removed member `context'.

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Create
	new slave first.  If this fails, return NULL.

	* test/test-channel.c (io_channel_callback): Handle combined
	conditions.

	* libgnomevfs/gnome-vfs-types.h: Removed `GnomeVFSAsyncContext'
	definition.

	* libgnomevfs-corba/gnome-vfs-slave-notify.c (impl_Notify_open):
	Duplicate the file handle object.
	(impl_Notify_close): Relese the file handle object.

	* test/test-async.c: Adapted to the new API.
	* test/test-async-channel.c: Likewise.
	* test/test-channel.c: Likewise.

	* test/Makefile.am: Do not compile the pthread versions of the
	tests anymore.  Do not compile the gnome-file-selection test for
	now.

	* libgnomevfs-corba/gnome-vfs-async-ops.c: Updated all the
	functions to handle the new parameters and use the new modules.
	(gnome_vfs_async_context_destroy): Removed.
	(gnome_vfs_async_context_reset): Removed.
	(gnome_vfs_async_context_new): Removed.
	(create_notify_object): Removed.
	(context_from_servant): Removed.

	* libgnomevfs-corba/gnome-vfs-slave-notify.c: New file,
	implementing the `GNOME::VFS::Slave::Notify' interface.
	* libgnomevfs-corba/gnome-vfs-slave-notify.h: Header for it.

	* libgnomevfs-corba/gnome-vfs-slave-process.c: New file,
	replacing GnomeVFSAsyncContext handling.
	* libgnomevfs-corba/gnome-vfs-slave-process.h: Header for it.

	* libgnomevfs/gnome-vfs-types.h: Removed
	`GnomeVFSAsyncContextResetCallback' typedef.

	* libgnomevfs/gnome-vfs-types.h: The callbacks no longer take a
	`GnomeVFSAsyncContext *' parameter.  Instead, they now take a
	`GnomeVFSAsyncHandle *' parameter.

	* libgnomevfs/gnome-vfs-async-ops.h: Removed prototypes for
	(gnome_vfs_async_context_new): Removed prototype.
	(gnome_vfs_async_context_reset): Removed prototype.
	(gnome_vfs_async_context_destroy): Remove prototype.
	(gnome_vfs_async_open): Removed parameter `context'; new parameter
	`handle_return'.
	(gnome_vfs_async_open_as_channel): Likewise.
	(gnome_vfs_async_create): Likewise.
	(gnome_vfs_async_create_as_channel): Likewise.
	(gnome_vfs_async_load_directory): Likewise.
	(gnome_vfs_async_xfer): Likewise.

1999-09-08  Michael Meeks  <michael@nuclecu.unam.mx>

	* libgnomevfs/gnome-vfs-seekable.c (init_seek): Split out file read
	(read_file): to here & added (write_file): to put back the cache.
	(do_close): write file back. (init_seek): Add dirty bit.
	NB. dirt bit could cause problems with 0 length created files.

1999-09-07  Michael Meeks  <michael@imaginator.com>

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_from_uri): Added new
	improved re-open for non-random capable file methods.

	* doc/writing-modules.txt: Updated.

	* libgnomevfs/gnome-vfs-seekable.c: Actualy does something now.

	* modules/file-method.c (do_create): Fixed unix_mode on created file
	to allow reading from a created file.

1999-09-06  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new):
	Initialize `wakeup_channel_lock'.
	(gnome_vfs_job_destroy): Free it.
	(wakeup): New helper function.
	(job_oneway_notify): Use it.  Lock the channel mutex before doing
	the notification.
	(job_notify): Likewise.
	(job_ack_notify): Unlock the channel mutex.

	* libgnomevfs-pthread/gnome-vfs-job.h: New member
	`wakeup_channel_lock' in `GnomeVFSJob'.

	* libgnomevfs-pthread/gnome-vfs-job.c (job_notify): Set
	`want_notify_ack' to TRUE before waiting for the acknowledgment
	condition.
	(job_ack_notify): Signal the acknowledgment condition only if
	`want_notify_ack' is TRUE.

	* libgnomevfs-pthread/gnome-vfs-job.h: New member
	`want_notify_ack' in `GnomeVFSJob'.

1999-09-06  Michael Meeks  <michael@imaginator.com>

	* libgnomevfs/gnome-vfs-private.h: Add include gnome-vfs-seekable.h

	* libgnomevfs/gnome-vfs-seekable.[ch]: Created.

	* libgnomevfs/Makefile.am: Include them.

	* libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_new): Added
	OPEN_RANDOM hook here.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_from_uri): and removed
	hook from here.

	* test/test-seek.c: Implemented fully.

	* modules/file-method.c (do_tell, do_seek): correct order to offset
	then whence.

	* test/gnome-file-selection/gicon.c (gicon_get_icon_for_file): Add
	precondition.

1999-09-06  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(impl_Notify_open_as_channel): If the operation fails, the context
	is not busy anymore.

	* libgnomevfs/gnome-vfs-method.c: New type `MethodElement'.
	(gnome_vfs_method_get): Put `MethodElement's in the hash table
	instead of `GnomeVFSMethod's.
	(module_get_sane_handle): Do not check for get_file_info.

	* modules/file-method.c (do_open): Removed wrong directory test.
	(do_create): Removed stupid stat check.
	(do_seek): Call LSEEK() correctly.
	(do_tell): Likewise.

1999-09-05  Michael Meeks  <michael@imaginator.com>

	* test/Makefile.am (noinst_PROGRAMS): Added test_seek.

	* libgnomevfs/gnome-vfs-method.c (module_get_sane_handle):
	Add check for 'seek' and no 'tell'.

1999-09-05  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/file-method.c (do_open): Fstat the file; if it's a
	directory, return `GNOME_VFS_ERROR_ISDIRECTORY'.
	(do_create): Likewise.

1999-09-04  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/file-method.c (stat_to_file_info): New helper function.
	(get_stat_info_from_handle): New function to get GnomeVFSFileInfo
	from an existing handle.
	(do_get_file_info_from_handle): New function, implementing the
	`get_file_info_from_handle' method.

	* modules/ftp-method.c: Likewise.
	* modules/gconf-method.c: Likewise.
	* modules/http-method.c: Likewise.

	* modules/gzip-method.c: Set the `get_file_info_from_handle'
	method to NULL.

	* libgnomevfs/gnome-vfs-private-types.h: New member
	`get_file_info_from_handle' in `GnomeVFSMethod'.

	* libgnomevfs/gnome-vfs-handle.c
	(gnome_vfs_handle_do_get_file_info): New function.

	* libgnomevfs/gnome-vfs-ops.c
	(gnome_vfs_get_file_info_from_handle): New function.

	* libgnomevfs/gnome-vfs-private-types.h: New typedef.
	`GnomeVFSMethodGetFileInfoFromHandleFunc'.

	* modules/file-method.c (do_create): Renamed `file_method' to
	`file_handle'.

1999-09-02  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs/gnome-vfs-process.c: Improved SIGCHLD handling.
	(sigchld_handler): Instead of waking the GLIB loop up once for
	every dead child, wake it up only for registered children.
	(foreach_pid_func): Helper function for `sigchld_handler'.  It
	sends a pointer to the process struct and the exit status to the
	wake up GIOChannel.
	(wake_up): Handle the information as sent by `foreach_pid_func'.

1999-09-01  Dave Camp  <campd@oit.edu>

	* modules/gconf-method.c: Explicitly set the `remove_directory'
	method to NULL.

1999-09-01  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/http-method.c: Explicitly set the `remove_directory'
	method to NULL.

	* modules/ftp-method.c (ftpfs_remove_directory): New function, for
	future implementation of the `remove_directory' method.

	* modules/gzip-method.c: Explicitly set the `remove_directory' and
	`rename' methods to NULL.

	* modules/file-method.c (do_remove_directory): New function,
	implementing the `remove_directory' method.

	* libgnomevfs/gnome-vfs-ops.c
	(gnome_vfs_remove_directory_from_uri): New function.
	(gnome_vfs_remove_directory): New function.

	* libgnomevfs/gnome-vfs-private-types.h: New typedef
	`GnomeVFSMethodRemoveDirectoryFunc'.  Added member
	`remove_directory' to `GnomeVFSMethod'.

	* libgnomevfs/gnome-vfs-ops.c (gnome_vfs_tell): Removed parameter
	`whence'.

	* libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_do_tell):
	Removed parameter `whence'.

	* libgnomevfs/gnome-vfs-private-types.h: Removed parameter
	`whence' from the `GnomeVFSMethodTellFunc' function typedef.
	* modules/file-method.c: Updated accordingly.
	* modules/ftp-method.c: Updated accordingly.
	* modules/http-method.c: Updated accordingly.

1999-09-01  Dave Camp  <campd@oit.edu>

	* modules/gconf-method.c (set_mime_type_value): Return a 
	GnomeVFSResult, check return value of calls.
	(set_mime_type_dir): Ditto.
	(set_stat_info_dir): Ditto.
	(file_info_value): Ditto.
	(file_info_dir): Ditto.
	(read_directory): Ditto.

1999-09-01  Dave Camp  <campd@oit.edu>

	* configure.in: Check for GConf.

	* modules/Makefile.am: Build libgconf.la if HAVE_GCONF is set.

	* modules/gconf-method.c: New file.

1999-09-01  Ettore Perazzoli  <ettore@comm2000.it>

	* test/test-async-directory.c (directory_load_callback): Added
	cast for printf.

	* modules/file-method.c:  Removed `init()' prototype.
	* modules/gzip-method.c: Likewise.

	* libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read): Use
	`GnomeVFSFileSize' appropriately.
	(serve_channel_write): Likewise.

	* test/test-async-directory.c (print_list): Fix format string to
	handle long longs.
	* test/test-async.c (read_callback): Likewise.
	* test/test-copy.c (xfer_progress_callback): Likewise.
	* test/test-directory.c (print_list): Likewise.
	* test/test-directory-visit.c (directory_visit_callback): Likewise.

	* modules/file-method.c: #define `_LARGEFILE64_SOURCE' before
	including anything.  #define `OPEN' to `open64' if available, to
	`open' otherwise.  #define `LSEEK' to `lseek64' if available, to
	`lseek' otherwise.  Likewise, #define `OFF_T' to either `off_t' or
	`off64_t', accordingly.
	(do_open): Use the `OPEN' macro instead of `open()'.
	(do_create): Likewise.
	(do_seek): Use the `LSEEK' macro instead of `lseek()'.
	(do_tell): Likewise.
	(do_tell): Use the `OFF_T' instead of `off_t'.

	* libgnomevfs/gnome-vfs-types.h: Define `GnomeVFSFileSize' as
	`guint64' and `GnomeVFSFileOffset' to `gint64' if we have gint64
	support

	* configure.in: Check for `open64' and `lseek64'.

	* libgnomevfs/gnome-vfs-types.h: Added comment with instructions
	for modifying the GnomeVFSResult properly.

	* libgnomevfs/gnome-vfs-result.c: Added status strings for
	`GNOME_VFS_ERROR_INTERRUPTED' and `GNOME_VFS_ERROR_FILEEXISTS'.

1999-08-31  Michael Meeks  <michael@imaginator.com>

	* modules/file-method.c: Rename module init and add shutdown & include.
	* modules/ftp-method.c: ditto.
	* modules/gzip-method.c: ditto.
	* modules/http-method.c: ditto.

	* libgnomevfs/gnome-vfs-module.h: Create.

	* libgnomevfs/gnome-vfs-method.c (module_get_sane_handle): Add &
	use new function name macros.
	(gnome_vfs_method_get): move some stuff & call get_sane_handle.

1999-08-31  Miguel de Icaza  <miguel@gnu.org>

	* modules/ftp-method.c: new global: got_sigpipe.
	(ftpfs_connection_connect): Init sigpipe handler;  Only connect if
	connection is invalid.
	(get_file_entry): Apply IS_LINEAR on proper flags.
	(ftpfs_open): Use the linear state as computed in get_file_entry.
	(ftpfs_read): Implemented.
	(ftpfs_close): Implemented.
	(ftpfs_create): Implemented.
	(ftpfs_seek): Implemented.
	(ftpfs_tell): Implemented.

1999-08-30  Miguel de Icaza  <miguel@gnu.org>

	* modules/ftp-method.c (ftpfs_dir_unref): New method.

1999-08-29  Miguel de Icaza  <miguel@gnu.org>

	* libgnomevfs/gnome-vfs-types.h: New error types.
	
	* libgnomevfs/gnome-vfs-result.c: Return nice results for it.

1999-08-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* modules/ftp-method.c (IS_LINEAR): Define macro.
	GNOME_VFS_OPEN_RANDOM means we need seek support, otherwise we are
	a linear transfer.  Cool.

1999-08-28  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(impl_Notify_load_directory): Copy `name' and allocate it
	dynamically.

	* libgnomevfs-corba/gnome-vfs-slave.c (allocate_info_list):
	Initialize `name' to NULL.
	(copy_file_info): Copy `name' into the CORBA `FileInfo' struct
	using `set_corba_string'.

	* idl/gnome-vfs-slave.idl: Added member `name' to `FileInfo'.

	* modules/file-method.c (read_directory): Allocate the name in the
	`GnomeVFSFileInfo' struct dynamically.
	(do_get_file_info): Set `name' in the info using `g_basename'.

	* libgnomevfs/gnome-vfs-file-info.c (gnome_vfs_file_info_clear):
	Free `name'.
	(gnome_vfs_file_info_copy): Realloc `name' in the destination
	`GnomeVFSFileInfo'.

	* libgnomevfs/gnome-vfs-types.h: Removed #definition of
	`GNOME_VFS_FILE_NAME_LEN'.  Member `name' of `GnomeVFSFileInfo'
	changed from `char []' to `char *'.

1999-08-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* modules/util-url.c, modules/ftp-method.c: New files for the
	implementation of the FTP backend.

1999-08-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* test/gnome-file-selection/gnome-file-selection.c
	(setup_directory_clist): Also push the colormap and pop the
	colormap. 

1999-08-27  Ettore Perazzoli  <ettore@comm2000.it>

	* test/gnome-file-selection/gicon.c: Do not #define `ICONDIR'
	manually anymore.

	* test/gnome-file-selection/Makefile.am (INCLUDES): Added quick &
	dirty `-DICONDIR' definition.

1999-08-26  Ettore Perazzoli  <ettore@comm2000.it>

	* libgnomevfs-pthread/gnome-vfs-job.h: Changed `is_empty' member
	of `GnomeVFSJob' from 1-bit wide gboolean to plain gboolean.

	* modules/Makefile.am (modules_LTLIBRARIES): Removed previously
	commented HTTP module.

	* test/Makefile.am: Minor cleanup.
	(noinst_PROGRAMS): Replace `test-async-pthread' with
	`test-async_pthread' and `test-async-corba' with
	`test-async_corba'.  Added `test-channel_corba' and
	`test-channel_pthread'.
	(test-channel_corba): New target, compiling `test-channel.c' with
	the CORBA-based VFS.
	(test-channel_pthread): New target, compiling `test-channel.c'
	with the PThread-based VFS.

	* libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_write): New
	function.
	(serve_channel_read): New function.
	(execute_open_as_channel): New function.
	(execute_create_as_channel): New function.
	(gnome_vfs_job_execute): Call `execute_open_as_channel()' and
	`execute_create_as_channel()' for jobs
	`GNOME_VFS_JOB_OPEN_AS_CHANNEL' and
	`GNOME_VFS_JOB_CREATE_AS_CHANNEL', respectively.
	(dispatch_open_or_create_as_channel_callback): New function.
	(dispatch_job_callback): Handle `GNOME_VFS_JOB_OPEN_AS_CHANNEL'
	and `GNOME_VFS_JOB_CREATE_AS_CHANNEL' through it.

	* libgnomevfs-pthread/gnome-vfs-async-ops.c
	(gnome_vfs_async_open_as_channel): New function.
	(gnome_vfs_async_create_as_channel): New function.

	* libgnomevfs-pthread/gnome-vfs-job.h: New structs
	`GnomeVFSOpenAsChannelJob', `GnomeVFSCreateAsChannelJob'; added
	corresponding members to `GnomeVFSJob'.  New values
	`GNOME_VFS_JOB_OPEN_AS_CHANNEL' and
	`GNOME_VFS_JOB_CREATE_AS_CHANNEL' in `GnomeVFSJobType'.

	* test/test-async-directory.c: Removed translation marks.
	* test/test-async.c: Likewise.
	* test/test-directory-visit.c: Likewise.
	* test/test-directory.c: Likewise.

	* libgnomevfs/gnome-vfs-result.c (gnome_vfs_result_from_errno):
	Translate `EPERM' with `GNOME_VFS_ERROR_NOTPERMITTED'.

	* libgnomevfs/gnome-vfs-types.h: Added value
	`GNOME_VFS_ERROR_NOTPERMITTED' to GnomeVFSError.

	* test/test-channel.c: New test program.

	* libgnomevfs-corba/gnome-vfs-slave.h (setup_and_serve_channel):
	New function.
	(serve_channel_read): New function.
	(serve_channel_write): New function.
	(impl_Request_open_as_channel): New function.
	(impl_Request_create_as_channel): New function.
	(init_Request): Install `impl_Request_open_as_channel' and
	`impl_Request_create_as_channel' as the implementations for
	`Request::open_as_channel' and `Request::create_as_channel',
	respectively.

	* libgnomevfs-corba/gnome-vfs-async-ops.c: New values
	`GNOME_VFS_ASYNC_OP_OPEN_AS_CHANNEL',
	`GNOME_VFS_ASYNC_OP_CREATE_AS_CHANNEL'
	`GNOME_VFS_ASYNC_OP_CHANNEL' in enum `GnomeVFSAsyncOperation'.
	Sorted values in alphabetical order.
	(gnome_vfs_async_open_as_channel): New function.
	(gnome_vfs_async_create_as_channel): New function.
	(impl_Notify_open_as_channel): New function.
	(create_notify_object): Install it as the implementation of
	`Notify::open_as_channel'.

	* idl/gnome-vfs-slave.idl (Request::open_as_channel): New method.
	(Request::create_as_channel): New method.
	(Notify::open_as_channel): New method.

	* libgnomevfs/gnome-vfs-async-ops.h
	(gnome_vfs_async_open_as_channel): Declare new function.
	(gnome_vfs_async_create_as_channel): Declare new function.

	* libgnomevfs/gnome-vfs-types.h: New typedefs
	`GnomeVFSAsyncOpenAsChannelCallback',
	`GnomeVFSAsyncCreateAsChannelCallback'.

	* libgnomevfs-corba/gnome-vfs-async-ops.c
	(gnome_vfs_async_create): Added precondition that file must be
	open for writing.
	(impl_Notify_reset): Oops.  Removed typo (`*' before parameter
	`servant').

1999-08-26  Michael Meeks  <michael@imaginator.com>

	* test/gnome-file-selection/gnome-file-selection.c
	(clean_file_list): Added. (change_dir): Clean list.
	(populate_callback): Add only files.

1999-08-26  Michael Meeks  <michael@imaginator.com>

	* test/gnome-file-selection/gnome-file-selection.c (destroy): 
	Destroy file_list.
	(GnomeFileSelectionPrivate): Changed file_list to GList.
	(select_icon_callback): use this list, add lots of preconditions.

1999-08-26  Michael Meeks  <michael@imaginator.com>

	* libgnomevfs/gnome-vfs-types.h: Add GnomeVFSFileSize, and
	GnomeVFSFileOffset ( unsigned, signed ). and push through the
	whole API - How will CORBA deal with this ?

1999-08-25  Michael Meeks  <michael@imaginator.com>

	* doc/writing-modules.txt: Started.

1999-08-25  Michael Meeks  <michael@imaginator.com>

	* http-method.[ch]: First pass at implementing.
	
	* modules/file-method.c: Add NULL RenameFunc to methods, and
	remove const from do_make_directory's GnomeVFSURI.

	* modules/Makefile.am: Add libhttp.la, commented out.

1999-08-25  Ettore Perazzoli  <ettore@comm2000.it>

	* modules/file-method.c: Preconditions return `GNOME_VFS_INTERNAL'
	instead of `GNOME_VFS_BAD_POINTER'.

	* libgnomevfs/gnome-vfs-types.h: Removed value
	`GNOME_VFS_BAD_POINTER' from the `GnomeVFSResult' enum.

1999-08-25  Michael Meeks  <michael@imaginator.com>

	* modules/file-method.c: Update all preconditions to return BAD_POINTER
	as their GnomeVFSResult instead of FALSE.

	* libgnomevfs/gnome-vfs-types.h: Added GNOME_VFS_ERROR_BAD_POINTER.

	* modules/gzip-method.h: Rename conditional include
	from _FILE_H to _GZIP_H

1999-08-25  Ettore Perazzoli  <ettore@comm2000.it>

	* configure.in: Add gnomeui libs to `VFSCORBA_LIBS'.
