KEY:
* -- easy change
** - harder, needs more understanding
@ -- needs understanding of internals
@@ - mail me if you need this!

* give lqshow the ability to page a file
  (it can call up less or more or pg if you use "v")

@@ special treatment of dates

** table of pagers for browsing by file/type

* an RPC-based WID server
**@@ make use of an RPC WID server...

@@ Better ranking of queries

**@@ write a manual :-(

**@ The entire plural code (Root.c) needs a rethink.
   I have started Plurals.c, but it's not ready yet.  Yell if you have any
   ideas, I need them! [although "this" is OK now]

* The various Filter routines should be incorporated into lqshow.

** lqshow should be made a routine (BrowseList() I suppose) that takes
   a list of Phrases with their matches...

**@ should abandon dbm for the list of filenames.  A better approach would
   be to store path components as words in the database!  This would make
   / a common-word, though.  Needs some thought.  Or maybe as blocks in data.
   That would be fairly easy.
   A btree might be a good comprimise.  For now, at least bsdhash doesn't
   have overflow problems.

**@@ the ability to delete a file.  Two ways:
     1) read the file -- could be an option to addfile, in fact.  This
	would have to check the time-stamps, of course.
     2) schedule (perhaps overnight) a process to go through the entire
	database and delete old files.
	Also, addfile (and SortWordPlaces()) could remove deleted FIDs 
	automatically, which would help.

* README config file should be used more, allowing more configuration.

** allow dynamic definition of word start/mid/end, in README.
   Must be at least as fast as isupper() etc.
   Perhaps per-file-type rules, though?  No -- makes Phrase Matching hard.

** Better file locking
   (no file locking or signal handling at all at the moment -- I ripped it
    all out when I discovered that it was broken on many systems, and
    this gave a false sense of security.)

* Phrase Matching would be orders of magnitude faster if it did not involve
  reading the tables of matches until they are needed, as many of them
  won't be!  It should extend the lists of matches for each word in the
  phrase only as necessary.

** save small FIDs for large files.  This would save space in the index, as
   larger files have more words, and this their FIDs need to be stored more.

Known Bugs
==========
* lqshow only marks the first word of the phrase.
* lqshow does not know about file types!!!
* there is no troff (or sqtroff) file type
* the C filter got lost in history (sigh)
* I cannot distribute the CDMS and Uniplex filters
