------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-AUX gnome-spell-1.0.5-enchant.patch 18757 RMD160 9bf735a278857ca5771f66bc22dd4587ee30696e SHA1 cf8f4c7abc356665ec4a3cc4d310e195ae704f2b SHA256 cbedfbbc279da893c872f38566ad79e404582cb9e0326b9f0e0121ebdd3c82b2
-MD5 a2f04eb1ad051e0c06e703901869afca files/gnome-spell-1.0.5-enchant.patch 18757
-RMD160 9bf735a278857ca5771f66bc22dd4587ee30696e files/gnome-spell-1.0.5-enchant.patch 18757
-SHA256 cbedfbbc279da893c872f38566ad79e404582cb9e0326b9f0e0121ebdd3c82b2 files/gnome-spell-1.0.5-enchant.patch 18757
-AUX gnome-spell-1.0.5-gtk24.patch 13886 RMD160 5a7a5fb217f950c5b109438e4716a8fd8c553ddd SHA1 f01afa89a8821b240de4ae62597b68d9927e210c SHA256 b8a7ce22008d06983fa44af0182e19f2fd8f9bda27aa98d5754d22ce70e51aad
-MD5 b0296719b38481284f42227002eeb1a4 files/gnome-spell-1.0.5-gtk24.patch 13886
-RMD160 5a7a5fb217f950c5b109438e4716a8fd8c553ddd files/gnome-spell-1.0.5-gtk24.patch 13886
-SHA256 b8a7ce22008d06983fa44af0182e19f2fd8f9bda27aa98d5754d22ce70e51aad files/gnome-spell-1.0.5-gtk24.patch 13886
-AUX gnome-spell-1.0.6-combo.patch 12895 RMD160 cd2728616f4949828370bd6105e858cc2fb111ce SHA1 8743467aaaa746250c297d0b2aa6c300c4afa2ca SHA256 e1cff89cf6d5da26ba26454ff16c12cf3fd6e0b02dac574f9adf796b1288291d
-MD5 312bf5d650d4960f7f2077f477892dc7 files/gnome-spell-1.0.6-combo.patch 12895
-RMD160 cd2728616f4949828370bd6105e858cc2fb111ce files/gnome-spell-1.0.6-combo.patch 12895
-SHA256 e1cff89cf6d5da26ba26454ff16c12cf3fd6e0b02dac574f9adf796b1288291d files/gnome-spell-1.0.6-combo.patch 12895
-AUX gnome-spell-1.0.6-enchant.patch 16509 RMD160 fb0494f84a7b5c1993d757c589af4644e933a755 SHA1 e9e2a6cb6ef715236d8e50ad767ce6b3e5f55fae SHA256 eb4af82346c06b71671fc1d463d4d69805b8fbb6430f6881316dfd5d56034012
-MD5 62828aa3cfc3de6aaa8604520ee943d8 files/gnome-spell-1.0.6-enchant.patch 16509
-RMD160 fb0494f84a7b5c1993d757c589af4644e933a755 files/gnome-spell-1.0.6-enchant.patch 16509
-SHA256 eb4af82346c06b71671fc1d463d4d69805b8fbb6430f6881316dfd5d56034012 files/gnome-spell-1.0.6-enchant.patch 16509
AUX gnome-spell-1.0.7-combo.patch 13005 RMD160 c8689b398964b265459bda677e8b42b56bc58a59 SHA1 409da1d200370cded8555d62f7e0e0c53b96bad5 SHA256 0d64ebd6b1316142636116d0e19bd9a94377458cfe328f42c51889cc86696840
MD5 0662bf311f48fc9e69e9a7361fc65192 files/gnome-spell-1.0.7-combo.patch 13005
RMD160 c8689b398964b265459bda677e8b42b56bc58a59 files/gnome-spell-1.0.7-combo.patch 13005
SHA256 0d64ebd6b1316142636116d0e19bd9a94377458cfe328f42c51889cc86696840 files/gnome-spell-1.0.7-combo.patch 13005
-AUX gnome-spell-1.0.7-debug.patch 384 RMD160 43eb9911b2bde894cdaa49f096f45c858eeb5ab5 SHA1 13a66aabe0d75d8e75e99adc51cba3a7a9ddff77 SHA256 a01b2762468f4759d8a4e0cb50bec860abb23292819b1ea22e7611d5c721b253
-MD5 94a75fa3ccc33e552eb79a810db5dade files/gnome-spell-1.0.7-debug.patch 384
-RMD160 43eb9911b2bde894cdaa49f096f45c858eeb5ab5 files/gnome-spell-1.0.7-debug.patch 384
-SHA256 a01b2762468f4759d8a4e0cb50bec860abb23292819b1ea22e7611d5c721b253 files/gnome-spell-1.0.7-debug.patch 384
AUX gnome-spell-1.0.7-enchant-r2.patch 17262 RMD160 8fe136299ffae9ce70354a23cce66a1cff5681e4 SHA1 a861cdd49f2ca585d16b8e564bae2f6acd94cf61 SHA256 821e75ea72f3e35f6912bdd1aa24be86d9bcf4835c75e28a084927b89c55e1ba
MD5 cdb26ce8ba03a6202b83bb94b20ff8ed files/gnome-spell-1.0.7-enchant-r2.patch 17262
RMD160 8fe136299ffae9ce70354a23cce66a1cff5681e4 files/gnome-spell-1.0.7-enchant-r2.patch 17262
SHA256 821e75ea72f3e35f6912bdd1aa24be86d9bcf4835c75e28a084927b89c55e1ba files/gnome-spell-1.0.7-enchant-r2.patch 17262
-AUX gnome-spell-1.0.7-enchant.patch 15540 RMD160 12f418609437b1ecafa4030f5c2df43ba3982e3e SHA1 d7c914e64ae4a3ea543a93f8bafa7123ab7690f9 SHA256 c81be929c6fab0a866fad62477cc794e3bbb8b19fd2c18e61eb84782195004df
-MD5 6b974cdc8c91d76c10c019d2dc342f52 files/gnome-spell-1.0.7-enchant.patch 15540
-RMD160 12f418609437b1ecafa4030f5c2df43ba3982e3e files/gnome-spell-1.0.7-enchant.patch 15540
-SHA256 c81be929c6fab0a866fad62477cc794e3bbb8b19fd2c18e61eb84782195004df files/gnome-spell-1.0.7-enchant.patch 15540
AUX gnome-spell-1.0.7-remove_gnome_h.patch 847 RMD160 040ba771de2054d811df2a3838d7711229b65801 SHA1 260d3e99a2367403eca9947ffe544ea8edcafa33 SHA256 6ee6a71d4c1b1e1ed75b7c2b5206196d99b35c8398cada11edba378b266a337b
MD5 4d723da276123286754f9769985ea0b0 files/gnome-spell-1.0.7-remove_gnome_h.patch 847
RMD160 040ba771de2054d811df2a3838d7711229b65801 files/gnome-spell-1.0.7-remove_gnome_h.patch 847
SHA256 6ee6a71d4c1b1e1ed75b7c2b5206196d99b35c8398cada11edba378b266a337b files/gnome-spell-1.0.7-remove_gnome_h.patch 847
-DIST gnome-spell-1.0.5.tar.bz2 216628 RMD160 2a506e52fc105b18efa3ff543ee2d2b6b83c90a5 SHA256 a6b14c075ee43dacc559eb49655138c23e2d98351968f1c737a23f01aa9813a3
-DIST gnome-spell-1.0.6.tar.bz2 315357 RMD160 de4f23a42f98dfce6cf69c3fc1dc288739fe9591 SHA1 7301e5111818da601d2e33bcb60058bee551d4c8 SHA256 715286bb6323e30c4ec432cd56f1302630f077d6b3c9ec82702eb1127f83e189
DIST gnome-spell-1.0.7.tar.bz2 331063 RMD160 e5c0593be77bfffa609eaa3f52653bc09a130667 SHA1 779fba26db798cab83bf710c8dc56b1635b3ff51 SHA256 6f3117635267acd29bb934bd6e588c58a8f5643fcaf41310d6633c2d7909f5f6
-EBUILD gnome-spell-1.0.5-r2.ebuild 1014 RMD160 dce29b666e0d2208dd14d745c4c6b873003e2876 SHA1 ed246d2301d96828728712c3c933b1274ebc5c61 SHA256 e6600fc8f0b96a31d01749be53458d82966e969678ca6b091c2a47020cf68423
-MD5 781fc005bddb076534689d1594c59b59 gnome-spell-1.0.5-r2.ebuild 1014
-RMD160 dce29b666e0d2208dd14d745c4c6b873003e2876 gnome-spell-1.0.5-r2.ebuild 1014
-SHA256 e6600fc8f0b96a31d01749be53458d82966e969678ca6b091c2a47020cf68423 gnome-spell-1.0.5-r2.ebuild 1014
-EBUILD gnome-spell-1.0.6.ebuild 1259 RMD160 69c3265b601a9e40fc2df760a4e0bd640d185896 SHA1 583750ba83833524cbb33c2e20da8b4ead59c6e0 SHA256 469f0f7cbf14c16e17756e783ff30263a93a1148e519f7efa30d3d54820f37a2
-MD5 045096f520a54f558d28d8909d6eba40 gnome-spell-1.0.6.ebuild 1259
-RMD160 69c3265b601a9e40fc2df760a4e0bd640d185896 gnome-spell-1.0.6.ebuild 1259
-SHA256 469f0f7cbf14c16e17756e783ff30263a93a1148e519f7efa30d3d54820f37a2 gnome-spell-1.0.6.ebuild 1259
EBUILD gnome-spell-1.0.7-r1.ebuild 1334 RMD160 60d4d072c3855f87efd1a654cf46ede6fd8692e9 SHA1 4fcb18b6c12ce1e6b636788a2b6a4f1660071c53 SHA256 85d1501faeaa21407105820f80fe449a354f4b8203cfffc46520c90dadad70d6
MD5 8d2d85fb9ebbcd91b2dc24980a10fb28 gnome-spell-1.0.7-r1.ebuild 1334
RMD160 60d4d072c3855f87efd1a654cf46ede6fd8692e9 gnome-spell-1.0.7-r1.ebuild 1334
SHA256 85d1501faeaa21407105820f80fe449a354f4b8203cfffc46520c90dadad70d6 gnome-spell-1.0.7-r1.ebuild 1334
-EBUILD gnome-spell-1.0.7.ebuild 1619 RMD160 9b7155af274d00292be8a18fad91ed3207309898 SHA1 393a4fb864f47ec2bc4e39371218885ef6f592ca SHA256 471eb3e73fe4e1c8945889bfa2495f381cba1edd00692de4440b6a2a5828e4b7
-MD5 bd45ae23d1aa7ef7883791692c77e6eb gnome-spell-1.0.7.ebuild 1619
-RMD160 9b7155af274d00292be8a18fad91ed3207309898 gnome-spell-1.0.7.ebuild 1619
-SHA256 471eb3e73fe4e1c8945889bfa2495f381cba1edd00692de4440b6a2a5828e4b7 gnome-spell-1.0.7.ebuild 1619
-MISC ChangeLog 10615 RMD160 bf583dcc364f7b688e13695bb607a8ff13def2c4 SHA1 8ab30d19448634a3473d9638cc5d5cb75bfe3699 SHA256 9fb761826046d08ef04df6f7b4d28d3a56da65671e6028be1311137fa7be3f4f
-MD5 96b95a31c0eb9913f1f3e2fe49fb2e70 ChangeLog 10615
-RMD160 bf583dcc364f7b688e13695bb607a8ff13def2c4 ChangeLog 10615
-SHA256 9fb761826046d08ef04df6f7b4d28d3a56da65671e6028be1311137fa7be3f4f ChangeLog 10615
+MISC ChangeLog 11026 RMD160 b080831ef478ed5b5ecbc15b47aa2b2d97a628d9 SHA1 cee8157785f8c7de0302cd1d735ed78577ce6c42 SHA256 d44cf2755d3105e3f898d4c8a4c902064099ef50352db06cba55037c1593d30b
+MD5 1843f785d371218d7c3775cf4c34c01f ChangeLog 11026
+RMD160 b080831ef478ed5b5ecbc15b47aa2b2d97a628d9 ChangeLog 11026
+SHA256 d44cf2755d3105e3f898d4c8a4c902064099ef50352db06cba55037c1593d30b ChangeLog 11026
MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e metadata.xml 158
SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 metadata.xml 158
-MD5 e37c6ac000f882cc81e9cd814b66e3d9 files/digest-gnome-spell-1.0.5-r2 256
-RMD160 cdc4a4ea93d98f7afa34997140bff6a320b5a13a files/digest-gnome-spell-1.0.5-r2 256
-SHA256 9a7638d10c34a3c5e98074621185bb1722ed976406e4199c3f218dbeb053e11a files/digest-gnome-spell-1.0.5-r2 256
-MD5 cd31ce6d861f5af624c643efb45e1a14 files/digest-gnome-spell-1.0.6 256
-RMD160 3dd1e2cce6d1118ae193c33967ae7ac2176a25bf files/digest-gnome-spell-1.0.6 256
-SHA256 060357080a5bd32da9d227ce62b34a69ae6b2f912600207604290cafed62a7bc files/digest-gnome-spell-1.0.6 256
-MD5 17b2884c2df83cba8b64d0b521699cb7 files/digest-gnome-spell-1.0.7 256
-RMD160 b5e95cd595895d2c3ea210d959140cd158ac05fa files/digest-gnome-spell-1.0.7 256
-SHA256 87b75139cd669fc786b823197a9dccbd770e77506d25e6097d6f424b15b9f24d files/digest-gnome-spell-1.0.7 256
MD5 17b2884c2df83cba8b64d0b521699cb7 files/digest-gnome-spell-1.0.7-r1 256
RMD160 b5e95cd595895d2c3ea210d959140cd158ac05fa files/digest-gnome-spell-1.0.7-r1 256
SHA256 87b75139cd669fc786b823197a9dccbd770e77506d25e6097d6f424b15b9f24d files/digest-gnome-spell-1.0.7-r1 256
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.1 (GNU/Linux)
-
-iD8DBQFFnQ7yAiZjviIA2XgRAt0mAJ92A+AMEmdmoGhpOoXbVLwJU6RZHgCg3njA
-EfQXao75lY7C0rRiyW4KDi0=
-=Qo6z
------END PGP SIGNATURE-----
+++ /dev/null
-MD5 ba4dd33cb150b670756e456066bd7434 gnome-spell-1.0.5.tar.bz2 216628
-RMD160 2a506e52fc105b18efa3ff543ee2d2b6b83c90a5 gnome-spell-1.0.5.tar.bz2 216628
-SHA256 a6b14c075ee43dacc559eb49655138c23e2d98351968f1c737a23f01aa9813a3 gnome-spell-1.0.5.tar.bz2 216628
+++ /dev/null
-MD5 a32e5f98c3f3a9964d698be26f371b90 gnome-spell-1.0.6.tar.bz2 315357
-RMD160 de4f23a42f98dfce6cf69c3fc1dc288739fe9591 gnome-spell-1.0.6.tar.bz2 315357
-SHA256 715286bb6323e30c4ec432cd56f1302630f077d6b3c9ec82702eb1127f83e189 gnome-spell-1.0.6.tar.bz2 315357
+++ /dev/null
-MD5 da3ad2c664afd06a0c56c84d5055f8ad gnome-spell-1.0.7.tar.bz2 331063
-RMD160 e5c0593be77bfffa609eaa3f52653bc09a130667 gnome-spell-1.0.7.tar.bz2 331063
-SHA256 6f3117635267acd29bb934bd6e588c58a8f5643fcaf41310d6633c2d7909f5f6 gnome-spell-1.0.7.tar.bz2 331063
+++ /dev/null
-? autom4te-2.53.cache
-? gnomespell-enchant.diff
-? gnomespell-enchant.diff.gz
-? intltool-extract
-? intltool-extract.in
-? intltool-merge
-? intltool-merge.in
-? intltool-update
-? intltool-update.in
-? gnome-spell/GNOME_Spell.server
-? gnome-spell/GNOME_Spell.server.in
-Index: ChangeLog
-===================================================================
-RCS file: /cvs/gnome/gnome-spell/ChangeLog,v
-retrieving revision 1.44
-diff -u -r1.44 ChangeLog
---- ChangeLog 16 May 2003 02:45:38 -0000 1.44
-+++ ChangeLog 31 Aug 2003 00:17:22 -0000
-@@ -1,3 +1,8 @@
-+2003-08-26 Dom Lachowicz <cinamod@hotmail.com>
-+
-+ * configure.in: Use Enchant instead of Aspell
-+ * gnome-spell/dictionary.c: ditto
-+
- 2003-05-16 Danilo Ĺ egan <dsegan@gmx.net>
-
- * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.
-Index: README
-===================================================================
-RCS file: /cvs/gnome/gnome-spell/README,v
-retrieving revision 1.7
-diff -u -r1.7 README
---- README 8 Oct 2001 18:57:45 -0000 1.7
-+++ README 31 Aug 2003 00:17:23 -0000
-@@ -3,7 +3,7 @@
-
- Gnome Spell is GNOME/Bonobo component for spell checking. In current 0.1 version
- it contains GNOME::Spell::Dictionary object, which provides spell checking dictionary
--(see Spell.idl for exact API definition). It's based on pspell package, which is required
-+(see Spell.idl for exact API definition). It's based on Enchant package, which is required
- to build gnome-spell.
-
- Dictionary object could be used for live spell checking. Look in test-spell.c or
-@@ -12,19 +12,18 @@
- In future it will be expanded by implementation of GNOME::Spell::Checker object (see
- also Spell.idl) and also by spell checking dialog control with appropriate interface.
-
--Pspell build
-+Enchant build
- ------------
-
--From my experience with pspell I recommend you to build pspell/aspell this way:
-+From my experience with Enchant I recommend you to build it this way:
-
-- 1) build and install pspell
-- 2) build and install aspell
-+ 1) build and install Pspell, Aspell
-+ 2) build and install Enchant
- 4) build and install GNOME Spell
-
--You could get Pspell and Aspell from:
-+You could get Enchant from:
-
-- http://pspell.sourceforge.net/
-- http://aspell.sourceforge.net/
-+ http://www.abisource.com/enchant/
-
- End
- ---
-Index: configure.in
-===================================================================
-RCS file: /cvs/gnome/gnome-spell/configure.in,v
-retrieving revision 1.67
-diff -u -r1.67 configure.in
---- configure.in 30 Jul 2003 15:45:53 -0000 1.67
-+++ configure.in 31 Aug 2003 00:17:23 -0000
-@@ -46,34 +46,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
-
-@@ -82,7 +54,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="libgnomeui-2.0 >= 1.112.1 libbonoboui-2.0 >= 1.112.1 libglade-2.0 >= 1.99.9 enchant >= 0.4.0"
- PKG_CHECK_MODULES(GNOME_SPELL, $GNOME_SPELL_MODULES)
- AC_SUBST(GNOME_SPELL_CFLAGS)
- AC_SUBST(GNOME_SPELL_LIBS)
-Index: gnome-spell.spec.in
-===================================================================
-RCS file: /cvs/gnome/gnome-spell/gnome-spell.spec.in,v
-retrieving revision 1.1
-diff -u -r1.1 gnome-spell.spec.in
---- gnome-spell.spec.in 1 Nov 2001 22:19:22 -0000 1.1
-+++ gnome-spell.spec.in 31 Aug 2003 00:17:23 -0000
-@@ -7,12 +7,10 @@
- Source: ftp://ftp.gnome.org/pub/GNOME/unstable/sources/%{name}/%{name}-%{version}.tar.gz
- Summary: The spelling component for bonobo
- Group: System Environment/Libraries
--Requires: aspell >= 0.28
--Requires: pspell >= 0.12
-+Requires: enchant >= 0.3.0
- Requires: bonobo >= 0.28
- Requires: gal >= 0.7.99.5
--BuildRequires: aspell-devel >= 0.28
--BuildRequires: pspell-devel >= 0.12
-+BuildRequires: enchant-devel >= 0.3.0
- BuildRequires: bonobo-devel >= 0.28
- BuildRequires: libglade-devel
- BuildRequires: gal-devel >= 0.7.99.5
-Index: gnome-spell/Makefile.am
-===================================================================
-RCS file: /cvs/gnome/gnome-spell/gnome-spell/Makefile.am,v
-retrieving revision 1.28
-diff -u -r1.28 Makefile.am
---- gnome-spell/Makefile.am 8 May 2003 15:39:40 -0000 1.28
-+++ gnome-spell/Makefile.am 31 Aug 2003 00:17:23 -0000
-@@ -7,13 +7,11 @@
-
- INCLUDES = \
- -I$(srcdir) \
-- $(ASPELL_INC) \
- -DGNOMEDATADIR=\""$(datadir)"\" \
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- -DGLADE_DATADIR=\"$(gladedir)\" \
- -DPLUGIN_DIR=\""$(PLUGIN_DIR)"\" \
- -DGTK_DISABLE_DEPRECATED=1 \
-- -DASPELL_DICT=\""$(ASPELL_DICT)"\" \
- $(GNOME_SPELL_CFLAGS) \
- $(END)
-
-@@ -51,7 +49,6 @@
- libgnome_spell_component_la_LDFLAGS = -release $(API_VERSION)
- libgnome_spell_component_la_LIBADD = \
- libgnome-spell-idl.la \
-- $(ASPELL_LIBS) \
- $(GNOME_SPELL_LIBS) \
- $(END)
-
-@@ -65,7 +62,6 @@
-
- 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.34
-diff -u -r1.34 dictionary.c
---- gnome-spell/dictionary.c 11 Jun 2003 17:15:22 -0000 1.34
-+++ gnome-spell/dictionary.c 31 Aug 2003 00:17:24 -0000
-@@ -55,13 +55,30 @@
- return (SpellEngine *) language ? g_hash_table_lookup (dict->engines_ht, language) : NULL;
- }
-
-+/* replace any 1 hyphen with an underscore. converts en-US to en_US */
-+static gchar *
-+normalize_language (const gchar * language)
-+{
-+ gchar * dup, * hyphen;
-+
-+ dup = g_strdup (language);
-+ hyphen = strchr (dup, '-');
-+ if (hyphen)
-+ *hyphen = '_';
-+ return dup;
-+}
-+
- static void
- raise_error (CORBA_Environment * ev, const gchar *s)
- {
- GNOME_Spell_Dictionary_Error *exception;
- exception = GNOME_Spell_Dictionary_Error__alloc ();
--
-- exception->error = CORBA_string_dup (s);
-+
-+ if (s != NULL)
-+ exception->error = CORBA_string_dup (s);
-+ else
-+ exception->error = _("Unknown error");
-+
- CORBA_exception_set (ev, CORBA_USER_EXCEPTION,
- ex_GNOME_Spell_Dictionary_Error,
- exception);
-@@ -76,6 +93,7 @@
- dict->engines = NULL;
- dict->languages = g_hash_table_new (g_str_hash, g_str_equal);
- dict->engines_ht = g_hash_table_new (NULL, NULL);
-+ dict->broker = enchant_broker_init ();
- }
-
- static void
-@@ -88,6 +106,7 @@
- dictionary->languages = NULL;
- g_hash_table_destroy (dictionary->engines_ht);
- dictionary->engines_ht = NULL;
-+ enchant_broker_free (dictionary->broker);
-
- G_OBJECT_CLASS (dictionary_parent_class)->finalize (object);
- }
-@@ -98,9 +117,7 @@
- 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->lang = normalize_language (language);
- se->changed = TRUE;
-
- return se;
-@@ -129,9 +146,9 @@
- SpellEngine *se = dict->engines->data;
-
- if (se->speller)
-- delete_aspell_speller (se->speller);
-- if (se->config)
-- delete_aspell_config (se->config);
-+ enchant_broker_free_dict (dict->broker, se->speller);
-+ if (se->lang)
-+ g_free (se->lang);
- g_free (se);
- dict->engines = g_slist_remove (dict->engines, se);
- }
-@@ -143,13 +160,14 @@
- dict->changed = TRUE;
- }
-
--#define KNOWN_LANGUAGES 25
-+#define KNOWN_LANGUAGES 38
- static gchar *known_languages [KNOWN_LANGUAGES*2 + 1] = {
- "br", N_("Breton"),
- "ca", N_("Catalan"),
- "cs", N_("Czech"),
- "da", N_("Danish"),
- "de-DE", N_("German (Germany)"),
-+ "de-AT", N_("German (Austria)"),
- "de-CH", N_("German (Swiss)"),
- "el", N_("Greek"),
- "en-US", N_("English (American)"),
-@@ -157,49 +175,76 @@
- "en-CA", N_("English (Canadian)"),
- "eo", N_("Esperanto"),
- "es", N_("Spanish"),
-+ "fi", N_("Finnish"),
- "fo", N_("Faroese"),
- "fr-FR", N_("French (France)"),
- "fr-CH", N_("French (Swiss)"),
-+ "hu", N_("Hungarian"),
-+ "ga", N_("Irish"),
-+ "gl", N_("Galician"),
-+ "he", N_("Hebrew"),
- "it", N_("Italian"),
-+ "la", N_("Latin"),
-+ "lt", N_("Lithuanian"),
-+ "nb-NO", N_("Norwegian (Bokmal)"),
- "nl", N_("Dutch"),
-+ "nn-NO", N_("Norwegian (Nyorsk)"),
- "no", N_("Norwegian"),
- "pl", N_("Polish"),
- "pt-PT", N_("Portuguese (Portugal)"),
- "pt-BR", N_("Portuguese (Brazilian)"),
- "ru", N_("Russian"),
-+ "sc", N_("Sardinian"),
- "sk", N_("Slovak"),
-+ "sl", N_("Slovak"),
- "sv", N_("Swedish"),
- "uk", N_("Ukrainian"),
-+ "yi", N_("Yiddish"),
- NULL
- };
-
-+static void
-+dict_describe (const char * const lang_tag,
-+ const char * const provider_name,
-+ const char * const provider_desc,
-+ const char * const provider_file,
-+ void * user_data)
-+{
-+ printf ("%s | %s | %s | %s\n", lang_tag, provider_name, provider_desc, provider_file);
-+}
-+
- static GSList *
- get_languages_real (gint *ln)
- {
-+ EnchantBroker * broker;
-+ gchar * lang;
-+
- GSList *langs;
-- AspellCanHaveError *err;
-- AspellConfig *config;
-- AspellSpeller *speller;
- gint i;
-
- DICT_DEBUG (printf ("get_languages_real\n"));
-
- langs = NULL;
- *ln = 0;
-+
-+ broker = enchant_broker_init ();
-+
- for (i=0; known_languages [i]; i++) {
-- config = new_aspell_config ();
-- aspell_config_replace (config, "language-tag", known_languages [i]);
-+ lang = normalize_language (known_languages [i]);
- i++;
-- err = new_aspell_speller (config);
-- if (aspell_error_number (err) == 0) {
-- speller = to_aspell_speller (err);
-- DICT_DEBUG (printf ("Language: %s\n", known_languages [i]));
-- delete_aspell_speller (speller);
-+
-+ if (enchant_broker_dict_exists (broker, lang)) {
-+ DICT_DEBUG (enchant_dict_describe (dict, dict_describe, NULL));
-+ DICT_DEBUG (printf ("Language: %s (%s)\n", known_languages [i], lang));
- langs = g_slist_prepend (langs, GINT_TO_POINTER (i - 1));
- (*ln) ++;
- }
-+
-+ g_free (lang);
- }
-
-+ enchant_broker_free (broker);
-+
- return langs;
- }
-
-@@ -210,8 +255,6 @@
- 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++) {
-@@ -229,7 +272,6 @@
- GSList *langs, *l;
- GConfClient *gc;
- time_t mtime;
-- struct stat buf;
- gint i, kl;
-
- gc = gconf_client_get_default ();
-@@ -237,7 +279,7 @@
- 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 != KNOWN_LANGUAGES) {
-+ if (kl != KNOWN_LANGUAGES) { /* TODO: find a way to get this list generation to happen less often */
- GString *str;
- langs = get_languages_real (ln);
-
-@@ -248,7 +290,7 @@
- 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 "/mtime", time (NULL), NULL);
- gconf_client_set_int (gc, GNOME_SPELL_GCONF_DIR "/known_languages", KNOWN_LANGUAGES, NULL);
- g_string_free (str, TRUE);
- gnome_config_sync ();
-@@ -333,22 +375,18 @@
- }
-
- static void
--update_engine (SpellEngine *se, CORBA_Environment * ev)
-+update_engine (GNOMESpellDictionary *dict, SpellEngine *se, CORBA_Environment * ev)
- {
-- AspellCanHaveError *err;
--
-- DICT_DEBUG (printf ("Dictionary: creating new aspell speller\n"));
-+ DICT_DEBUG (printf ("Dictionary: creating new enchant 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));
-+ enchant_broker_free_dict (dict->broker, se->speller);
-+ se->speller = enchant_broker_request_dict (dict->broker, se->lang);
-+ if (se->speller == NULL) {
-+ g_warning ("enchant error: %s\n", se->lang);
-+ raise_error (ev, enchant_broker_get_error (dict->broker));
- } else {
-- se->speller = to_aspell_speller (err);
- se->changed = FALSE;
- }
- }
-@@ -363,7 +401,7 @@
- GSList *l;
-
- for (l = dict->engines; l; l = l->next) {
-- update_engine ((SpellEngine *) l->data, ev);
-+ update_engine (dict, (SpellEngine *) l->data, ev);
- }
-
- dict->changed = FALSE;
-@@ -373,20 +411,11 @@
- static CORBA_boolean
- engine_check_word (SpellEngine *se, const gchar *word, CORBA_Environment *ev)
- {
-- CORBA_boolean result = CORBA_TRUE;
-- gint aspell_result;
--
- g_return_val_if_fail (se->speller, CORBA_TRUE);
-
-- 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));
-- }
--
-- return result;
-+ if (enchant_dict_check (se->speller, word, strlen (word)) == 0)
-+ return CORBA_TRUE;
-+ return CORBA_FALSE;
- }
-
- static CORBA_boolean
-@@ -431,7 +460,7 @@
- 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));
- }
- }
-
-@@ -449,8 +478,7 @@
- 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_personal (se->speller, word, strlen (word));
- DICT_DEBUG (printf ("Added and saved.\n"));
- }
- }
-@@ -470,9 +498,8 @@
- 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"));
- }
- }
-@@ -482,26 +509,33 @@
- const CORBA_char *word, CORBA_Environment *ev)
- {
- GNOMESpellDictionary *dict = GNOME_SPELL_DICTIONARY (bonobo_object_from_servant (servant));
-- const AspellWordList *suggestions;
-- AspellStringEnumeration *elements;
- GNOME_Spell_StringSeq *seq = NULL;
- GSList *l, *suggestion_list = NULL;
- gint i, len, pos;
-
-+ char ** suggestions;
-+ size_t n_suggs, total_suggs;
-+
- g_return_val_if_fail (word, NULL);
-
- DICT_DEBUG (printf ("Dictionary correction: %s\n", word));
- update_engines (dict, ev);
-
- len = 0;
-+ total_suggs = 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);
-- suggestion_list = g_slist_prepend (suggestion_list, engine_to_language (dict, se));
-+ suggestions = enchant_dict_suggest (se->speller, word, strlen (word), &n_suggs);
-+ if (suggestions && n_suggs) {
-+ total_suggs += n_suggs;
-+ suggestion_list = g_slist_prepend (suggestion_list, (gpointer) suggestions);
-+ suggestion_list = g_slist_prepend (suggestion_list, engine_to_language (dict, se));
-+ suggestion_list = g_slist_prepend (suggestion_list, GINT_TO_POINTER (n_suggs));
-+ suggestion_list = g_slist_prepend (suggestion_list, (gpointer) se->speller);
-+ len += 2*n_suggs;
-+ }
- }
- }
-
-@@ -515,20 +549,25 @@
-
- pos = 0;
- for (l = suggestion_list; l; l = l->next) {
-- gint list_len;
- gchar *language;
-+ EnchantDict * en_dict;
-+
-+ en_dict = (EnchantDict *)l->data;
-+ l = l->next;
-+
-+ n_suggs = 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);
-- for (i = 0; i < list_len; i ++, pos ++) {
-- seq->_buffer [pos] = CORBA_string_dup (aspell_string_enumeration_next (elements));
-+ suggestions = (char **) l->data;
-+
-+ for (i = 0; i < n_suggs; i ++, pos ++) {
-+ seq->_buffer [pos] = CORBA_string_dup (suggestions[i]);
- pos ++;
- seq->_buffer [pos] = CORBA_string_dup (language);
- }
-- delete_aspell_string_enumeration (elements);
-+ enchant_dict_free_suggestions (en_dict, 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.7
-diff -u -r1.7 dictionary.h
---- gnome-spell/dictionary.h 20 Mar 2003 14:11:39 -0000 1.7
-+++ gnome-spell/dictionary.h 31 Aug 2003 00:17:24 -0000
-@@ -26,7 +26,7 @@
- G_BEGIN_DECLS
-
- #include <bonobo/bonobo-object.h>
--#include <aspell.h>
-+#include <enchant.h>
-
- #define GNOME_SPELL_DICTIONARY_TYPE (gnome_spell_dictionary_get_type ())
- #define GNOME_SPELL_DICTIONARY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), \
-@@ -37,8 +37,8 @@
- #define IS_GNOME_SPELL_DICTIONARY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_SPELL_DICTIONARY_TYPE))
-
- typedef struct {
-- AspellConfig *config;
-- AspellSpeller *speller;
-+ EnchantDict *speller;
-+ gchar *lang;
- gboolean changed;
- } SpellEngine;
-
-@@ -49,6 +49,8 @@
- GSList *engines;
- GHashTable *languages;
- GHashTable *engines_ht;
-+
-+ EnchantBroker * broker;
- } GNOMESpellDictionary;
-
- typedef struct {
+++ /dev/null
-diff -ur gnome-spell-1.0.5/configure.in gnome-spell/configure.in
---- gnome-spell-1.0.5/configure.in Wed Jul 30 16:42:57 2003
-+++ gnome-spell/configure.in Fri Feb 6 16:38:02 2004
-@@ -82,7 +82,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 enchant >= 0.4.0"
-+GNOME_SPELL_MODULES="libgnomeui-2.0 >= 1.112.1 libbonoboui-2.0 >= 1.112.1 libglade-2.0 >= 1.99.9 enchant >= 0.4.0 gtk+-2.0 >= 2.3.0"
- PKG_CHECK_MODULES(GNOME_SPELL, $GNOME_SPELL_MODULES)
- AC_SUBST(GNOME_SPELL_CFLAGS)
- AC_SUBST(GNOME_SPELL_LIBS)
-diff -ur gnome-spell-1.0.5/gnome-spell/control.c gnome-spell/gnome-spell/control.c
---- gnome-spell-1.0.5/gnome-spell/control.c Fri Jun 27 17:06:27 2003
-+++ gnome-spell/gnome-spell/control.c Wed Jan 7 15:40:06 2004
-@@ -23,18 +23,18 @@
- #include <config.h>
- #include <string.h>
- #include <glib.h>
-+#include <gtk/gtkcombobox.h>
- #include <gtk/gtkliststore.h>
- #include <gtk/gtkmain.h>
- #include <gtk/gtktreeview.h>
- #include <gtk/gtktreeselection.h>
- #include <gtk/gtkcellrenderertext.h>
--#include <gtk/gtkentry.h>
- #include <gtk/gtklabel.h>
- #include <gtk/gtkmenu.h>
- #include <gtk/gtkmenuitem.h>
-+#include <gtk/gtktable.h>
- #include <gtk/gtkwindow.h>
- #include <libgnome/gnome-i18n.h>
--#include <libgnomeui/gnome-entry.h>
- #include <glade/glade.h>
- #include <bonobo/bonobo-control.h>
- #include <bonobo/bonobo-property-bag-client.h>
-@@ -66,7 +66,6 @@
- GtkWidget *button_back;
-
- GtkWidget *combo_add;
-- GtkWidget *entry_add;
- GList *abbrevs;
- GList *langs;
- } SpellControlData;
-@@ -139,7 +138,7 @@
- }
-
- static void
--set_entry_add (SpellControlData *cd)
-+set_combo_add (SpellControlData *cd)
- {
-
- CORBA_sequence_GNOME_Spell_Language *language_seq;
-@@ -152,12 +151,15 @@
-
- abbrevs_langs_clear (cd);
- for (i = 0, n = 1; i < language_seq->_length; i++) {
-+ gchar *lang;
-+
- if (strstr (cd->language, language_seq->_buffer[i].abbreviation)) {
-- cd->langs = g_list_append (cd->langs, g_strdup (_(language_seq->_buffer[i].name)));
-+ lang = g_strdup (_(language_seq->_buffer[i].name));
-+ cd->langs = g_list_append (cd->langs, lang);
-+ gtk_combo_box_append_text (GTK_COMBO_BOX (cd->combo_add), lang);
- cd->abbrevs = g_list_append (cd->abbrevs, g_strdup (language_seq->_buffer[i].abbreviation));
- }
- }
-- gtk_combo_set_popdown_strings (GTK_COMBO (cd->combo_add), cd->langs);
- }
- CORBA_exception_free (&ev);
- }
-@@ -165,15 +167,11 @@
- static gchar *
- get_abbrev (SpellControlData *cd)
- {
-- GList *l, *a;
-- const gchar *text;
--
-- text = gtk_entry_get_text (GTK_ENTRY (cd->entry_add));
-+ gint idx;
-
-- if (text)
-- for (l = cd->langs, a = cd->abbrevs; l && a; l = l->next, a = a->next)
-- if (!strcmp (text, l->data))
-- return (gchar *) a->data;
-+ idx = gtk_combo_box_get_active (GTK_COMBO_BOX (cd->combo_add));
-+ if (idx >= 0)
-+ return g_list_nth_data (cd->abbrevs, idx);
-
- return NULL;
- }
-@@ -267,7 +265,7 @@
- GNOME_Spell_Dictionary_setLanguage (cd->dict, cd->language, &ev);
- CORBA_exception_free (&ev);
-
-- set_entry_add (cd);
-+ set_combo_add (cd);
- }
-
- static void
-@@ -343,8 +341,9 @@
- cd->button_ignore = glade_xml_get_widget (xml, "button_ignore");
- cd->button_skip = glade_xml_get_widget (xml, "button_skip");
- cd->button_back = glade_xml_get_widget (xml, "button_back");
-- cd->combo_add = glade_xml_get_widget (xml, "combo_add");
-- cd->entry_add = glade_xml_get_widget (xml, "entry_add");
-+ cd->combo_add = gtk_combo_box_new_text ();
-+ gtk_widget_show (cd->combo_add);
-+ gtk_table_attach_defaults (GTK_TABLE (table), cd->combo_add, 0, 1, 3, 4);
-
- g_signal_connect (cd->button_replace, "clicked", G_CALLBACK (clicked_replace), cd);
- g_signal_connect (cd->button_add, "clicked", G_CALLBACK (clicked_add), cd);
-diff -ur gnome-spell-1.0.5/gnome-spell/spell-checker.glade gnome-spell/gnome-spell/spell-checker.glade
---- gnome-spell-1.0.5/gnome-spell/spell-checker.glade Fri Jun 27 17:06:27 2003
-+++ gnome-spell/gnome-spell/spell-checker.glade Wed Jan 7 15:40:06 2004
-@@ -2,6 +2,7 @@
- <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
- <glade-interface>
-+<requires lib="gnome"/>
-
- <widget class="GtkDialog" id="Spell dialog">
- <property name="visible">True</property>
-@@ -11,6 +12,11 @@
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
-+ <property name="decorated">True</property>
-+ <property name="skip_taskbar_hint">False</property>
-+ <property name="skip_pager_hint">False</property>
-+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
-@@ -32,6 +38,7 @@
- <property name="label" translatable="yes">Replace</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -44,6 +51,7 @@
- <property name="label" translatable="yes">Remember</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -56,6 +64,7 @@
- <property name="label" translatable="yes">Ignore</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -68,6 +77,7 @@
- <property name="label">gtk-go-forward</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -80,6 +90,7 @@
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -264,6 +275,7 @@
- <property name="label" translatable="yes">D_ictionaries</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
-
-@@ -274,6 +286,7 @@
- <property name="label" translatable="yes">_Describe</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
-
-@@ -284,6 +297,7 @@
- <property name="label" translatable="yes">Describe _all</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
-
-@@ -295,6 +309,7 @@
- <property name="label" translatable="yes">_Help</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
- </widget>
-@@ -362,6 +377,11 @@
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
-+ <property name="decorated">True</property>
-+ <property name="skip_taskbar_hint">False</property>
-+ <property name="skip_pager_hint">False</property>
-+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-
- <child>
- <widget class="GtkTable" id="simple_control">
-@@ -469,6 +489,7 @@
- <property name="has_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment1">
-@@ -477,6 +498,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox3">
-@@ -534,6 +559,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment3">
-@@ -542,6 +568,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox5">
-@@ -599,6 +629,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment5">
-@@ -607,6 +638,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
-@@ -664,6 +699,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment4">
-@@ -672,6 +708,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox6">
-@@ -746,6 +786,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment2">
-@@ -754,6 +795,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox4">
-@@ -809,45 +854,6 @@
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">fill</property>
-- <property name="y_options"></property>
-- </packing>
-- </child>
--
-- <child>
-- <widget class="GtkCombo" id="combo_add">
-- <property name="visible">True</property>
-- <property name="value_in_list">True</property>
-- <property name="allow_empty">False</property>
-- <property name="case_sensitive">True</property>
-- <property name="enable_arrow_keys">True</property>
-- <property name="enable_arrows_always">False</property>
--
-- <child internal-child="entry">
-- <widget class="GtkEntry" id="entry_add">
-- <property name="visible">True</property>
-- <property name="can_focus">True</property>
-- <property name="editable">True</property>
-- <property name="visibility">True</property>
-- <property name="max_length">0</property>
-- <property name="text" translatable="yes"></property>
-- <property name="has_frame">True</property>
-- <property name="invisible_char" translatable="yes">*</property>
-- <property name="activates_default">False</property>
-- </widget>
-- </child>
--
-- <child internal-child="list">
-- <widget class="GtkList" id="combo-list1">
-- <property name="visible">True</property>
-- <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-- </widget>
-- </child>
-- </widget>
-- <packing>
-- <property name="left_attach">0</property>
-- <property name="right_attach">1</property>
-- <property name="top_attach">3</property>
-- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
- </packing>
- </child>
---- gnome-spell-1.0.5/gnome-spell/Makefile.am.orig 2004-03-22 02:32:59.000000000 +0000
-+++ gnome-spell-1.0.5/gnome-spell/Makefile.am 2004-03-22 02:33:10.000000000 +0000
-@@ -11,7 +11,6 @@
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- -DGLADE_DATADIR=\"$(gladedir)\" \
- -DPLUGIN_DIR=\""$(PLUGIN_DIR)"\" \
-- -DGTK_DISABLE_DEPRECATED=1 \
- $(GNOME_SPELL_CFLAGS) \
- $(END)
-
+++ /dev/null
-diff -NurdB gnome-spell-1.0.6/gnome-spell/control.c gnome-spell-1.0.6-patched/gnome-spell/control.c
---- gnome-spell-1.0.6/gnome-spell/control.c 2005-01-24 13:06:09.000000000 -0500
-+++ gnome-spell-1.0.6-patched/gnome-spell/control.c 2005-07-07 03:44:45.000000000 -0500
-@@ -23,18 +23,18 @@
- #include <config.h>
- #include <string.h>
- #include <glib.h>
-+#include <gtk/gtkcombobox.h>
- #include <gtk/gtkliststore.h>
- #include <gtk/gtkmain.h>
- #include <gtk/gtktreeview.h>
- #include <gtk/gtktreeselection.h>
- #include <gtk/gtkcellrenderertext.h>
--#include <gtk/gtkentry.h>
- #include <gtk/gtklabel.h>
- #include <gtk/gtkmenu.h>
- #include <gtk/gtkmenuitem.h>
-+#include <gtk/gtktable.h>
- #include <gtk/gtkwindow.h>
- #include <libgnome/gnome-i18n.h>
--#include <libgnomeui/gnome-entry.h>
- #include <glade/glade.h>
- #include <bonobo/bonobo-control.h>
- #include <bonobo/bonobo-property-bag-client.h>
-@@ -66,7 +66,6 @@
- GtkWidget *button_back;
-
- GtkWidget *combo_add;
-- GtkWidget *entry_add;
- GList *abbrevs;
- GList *langs;
- } SpellControlData;
-@@ -139,7 +138,7 @@
- }
-
- static void
--set_entry_add (SpellControlData *cd)
-+set_combo_add (SpellControlData *cd)
- {
-
- CORBA_sequence_GNOME_Spell_Language *language_seq;
-@@ -152,12 +151,15 @@
-
- abbrevs_langs_clear (cd);
- for (i = 0, n = 1; i < language_seq->_length; i++) {
-+ gchar *lang;
-+
- if (strstr (cd->language, language_seq->_buffer[i].abbreviation)) {
-- cd->langs = g_list_append (cd->langs, g_strdup (_(language_seq->_buffer[i].name)));
-+ lang = g_strdup (_(language_seq->_buffer[i].name));
-+ cd->langs = g_list_append (cd->langs, lang);
-+ gtk_combo_box_append_text (GTK_COMBO_BOX (cd->combo_add), lang);
- cd->abbrevs = g_list_append (cd->abbrevs, g_strdup (language_seq->_buffer[i].abbreviation));
- }
- }
-- gtk_combo_set_popdown_strings (GTK_COMBO (cd->combo_add), cd->langs);
- }
- CORBA_exception_free (&ev);
- }
-@@ -165,15 +167,11 @@
- static gchar *
- get_abbrev (SpellControlData *cd)
- {
-- GList *l, *a;
-- const gchar *text;
--
-- text = gtk_entry_get_text (GTK_ENTRY (cd->entry_add));
-+ gint idx;
-
-- if (text)
-- for (l = cd->langs, a = cd->abbrevs; l && a; l = l->next, a = a->next)
-- if (!strcmp (text, l->data))
-- return (gchar *) a->data;
-+ idx = gtk_combo_box_get_active (GTK_COMBO_BOX (cd->combo_add));
-+ if (idx >= 0)
-+ return g_list_nth_data (cd->abbrevs, idx);
-
- return NULL;
- }
-@@ -267,7 +265,7 @@
- GNOME_Spell_Dictionary_setLanguage (cd->dict, cd->language, &ev);
- CORBA_exception_free (&ev);
-
-- set_entry_add (cd);
-+ set_combo_add (cd);
- }
-
- static void
-@@ -343,8 +341,9 @@
- cd->button_ignore = glade_xml_get_widget (xml, "button_ignore");
- cd->button_skip = glade_xml_get_widget (xml, "button_skip");
- cd->button_back = glade_xml_get_widget (xml, "button_back");
-- cd->combo_add = glade_xml_get_widget (xml, "combo_add");
-- cd->entry_add = glade_xml_get_widget (xml, "entry_add");
-+ cd->combo_add = gtk_combo_box_new_text ();
-+ gtk_widget_show (cd->combo_add);
-+ gtk_table_attach_defaults (GTK_TABLE (table), cd->combo_add, 0, 1, 3, 4);
-
- g_signal_connect (cd->button_replace, "clicked", G_CALLBACK (clicked_replace), cd);
- g_signal_connect (cd->button_add, "clicked", G_CALLBACK (clicked_add), cd);
-diff -NurdB gnome-spell-1.0.6/gnome-spell/spell-checker.glade gnome-spell-1.0.6-patched/gnome-spell/spell-checker.glade
---- gnome-spell-1.0.6/gnome-spell/spell-checker.glade 2005-01-24 13:06:09.000000000 -0500
-+++ gnome-spell-1.0.6-patched/gnome-spell/spell-checker.glade 2005-07-07 03:44:45.000000000 -0500
-@@ -2,6 +2,7 @@
- <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
- <glade-interface>
-+<requires lib="gnome"/>
-
- <widget class="GtkDialog" id="Spell dialog">
- <property name="visible">True</property>
-@@ -11,6 +12,11 @@
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
-+ <property name="decorated">True</property>
-+ <property name="skip_taskbar_hint">False</property>
-+ <property name="skip_pager_hint">False</property>
-+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
-@@ -32,6 +38,7 @@
- <property name="label" translatable="yes">Replace</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -44,6 +51,7 @@
- <property name="label" translatable="yes">Remember</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -56,6 +64,7 @@
- <property name="label" translatable="yes">Ignore</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -68,6 +77,7 @@
- <property name="label">gtk-go-forward</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -80,6 +90,7 @@
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -264,6 +275,7 @@
- <property name="label" translatable="yes">D_ictionaries</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
-
-@@ -274,6 +286,7 @@
- <property name="label" translatable="yes">_Describe</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
-
-@@ -284,6 +297,7 @@
- <property name="label" translatable="yes">Describe _all</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
-
-@@ -295,6 +309,7 @@
- <property name="label" translatable="yes">_Help</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- </widget>
- </child>
- </widget>
-@@ -362,6 +377,11 @@
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
-+ <property name="decorated">True</property>
-+ <property name="skip_taskbar_hint">False</property>
-+ <property name="skip_pager_hint">False</property>
-+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-
- <child>
- <widget class="GtkTable" id="simple_control">
-@@ -471,6 +491,7 @@
- <property name="has_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment1">
-@@ -479,6 +500,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox3">
-@@ -536,6 +561,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment3">
-@@ -544,6 +570,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox5">
-@@ -601,6 +631,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment5">
-@@ -609,6 +640,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
-@@ -666,6 +701,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment4">
-@@ -674,6 +710,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox6">
-@@ -748,6 +788,7 @@
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment2">
-@@ -756,6 +797,10 @@
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
-+ <property name="top_padding">0</property>
-+ <property name="bottom_padding">0</property>
-+ <property name="left_padding">0</property>
-+ <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox4">
-@@ -814,45 +859,6 @@
- <property name="y_options"></property>
- </packing>
- </child>
--
-- <child>
-- <widget class="GtkCombo" id="combo_add">
-- <property name="visible">True</property>
-- <property name="value_in_list">True</property>
-- <property name="allow_empty">False</property>
-- <property name="case_sensitive">True</property>
-- <property name="enable_arrow_keys">True</property>
-- <property name="enable_arrows_always">False</property>
--
-- <child internal-child="entry">
-- <widget class="GtkEntry" id="entry_add">
-- <property name="visible">True</property>
-- <property name="can_focus">True</property>
-- <property name="editable">True</property>
-- <property name="visibility">True</property>
-- <property name="max_length">0</property>
-- <property name="text" translatable="yes"></property>
-- <property name="has_frame">True</property>
-- <property name="invisible_char" translatable="yes">*</property>
-- <property name="activates_default">False</property>
-- </widget>
-- </child>
--
-- <child internal-child="list">
-- <widget class="GtkList" id="combo-list1">
-- <property name="visible">True</property>
-- <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-- </widget>
-- </child>
-- </widget>
-- <packing>
-- <property name="left_attach">0</property>
-- <property name="right_attach">1</property>
-- <property name="top_attach">3</property>
-- <property name="bottom_attach">4</property>
-- <property name="y_options"></property>
-- </packing>
-- </child>
- </widget>
- </child>
- </widget>
+++ /dev/null
-diff -NurdB gnome-spell-1.0.6/README gnome-spell-1.0.6-patched/README
---- gnome-spell-1.0.6/README 2005-01-24 13:06:08.000000000 -0500
-+++ gnome-spell-1.0.6-patched/README 2005-07-07 02:22:09.000000000 -0500
-@@ -3,7 +3,7 @@
-
- Gnome Spell is GNOME/Bonobo component for spell checking. In current 0.1 version
- it contains GNOME::Spell::Dictionary object, which provides spell checking dictionary
--(see Spell.idl for exact API definition). It's based on pspell package, which is required
-+(see Spell.idl for exact API definition). It's based on Enchant package, which is required
- to build gnome-spell.
-
- Dictionary object could be used for live spell checking. Look in test-spell.c or
-@@ -12,19 +12,18 @@
- In future it will be expanded by implementation of GNOME::Spell::Checker object (see
- also Spell.idl) and also by spell checking dialog control with appropriate interface.
-
--Pspell build
-+Enchant build
- ------------
-
--From my experience with pspell I recommend you to build pspell/aspell this way:
-+From my experience with Enchant I recommend you to build it this way:
-
-- 1) build and install pspell
-- 2) build and install aspell
-+ 1) build and install Pspell, Aspell
-+ 2) build and install Enchant
- 4) build and install GNOME Spell
-
--You could get Pspell and Aspell from:
-+You could get Enchant from:
-
-- http://pspell.sourceforge.net/
-- http://aspell.sourceforge.net/
-+ http://www.abisource.com/enchant/
-
- End
- ---
-diff -NurdB gnome-spell-1.0.6/configure.in gnome-spell-1.0.6-patched/configure.in
---- gnome-spell-1.0.6/configure.in 2005-01-24 13:06:08.000000000 -0500
-+++ gnome-spell-1.0.6-patched/configure.in 2005-07-07 02:22:09.000000000 -0500
-@@ -46,34 +46,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
-
-@@ -82,7 +54,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="libgnomeui-2.0 >= 1.112.1 libbonoboui-2.0 >= 1.112.1 libglade-2.0 >= 1.99.9 enchant >= 0.4.0 gtk+-2.0 >= 2.3.0"
- PKG_CHECK_MODULES(GNOME_SPELL, $GNOME_SPELL_MODULES)
- AC_SUBST(GNOME_SPELL_CFLAGS)
- AC_SUBST(GNOME_SPELL_LIBS)
-diff -NurdB gnome-spell-1.0.6/gnome-spell/Makefile.am gnome-spell-1.0.6-patched/gnome-spell/Makefile.am
---- gnome-spell-1.0.6/gnome-spell/Makefile.am 2005-01-24 13:58:22.000000000 -0500
-+++ gnome-spell-1.0.6-patched/gnome-spell/Makefile.am 2005-07-07 02:31:59.000000000 -0500
-@@ -7,12 +7,10 @@
-
- INCLUDES = \
- -I$(srcdir) \
-- $(ASPELL_INC) \
- -DGNOMEDATADIR=\""$(datadir)"\" \
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- -DGLADE_DATADIR=\"$(gladedir)\" \
- -DPLUGIN_DIR=\""$(PLUGIN_DIR)"\" \
-- -DASPELL_DICT=\""$(ASPELL_DICT)"\" \
- $(GNOME_SPELL_CFLAGS) \
- $(END)
-
-@@ -54,7 +52,6 @@
- libgnome_spell_component_la_LDFLAGS = -release $(API_VERSION)
- libgnome_spell_component_la_LIBADD = \
- libgnome-spell-idl.la \
-- $(ASPELL_LIBS) \
- $(GNOME_SPELL_LIBS) \
- $(END)
-
-@@ -68,7 +65,6 @@
-
- test_gnome_spell_component_LDADD = \
- libgnome-spell-idl.la \
-- $(ASPELL_LIBS) \
- $(GNOME_SPELL_LIBS) \
- $(END)
-
-diff -NurdB gnome-spell-1.0.6/gnome-spell/dictionary.c gnome-spell-1.0.6-patched/gnome-spell/dictionary.c
---- gnome-spell-1.0.6/gnome-spell/dictionary.c 2005-01-24 13:06:09.000000000 -0500
-+++ gnome-spell-1.0.6-patched/gnome-spell/dictionary.c 2005-07-07 03:04:01.000000000 -0500
-@@ -55,13 +55,30 @@
- return (SpellEngine *) language ? g_hash_table_lookup (dict->engines_ht, language) : NULL;
- }
-
-+/* replace any 1 hyphen with an underscore. converts en-US to en_US */
-+static gchar *
-+normalize_language (const gchar * language)
-+{
-+ gchar * dup, * hyphen;
-+
-+ dup = g_strdup (language);
-+ hyphen = strchr (dup, '-');
-+ if (hyphen)
-+ *hyphen = '_';
-+ return dup;
-+}
-+
- static void
- raise_error (CORBA_Environment * ev, const gchar *s)
- {
- GNOME_Spell_Dictionary_Error *exception;
- exception = GNOME_Spell_Dictionary_Error__alloc ();
--
-- exception->error = CORBA_string_dup (s);
-+
-+ if (s != NULL)
-+ exception->error = CORBA_string_dup (s);
-+ else
-+ exception->error = _("Unknown error");
-+
- CORBA_exception_set (ev, CORBA_USER_EXCEPTION,
- ex_GNOME_Spell_Dictionary_Error,
- exception);
-@@ -76,6 +93,7 @@
- dict->engines = NULL;
- dict->languages = g_hash_table_new (g_str_hash, g_str_equal);
- dict->engines_ht = g_hash_table_new (NULL, NULL);
-+ dict->broker = enchant_broker_init ();
- }
-
- static void
-@@ -88,6 +106,7 @@
- dictionary->languages = NULL;
- g_hash_table_destroy (dictionary->engines_ht);
- dictionary->engines_ht = NULL;
-+ enchant_broker_free (dictionary->broker);
-
- G_OBJECT_CLASS (dictionary_parent_class)->finalize (object);
- }
-@@ -98,9 +117,7 @@
- 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->lang = normalize_language (language);
- se->changed = TRUE;
-
- return se;
-@@ -129,9 +146,9 @@
- SpellEngine *se = dict->engines->data;
-
- if (se->speller)
-- delete_aspell_speller (se->speller);
-- if (se->config)
-- delete_aspell_config (se->config);
-+ enchant_broker_free_dict (dict->broker, se->speller);
-+ if (se->lang)
-+ g_free (se->lang);
- g_free (se);
- dict->engines = g_slist_remove (dict->engines, se);
- }
-@@ -190,33 +207,44 @@
- NULL
- };
-
-+static void
-+dict_describe (const char *lang_tag, const char *provider_name,
-+ const char *provider_desc, const char *provider_file, void *user_data)
-+{
-+ printf ("%s | %s | %s | %s\n", lang_tag, provider_name, provider_desc, provider_file);
-+}
-+
- static GSList *
- get_languages_real (gint *ln)
- {
-+ EnchantBroker *broker;
-+ gchar *lang;
- GSList *langs;
-- AspellCanHaveError *err;
-- AspellConfig *config;
-- AspellSpeller *speller;
- gint i;
-
- DICT_DEBUG (printf ("get_languages_real\n"));
-
- langs = NULL;
- *ln = 0;
-+
-+ broker = enchant_broker_init ();
-+
- for (i=0; known_languages [i]; i++) {
-- config = new_aspell_config ();
-- aspell_config_replace (config, "language-tag", known_languages [i]);
-+ lang = normalize_language (known_languages [i]);
- i++;
-- err = new_aspell_speller (config);
-- if (aspell_error_number (err) == 0) {
-- speller = to_aspell_speller (err);
-- DICT_DEBUG (printf ("Language: %s\n", known_languages [i]));
-- delete_aspell_speller (speller);
-+
-+ if (enchant_broker_dict_exists (broker, lang)) {
-+ DICT_DEBUG (enchant_dict_describe (dict, dict_describe, NULL));
-+ DICT_DEBUG (printf ("Language: %s (%s)\n", known_languages [i], lang));
- langs = g_slist_prepend (langs, GINT_TO_POINTER (i - 1));
- (*ln) ++;
- }
-+
-+ g_free (lang);
- }
-
-+ enchant_broker_free (broker);
-+
- return langs;
- }
-
-@@ -227,8 +255,6 @@
- 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++) {
-@@ -246,7 +272,6 @@
- GSList *langs, *l;
- GConfClient *gc;
- time_t mtime;
-- struct stat buf;
- gint i, kl;
-
- gc = gconf_client_get_default ();
-@@ -254,7 +279,7 @@
- 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 != KNOWN_LANGUAGES) {
-+ if (kl != KNOWN_LANGUAGES) { /* TODO: find a way to get this list generation to happen less often */
- GString *str;
- langs = get_languages_real (ln);
-
-@@ -265,7 +290,7 @@
- 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 "/mtime", time (NULL), NULL);
- gconf_client_set_int (gc, GNOME_SPELL_GCONF_DIR "/known_languages", KNOWN_LANGUAGES, NULL);
- g_string_free (str, TRUE);
- gnome_config_sync ();
-@@ -355,22 +380,18 @@
- }
-
- static void
--update_engine (SpellEngine *se, CORBA_Environment * ev)
-+update_engine (GNOMESpellDictionary *dict, SpellEngine *se, CORBA_Environment * ev)
- {
-- AspellCanHaveError *err;
--
-- DICT_DEBUG (printf ("Dictionary: creating new aspell speller\n"));
-+ DICT_DEBUG (printf ("Dictionary: creating new enchant 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));
-+ enchant_broker_free_dict (dict->broker, se->speller);
-+ se->speller = enchant_broker_request_dict (dict->broker, se->lang);
-+ if (se->speller == NULL) {
-+ g_warning ("enchant error: %s\n", se->lang);
-+ raise_error (ev, enchant_broker_get_error (dict->broker));
- } else {
-- se->speller = to_aspell_speller (err);
- se->changed = FALSE;
- }
- }
-@@ -385,7 +406,7 @@
- GSList *l;
-
- for (l = dict->engines; l; l = l->next) {
-- update_engine ((SpellEngine *) l->data, ev);
-+ update_engine (dict, (SpellEngine *) l->data, ev);
- }
-
- dict->changed = FALSE;
-@@ -395,24 +416,16 @@
- static CORBA_boolean
- engine_check_word (SpellEngine *se, const gchar *word, CORBA_Environment *ev)
- {
-- CORBA_boolean result = CORBA_TRUE;
-- gint aspell_result;
--
- #ifndef G_DISABLE_CHECKS
- g_return_val_if_fail (se->speller, CORBA_TRUE);
- #else
- 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));
-- }
-
-- return result;
-+ if (enchant_dict_check (se->speller, word, strlen (word)) == 0)
-+ return CORBA_TRUE;
-+ return CORBA_FALSE;
- }
-
- static CORBA_boolean
-@@ -465,7 +478,7 @@
- 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));
- }
- }
-
-@@ -487,8 +500,7 @@
- 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_personal (se->speller, word, strlen (word));
- DICT_DEBUG (printf ("Added and saved.\n"));
- }
- }
-@@ -511,9 +523,8 @@
- 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"));
- }
- }
-@@ -523,12 +534,13 @@
- const CORBA_char *word, CORBA_Environment *ev)
- {
- GNOMESpellDictionary *dict = GNOME_SPELL_DICTIONARY (bonobo_object_from_servant (servant));
-- const AspellWordList *suggestions;
-- AspellStringEnumeration *elements;
- GNOME_Spell_StringSeq *seq = NULL;
- GSList *l, *suggestion_list = NULL;
- gint i, len, pos;
-
-+ char **suggestions;
-+ size_t n_suggs, total_suggs;
-+
- #ifndef G_DISABLE_CHECKS
- g_return_val_if_fail (word, NULL);
- #else
-@@ -539,14 +551,20 @@
- update_engines (dict, ev);
-
- len = 0;
-+ total_suggs = 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);
-- suggestion_list = g_slist_prepend (suggestion_list, engine_to_language (dict, se));
-+ suggestions = enchant_dict_suggest (se->speller, word, strlen (word), &n_suggs);
-+ if (suggestions && n_suggs) {
-+ total_suggs += n_suggs;
-+ suggestion_list = g_slist_prepend (suggestion_list, (gpointer) suggestions);
-+ suggestion_list = g_slist_prepend (suggestion_list, engine_to_language (dict, se));
-+ suggestion_list = g_slist_prepend (suggestion_list, GINT_TO_POINTER (n_suggs));
-+ suggestion_list = g_slist_prepend (suggestion_list, (gpointer) se->speller);
-+ len += 2*n_suggs;
-+ }
- }
- }
-
-@@ -560,20 +578,25 @@
-
- pos = 0;
- for (l = suggestion_list; l; l = l->next) {
-- gint list_len;
- gchar *language;
-+ EnchantDict * en_dict;
-+
-+ en_dict = (EnchantDict *)l->data;
-+ l = l->next;
-+
-+ n_suggs = 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);
-- for (i = 0; i < list_len; i ++, pos ++) {
-- seq->_buffer [pos] = CORBA_string_dup (aspell_string_enumeration_next (elements));
-+ suggestions = (char **) l->data;
-+
-+ for (i = 0; i < n_suggs; i ++, pos ++) {
-+ seq->_buffer [pos] = CORBA_string_dup (suggestions[i]);
- pos ++;
- seq->_buffer [pos] = CORBA_string_dup (language);
- }
-- delete_aspell_string_enumeration (elements);
-+ enchant_dict_free_suggestions (en_dict, suggestions);
- }
- CORBA_sequence_set_release (seq, CORBA_TRUE);
- g_slist_free (suggestion_list);
-diff -NurdB gnome-spell-1.0.6/gnome-spell/dictionary.h gnome-spell-1.0.6-patched/gnome-spell/dictionary.h
---- gnome-spell-1.0.6/gnome-spell/dictionary.h 2005-01-24 13:06:09.000000000 -0500
-+++ gnome-spell-1.0.6-patched/gnome-spell/dictionary.h 2005-07-07 02:22:09.000000000 -0500
-@@ -26,7 +26,7 @@
- G_BEGIN_DECLS
-
- #include <bonobo/bonobo-object.h>
--#include <aspell.h>
-+#include <enchant.h>
-
- #define GNOME_SPELL_DICTIONARY_TYPE (gnome_spell_dictionary_get_type ())
- #define GNOME_SPELL_DICTIONARY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), \
-@@ -37,8 +37,8 @@
- #define IS_GNOME_SPELL_DICTIONARY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_SPELL_DICTIONARY_TYPE))
-
- typedef struct {
-- AspellConfig *config;
-- AspellSpeller *speller;
-+ EnchantDict *speller;
-+ gchar *lang;
- gboolean changed;
- } SpellEngine;
-
-@@ -49,6 +49,8 @@
- GSList *engines;
- GHashTable *languages;
- GHashTable *engines_ht;
-+
-+ EnchantBroker * broker;
- } GNOMESpellDictionary;
-
- typedef struct {
-diff -NurdB gnome-spell-1.0.6/gnome-spell.spec.in gnome-spell-1.0.6-patched/gnome-spell.spec.in
---- gnome-spell-1.0.6/gnome-spell.spec.in 2005-01-24 13:06:08.000000000 -0500
-+++ gnome-spell-1.0.6-patched/gnome-spell.spec.in 2005-07-07 02:22:09.000000000 -0500
-@@ -7,12 +7,10 @@
- Source: ftp://ftp.gnome.org/pub/GNOME/unstable/sources/%{name}/%{name}-%{version}.tar.gz
- Summary: The spelling component for bonobo
- Group: System Environment/Libraries
--Requires: aspell >= 0.28
--Requires: pspell >= 0.12
-+Requires: enchant >= 0.3.0
- Requires: bonobo >= 0.28
- Requires: gal >= 0.7.99.5
--BuildRequires: aspell-devel >= 0.28
--BuildRequires: pspell-devel >= 0.12
-+BuildRequires: enchant-devel >= 0.3.0
- BuildRequires: bonobo-devel >= 0.28
- BuildRequires: libglade-devel
- BuildRequires: gal-devel >= 0.7.99.5
+++ /dev/null
---- gnome-spell/dictionary.c.nopatch 2006-03-31 18:33:15.000000000 +0200
-+++ gnome-spell/dictionary.c 2006-03-31 18:32:44.000000000 +0200
-@@ -38,7 +38,7 @@
-
- static BonoboObjectClass *dictionary_parent_class;
-
--#define DICT_DEBUG(x)
-+#define DICT_DEBUG(x) x
- #define GNOME_SPELL_GCONF_DIR "/GNOME/Spell"
-
- static void release_engines (GNOMESpellDictionary *dict);
+++ /dev/null
-? INSTALL
-? autom4te.cache
-? depcomp
-? gnome-spell-enchant.diff
-? gnome-spell-zip
-? intltool-extract
-? intltool-extract.in
-? intltool-merge
-? intltool-merge.in
-? intltool-update
-? intltool-update.in
-? missing
-? mkinstalldirs
-? stamp-h1
-? gnome-spell/GNOME_Spell.server
-? gnome-spell/GNOME_Spell.server.in
-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 31 Mar 2006 19:11:50 -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="libgnome-2.0 >= 1.112.1 libbonoboui-2.0 >= 1.112.1 libglade-2.0 >= 1.99.9 enchant >= 1.2.2"
- 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 31 Mar 2006 19:11:50 -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 31 Mar 2006 19:11:51 -0000
-@@ -36,6 +36,13 @@
- #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)
-@@ -72,12 +79,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 +112,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 +149,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 +160,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 [] = {
-@@ -355,28 +374,29 @@ static GSList *
- get_languages_real (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"));
-
-+ /* 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++;
- }
- }
-
-+ *ln = nb_langs;
-+
-+ enchant_broker_free (broker);
-+
- return langs;
- }
-
-@@ -405,16 +425,13 @@ 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)) {
-+ if (kl != G_N_ELEMENTS(known_languages)) {
- GString *str;
- langs = get_languages_real (ln);
-
-@@ -425,7 +442,7 @@ get_languages (gint *ln)
- 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 ();
-@@ -504,59 +521,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 +541,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 +569,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 +597,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 +617,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 +639,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 +654,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 +667,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 +696,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 31 Mar 2006 19:11:51 -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;
+++ /dev/null
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/gnome-spell/gnome-spell-1.0.5-r2.ebuild,v 1.19 2006/09/03 21:53:21 kumba Exp $
-
-inherit gnome.org gnome2 libtool eutils
-
-DESCRIPTION="Gnome spellchecking component"
-HOMEPAGE="http://www.gnome.org/"
-
-LICENSE="GPL-2"
-SLOT="1"
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-RDEPEND=">=gnome-base/libgnomeui-2.2
- >=gnome-base/libbonoboui-2.0
- >=gnome-base/libglade-2.0
- >=gnome-base/libbonobo-2.0
- >=x11-libs/gtk+-2.4
- >=gnome-base/orbit-2
- >=app-text/enchant-1"
-DEPEND="${RDEPEND}
- dev-util/pkgconfig
- sys-devel/gettext
- >=dev-lang/perl-5.6.0
- >=sys-devel/autoconf-2.58"
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-src_unpack() {
-
- unpack ${A}
-
- cd ${S}
- epatch ${FILESDIR}/${P}-enchant.patch
- epatch ${FILESDIR}/${P}-gtk24.patch
- WANT_AUTOCONF=2.5 autoconf || die "autoconf failed"
- WANT_AUTOMAKE=1.4 automake || die "automake failed"
-
-}
-
-USE_DESTDIR="1"
+++ /dev/null
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/gnome-spell/gnome-spell-1.0.6.ebuild,v 1.10 2006/09/03 21:53:21 kumba Exp $
-
-inherit libtool eutils gnome2
-
-DESCRIPTION="Gnome spellchecking component"
-HOMEPAGE="http://www.gnome.org/"
-
-LICENSE="GPL-2"
-SLOT="1"
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
-IUSE="static"
-
-RDEPEND=">=gnome-base/libgnomeui-1.112.1
- >=gnome-base/libbonoboui-1.112.1
- >=gnome-base/libglade-1.99.9
- >=gnome-base/libbonobo-2.0
- >=gnome-base/orbit-2
- >=x11-libs/gtk+-2.4
- >=app-text/enchant-1"
-DEPEND="${RDEPEND}
- dev-util/intltool
- dev-util/pkgconfig
- sys-devel/gettext
- >=sys-devel/autoconf-2.59"
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-USE_DESTDIR="1"
-
-G2CONF="${G2CONF} $(use_enable static)"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-
- # Use enchant backend instead of aspell
- epatch ${FILESDIR}/${P}-enchant.patch
- epatch ${FILESDIR}/${P}-combo.patch
-
- einfo "Runnig aclocal"
- aclocal || die "aclocal failed"
- einfo "Running autoconf"
- WANT_AUTOCONF=2.5 autoconf || die "autoconf failed"
- einfo "Running automake"
- WANT_AUTOMAKE=1.9 automake || die "automake failed"
- einfo "Running libtoolize"
- libtoolize --copy --force
-}
+++ /dev/null
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/gnome-spell/gnome-spell-1.0.7.ebuild,v 1.2 2006/09/03 21:53:21 kumba Exp $
-
-inherit libtool eutils gnome2
-
-DESCRIPTION="Gnome spellchecking component"
-HOMEPAGE="http://www.gnome.org/"
-
-LICENSE="GPL-2"
-SLOT="1"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="static debug"
-
-RDEPEND=">=gnome-base/libgnome-1.112.1
- >=gnome-base/libbonoboui-1.112.1
- >=gnome-base/libglade-1.99.9
- >=gnome-base/libbonobo-2.0
- >=gnome-base/orbit-2
- >=x11-libs/gtk+-2.4
- >=app-text/enchant-1.2.4"
-
-DEPEND="${RDEPEND}
- dev-util/intltool
- dev-util/pkgconfig
- sys-devel/gettext
- >=sys-devel/autoconf-2.59"
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-pkg_setup() {
-
- G2CONF="${G2CONF} $(use_enable static)"
-
-}
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}
-
- # note that the combo and enchant patch are intertwined
- # the enchant patch changes libgnomeui dep to libgnome
- # made possible by the combo patch
- # Marinus Schraal <foser@gentoo.org> - 02 Apr 2006
-
- # Use enchant backend instead of aspell
- epatch ${FILESDIR}/${P}-enchant.patch
- # replace gtkentry with gtkcombo widget
- epatch ${FILESDIR}/${P}-combo.patch
- epatch ${FILESDIR}/${P}-remove_gnome_h.patch
-
- use debug && epatch ${FILESDIR}/${P}-debug.patch
-
- einfo "Runnig aclocal"
- aclocal || die "aclocal failed"
- einfo "Running autoconf"
- WANT_AUTOCONF=2.5 autoconf || die "autoconf failed"
- einfo "Running automake"
- WANT_AUTOMAKE=1.9 automake || die "automake failed"
- einfo "Running libtoolize"
- libtoolize --copy --force
-
-}