--- ispell.el.orig 2015-04-02 10:23:06.000000000 +0300 +++ ispell.el 2016-09-14 22:36:58.446548500 +0300 @@ -3044,7 +3044,17 @@ ispell-program-name (or ispell-local-dictionary ispell-dictionary "default")) (sit-for 0) - (setq ispell-library-directory (ispell-check-version) + (setq + ;; Why do we need to update `ispell-library-directory' on every + ;; ispell process launch? If we do not change `ispell-program-name', + ;; then `ispell-library-directory' should also not be changed once + ;; it is set/initialized in `ispell-set-spellchecker-params'. + ;; Besides, this breaks custom setting `ispell-library-directory' + ;; (e.g. cygwin ispell with LIBDIR relative to cygwin root, that + ;; should be fixed; custom location of dictionaries), because it + ;; resets `ispell-library-directory' to (possibly incorrect, + ;; unwanted) ispell LIBDIR on every ispell call. + ;; ispell-library-directory (ispell-check-version) ispell-process (ispell-start-process) ispell-filter nil ispell-filter-continue nil