--- a/lisp/textmodes/ispell.el 2013-02-22 13:09:26.000000000 +0400 +++ b/lisp/textmodes/ispell.el 2013-04-13 22:46:35.209323584 +0400 @@ -2597,7 +2597,11 @@ (setq count 0) ; no misses for type # (setq count (string-to-number output) ; get number of misses. output (substring output (1+ (string-match " " output 1))))) - (setq offset (string-to-number output)) + ; hunspell reports byte-position instead of char-position + ; with multi-byte character input + (setq offset (if ispell-really-hunspell + (byte-to-position (string-to-number output)) + (string-to-number output))) (setq output (if (eq type ?#) ; No miss or guess list. nil (substring output (1+ (string-match " " output 1)))))