rendered paste body? bindings/python/geditcommands.c
? gedit/gedit-enum-types.c
? gedit/gedit-enum-types.h
? help/sv/.xml2po.mo
? help/sv/gedit.xml
? help/sv/legal.xml
Index: gedit/gedit-languages-manager.c
===================================================================
RCS file: /cvs/gnome/gedit/gedit/gedit-languages-manager.c,v
retrieving revision 1.12
diff -u -p -r1.12 gedit-languages-manager.c
--- gedit/gedit-languages-manager.c 23 Aug 2006 13:42:01 -0000 1.12
+++ gedit/gedit-languages-manager.c 23 Aug 2006 15:09:22 -0000
@@ -404,6 +404,7 @@ gedit_languages_manager_get_language_fro
{
const GSList *languages;
GtkSourceLanguage *lang;
+ GtkSourceLanguage *parent = NULL;
g_return_val_if_fail (mime_type != NULL, NULL);
@@ -432,9 +433,26 @@ gedit_languages_manager_get_language_fro
GnomeVFSMimeEquivalence res;
res = gnome_vfs_mime_type_get_equivalence (mime_type,
(const gchar*)tmp->data);
-
- if (res != GNOME_VFS_MIME_UNRELATED)
+
+ if (res == GNOME_VFS_MIME_IDENTICAL)
+ {
+ /* If the mime-type of lang is identical to "mime-type" then
+ returns lang */
+ gedit_debug_message (DEBUG_DOCUMENT,
+ "%s is indentical to %s\n", (const gchar*)tmp->data, mime_type);
+
break;
+ }
+ else if ((res == GNOME_VFS_MIME_PARENT) && (parent == NULL))
+ {
+ /* If the mime-type of lang is a parent of "mime-type" then
+ remembers it. We will return it if we don't find
+ an exact match. The first "parent" wins */
+ parent = lang;
+
+ gedit_debug_message (DEBUG_DOCUMENT,
+ "%s is a parent of %s\n", (const gchar*)tmp->data, mime_type);
+ }
tmp = g_slist_next (tmp);
}
@@ -451,6 +469,9 @@ gedit_languages_manager_get_language_fro
languages = g_slist_next (languages);
}
- return NULL;
+ if (parent != NULL)
+ add_language_to_cache (lm, mime_type, parent);
+
+ return parent;
}