diff options
Diffstat (limited to 'app-text/gnome-spell/files/gnome-spell-1.0.8-enchant.patch')
-rw-r--r-- | app-text/gnome-spell/files/gnome-spell-1.0.8-enchant.patch | 519 |
1 files changed, 0 insertions, 519 deletions
diff --git a/app-text/gnome-spell/files/gnome-spell-1.0.8-enchant.patch b/app-text/gnome-spell/files/gnome-spell-1.0.8-enchant.patch deleted file mode 100644 index d6c2e3dee8f0..000000000000 --- a/app-text/gnome-spell/files/gnome-spell-1.0.8-enchant.patch +++ /dev/null @@ -1,519 +0,0 @@ -Index: gnome-spell/dictionary.c -=================================================================== ---- gnome-spell/dictionary.c (révision 424) -+++ gnome-spell/dictionary.c (copie de travail) -@@ -30,16 +30,21 @@ - #include <glib.h> - #include <libgnome/gnome-i18n.h> - #include <libgnome/gnome-config.h> --#include <gconf/gconf-client.h> - #include <bonobo.h> - - #include "Spell.h" - #include "dictionary.h" - -+#include <enchant.h> -+ -+typedef struct { -+ EnchantBroker * config; -+ EnchantDict * speller; -+} SpellEngine; -+ - static BonoboObjectClass *dictionary_parent_class; - - #define DICT_DEBUG(x) --#define GNOME_SPELL_GCONF_DIR "/GNOME/Spell" - - static void release_engines (GNOMESpellDictionary *dict); - -@@ -72,12 +77,24 @@ - { - GNOMESpellDictionary *dict = GNOME_SPELL_DICTIONARY (object); - -- dict->changed = TRUE; - dict->engines = NULL; - dict->languages = g_hash_table_new (g_str_hash, g_str_equal); - dict->engines_ht = g_hash_table_new (NULL, NULL); - } - -+static char ** -+dup_string_list (char ** str_list, size_t list_len) -+{ -+ char ** new_str_list; -+ size_t i; -+ -+ new_str_list = g_new0 (char *, list_len + 1); -+ for (i = 0; i < list_len; i++) -+ new_str_list [i] = g_strdup (str_list [i]); -+ -+ return new_str_list; -+} -+ - static void - dictionary_finalize (GObject *object) - { -@@ -93,15 +110,16 @@ - } - - static SpellEngine * --new_engine (const gchar *language) -+new_engine (const gchar *language, CORBA_Environment *ev) - { - SpellEngine *se; - - se = g_new0 (SpellEngine, 1); -- se->config = new_aspell_config (); -- aspell_config_replace (se->config, "language-tag", language); -- aspell_config_replace (se->config, "encoding", "utf-8"); -- se->changed = TRUE; -+ se->config = enchant_broker_init (); -+ se->speller = enchant_broker_request_dict (se->config, language); -+ -+ if(se->speller == NULL) -+ raise_error (ev, enchant_broker_get_error (se->config)); - - return se; - } -@@ -129,9 +147,9 @@ - SpellEngine *se = dict->engines->data; - - if (se->speller) -- delete_aspell_speller (se->speller); -+ enchant_broker_free_dict (se->config, se->speller); - if (se->config) -- delete_aspell_config (se->config); -+ enchant_broker_free (se->config); - g_free (se); - dict->engines = g_slist_remove (dict->engines, se); - } -@@ -140,7 +158,6 @@ - g_hash_table_foreach_remove (dict->languages, remove_engine_ht, NULL); - - dict->engines = NULL; -- dict->changed = TRUE; - } - - static LangInfo known_languages [] = { -@@ -352,88 +369,31 @@ - }; - - static GSList * --get_languages_real (gint *ln) -+get_languages (gint *ln) - { - GSList *langs; -- AspellCanHaveError *err; -- AspellConfig *config; -- AspellSpeller *speller; -- gint i; -+ EnchantBroker *broker; -+ gint i, nb_langs; - -- DICT_DEBUG (printf ("get_languages_real\n")); -+ DICT_DEBUG (printf ("get_languages\n")); - -+ /* todo: this could probably be better done by enchant_broker_list_dicts(), but let's keep -+ the initial code change to a minimum */ -+ -+ broker = enchant_broker_init (); - langs = NULL; -- *ln = 0; -+ nb_langs = 0; - for (i=0; i < G_N_ELEMENTS (known_languages); i++) { -- config = new_aspell_config (); -- aspell_config_replace (config, "language-tag", known_languages [i].abbreviation); -- err = new_aspell_speller (config); -- if (aspell_error_number (err) == 0) { -- speller = to_aspell_speller (err); -+ if (enchant_broker_dict_exists (broker, known_languages [i].abbreviation)) { - DICT_DEBUG (printf ("Language: %s\n", known_languages [i].name)); -- delete_aspell_speller (speller); - langs = g_slist_prepend (langs, GINT_TO_POINTER (i)); -- (*ln) ++; -+ nb_langs++; - } - } - -- return langs; --} -- --static GSList * --get_languages_load (GConfClient *gc, gint *ln) --{ -- GString *str; -- GSList *langs = NULL; -- gint i, lang_num; -- -- /* printf ("get_languages_load\n"); */ -- -- str = g_string_new (NULL); -- *ln = gconf_client_get_int (gc, GNOME_SPELL_GCONF_DIR "/languages", NULL); -- for (i = 0; i < *ln; i++) { -- g_string_sprintf (str, GNOME_SPELL_GCONF_DIR "/language%d", i); -- lang_num = gconf_client_get_int (gc, str->str, NULL); -- langs = g_slist_prepend (langs, GINT_TO_POINTER (lang_num)); -- } -- -- return langs; --} -- --static GSList * --get_languages (gint *ln) --{ -- GSList *langs, *l; -- GConfClient *gc; -- time_t mtime; -- struct stat buf; -- gint i, kl; -- -- gc = gconf_client_get_default (); -- -- mtime = gconf_client_get_int (gc, GNOME_SPELL_GCONF_DIR "/mtime", NULL); -- kl = gconf_client_get_int (gc, GNOME_SPELL_GCONF_DIR "/known_languages", NULL); -- -- if (stat (ASPELL_DICT, &buf) || buf.st_mtime != mtime || kl != G_N_ELEMENTS(known_languages)) { -- GString *str; -- langs = get_languages_real (ln); -- -- str = g_string_new (NULL); -- gconf_client_set_int (gc, GNOME_SPELL_GCONF_DIR "/languages", *ln, NULL); -- for (l = langs, i = 0; i < *ln; i ++) { -- g_string_sprintf (str, GNOME_SPELL_GCONF_DIR "/language%d", *ln - i - 1); -- gconf_client_set_int (gc, str->str, GPOINTER_TO_INT (l->data), NULL); -- l = l->next; -- } -- gconf_client_set_int (gc, GNOME_SPELL_GCONF_DIR "/mtime", buf.st_mtime, NULL); -- gconf_client_set_int (gc, GNOME_SPELL_GCONF_DIR "/known_languages", G_N_ELEMENTS(known_languages), NULL); -- g_string_free (str, TRUE); -- gnome_config_sync (); -- } else -- langs = get_languages_load (gc, ln); -+ *ln = nb_langs; - -- gconf_client_suggest_sync (gc, NULL); -- g_object_unref (gc); -+ enchant_broker_free (broker); - - return langs; - } -@@ -504,59 +464,19 @@ - SpellEngine *se; - - one_language = g_strndup (begin, len); -- se = new_engine (one_language); -+ se = new_engine (one_language, ev); - dict->engines = g_slist_prepend (dict->engines, se); - g_hash_table_insert (dict->languages, one_language, se); - g_hash_table_insert (dict->engines_ht, se, g_strdup (one_language)); -- -- dict->changed = TRUE; -- } -- } --} -- --static void --update_engine (SpellEngine *se, CORBA_Environment * ev) --{ -- AspellCanHaveError *err; -- -- DICT_DEBUG (printf ("Dictionary: creating new aspell speller\n")); -- -- if (se->changed) { -- if (se->speller) -- delete_aspell_speller (se->speller); -- err = new_aspell_speller (se->config); -- if (aspell_error_number (err) != 0) { -- g_warning ("aspell error: %s\n", aspell_error_message (err)); -- se->speller = NULL; -- raise_error (ev, aspell_error_message (err)); -- } else { -- se->speller = to_aspell_speller (err); -- se->changed = FALSE; - } - } - } - --static void --update_engines (GNOMESpellDictionary *dict, CORBA_Environment * ev) --{ -- g_return_if_fail (IS_GNOME_SPELL_DICTIONARY (dict)); -- -- if (dict->changed) { -- GSList *l; -- -- for (l = dict->engines; l; l = l->next) { -- update_engine ((SpellEngine *) l->data, ev); -- } -- -- dict->changed = FALSE; -- } --} -- - static CORBA_boolean - engine_check_word (SpellEngine *se, const gchar *word, CORBA_Environment *ev) - { -- CORBA_boolean result = CORBA_TRUE; -- gint aspell_result; -+ CORBA_boolean result = CORBA_FALSE; -+ gint enchant_result; - - #ifndef G_DISABLE_CHECKS - g_return_val_if_fail (se->speller, CORBA_TRUE); -@@ -564,12 +484,12 @@ - if (!se->speller) - return CORBA_TRUE; - #endif -- aspell_result = aspell_speller_check (se->speller, word, strlen (word)); -- if (aspell_result == 0) -- result = CORBA_FALSE; -- if (aspell_result == -1) { -- g_warning ("aspell error: %s\n", aspell_speller_error_message (se->speller)); -- raise_error (ev, aspell_speller_error_message (se->speller)); -+ enchant_result = enchant_dict_check (se->speller, word, strlen (word)); -+ if (enchant_result == 0) -+ result = CORBA_TRUE; -+ if (enchant_result == -1) { -+ g_warning ("enchant error: %s\n", enchant_dict_get_error (se->speller)); -+ raise_error (ev, enchant_dict_get_error (se->speller)); - } - - return result; -@@ -592,7 +512,6 @@ - if (!strcmp (word, "Ximian")) - return CORBA_TRUE; - -- update_engines (dict, ev); - for (l = dict->engines; l; l = l->next) { - if (((SpellEngine *) l->data)->speller) { - valid_speller = TRUE; -@@ -621,11 +540,10 @@ - if (!word) - return; - #endif -- update_engines (dict, ev); - DICT_DEBUG (printf ("Dictionary add_word_to_session: %s\n", word)); - for (l = dict->engines; l; l = l->next) { - if (((SpellEngine *) l->data)->speller) -- aspell_speller_add_to_session (((SpellEngine *) l->data)->speller, word, strlen (word)); -+ enchant_dict_add_to_session (((SpellEngine *) l->data)->speller, word, strlen (word)); - } - } - -@@ -642,13 +560,11 @@ - if (!word || !language) - return; - #endif -- update_engines (dict, ev); - DICT_DEBUG (printf ("Dictionary add_word_to_personal: %s (%s)\n", word, language)); - se = (SpellEngine *) g_hash_table_lookup (dict->languages, language); - - if (se && se->speller) { -- aspell_speller_add_to_personal (se->speller, word, strlen (word)); -- aspell_speller_save_all_word_lists (se->speller); -+ enchant_dict_add_to_pwl (se->speller, word, strlen (word)); - DICT_DEBUG (printf ("Added and saved.\n")); - } - } -@@ -666,14 +582,12 @@ - if (!word || !replacement) - return; - #endif -- update_engines (dict, ev); - DICT_DEBUG (printf ("Dictionary correction: %s <-- %s\n", word, replacement)); - se = (SpellEngine *) g_hash_table_lookup (dict->languages, language); - - if (se && se->speller) { -- aspell_speller_store_replacement (se->speller, word, strlen (word), -- replacement, strlen (replacement)); -- aspell_speller_save_all_word_lists (se->speller); -+ enchant_dict_store_replacement (se->speller, word, strlen (word), -+ replacement, strlen (replacement)); - DICT_DEBUG (printf ("Set and saved.\n")); - } - } -@@ -683,8 +597,8 @@ - const CORBA_char *word, CORBA_Environment *ev) - { - GNOMESpellDictionary *dict = GNOME_SPELL_DICTIONARY (bonobo_object_from_servant (servant)); -- const AspellWordList *suggestions; -- AspellStringEnumeration *elements; -+ char **suggestions; -+ size_t number_of_suggestions; - GNOME_Spell_StringSeq *seq = NULL; - GSList *l, *suggestion_list = NULL; - gint i, len, pos; -@@ -696,17 +610,19 @@ - return NULL; - #endif - DICT_DEBUG (printf ("Dictionary correction: %s\n", word)); -- update_engines (dict, ev); - - len = 0; - for (l = dict->engines; l; l = l->next) { - SpellEngine *se = (SpellEngine *) l->data; - - if (se->speller) { -- suggestions = aspell_speller_suggest (se->speller, word, strlen (word)); -- suggestion_list = g_slist_prepend (suggestion_list, (gpointer) suggestions); -- len += 2*aspell_word_list_size (suggestions); -+ suggestions = enchant_dict_suggest (se->speller, word, strlen (word), &number_of_suggestions); -+ suggestion_list = g_slist_prepend (suggestion_list, -+ (gpointer) dup_string_list (suggestions, number_of_suggestions)); -+ len += 2*number_of_suggestions; - suggestion_list = g_slist_prepend (suggestion_list, engine_to_language (dict, se)); -+ suggestion_list = g_slist_prepend (suggestion_list, GINT_TO_POINTER (number_of_suggestions)); -+ enchant_dict_free_string_list (se->speller, suggestions); - } - } - -@@ -723,17 +639,18 @@ - gint list_len; - gchar *language; - -+ list_len = GPOINTER_TO_INT (l->data); -+ l = l->next; - language = (gchar *) l->data; - l = l->next; -- suggestions = (const AspellWordList *) l->data; -- elements = aspell_word_list_elements (suggestions); -- list_len = aspell_word_list_size (suggestions); -+ suggestions = (char **) l->data; - for (i = 0; i < list_len; i ++, pos ++) { -- seq->_buffer [pos] = CORBA_string_dup (aspell_string_enumeration_next (elements)); -+ seq->_buffer [pos] = CORBA_string_dup (suggestions [i]); - pos ++; - seq->_buffer [pos] = CORBA_string_dup (language); - } -- delete_aspell_string_enumeration (elements); -+ -+ g_strfreev (suggestions); - } - CORBA_sequence_set_release (seq, CORBA_TRUE); - g_slist_free (suggestion_list); -Index: gnome-spell/dictionary.h -=================================================================== ---- gnome-spell/dictionary.h (révision 424) -+++ gnome-spell/dictionary.h (copie de travail) -@@ -26,7 +26,6 @@ - G_BEGIN_DECLS - - #include <bonobo/bonobo-object.h> --#include <aspell.h> - - #define GNOME_SPELL_DICTIONARY_TYPE (gnome_spell_dictionary_get_type ()) - #define GNOME_SPELL_DICTIONARY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), \ -@@ -37,12 +36,6 @@ - #define IS_GNOME_SPELL_DICTIONARY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_SPELL_DICTIONARY_TYPE)) - - typedef struct { -- AspellConfig *config; -- AspellSpeller *speller; -- gboolean changed; --} SpellEngine; -- --typedef struct { - gchar *abbreviation; - gchar *name; - } LangInfo; -@@ -50,7 +43,6 @@ - typedef struct { - BonoboObject parent; - -- gboolean changed; - GSList *engines; - GHashTable *languages; - GHashTable *engines_ht; -Index: gnome-spell/Makefile.am -=================================================================== ---- gnome-spell/Makefile.am (révision 424) -+++ gnome-spell/Makefile.am (copie de travail) -@@ -7,13 +7,11 @@ - - INCLUDES = \ - -I$(srcdir) \ -- $(ASPELL_INC) \ - -DPREFIX=\""$(prefix)"\" \ - -DGNOMEDATADIR=\""$(datadir)"\" \ - -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ - -DGLADE_DATADIR=\"$(gladedir)\" \ - -DPLUGIN_DIR=\""$(PLUGIN_DIR)"\" \ -- -DASPELL_DICT=\""$(ASPELL_DICT)"\" \ - $(GNOME_SPELL_CFLAGS) \ - $(END) - -@@ -55,7 +53,6 @@ - libgnome_spell_component_la_LDFLAGS = -release $(API_VERSION) $(NO_UNDEFINED) - libgnome_spell_component_la_LIBADD = \ - libgnome-spell-idl.la \ -- $(ASPELL_LIBS) \ - $(GNOME_SPELL_LIBS) \ - $(END) - -@@ -69,7 +66,6 @@ - - test_gnome_spell_component_LDADD = \ - libgnome-spell-idl.la \ -- $(ASPELL_LIBS) \ - $(GNOME_SPELL_LIBS) \ - $(END) - -Index: gnome-spell/test-spell.c -=================================================================== ---- gnome-spell/test-spell.c (révision 424) -+++ gnome-spell/test-spell.c (copie de travail) -@@ -52,7 +52,6 @@ - * test dictionary - */ - -- GNOME_Spell_Dictionary_getLanguages (en, &ev); - GNOME_Spell_Dictionary_setLanguage (en, "en", &ev); - - printf ("check: %s --> %d\n", -Index: configure.in -=================================================================== ---- configure.in (révision 424) -+++ configure.in (copie de travail) -@@ -68,34 +68,6 @@ - AC_SUBST(API_VERSION) - - dnl --dnl aspell --dnl -- --AC_ARG_WITH(aspell-prefix, [ --with-aspell-prefix=DIR -- specify under which prefix aspell is installed.], with_aspell_prefix="$withval", ) -- --if test "x$with_aspell_prefix" != "x"; then -- saved_LDFLAGS=$LDFLAGS -- LDFLAGS="-L$with_aspell_prefix/lib "$LDFLAGS -- ASPELL_INC="-I$with_aspell_prefix/include" -- ASPELL_LIBS="-L$with_aspell_prefix/lib -laspell" -- ASPELL_DATA="$with_aspell_prefix/lib/aspell" --else -- LDFLAGS="-L`aspell config prefix`/lib "$LDFLAGS -- ASPELL_INC="-I`aspell config prefix`/include" -- ASPELL_LIBS="-L`aspell config prefix`/lib -laspell" -- ASPELL_DICT="`aspell config dict-dir`" --fi --AC_CHECK_LIB(aspell,new_aspell_config,,AC_MSG_ERROR([gnome-spell cannot be built without aspell library]),) --if test "x$with_aspell_prefix" != "x"; then -- LDFLAGS=$saved_LDFLAGS --fi -- --AC_SUBST(ASPELL_DICT) --AC_SUBST(ASPELL_INC) --AC_SUBST(ASPELL_LIBS) -- --dnl - dnl flags - dnl - -@@ -104,7 +76,7 @@ - AC_SUBST(CPPFLAGS) - AC_SUBST(LDFLAGS) - --GNOME_SPELL_MODULES="libgnomeui-2.0 >= 1.112.1 libbonoboui-2.0 >= 1.112.1 libglade-2.0 >= 1.99.9" -+GNOME_SPELL_MODULES="libgnome-2.0 >= 1.112.1 libbonoboui-2.0 >= 1.112.1 libglade-2.0 >= 1.99.9 enchant >= 1.2.5" - PKG_CHECK_MODULES(GNOME_SPELL, $GNOME_SPELL_MODULES) - AC_SUBST(GNOME_SPELL_CFLAGS) - AC_SUBST(GNOME_SPELL_LIBS) |