8

A. Is there a spellchecker built in to Emacs?

This seems to say that there is a "built-in ispell package" that "handles spell-checking and correction".

The manual (Emacs > Fixit > Spelling > 16.4) makes it sound like nothing is built in: "These commands only work if the spelling checker program Aspell, Ispell or Hunspell is installed. These programs are not part of Emacs, but one of them is usually installed in GNU/Linux and other free operating systems."

B. If there is a spellchecker built in to Emacs, how do I use it? The commands in the manual (Emacs > Fixit > Spelling > 16.4) do not work.

When I try "M-x ispell", I get this:

Starting new Ispell process ispell with default dictionary... apply: Searching for program: no such file or directory, ispell

C. If there is not a spellchecker built in to Emacs, what is the most simple way to get one working on a Windows 8 or 10 machine? I don't even care about "on-the-fly" spellchecking. I'd be happy with being able to type a command and have the spellchecker check the buffer.

Thanks!

  • 1
    "A built-in ispell package" means that there is a built-in emacs package that handles spelling; but this built-in package (i.e. that comes with emacs) does need one of the external programs: ispell, aspell or hunspell. You will have to take your pick, let's say 'hunspell', and try to install it and add it to Windows' PATH, so that any program can then find it (emacs included). – VanLaser Nov 1 '16 at 22:08
  • 1
    If you want spell checking on the fly (as opposed to invoking it as a separate step), you might prefer the flyspell minor mode (which uses the same infrastructure as ispell. – dmckee Nov 2 '16 at 2:47
  • 1
    This is similar to, say, ediff: it is a builtin package that shows differences between files or buffers, but it uses an external program called diff to compute those differences. I find that on Windows, along with Emacs I also want to install diff, grep, find and a spellchecker (I use aspell). With just those four programs Emacs on Windows feels almost the same to me as on Linux! – Omar Nov 2 '16 at 16:56
7

Quote from Emacs manual:

16.4 Checking and Correcting Spelling

This section describes the commands to check the spelling of a single word or of a portion of a buffer. These commands only work if the spelling checker program Aspell, Ispell or Hunspell is installed. These programs are not part of Emacs, but one of them is usually installed in GNU/Linux and other free operating systems.

You have to install and configure the binaries separately.

Hunspell

  1. Eli Zaretskii's Port: Version 1.3.2 (32bit) is not the latest version, but it is safe to assume that this one works with Emacs.
  2. Msys2: You have to install Msys2 first and then Hunspell version 1.4.1 through pacman. Depending on your OS, you can have a 32 or 64bit version.
  3. Cygwin: You have to install Cygwin first and then Hunspell through their package manager.

Aspell

  1. Msys2: Again, with Msys2 you can have Aspell version 0.60.7
  2. Cygwin: With Cygwin, you can have version 0.60.6.1 or
  3. Official site: An outdated version (Released Dec 22, 2002)

Ispell

  1. W32TeX: Ispell version 3.4. is distributed along with W32TeX, you can get the binary as a separate download.

What to use?

This is not answered easily: Aspell's development has stalled, but it does a good job for English language. Ispell's development is going forward after a long halt, if you're old school, you want to go with it. Hunspell is under development and new versions appear from time to time.

Hunspell has the feature that you can combine multiple dictionaries. This feature is supported by ispell.el shipped with Emacs 25.

I use Msys2 and Hunspell.

  • aspell is also available through the cygwin package manager. – Tobias Nov 2 '16 at 14:22
  • @Tobias - Thanks. I updated my answer. – Arash Esbati Nov 2 '16 at 14:29
  • @arashesbati So it sounds like Hunspell, Aspell, Ispell, etc., are separate programs from Emacs? The package that is built in to Emacs is there to communicate with separate spellcheck programs? If so, the answer to Question A in my question is "No." While your excellent answer did not specifically say which is the "most simple" to implement, I realize that "most simple" is subjective and depends on numerous factors. So I am agreeing that you have answered my questions. Thanks! – Carl Roberts Nov 2 '16 at 14:41
  • @CarlRoberts - Yes, Hunspell et al. are different binaries which must be installed to use them with Emacs through ispell.el packaged with Emacs. And yes, "most simple" depends heavily on your taste, that's the reason I kept away from giving an answer to it. – Arash Esbati Nov 2 '16 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.