close 402941 forcemerge 400878 376497 thanks On Wed, Dec 13, 2006 at 06:05:16PM +0100, Raúl Sánchez Siles wrote: > forward 376497 > https://sourceforge.net/tracker/index.php?func=detail&aid=1614925&group_id=245&atid=100245 > clone 376497 -1 > reassign -1 aspell-es > block 376497 -1 > thanks > > I think aspell-es package maintainer should be informed about this bug.
Thanks for that, I already read Debian aspell bugs > Even this is an aspell-es bug, I don't think libaspell should crash like that > for this reason. This bug report seems caused by a bug in aspell "-m" option, which I already reported upstream, https://sourceforge.net/tracker/index.php?func=detail&aid=1565738&group_id=245&atid=100245 and is already fixed by Kevin Atkinson. Fix will go in aspell-0.60.5. $ echo table | aspell -m -a -dspanish @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.4) & table 26 0: tablea, tablee, tableo, tableé, tableó, tabule, tabulé, tabla, tabalea, tabalee, tabaleo, tabaleé, tabaleó, tabelle, tablao, tabula, tabulo, tabuló, tale, atable, talle, bable, cable, dable, hable, sable, tablar-^L^F+e Installing upstream patch and rebuilding aspell, $ echo table | aspell -m -a -dspanish @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.4) & table 26 0: tablea, tablee, tableo, tableé, tableó, tabule, tabulé, tabla, tabalea, tabalee, tabaleo, tabaleé, tabaleó, tabelle, tablao, tabula, tabulo, tabuló, tale, atable, talle, bable, cable, dable, hable, sable, tablar-ar+e as expected. Closing this bug report and doing some other administrative work on it. I am attaching the relevant patch. -- Agustin
Index: prog/aspell.cpp =================================================================== RCS file: /sources/aspell/aspell/prog/aspell.cpp,v retrieving revision 1.103.2.2 diff -u -r1.103.2.2 aspell.cpp --- prog/aspell.cpp 19 Jun 2005 12:00:46 -0000 1.103.2.2 +++ prog/aspell.cpp 23 Nov 2006 14:36:57 -0000 @@ -870,7 +870,8 @@ if (ci->pre_strip_len > 0) guess.append('-').append(ci->word.str(), ci->pre_strip_len); if (ci->suf_strip_len > 0) - guess.append('-').append(ci->word.str() - ci->suf_strip_len, ci->suf_strip_len); + guess.append('-').append(ci->word.str() + ci->word.size() - ci->suf_strip_len, + ci->suf_strip_len); if (ci->suf_add && ci->suf_add[0]) guess.append('+').append(ci->suf_add, ci->suf_add_len); real_speller->lang().fix_case(casep, guess.data(), guess.data());