Hunspell can spell check with multiple dictionaries, and you can configure this to work with Emacs. This is how I do it on OS X 10.11, with Emacs 25.0. It will not work with older Emacsen.
brew install hunspell
Download Hunspell dictionaries from LibreOffice and OpenMedSpel.
(setq ispell-program-name "c:/what-ever-path/hunspell")
;; "en_US" is key to lookup in `ispell-local-dictionary-alist`.
;; Please note it will be passed as default value to hunspell CLI `-d` option
;; if you don't manually setup `-d` in `ispell-local-dictionary-alist`
(setq ispell-local-dictionary "en_US")
The patches (referred to below) were created by @lawlist from select portions of the Aquamacs:
To enable native spellchecking on OSX in the vanilla/generic version of Emacs, it is necessary to patch the C-source-code prior building, and a few lisp files also need to be modified. The patch is too big to post in ...
I use enchant in wcheck-mode, which lists "the" as the first suggested correction (though with wcheck you don't have to scroll through corrections to select the one you want, you just type the number or letter of the correction you want).
For example, if I type the following:
To be or not to be, that is hte question.
and then M-x wcheck-actions with point ...
As mentioned before, you can try aspell. I've also tried hunspell, but I had the same problems as you. I found this answer.
(if (file-exists-p "/usr/bin/aspell")
(setq ispell-program-name "aspell")
'(progn (defun ispell-get-coding-system () 'utf-8)))))
Suppose you already downloaded en_US-med.dic and en_US-med.aff and installed hunspell
Step 1, run hunspell -D in shell, which will tell the directory where hunspell searches for dictionaries, copy en_US-med.dic and en_US-med.aff to that directory.
Step 2, insert below code into ~/.emacs,
(setq ispell-program-name "hunspell")
;; you could set `ispell-...
I ran into this problem myself a while back. If I recall correctly, the reason you get that error message is because hunspell is unable to configure itself based on the current environment. So to fix it, you need to configure the hunspell specific ispell variables. The following code should be enough to setup hunspell for english dictionaries:
I compiled Emacs today (March 14, 2016) from git, version 18.104.22.168 for Windows 8.1, 64-bit. Run into the same issue. Found this answer by the indefatigable Eli Zaretskii and shortened the code for hunspell to this lines in my .emacs:
(add-to-list 'exec-path "C:/cygwin64/usr/local/bin")
(setq ispell-program-name (executable-find "hunspell"))
Insert below code into ~/.emacs or ~/.emacs.d/init,
(setq ispell-program-name "hunspell")
(setq ispell-local-dictionary "de_DE")
'(("de_DE" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil utf-8)))
AFTER above setup, you need turn on flyspell-mode by (flyspell-mode 1).
Please make sure your dictionary is loaded ...
Flyspell is unfortunately slow and that is just life when using Emacs. The minor-mode does, however, have a few built-in optimizations that are customizable.
The variables flyspell-default-deplacement-commands and flyspell-deplacement-commands are used to prevent flyspell from checking a word. Essentially, if this-command (the current command) is the same ...
A few points here. When you say "I have tried the functions named on the comments here, namely ispell-find-hunspell-dictionaries and it seems that I do not have that function or I do not know how to access it," I'm guessing you are trying to do something with it in your initialization file. However, since this function is not autoloaded, you have to (...
It’s a bug in Speck version 2014.08.30: The function speck-restore-options was
missing support for Hunspell. I added a bug fix to speck.el on EmacsWiki. The new version is 2016.07.17.
For testing I assigned to speck-hunspell-dictionary-alist:
(("en" . "en_US") ("de" . "de_DE") ("es" . "es_ES"))
Now the German dictionary can be set at the end of the file ...
Disclaimer: I know very little about spellcheckers, Unicode, and Emacs input methods and encodings; the following is just my superficial hunch as a native Greek speaker.
Unicode defines different code points for ?ά (U+03AC GREEK SMALL LETTER ALPHA WITH TONOS) and the visually very similar, if not identical, ?ά (U+1F71 GREEK SMALL LETTER ALPHA WITH OXIA), as ...
See Hunspell flyspell and Emacs on windows
Please figure out the version of hunspell you use. It supports either Windows style path or Unix style path but not both. Then setup environment variable DICTPATH properly.
See Hunspell error in emacs my answer.
See Spell check with multiple dictionaries my answer on how to setup multiple dictionaries. I also explained what's the "-d" option in hunspell. You may use ispell-local-dictionary or ispell-dictionary who is nothing but a string key to look up hunspell options in both ispell-local-dictionary-alist and ispell-...