2000-12-24 Ali Abdin <aliabdin@aucegypt.edu>
* Makefile.am, gcompat.h, glib.h: New gcompat.h header file
as recommended by Havoc.
* gdate.c, gdate.h, testgdate.c,
docs/reference/glib/glib-sections.txt,
docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
of the gdate functions to use the '_get' in their name. Patch
reviewed by Havoc.
2000-12-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Determine the suffix of the shared librarries for
this system. This is done analogous to
ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
"sl", "dll", or (most often) "so".
* tests/Makefile.am, tests/module-test.c,
tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
Added new testcase for gmodule. This is mostly copied from
gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
some tests that verbose, not to say loquacious...)
* gmodule.c: Make g_module_open more tolerant wrt to the module
name. First it tries to open the module as named, if that fails,
it checks, whether it is a libtool archive and parses it, if that
fails it appends the systems shared library suffix
(i.e. ".so") (if not already found) and tries again and if that
fails it tries to append the ".la" libtool suffix (if not already
found) and parses it.
* gmodule.c: Lock recursive mutex during most module functions for
safety.
* gmodule-dl.c: Return an error from _g_module_symbol only, if
dlerror says so. All other functions return an error as well, if
dlerror returns NULL.
* testgmodule.c: Thanks to the above change the #ifdefs have
vanished.
* glib/glib-sections.txt: Added G_MODULE_SUFFIX.
* glib/tmpl/modules.sgml: Updated.
2000-12-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
accurate. Redid g_rand_double() such that it returns 52 bits after
the point instead of 32 as before. That OTOH requires calling
g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
now thanks to the new precision of g_rand_double(). Thanks to
Sverre Johansen <sj@ifi.uio.no> for the hint.
* grand.h: Added g_rand_boolean() and g_random_boolean()
macros. While they could be omitted due to extreme simplicity,
they make intention clearer in code and are therefore good to have.
* grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
begin' and 'end' resp. to avoid making people think, that 'max' is
included in the interval. 'end' now isn't, whereas 'begin'
is. That's similar to the use in the STL.
* glib/glib-sections.txt: Added g_rand_boolean and
g_random_boolean macros.
* glib/tmpl/random_numbers.sgml: Updated.
Mon Dec 11 04:44:11 2000 Tim Janik <timj@gtk.org>
* gboxed.c: fixed dealing with collection/lcopy of NULL values.
* gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
convenience macro.
* Makefile.am: cleanups, marshaller generation rules.
* gmarshal.[hc]: new files with GRuntime standard marshallers.
* glib-genmarshal.c: fix log domain, support gruntime standard
marshallers, suport G_TYPE_PARAM, come with extern "C" and
#include gmarshal.h.
* glib-genmarshal.1: reflect glib-genmarshal.c updates.
* gobject.[hc]: implement object constructor. rework parameter
changed notification queueing, we support queue freezes now and
don't dispatch from an idle handler anymore.
parameter->property rename hassle.
implemented ::properties_changed and ::notify::* signals for
property change notification (the later supports property names
as details). added signal connection and named data properties.
(g_signal_connect_object): new function to setup while_alive
connections.
(g_object_class_install_property): sink properties now, since they
are initially floating.
(g_object_steal_data):
(g_object_set_data_full):
(g_object_set_data):
(g_object_get_data): set/get data by using g_datalist_*() functions
directly.
(g_object_queue_param_changed): nuked.
(g_object_freeze_notify): start queueing of property changes (freeze/
thaw calls stack).
(g_object_notify): announce changes of a certain property directly.
(g_object_thaw_notify): process queue of property changes, therefore
emitting GObject::notify::detail with detail being the changed
properties names.
(G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
G_WARN_INVALID_PARAM_ID().
* gparam.[hc]: param specs are now initially floating and need to be
sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
required by GObjectClass.constructor().
* gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
and G_TYPE_CCALLBACK respectively.
* gsignal.[hc]: cleanups.
(signal_id_lookup): after walking the anchestry, try interfaces as well.
(g_signal_new): new function to create signals from varargs type list.
(g_signal_connect_closure): closure connection variant that works from
signal name+detail.
(g_signal_connect_data): c handler connection variant that works from
signal name+detail.
(g_signal_emit_valist): emit signal for an instance with paraneters
collected from a va_list.
(g_signal_emit): emit signal, taking parameters from varargs list.
(g_signal_emit_by_name): same as g_signal_emit, working from
signal name+detail.
(signal_emit_R): return whether return_value needs to be altered.
* gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
the points that need to reflect the upcoming rename.
melt g_type_conforms_to() functionality into g_type_is_a(), as that
is what we really want (liskov substitution principle).
assorted changes to other files due to conforms_to->is_a.
* gvalue.[hc]: implemented g_value_set_instance() that sets a value
from an instantiatable type via the value_table's collect_value()
function (based on an idea from James Henstridge <james@daa.com.au>).
cleanups/fixes.
* gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
Tue Dec 5 12:23:04 2000 Owen Taylor <otaylor@redhat.com>
* gmain.[hc]: Major change in API for creating sources
to handle multiple main loops (GMainContext *).
GSources are now exposed as GSource * and implemented
with structure derivation.
* giochannel.[ch]: Changed vtable for GIOChannel to correspond
to the new mainloop API, add g_io_channel_create_watch().
* gtypes.h: Move GTimeVal here.
* gthread.h: Remove gmain.h include to avoid circularity.
* giounix.c: Update for new GMain API.
* giowin32.c: Update for new GMain API. (No check for
proper compilation or working.)
* timeloop.c timeloop-basic.c: A benchmarking program for
the main loop comparing the main loop against a
hand-written (timeloop-basic.c) variant.
* tests/mainloop-test.c: New torture test of mainloop.
* docs/Changes-2.0.txt: Started. Added text about
changes to GMain.
* gmain.c (g_main_add_poll_unlocked): Initial fd->revents
to zero. (#8482, Benjamin Kahn)
Sun Nov 5 13:24:50 2000 Owen Taylor <otaylor@redhat.com>
* gobject/Makefile.am gobject/gobject-sections.sgml: Updates
* gobject/tmpl/g{boxed,type{plugin,module}}.sgml: added
2000-11-05 Havoc Pennington <hp@pobox.com>
* gerror.c (g_propagate_error): Free the src error if the dest
location is NULL - I'm pretty sure that's what this function was
supposed to do.
2000-11-05 Havoc Pennington <hp@pobox.com>
* glib/tmpl/error_reporting.sgml: fixes
Fri Nov 3 07:35:00 2000 Tim Janik <timj@gtk.org>
* gsignal.[hc]: prefix internal functions with '_'. renamed
g_signal_connect_closure() to g_signal_connect_closure_by_id().
added g_signal_parse_name() to retrive signal_id and detail quark
from a signal name (internal).
Fri Nov 3 07:33:15 2000 Tim Janik <timj@gtk.org>
* gobject/gobject-docs.sgml: added &gobject-closures; section.
* gobject/Makefile.am (tmpl_sources): add tmpl/clsoures.sgml
* gobject/gobject-sections.txt: added Closure section.
* gobject/tmpl/closures.sgml: new file with template description
for GClosure functions.
2000-11-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/tmpl/async_queues.sgml, glib/glib-sections.txt: Added
documentation for asynchronous queues.
* gasyncqueue.c: Added inline documentation for asyncronous
queues.
Wed Nov 1 03:36:54 2000 Tim Janik <timj@gtk.org>
* gobject.c (g_object_base_class_finalize): destroy all signals that
the finalized obejct type introduced.
* gsignal.c (g_signals_destroy): don't require itype to have
signals.
* gobject.c (g_object_do_finalize): make sure all signal handlers
are destroyed.
* gsignal.[hc]:
(g_signal_handler_find): only match on non-0 masks.
(g_signal_handlers_block_matched):
(g_signal_handlers_unblock_matched):
(g_signal_handlers_disconnect_matched): new functions to block/unblock
or disconnect handlers in groups.
2000-10-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/tmpl/linked_lists_single.sgml: This time the right fix.
* glib/tmpl/scanner.sgml, glib/tmpl/strings.sgml: Changed
parameter names.
* glib/tmpl/string_utils.sgml: Corrected the documentation of
g_strescape and added those of g_strcompress.
2000-10-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/tmpl/limits.sgml: Added documentation for
G_MAXU(INT|SHORT|LONG).
* glib/tmpl/macros_misc.sgml: Added documentation for
G_G(U)INT(16|32|64)_FORMAT.
* glib/tmpl/types.sgml: Mention G_MAXU(INT|SHORT|LONG) in
documentation for gu(int|short|long).
2000-10-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/glib-sections.txt, glib/tmpl/linked_lists_double.sgml,
glib/tmpl/caches.sgml: Move GCompareFunc to GList and introduce
and document GEqualFunc in GHashTable.
* glib/tmpl/caches.sgml, glib/tmpl/hash_tables.sgml,
glib/tmpl/relations.sgml : Changed to reflect the changed API
(GCompareFunc -> GEqualFunc).
* glib/tmpl/linked_lists_single.sgml, glib/tmpl/threads.sgml: Typo
fixes.
Mon Oct 30 11:13:12 2000 Tim Janik <timj@gtk.org>
* gobject/tmpl/signals.sgml: start at general description.
* gobject/gobject-docs.sgml: added introduction.
Mon Oct 30 06:01:43 2000 Tim Janik <timj@gtk.org>
* gobject/gobject-sections.txt: opened up a new section on signals.
Mon Oct 30 05:52:45 2000 Tim Janik <timj@gtk.org>
* gsignal.c (g_signal_list_ids): get rid of inline documentation owen
added, the doc system would ignore it anyways (for some reason not
aparent to me).
Fri Oct 27 16:33:41 2000 Tim Janik <timj@gtk.org>
* gsignal.[hc]: publically define GSignalInvocationHint structure
that gets passed in to closure invocations. added signal details.
renamed GSignalType to GSignalFlags to comply with conventions.
quite some cleanups and minor fixes. avoid uneccessary handler list
walks upon invokation of after handlers. relookup handler list for
restarted emissions. preliminary abort normal handler invokation if
after handler is encountered.
* glib-genmarshal.c:
* gclosure.[hc]: moved invocation_hint to the end of the
g_closure_invoke() arguments as sugegsted by kenelson.
also made it a gpointer to be more generic. the invocation_hint
is a caller specific thing that can be used to pass additional
data in to closure invocations as documented with the caller
invoking the closure.
2000-10-27 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/glib-sections.txt, glib/tmpl/hash_tables.sgml,
glib/tmpl/macros_misc.sgml, glib/tmpl/misc_utils.sgml,
glib/tmpl/scanner.sgml: Document the recently deprecated functions
as such.
Tue Oct 24 22:09:14 2000 Tim Janik <timj@gtk.org>
* glib-object.h: added newly added gobject/ headers.
* gmesage.c: print g_message() output to stderr instead of stdout.
Wed Oct 25 20:27:02 2000 Tim Janik <timj@gtk.org>
* gtype.c (g_type_free_instance): for the moment, freeing object
structures will fill their memory portion with 0xAA. there's a
FIXME there, remove this line at a later point.
Tue Oct 24 23:10:26 2000 Tim Janik <timj@gtk.org>
* glib-genmarshal.1:
* glib-genmarshal.c: added publically installed marshaller generator.
* gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
interface VTable from instances.
Mon Oct 23 08:28:15 2000 Tim Janik <timj@gtk.org>
* gobject.[hc]: new functions for closure maintenance:
(g_object_watch_closure): maintain validity of the object and
the closure for objects that are used as data part of a closure.
(g_cclosure_new_object): convenience function to create C closures
that have an object as data argument.
(g_closure_new_object): convenience function to create closures
that have an object as data argument.
* gclosure.[hc]: implementation of GClosure mechanism.
a closure is basically an encapsulation of a callback function
and its environment. ideally, most places supporting callback
functions will simply take a GClosure* pointer and thus unify
callback environments wrg destroy notification etc.
GClosure provides destroy notifiers for arbitrary data pointers,
reference counting, invalidation notification (it can be invalidated
which is merely a deactivate state) and a marshallinbg abstraction.
GCClosure is also provided in these files, they present a specialized
GClosure implementation for C language callbacks.
* genum.c: macro cleanups.
* gboxed.[hc]: new files, for boxed type abstraction.
(g_boxed_copy): copy a boxed structure
(g_boxed_free): free a boxed structure
(g_value_set_boxed):
(g_value_get_boxed): standard GValue functions for boxed types
(g_boxed_type_register_static): convenience function for easy
introduction of new G_TYPE_BOXED derivatives.
* gparam.[hc]: introduced g_param_type_register_static(), a short hand
for creation of new GParamSpec derived types.
* gtype.[hc]: many fixes, introduced ability to flag individual
type nodes as ABSTRACT upon registration, added value_peek_pointer()
to the value table to peek at GValue contents as a pointer for types
that support this. fixed up GValue checks.
* gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
to peek at the value contents as pointer.
* *.[hc]: adaptions to type macro fixes and changes in the type
registration API.
* many const corrections over the place.
Sat Oct 21 02:49:56 2000 Tim Janik <timj@gtk.org>
* gtype.c (g_type_conforms_to): this function basically behaves like
and is_a check, except that it _additionally_ features interfaces
for instantiatable types. enforce this in the second branch as well
(`type' conforms_to `type') even if `type' is not an interface type.
Fri Oct 20 15:31:04 2000 Tim Janik <timj@gtk.org>
* gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
* gtype.[hc]:
* gobject.c:
* gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
and G_TYPE_POINTER.
Mon Aug 21 04:13:37 2000 Tim Janik <timj@gtk.org>
* gbsearcharray.[hc]: long standing needed generic implementation
of a binary searchable, sorted and dynamically sized array.
gmodule:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
gobject:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
(*): Remove traces of @STRIP_{BEGIN,END}@.
gthread:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
docs/reference:
'make distcheck' fixes.
* glib/Makefile.am (EXTRA_DIST): Add $(DOC_MODULE)-decl.txt.
(html): Run 'gtkdoc-fixxref' in $(srcdir).
(dist-check-gtkdoc): Add missing quote.
(dist-hook): Copy in dependency order, so that none of the
makerules are fired in a tarball build.
* gobject/Makefile.am: Likewise.
toplevel:
Remove need for acconfig.h, and misc. cleanups.
* acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
AC_DEFINE_UNQUOTED.
(GLIB_BYTE_CONTENTS): Likewise.
* configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
and AC_DEFINE_UNQUOTED(...) lines.
Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
(AM_PROG_LIBTOOL): Move after AC_PROG_CC.
* acconfig.h: Empty out.
* Makefile.am (BUILT_EXTRA_DIST): New variable. List 'dist'able
files that are created in the builddir.
(dist-hook): Handle those files.
(libglib_1_3_la_SOURCES): Remove @ALLOCA@. @ALLOCA@ should only
be used in an _LDADD or _LIBADD, since it expands (if necessary)
to 'alloca.o'.
* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-10-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* grand.c: Added inline documentation.
* docs/refernce/glib/glib-sections.txt: Added misc items.
* docs/refernce/glib/tmpl/random_numbers.sgml: Documentation for
the random number generator.
2000-09-29 Jonathan Blandford <jrb@redhat.com>
* gnode.c (g_node_insert_after): Added function to keep symetry
with g_node_insert_before.
2000-09-29 Jonathan Blandford <jrb@redhat.com>
* glib/tmpl/trees-nary.sgml: Add g_node_insert_after().
Thu Sep 7 12:35:35 2000 Owen Taylor <otaylor@redhat.com>
* Some further makefile improvement.
* Restore all the docs that mysteriously vanished earlier.
Wed Sep 6 10:59:45 2000 Owen Taylor <otaylor@redhat.com>
* gobject/Makefile.am glib/Makefile.am: Improve
separation of generic non-generic parts and dependencies.
Wed Sep 6 00:30:09 2000 Owen Taylor <otaylor@redhat.com>
* glib/* gobject/*: Split GObject docs away from
the remainder of the docs.
* glib/Makefile.am gobject/Makefile.am: Rework
to have reasonable dependencies. (No dependencies
on the files actually in the source directories,
so to get it going, you have to do 'make scan',
but after that, things should work OK.)
Fri Jul 14 12:22:49 2000 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am glib-config.m4 glib.m4: Move
glib-config to glib-config-2.0 move glib.m4 to
glib-2.0.m4
* Makefile.am gobject/Makefile.am gmodule/Makefile.am
gthread/Makefile.am tests/Makefile.am: Change
library names to libglib-1.3.la, etc, so that we
can distinguish glib-1.2 and glib-2.0 on the linkline.
* Makefile.am gobject/Makefile.am gmodule/Makefile.am:
Move include files into /usr/include/glib-2.0.
Thu Jul 6 18:54:49 2000 Owen Taylor <otaylor@redhat.com>
* docs/Makefile.am (EXTRA_DIST): Remove info files
from the build.
2000-04-16 Damon Chaplin <damon@helixcode.com>
* tmpl/linked_lists_single.sgml:
* tmpl/linked_lists_double.sgml:
* tmpl/trees-nary.sgml: updated.
* tmpl/modules.sgml: described g_module_build_path().
* tmpl/date.sgml: made short description lower case and end in a '.'.
* glib-sections.txt: rearranged GDate section.
* tmpl/arrays.sgml:
* tmpl/arrays_byte.sgml:
* tmpl/arrays_pointer.sgml: updated.
2000-02-21 Damon Chaplin <damon@helixcode.com>
* tmpl/main.sgml: updated the g_source_remove_by_XXX() descriptions
to note that only the first source found is removed.
2000-01-25 Damon Chaplin <damon@karuna.freeserve.co.uk>
* tmpl/misc_utils.sgml: g_bit_nth_lsf/msf docs from
Nils Rennebarth <nils@ipe.uni-stuttgart.de>, and updates for
GVoidFunc & GFreeFunc.
1999-12-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib-sections.txt, tmpl/threads.sgml: Removed
G_THREADS_IMPL_NSPR. Shouldn't be used anyway.
* glib-overrides.txt: New file, that makes most of the thread
related macros look like functions.
* Makefile.am: Added glib-overrides.txt to EXTRA_DIST.
* tmpl/threads.sgml: Minor updates.
1999-11-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Create docs/glib-config.1 from
docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
* glib-config.1: Removed from CVS, as it is a generated file.
Sat Jul 24 20:11:35 1999 Tim Janik <timj@gtk.org>
* merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
* incorporated proposed cleanups from gtk-devel-list.
* bumped version number to GLib-1.3.1
* glib.h:
* gqueue.c:
* gstring.c:
* glist.c:
removed string tokenisation (we got g_strsplit() and g_strjoin()
already) and readline functions.
s/g_list_delete/g_list_delete_link.
implemented g_slist_delete_link.
removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
macro, g_atexit() is provided for public consumption.
added GTrashStack inline utility functions.
reimplement double eneded queues.
removed GStack implementation, people can use a queue or a (singly)
linked list for this task.
deprecated g_strescape(), we need the SunOS variants here.
* gdate.c: added DEBUG_MSG() macro to wrap old messages.
* *.*: CVS merges.
* upgrade to libtool 1.3.3.
* acinclude.m4: Xsed isn't valid here, don't use it
* ltmain.sh
* ltconfig: better file magic regexp for Linux libs
* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
libs, revert my previous change to this file
* docs/texinfo.tex: add it so automake doesn't whine
-Yosh
Mon Jan 4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
* Released GLib 1.1.12
* INSTALL:
NEWS:
README:
configure.in:
glib.spec:
docs/glib-config.1: version=1.1.12
* tests/Makefile.am: fixed so it works properly with
builddir and srcdir.
1998-12-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* docs/glib-config.1: Updated to reflect the existence of gthread.
* gmain.c (g_main_poll_add_unlocking): Changed
g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
semantic, (indeed, main_loop must be locked, when calling this
function). Removed the unlocking from the end of that function, as
that is not right. Made a 'HOLDS' comment above the function.
Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* Released GLib 1.1.7
* INSTALL:
NEWS:
README:
configure.in:
glib.spec:
docs/glib-config.1: Increased version to 1.1.7
Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* INSTALL:
NEWS:
README:
configure.in:
glib.spec: Updated to version 1.1.5
* Released GLib 1.1.5
Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
* docs/*.sgml : Batch of new documentation that should be easier
to maintain and extend. Plus generate whatever sort of doc file
you would like. I didn't change the Makefile stuff as I'm not sure
what default doc type people want. Oh and this is all DocBook format.
Enjoy!
Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* Released GLib 1.1.4
* docs/Makefile.am:
* docs/.cvsignore
* docs/glib-config.1:
* docs/glib.texi: Moved docs from gtk and created glib-config.1
from gtk-config.1 in gtk
* configure.in:
* Makefile.am:
* sanity_check: added in docs directory, change rule 'release'
to 'snapshot' and created a new 'release' rule for doing the
distribution. Added in a 'sanity' rule.
* NEWS:
* README:
* INSTALL: Updated for the release