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.
Besides, you can turn off flyspell-mode completely and use M-x flyspell-buffer instead.
You can also use my package https://github.com/redguardtoo/wucuo
It has two modes (see wucuo-flyspell-start-mode),
In "normal" mode, it calls flyspell-buffer to check current buffer when saving file.
In "fast" mode, it ...
(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 ...
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 `...
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)))))
I compiled Emacs today (March 14, 2016) from git, version 188.8.131.52 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 ...
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:
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.
The trouble seems to be with ispell. I managed to get around it by using
Install Hunspell and its Norwegian dictionary
sudo apt install hunspell hunspell-no
Configure Emacs to use Hunspell for spell checking
Set the variable Ispell program name to hunspell
Use the Norwegian dictionary
M-x ispell-change-dictionary then nb_NO
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-...
Install all the dictionaries you want in the location that hunspell searches in; find this with hunspell -D. Once installed, this command should show them.
In the init file, add just add one of them E.g. I have en_GB and en_US dictionaries installed. I've, in my init file, this:
(setenv "DICTIONARY" "en_GB")
Upon opening Emacs, just enable flyspell-mode. ...
Assuming you're using a recent version of Emacs (24.4 or above, as I recall) then all you need to do is make sure you're using the correct dictionary name, and Emacs will do the rest automatically.
The main problem is that Windows uses a different language description format, for example British English is called ENG, and US English is ENU. This means your ...