Subject: bug#20543: 24.5; <SPC> in ispell-buffer accepts spelling for the whole line

From: Jürgen Hartmann <[email-masked]>
Date: Sun, 10 May 2015 18:05:25 +0200

Using GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.2)--but
this applies to former Emacs versions also--I found the following puzzling
behavior of ispell-buffer:

If a suspicious word is accepted once by pressing <SPC> in an interactive
ispell-buffer session, all further occurrences of the same spelling on the
same line are skipped, i.e. considered as accepted too.

Here is an example:

Open an Emacs 24.5 session (it is the same with Emacs 24.4) by

   LC_ALL=C emacs -Q

and enter the following line (with or without newline does not matter) in the
*scratch* buffer:

   The term charset is short for charset.

Assume that the last word is a typo that should read "character set". Now
change the dictionary to american and run ispell-buffer. The first occurrence
of "charset" gets highlighted, but since it is correct here, we use <SPC> to
accept it once and proceed. But oops... the spell-check finishes immediately
without giving us the chance to correct the second occurrence of "charset" in
that line.

This finding was shortly discussed in help-gnu-emacs
(http://lists.gnu.org/archive/html/help-gnu-emacs/2015-05/threads.html#00134)
and it was Eli Zaretskii who indicated that there is the following comment in
line 3651 of emacs-24.5/lisp/textmodes/ispell.el:

   ;; Do not recheck accepted word on this line.

This suggests that there might be a reason for that behavior. If this is
true, what is it?

Apart from that, I can not imagine why such a behavior might be desirable.

Juergen