Skip to content
Improve Emacs flyspell responsiveness using idle timers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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

You can’t perform that action at this time.