2008-07-26  Johan Dahlin  <johan@gnome.org>

	reviewed by: <delete if not using a buddy>

	* NEWS:

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* gobject/Makefile.am (_gobject_la_SOURCES): Build fix, remove
	extra \

	* examples/gio/directory-async.py:
	* gio/Makefile.am:
	* gio/giomodule.c (init_gio):
	* glib/pyglib.c (pyglib_error_check),
	(pyglib_register_exception_for_domain):
	* glib/pyglib.h:
	* tests/test_gio.py:
	Add a new API for registering exceptions for a GError domain.
	Register a new exception for G_IO_ERROR, update tests
	and examples to use the new exception.

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* glib/pygoptioncontext.c (pyg_option_context_set_main_group),
	(pyg_option_context_add_group):
	Send in a PyObject instead of a PyGOptionGroup object.

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* glib/Makefile.am:
	* glib/glibmodule.c (pyglib_register_constants), (init_glib):
	* glib/option.py:
	* glib/pyglib.c (pyglib_init),
	(pyglib_option_group_transfer_group), (pyglib_option_group_new),
	(pyglib_option_context_new):
	* glib/pyglib.h:
	* glib/pygoptioncontext.c (pyg_option_context_parse),
	(pyg_option_context_set_main_group),
	(pyg_option_context_add_group),
	(pyglib_option_context_register_types):
	* glib/pygoptioncontext.h:
	* glib/pygoptiongroup.c (arg_func),
	(pyglib_option_group_register_types):
	* glib/pygoptiongroup.h:
	* gobject/Makefile.am:
	* gobject/__init__.py:
	* gobject/gobjectmodule.c (init_gobject):
	* gobject/option.py:
	* gobject/pygobject-private.h:
	* gobject/pygoptioncontext.c:
	* gobject/pygoptiongroup.c:
	Move option over from gobject to glib.

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* tests/common.py:
	* tests/test_conversion.py:
	* tests/test_enum.py:
	* tests/test_interface.py:
	* tests/test_option.py:
	* tests/test_source.py:
	* tests/test_subprocess.py:
	* tests/test_subtype.py:
	* tests/test_thread.py:
	* tests/test_unknown.py:
	Run pyflakes on the testsuite, remove unused imports
	and reorganize others.

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* glib/glibmodule.c (pyglib_register_constants), (init_glib):
	* gobject/__init__.py:
	* gobject/gobjectmodule.c (init_gobject):
	Move over glib constants to gobject
	* tests/test_gio.py:
	* tests/test_mainloop.py:
	* tests/test_source.py:
	* tests/test_subprocess.py:
	* tests/test_thread.py:
	Update tests to refer to glib when appropriate

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* README:
	* configure.ac:
	Bump required glib version to 2.10

2008-07-26  Johan Dahlin  <johan@gnome.org>

	* glib/glibmodule.c (child_watch_dnotify),
	(pyglib_child_watch_add):
	* glib/pygiochannel.c (pyg_iowatch_data_free),
	(py_io_channel_add_watch):
	* glib/pygspawn.c (_pyg_spawn_async_callback),
	(pyglib_spawn_async):
	Use g_slice_new instead of g_new

2008-07-25  Johan Dahlin  <johan@gnome.org>

	* gobject/Makefile.am:
	* tests/Makefile.am:
	Make distcheck pass

2008-07-25  Johan Dahlin  <johan@gnome.org>

	* gobject/gobjectmodule.c (init_gobject):
	* gobject/pygobject-private.h:
	Remove private structures which moved to pyglib.

2008-07-24  Johan Dahlin  <johan@gnome.org>

	Bug 544600 – pygobject building failed since 839 revision, 
	error : "Py_ssize_t" undeclared

	* glib/pyglib-private.h: Add backward compatibility macros for
	python 2.4.

	* gio/gfile.override:
	* gio/gfileenumerator.override:
	* gio/ginputstream.override:
	* gio/gio.defs:
	* gio/gio.override:
	* gio/goutputstream.override:
	* tests/test_gio.py:
	Wrap gio.File.copy, add tests and documentation.
	Rename PyGAsyncRequestNotify to PyGIONotify and reuse it.

2008-07-23  Johan Dahlin  <johan@gnome.org>

	* glib/pyglib.c (_pyglib_destroy_notify):
	Rename the function too, not just the prototype!

2008-07-21  Johan Dahlin  <johan@gnome.org>

	* glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add),
	(pyglib_timeout_add_seconds), (pyglib_io_add_watch):
	* glib/pyglib-private.h:
	* glib/pyglib.c (pyglib_destroy_notify), (_pyglib_handler_marshal):
	* glib/pyglib.h:
	* glib/pygsource.c (pyg_source_set_callback):
	Make pyglib_destroy_notify and pyglib_handler_marshal private.
	Add a few public prototypes.

2008-07-21  Johan Dahlin  <johan@gnome.org>

	* glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add),
	(pyglib_timeout_add_seconds), (pyglib_io_add_watch),
	(pyglib_source_remove), (pyglib_child_watch_add),
	(pyglib_markup_escape_text), (pyglib_get_current_time),
	(pyglib_main_depth), (pyglib_filename_display_name),
	(pyglib_filename_display_basename), (pyglib_filename_from_utf8),
	(pyglib_get_application_name), (pyglib_set_application_name),
	(pyglib_get_prgname), (pyglib_set_prgname), (pyglib_register_api),
	(pyglib_register_error):
	Mark as static, rename from pyg_* -> pyglib_*. Fill in api struct,
	rename struct and remove function suffix.

2008-07-21  Johan Dahlin  <johan@gnome.org>

	* glib/Makefile.am:
	* glib/glibmodule.c (pyg_idle_add), (pyg_timeout_add),
	(pyg_timeout_add_seconds), (pyg_io_add_watch),
	(pyglib_register_api), (pyglib_register_error),
	(pyglib_register_version_tuples), (init_glib):
	* glib/pygiochannel.c (py_io_channel_next),
	(py_io_channel_shutdown), (py_io_channel_set_encoding),
	(py_io_channel_read_chars), (py_io_channel_write_chars),
	(py_io_channel_write_lines), (py_io_channel_flush),
	(py_io_channel_set_flags), (py_io_channel_read_line),
	(py_io_channel_read_lines), (py_io_channel_seek),
	(py_io_channel_init), (pyglib_iochannel_register_types):
	* glib/pygiochannel.h:
	* glib/pyglib-private.h:
	* glib/pyglib.c (pyglib_threads_enabled),
	(pyglib_gil_state_ensure), (pyglib_gil_state_release),
	(pyglib_enable_threads), (pyglib_block_threads),
	(pyglib_unblock_threads), (pyglib_set_thread_block_funcs),
	(pyglib_handler_marshal), (pyglib_destroy_notify):
	* glib/pyglib.h:
	* glib/pygsource.c (pyg_source_set_callback),
	(pyglib_source_register_types):
	* glib/pygsource.h:
	* glib/pygspawn.c (pyglib_spawn_register_types):
	* glib/pygspawn.h:
	* gobject/Makefile.am:
	* gobject/__init__.py:
	* gobject/gobjectmodule.c (pyg_set_thread_block_funcs),
	(init_gobject):
	* gobject/pygiochannel.c:
	* gobject/pygobject-private.h:
	* gobject/pygsource.c:
	Move over Source, IOChannel, Idle, Timeout and PollFD to glib from
	gobject.
	Clean up and add a bit of new api for glib.

2008-07-21  Johan Dahlin  <johan@gnome.org>

	* configure.ac:
	Use yes/no instead of true/false. Avoid bashism.
	Fix another logic bug, and let's hope I didn't break anything

2008-07-20  Paul Pogonyshev  <pogonyshev@gmx.net>

	* configure.ac (pygobject_CODEGEN_DEFINES): Fix libffi check
	logic.

2008-07-20  Johan Dahlin  <johan@gnome.org>

	* glib/Makefile.am:
	* glib/glibmodule.c (pyglib_main_context_default), (init_glib):
	* glib/pyglib.c (pyglib_init), (pyglib_threads_enabled),
	(pyglib_main_context_new):
	* glib/pyglib.h:
	* glib/pygmaincontext.c (_wrap_g_main_context_iteration),
	(pyglib_maincontext_register_types):
	* glib/pygmaincontext.h:
	* glib/pygmainloop.c (pyg_signal_watch_prepare),
	(pyg_signal_watch_check), (pyg_main_loop_new),
	(_wrap_g_main_loop_get_context), (_wrap_g_main_loop_run),
	(pyglib_mainloop_register_types):
	* glib/pygmainloop.h:
	* gobject/Makefile.am:
	* gobject/__init__.py:
	* gobject/gobjectmodule.c (pyg_destroy_notify), (pyobject_free),
	(pyg_object_set_property), (pyg_object_get_property),
	(_pyg_signal_accumulator), (pygobject__g_instance_init),
	(pyg_handler_marshal), (pygobject_gil_state_ensure),
	(pygobject_gil_state_release), (marshal_emission_hook),
	(_log_func), (init_gobject):
	* gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_new):
	* gobject/pygenum.c (pyg_enum_add):
	* gobject/pygflags.c (pyg_flags_add):
	* gobject/pygiochannel.c (pyg_iowatch_marshal):
	* gobject/pygmaincontext.c:
	* gobject/pygmainloop.c:
	* gobject/pygobject-private.h:
	* gobject/pygobject.c (pygobject_data_free), (pyg_toggle_notify),
	(pygobject_new_with_interfaces), (pygobject_weak_ref_notify):
	* gobject/pygobject.h:
	* gobject/pygoptiongroup.c (destroy_g_group), (arg_func):
	* gobject/pygpointer.c (pyg_pointer_new):
	* gobject/pygsource.c (pyg_source_get_context),
	(pyg_source_prepare), (pyg_source_check), (pyg_source_dispatch),
	(pyg_source_finalize):
	* gobject/pygtype.c (pyg_closure_invalidate),
	(pyg_closure_marshal), (pyg_signal_class_closure_marshal):
	* tests/common.py:

	Move maincontext and mainloop over to glib.
	Update the threadstate api to use the variant in glib.

2008-07-20  Johan Dahlin  <johan@gnome.org>

	* glib/Makefile.am:
	* gobject/Makefile.am:
	* gobject/__init__.py:
	* gobject/gobjectmodule.c (pyg_threads_init), (pyg_error_check),
	(pyg_gerror_exception_check), (init_gobject):
	* gobject/option.py:
	Install the glib module, the helper library and the headers.
	Use it from gobject and remove the old glib specific code from there.

2008-07-20  Johan Dahlin  <johan@gnome.org>

	* configure.ac:
	* gobject/Makefile.am:
	Use pkg-config to check for libffi again.

2008-07-20  Johan Dahlin  <johan@gnome.org>

	* glib/Makefile.am:
	* glib/glibmodule.c (pyg_main_context_default):
	* glib/pyglib.c (pyglib_gerror_exception_check):
	* glib/pyglib.h:
	Rename helper library to libpyglib-2.0.
	Move over pyg_gerror_exception_check as well.

2008-07-20  Johan Dahlin  <johan@gnome.org>

	* Makefile.am:
	* configure.ac:
	* glib/Makefile.am:
	* glib/__init__.py:
	* glib/glibmodule.c (pyg_destroy_notify), (get_handler_priority),
	(pyg_handler_marshal), (pyg_idle_add), (pyg_timeout_add),
	(pyg_timeout_add_seconds), (iowatch_marshal), (pyg_io_add_watch),
	(pyg_source_remove), (pyg_main_context_default),
	(child_watch_func), (child_watch_dnotify), (pyg_child_watch_add),
	(pyg_markup_escape_text), (pyg_get_current_time), (pyg_main_depth),
	(pyg_filename_display_name), (pyg_filename_display_basename),
	(pyg_filename_from_utf8), (pyg_get_application_name),
	(pyg_set_application_name), (pyg_get_prgname), (pyg_set_prgname),
	(pyg_register_api), (pyg_register_error),
	(pyg_register_version_tuples), (init_glib):
	* glib/pyglib-private.h:
	* glib/pyglib.c (pyglib_init), (pyglib_init_internal),
	(pyglib_gil_state_ensure), (pyglib_gil_state_release),
	(pyglib_enable_threads), (pyglib_gil_state_ensure_py23),
	(pyglib_gil_state_release_py23), (pyglib_error_check):
	* glib/pyglib.h:
	* glib/pygspawn.c (pyg_pid_close), (pyg_pid_free),
	(pyg_pid_tp_init), (pyg_pid_new), (_pyg_spawn_async_callback),
	(pyglib_spawn_async), (pyg_spawn_register_types):
	* glib/pygspawn.h:
	Add glib bindings, currently not installed or used.
	Add some internal API and move over a couple of functions
	from the gobject module. Still very much a work in progress.

2008-07-19  Johan Dahlin  <johan@gnome.org>

	* gio/gio.override:
	Ignore a bunch of functions which are not relevant.

2008-07-19  Johan Dahlin  <johan@gnome.org>

	* gio/gfile.override:
	* gio/gio.defs:
	* gio/gio.override:
	* tests/test_gio.py:
	Bind gio.Mount.unmount, gio.File.mount_mountable,
	gio.File.unmount_mountable and gio.File.mount_enclosing_volume.
	Add documents and tests.

2008-07-19  Johan Dahlin  <johan@gnome.org>

	* gio/gio.override: Set module name back to
	gio, as setting it to gio._gio breaks pydoc.

	* gio/gio.defs:
	Use property based constructors when possible.

2008-07-19  Johan Dahlin  <johan@gnome.org>

	* examples/gio/directory-async.py:
	* gio/gfileenumerator.override:
	* gio/gio.defs:
	* tests/test_gio.py:
	Wrap gio.FileEnumerator.next_files_async/next_files_done.
	Update the example to use them instead of the synchronous versions,
	add documentation and tests.

2008-07-19  Johan Dahlin  <johan@gnome.org>

	* examples/gio/directory-async.py:
	Only fetch name, saves a couple of syscalls.
	* gio/gio.override:
	Set name to gio._gio so pychecker/pydoc works.

2008-07-18  Johan Dahlin  <johan@gnome.org>

	* examples/gio/directory-async.py:
	* gio/gfile.override:
	* gio/gfileenumerator.override:
	* gio/gio.defs:
	* tests/test_gio.py:
	Wrap gio.File.enumerate_children_async, add tests, docstring
	and an example.
	Also document gio.File.enumerate while we're at it.

2008-07-18  Johan Dahlin  <johan@gnome.org>

	* gio/gfile.override:
	Use %zd instead of %d since it's a Py_ssize_t and not an int.

2008-07-18  Johan Dahlin  <johan@gnome.org>

	* gio/pygio-utils.h:
	define NO_IMPORT_PYGOBJECT before including pygobject.h

2008-07-18  Johan Dahlin  <johan@gnome.org>

	* gio/giomodule.c (init_gio):
	Require pygobject 2.15.2

2008-07-17  Johan Dahlin  <johan@gnome.org>

	* gio/giomodule.c (init_gio):
	Add a pygio_version module attribute
	(DL_EXPORT): The module is called gio._gio, not just _gio.

2008-07-17  Johan Dahlin  <johan@gnome.org>

	* gio/gio-types.defs:
	Rename gio.IOErrorEnum to gio.ErrorEnum

2008-07-17  Johan Dahlin  <johan@gnome.org>

	* gio/giomodule.c (init_gio):
	Add gio.ERROR which maps to the G_IO_ERROR quark.

2008-07-17  Johan Dahlin  <johan@gnome.org>

	* gio/giomodule.c (init_gio):
	Use the prefix G_IO_ for stripping constants instead of just G_
	* gobject/gobjectmodule.c (pyg_constant_strip_prefix):
	Check so the fist part of name and strip_prefix are the same,
	if they don't, just strip of the part of strip_prefix which
	matches.

	This removes the initial IO_* prefix for some constants in gio.
	Eg, gio.IO_ERROR_* -> gio.ERROR_*

2008-07-16  Johan Dahlin  <johan@gnome.org>
	
	* configure.ac: Post release version bump