summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch519
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)