Jeff: With this change, shouldn't we remove aspell from JDS since we don't use it anymore? Should we make this Obsolete in our GNOME 2.18 case?
Brian > These patches aims to make gedit and evolution to use more languages > dictionaries. > In gnome2.17, gedit uses enchant and evolution still uses gnome-spell > which depends on aspell. > Since we have delivered many languages of dictionaries in myspell > format, these patches can > do: > 1. Make gnome-spell use enchant. > 2. Make enchant use myspell instead of aspell. > 3. Modify spec files to make gnome-spell can be built without enchant > installed. > > For the patch (gnome-spell-01-enchant) which makes gnome use enchant, it > comes from > http://uyarer.com/doc/gnome-spell-enchant.diff > > Jeff > > > ------------------------------------------------------------------------ > > Index: gnome-spell.spec > =================================================================== > --- gnome-spell.spec (revision 10393) > +++ gnome-spell.spec (working copy) > @@ -22,6 +22,7 @@ > URL: http://www.sun.com/software/javadesktopsystem/ > Source: > http://ftp.gnome.org/pub/gnome/sources/gnome-spell/1.0/%{name}-%{version}.tar.bz2 > Source1: mkinstalldirs > +Patch1: gnome-spell-01-enchant.diff > Summary: GNOME spell checking component > Group: Applications/Text > > @@ -51,6 +52,7 @@ > > %prep > %setup -q -n %{name}-%{version} > +%patch1 -p0 > cp %SOURCE1 . > > > Index: enchant.spec > =================================================================== > --- enchant.spec (revision 10393) > +++ enchant.spec (working copy) > @@ -22,6 +22,7 @@ > Source: > http://www.abisource.com/downloads/%{name}/%{version}/%{name}-%{version}.tar.gz > # date:2006-12-08 bugzilla:10667 owner:dcarbery type:bug > Patch1: enchant-01-define_FILE.diff > +Patch2: enchant-02-uninstalled-pc.diff > Summary: Generic spell checking library > Group: Applications/Text > > @@ -35,6 +36,7 @@ > %prep > %setup -q -n %{name}-%{version} > %patch1 -p1 > +%patch2 -p1 > > > %build > @@ -57,6 +59,8 @@ > --mandir=%{_mandir} \ > --infodir=%{_datadir}/info \ > --localstatedir=/var \ > + --with-myspell-dir=/usr/lib/thunderbird/dictionaries \ > + --disable-aspell \ > --disable-static > > make -j $CPUS > Index: Solaris/SUNWgnome-spell.spec > =================================================================== > --- Solaris/SUNWgnome-spell.spec (revision 10500) > +++ Solaris/SUNWgnome-spell.spec (working copy) > @@ -47,27 +47,27 @@ > %prep > rm -rf %name-%version > mkdir -p %name-%version > +%enchant.prep -d %name-%version > %gspell.prep -d %name-%version > -%enchant.prep -d %name-%version > > %build > +# See http://bugzilla.abisource.com/show_bug.cgi?id=10668 for why LD is set > +# to $CXX. > +export LD=$CXX > +%enchant.build -d %name-%version > export PATH=%{_libdir}/aspell:$PATH > export PERL5LIB=%{_prefix}/perl5/site_perl/5.6.1/sun4-solaris-64int > export ACLOCAL_FLAGS="-I %{_datadir}/aclocal" > export CFLAGS="%optflags" > export CXXFLAGS="%cxx_optflags" > -export PKG_CONFIG_PATH=%{_pkg_config_path} > +export PKG_CONFIG_PATH=../enchant-%{enchant.version}:%{_pkg_config_path} > export MSGFMT="/usr/bin/msgfmt" > export LDFLAGS="%_ldflags" > %gspell.build -d %name-%version > -# See http://bugzilla.abisource.com/show_bug.cgi?id=10668 for why LD is set > -# to $CXX. > -export LD=$CXX > -%enchant.build -d %name-%version > > %install > +%enchant.install -d %name-%version > %gspell.install -d %name-%version > -%enchant.install -d %name-%version > > %if %build_l10n > %else > > > > ------------------------------------------------------------------------ > > diff -r -u enchant-1.3.0/configure.in enchant-1.3.0-new/configure.in > --- enchant-1.3.0/configure.in 2006-07-23 01:34:46.000000000 +0800 > +++ enchant-1.3.0-new/configure.in 2007-02-09 14:52:22.315224000 +0800 > @@ -258,6 +258,7 @@ > AC_OUTPUT([ > Makefile > enchant.pc > +enchant-uninstalled.pc > enchant.spec > src/Makefile > src/aspell/Makefile > diff -r -u enchant-1.3.0/enchant-uninstall.pc.in > enchant-1.3.0-new/enchant-uninstall.pc.in > --- enchant-1.3.0/enchant-uninstalled.pc.in 2007-02-09 14:57:57.887773000 > +0800 > +++ enchant-1.3.0-new/enchant-uninstalled.pc.in 2007-02-09 > 16:08:11.944733000 +0800 > @@ -0,0 +1,11 @@ > +pref...@prefix@ > +exec_pref...@exec_prefix@ > +libd...@libdir@ > +included...@includedir@ > + > +Name: libenchant > +Description: A spell checking library > +Version: @VERSION@ > +Requires: glib-2.0 gmodule-2.0 > +Libs: ${pc_top_builddir}/${pcfiledir}/src/libenchant.la > +Cflags: -I${pc_top_builddir}/${pcfiledir}/src > > > ------------------------------------------------------------------------ > > Index: configure.in > =================================================================== > RCS file: /cvs/gnome/gnome-spell/configure.in,v > retrieving revision 1.86 > diff -u -p -u -p -r1.86 configure.in > --- configure.in 10 Feb 2006 12:08:11 -0000 1.86 > +++ configure.in 2 Apr 2006 14:31:45 -0000 > @@ -68,34 +68,6 @@ AC_DEFINE_UNQUOTED(API_VERSION, "${API_V > 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(CFLAGS) > 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="libgnomeui-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) > Index: gnome-spell/Makefile.am > =================================================================== > RCS file: /cvs/gnome/gnome-spell/gnome-spell/Makefile.am,v > retrieving revision 1.34 > diff -u -p -u -p -r1.34 Makefile.am > --- gnome-spell/Makefile.am 19 Jan 2006 23:37:50 -0000 1.34 > +++ gnome-spell/Makefile.am 2 Apr 2006 14:31:46 -0000 > @@ -7,13 +7,11 @@ END = > > 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_idl_la_SOURCES = \ > 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 @@ libgnome_spell_component_la_SOURCES = \ > > test_gnome_spell_component_LDADD = \ > libgnome-spell-idl.la \ > - $(ASPELL_LIBS) \ > $(GNOME_SPELL_LIBS) \ > $(END) > > Index: gnome-spell/dictionary.c > =================================================================== > RCS file: /cvs/gnome/gnome-spell/gnome-spell/dictionary.c,v > retrieving revision 1.39 > diff -u -p -u -p -r1.39 dictionary.c > --- gnome-spell/dictionary.c 5 Feb 2006 21:31:09 -0000 1.39 > +++ gnome-spell/dictionary.c 2 Apr 2006 14:31:46 -0000 > @@ -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 @@ gnome_spell_dictionary_init (GObject *ob > { > 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 @@ dictionary_finalize (GObject *object) > } > > 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 @@ release_engines (GNOMESpellDictionary *d > 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 @@ release_engines (GNOMESpellDictionary *d > 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 LangInfo known_languages [] = { > }; > > 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 @@ impl_gnome_spell_dictionary_set_language > 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 @@ engine_check_word (SpellEngine *se, cons > 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 @@ impl_gnome_spell_dictionary_check_word ( > 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 @@ impl_gnome_spell_dictionary_add_word_to_ > 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 @@ impl_gnome_spell_dictionary_add_word_to_ > 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 @@ impl_gnome_spell_dictionary_set_correcti > 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 @@ impl_gnome_spell_dictionary_get_suggesti > 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 @@ impl_gnome_spell_dictionary_get_suggesti > 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 @@ impl_gnome_spell_dictionary_get_suggesti > 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 > =================================================================== > RCS file: /cvs/gnome/gnome-spell/gnome-spell/dictionary.h,v > retrieving revision 1.8 > diff -u -p -u -p -r1.8 dictionary.h > --- gnome-spell/dictionary.h 5 Feb 2006 21:31:09 -0000 1.8 > +++ gnome-spell/dictionary.h 2 Apr 2006 14:31:46 -0000 > @@ -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 @@ G_BEGIN_DECLS > #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 { > typedef struct { > BonoboObject parent; > > - gboolean changed; > GSList *engines; > GHashTable *languages; > GHashTable *engines_ht; > Index: gnome-spell/test-spell.c > =================================================================== > RCS file: /cvs/gnome/gnome-spell/gnome-spell/test-spell.c,v > retrieving revision 1.12 > diff -u -p -u -p -r1.12 test-spell.c > --- gnome-spell/test-spell.c 6 Mar 2003 16:37:36 -0000 1.12 > +++ gnome-spell/test-spell.c 2 Apr 2006 14:31:46 -0000 > @@ -52,7 +52,6 @@ main (int argc, char *argv []) > * test dictionary > */ > > - GNOME_Spell_Dictionary_getLanguages (en, &ev); > GNOME_Spell_Dictionary_setLanguage (en, "en", &ev); > > printf ("check: %s --> %d\n",
