Personal Dictionary for Ispell

    September 20, 2005

Ispell works well, but it has to be the most confused project I’ve ever seen. I started looking into this because I got tired of seeing the same common words pop up for correction and wanted to add those words to some file that would cause Ispell to ignore them.

Of course the first thing I did was try “man ispell”. To my surprise, nothing came up. I did a “rpm -q –whatprovides `which ispell`” and found that it belongs to aspell-0.50.3-19.1, but “man aspell” and “info aspell” turned up nothing either.

This was interesting also:

$ ispell -v
@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3)

I did a “rpm -q –list aspell-0.50.3-19.1” and found some html documentation pages, but couldn’t seem to find any easy way to add a simple list of words to ignore.

A Google search turned up If that’s supposed to be documentation, I knew I was in big trouble. But I pressed on, and found which talked about using Ispell with emacs but also mentioned:

Your private dictionary

Whenever ispell is started the file `.ispell_words' is read from
your home directory (if it exists). This file contains a list of
words, one per line. The order of the words is not important, but
the case is. Ispell will consider all of the words good, and will
use them as possible near misses.

The I command adds words to `.ispell_words', so normally you don't
have to worry about the file. You may want to check it from time
to time to make sure you have not accidentally inserted a misspelled

Great, just what I needed. Except it didn’t work. To see why, I ran ispell with strace and looked for any attempt to open a file that failed. All I got was this:

open("/etc/aspell.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/pcunixapl/.aspell.conf", O_RDONLY) = -1 ENOENT (No such file or directory)

Well, heck, I’d already read about those files, and they weren’t going to help me. I checked all the “open” calls and nothing looked for a .ispell_words file.

So far, I’m stymied. It looks like the only way to do this is to build a custom dictionary, but that’s not what I want. I want what the Emacs guide promised: “The I command adds words to `.ispell_words’, so normally you don’t have to worry about the file.”

So, so far I have nothing.

*Originally published at

A.P. Lawrence provides SCO Unix and Linux consulting services