[comp.sources.d] ispell incorrectly handles plurals

geoff@desint.UUCP (03/13/87)

In article <1038@tekred.TEK.COM> billr@tekred.UUCP (Bill Randle) writes:

> Thanks to Geoff for finding the correct qualification to use in the test
> in s_ending() in good.c.  This will properly report bad -es endings,
> but unfortunately will not suggest a correct alternative.  Also,
> some words that are correctly spelled are still reported as bad.
...
> Now I will be the first to agree that this may be kludegy (sp?) but
> it is helpful for people who have problems with -yxx and -ixx endings.

Well, Bill is doubly right.  In the first place, my fix wasn't complete
as it stood.  In the second, and much worse, ispell was permeated with
logic errors.  The basic problem is this:  the code was written from
the same specs found in the README file.  Unfortunately, the code must
work in reverse:  given "activities", it must strip off the 'ies', add
the 'y', and look that up.  This can become tricky with some of the
more complex endings.  A common problem in much of the code was with
E-endings:  after stripping off an E and failing, the code would
give up rather than trying other alternatives.

I am just putting the finishing touches on a new version of ispell with
(I hope) all of these bugs corrected.  I have systematically gone through
all of the ending code and verified that it did what the README said, or
fixed it so it does.  I have also hashed the personal dictionary and
added suffixes, integrated everybody else's fixes and improvements, and
(fanfare) written a spelling-list muncher that can take "road" and "roads"
and turn them into "road/s".

I will be posting soon, along with some dictionary diffs to correct some
misspellings that have crept in over the years.  Watch net.sources
for the code, net.sources.bugs for the dictionary diffs.

P.S.  Just to be double-sure, I ran Bill's whole article, including his
test text, through my latest ispell.  It worked like a charm.
-- 

	Geoff Kuenning
	{hplabs,ihnp4}!trwrb!desint!geoff