Improve Emacs flyspell responsiveness using idle timers
Emacs Lisp Makefile
Switch branches/tags
Nothing to show
Latest commit 31786fe Dec 22, 2014 @rolandwalker bump version


Build Status


Improve Emacs flyspell responsiveness using idle timers.


(require 'flyspell-lazy)
(flyspell-lazy-mode 1)
(flyspell-mode 1)      ; or (flyspell-prog-mode)


This package is only useful if you are experiencing performance issues with Emacs' built-in flyspell-mode. Specifically, keyboard responsiveness was significantly degraded on OS X before GNU Emacs 24.3. See this (now resolved) bug:

This package reduces the amount of work done by flyspell. Instead of checking instantly as you type, spelling will be checked when Emacs has been idle for a short time. (Vanilla flyspell-mode does not use idle timers but a subtle combination of hooks and sit-for.)

This package also forces flyspell-mode off completely for certain buffers.

To use this library, add the following to your ~/.emacs file

(require 'flyspell-lazy)
(flyspell-lazy-mode 1)

Then use flyspell-mode as you normally would. This package does not load flyspell for you.

flyspell-lazy-mode will invoke spellcheck less frequently than vanilla flyspell-mode, though this can be changed somewhat via customize.


If you are using aspell instead of ispell on the backend, the following setting may improve performance:

(add-to-list 'ispell-extra-args "--sug-mode=ultra")

Compatibility and Requirements

GNU Emacs version 24.4-devel     : yes, at the time of writing
GNU Emacs version 24.3           : yes
GNU Emacs version 23.3           : yes
GNU Emacs version 22.2           : yes, with some limitations
GNU Emacs version 21.x and lower : unknown

No external dependencies