Re: POW: Get ispell working


Subject: Re: POW: Get ispell working
From: Paul Rohr (paul@abisource.com)
Date: Wed Apr 25 2001 - 20:33:21 CDT


At 08:33 AM 4/24/01 -0400, Thomas Fletcher wrote:
>I'm willing to investigate some more into ispell to get
>it working in some semblance of reasonability. However if
>I'm going to bother going this "deep" into ispell, I would
>also like to take a crack at other known issues with it ...
>that have been killing us, such as the differences between
>7 and 8 bit dictionaries and possible endianness issues.

Thanks, Thomas!

The core issue here is that, for whatever historical reason, hashfiles can
be built using a variety of magic constants at compile time. I have a vague
recollection that Darren Benham did some work long ago to help with int-size
issues, but we still ship two variants, so endianness is probably still an
issue.

More to the point -- we definitely *do* have issues with 7-bit vs. 8-bit
dictionaries, as Vlad diagnosed last month. For more details on the
relevant bits of code, see:

  http://www.abisource.com/mailinglists/abiword-dev/01/March/0769.html

I haven't looked at the code since then, but my intuition at the time was
that this problem is eminently fixable. Essentially, the current logic
assumes that it can do bulk copies of the entire messy hashtable structure
to/from disk.

Specifically, the hashtable loader includes a bunch of sanity checks to make
sure that the struct definition being read from disk matches the same set of
magic constants hardwired into the source.

However, there just *aren't* that many possible permutations here. Thus, it
seems plausible that a slightly smarter hashtable loader could detect
*which* variant it's reading from disk (especially the 7-bit stuff we
currently puke on), and remap it into whatever we need in-memory (currently
8-bit).

This might get obnoxious if we also need to deal with endianness issues, but
some of the other variability should be pretty easy to handle.

Is that enough to get you rolling?

Paul



This archive was generated by hypermail 2b25 : Wed Apr 25 2001 - 20:25:53 CDT