--- gtkentry.c.bak	2006-07-24 15:02:27.000000000 +0800
+++ gtkentry.c	2006-07-24 15:30:21.000000000 +0800
@@ -2723,29 +2723,24 @@
       if (log_attrs[entry->current_pos].backspace_deletes_character)
 	{
 	  gchar *cluster_text;
-	  gchar *normalized_text;
           glong  len;
 
 	  cluster_text = gtk_editable_get_chars (editable,
 			  			 prev_pos,
 						 entry->current_pos);
-	  normalized_text = g_utf8_normalize (cluster_text,
-			  		      strlen (cluster_text),
-					      G_NORMALIZE_NFD);
-          len = g_utf8_strlen (normalized_text, -1);
+          len = g_utf8_strlen (cluster_text, -1);
 
           gtk_editable_delete_text (editable, prev_pos, entry->current_pos);
 	  if (len > 1)
 	    {
 	      gint pos = entry->current_pos;
 
-	      gtk_editable_insert_text (editable, normalized_text,
-					g_utf8_offset_to_pointer (normalized_text, len - 1) - normalized_text,
+	      gtk_editable_insert_text (editable, cluster_text,
+					g_utf8_offset_to_pointer (cluster_text, len - 1) - cluster_text,
 					&pos);
 	      gtk_editable_set_position (editable, pos);
 	    }
 
-	  g_free (normalized_text);
 	  g_free (cluster_text);
 	}
       else
--- gtktextbuffer.c.bak	2006-07-24 15:02:42.000000000 +0800
+++ gtktextbuffer.c	2006-07-24 15:32:53.000000000 +0800
@@ -3683,19 +3683,14 @@
     {
       if (backspace_deletes_character)
 	{
-	  gchar *normalized_text = g_utf8_normalize (cluster_text,
-						     strlen (cluster_text),
-						     G_NORMALIZE_NFD);
-	  glong len = g_utf8_strlen (normalized_text, -1);
+	  glong len = g_utf8_strlen (cluster_text, -1);
 	  
 	  if (len > 1)
 	    gtk_text_buffer_insert_interactive (buffer,
 						&start,
-						normalized_text,
-						g_utf8_offset_to_pointer (normalized_text, len - 1) - normalized_text,
-						default_editable);
-	  
-	  g_free (normalized_text);
+						cluster_text,
+						g_utf8_offset_to_pointer (cluster_text, len - 1) - cluster_text,
+						default_editable);	  
 	}
 
       retval = TRUE;
