A bugfixed version of gtk-mailund-980710-0.patch.

gtk-mailund-980710-0.patch.README:
==================================
This patch adds user data to text properties in gtktext, thus making
it possible to associate abitrary data to sections of the text. This
can be usefull when e.g. associating links from parts of the text to
other parts or other files (html links, comments which can be
hidden/show with double-clicks etc.).

A gpointer to user_data is added to the text property struct, and two
functions is added to the GtkText struct:

  /* Comparison of text property user data. If NULL (default) user
   * data pointers are compared. The function must return true for
   * equal and false for no equal. */
  gboolean (* compare_data) (gpointer, gpointer);
  /* Destructor for user data. If NULL g_free is used. */
  void     (* free_data) (gpointer);

These are used for more complex user data. If these are not specified
comparison is done on the gpointes, and g_free is used to free
user_data.

The two functions

void       gtk_text_set_property_data (GtkTextProperty  *prop,
				       gpointer          user_data);
gpointer   gtk_text_get_property_data (GtkTextProperty  *prop);

is used to access the user data, and the function

void       gtk_text_insert_with_data (GtkText       *text,
				     GdkFont       *font,
				     GdkColor      *fore,
				     GdkColor      *back,
				     gpointer       data,
				     const char    *chars,
				     gint           length);

is used for inserting text associated to user data.

The function gtk_text_insert is now a wrapper which calls
gtk_text_insert_with_data, with data == NULL. It is kept for
compatibility.

/mailund